前言

就是按照考试的题型写的总结 非常应试版

题型

一、进制转换

只考 十进制 二进制 十六进制 之间的相互转换 一个个看

(1)十进制 转其他

  • 转二进制:除以2 从小到大取余数(0或1)
    计算机组成原理复习笔记插图
  • 转十六进制 : 除以16 从小到大取余数 (0到f)计算机组成原理复习笔记插图(1)

(2)二进制 十六进制 转十进制

每位数字乘以相应的幂数再相加
计算机组成原理复习笔记插图(2)

(3)二进制与十六进制的互相转换

二进制的四位对应十六进制的一位
计算机组成原理复习笔记插图(3)
计算机组成原理复习笔记插图(4)

二、 位运算 逻辑运算

(1)位运算

转换成二进制数 做如下运算
计算机组成原理复习笔记插图(5)

(2)逻辑运算

如果是 !或者&& 就按正常的非零或者零计算就行(例如!a ,a为非零数 那么结果为0)

(3)无符号数的比较

首先补码得转换成无符号数
-1 对应的无符号数是有符号数最大值加一
对应转换准则如下:

计算机组成原理复习笔记插图(6)

三、大端序小端序

就是把十六进制数 按每一个字节填写两个十六进制位的格式以及大小端的顺序(从左还是从右开始)放入
大端序就是比较舒服 不用改顺序的填入即可
比如下图给定0x01234567 大端序就是直接往里填即可

计算机组成原理复习笔记插图(7)

其实上面三个题型涉及的知识都在我的笔记3里 需要的自行查看

四、寄存器的值(地址计算)

  • 注意一下存储器寻址的计算
    计算机组成原理复习笔记插图(8)
  • 以及注意区别寄存器取地址和存储器取地址计算机组成原理复习笔记插图(9)

五、据汇编指令写C代码

  • 一般考比较常见的mov指令 push、pop指令(进栈出栈)以及jx指令(跳转 条件)sub指令 cmp指令(比较指令)call指令 ret指令
    计算机组成原理复习笔记插图(10)
    计算机组成原理复习笔记插图(11)
    计算机组成原理复习笔记插图(12)
    计算机组成原理复习笔记插图(13)
    计算机组成原理复习笔记插图(14)
    计算机组成原理复习笔记插图(15)
    计算机组成原理复习笔记插图(16)

计算机组成原理复习笔记插图(17)

  • 注意一下后缀
    计算机组成原理复习笔记插图(18)

以上两个题型在我的笔记11以及笔记12里可以找到,不熟悉的建议回溯一下(进出栈的正在写)

六、符号解析

链接的内容(也正在写T_T)
稍微回顾一下

  • 全局符号
    由模块m定义的并能被其他模块所引用
    例如:非static的C函数和非static的全局变量
    全局符号包括强符号和弱符号
    • 强符号:函数和已初始化的全局变量
    • 弱符号:未初始化的全局变量
    • 符号链接规则:在链接过程中,符号出现重名的情况时:
      ◼规则1:不允许有多个同名的强符号,每个强符号只能被定义一次,否则链接失败
      ◼规则2:如果有一个强符号和多个弱符号同名,那么选择强符号,对弱符号的引用被解析为强符号
      ◼规则3:如果有多个弱符号同名,那么从这些弱符号中任意选择一个,可以通过gcc –fno-common选项重定义这一条规则(生成一个警告)
  • 局部符号
    只能被模块m定义和引用的符号
    例如:使用static关键字修饰的C函数和变量
    局部符号不是局部变量
  • 外部符号
    由其他模块定义并被模块m中引用的全局符号

下面是符号解析的一个例子
计算机组成原理复习笔记插图(19)

七、内存布局

内存分布以及结构体对齐
计算机组成原理复习笔记插图(20)

八、一些计算

1.流水线的性能(延迟与吞吐率)

请看笔记7
计算机组成原理复习笔记插图(21)

2.磁盘的容量与平均访问时间

  • 容量
    计算机组成原理复习笔记插图(22)
  • 磁盘访问时间计算机组成原理复习笔记插图(23)
    计算机组成原理复习笔记插图(24)

请看笔记8

3.高速缓存平均访问时间计算

平均访问时间 = 未命中率*未命中惩罚 + 命中率 * 命中时间
请看笔记9

九、一些重要概念的考察

  • 存储器层次结构的特点计算机组成原理复习笔记插图(25)
  • 攻击缓冲区溢出漏洞所采用的主要手段
    • 栈随机化 不可执行段 栈金丝雀
  • 程序的局部性原理

计算机组成原理复习笔记插图(26)

  • switch 语句在汇编语言水平上的主要实现思路
  • 读高速缓存

例题

一、据汇编指令写C代码

计算机组成原理复习笔记插图(27)
这个就是考察了mov 结合下面的C代码我们可以分析出寄存器与局部变量的对应关系
*xp – %ebp+8
*yp – %ebp+12
t0 – %edx
t1 – %ecx
xp – %ebx
yp – %eax
由此
*xp = t1;
*yp = t2;

计算机组成原理复习笔记插图(28)
x-%ebp+8 – %edx
y – %ebp+12 – %eax
result – %ebp
跳转指令那里等价于 y <x则跳转L6
所以是 result = x – y
否则就是 result = y – x(跳转指令后面的指令)
(结果存到栈中)

二、内存布局

计算机组成原理复习笔记插图(29)
嵌套数组地址从小到大可以表示为 2 0 6 2 1 3 2 1 7 2 2 1
(题目中的表示相当于二维数组 pgh[4][3],按照行优先原则分配内存地址)
计算机组成原理复习笔记插图(30)
结构体对齐 跟嵌套数组是同一篇笔记
计算机组成原理复习笔记插图(31)

PS

还有两章没写完的 明天再赶一下 博主觉得难的就是概念的默写(?)以及按照汇编指令写C代码这块 内存布局的作画上也稍微有点难度

复习建议就是加强概念的掌握kk 后续应该还会再编辑一下这篇笔记的概念这部分 剩下的大家自己加油^^

本站无任何商业行为
个人在线分享 » 计算机组成原理复习笔记
E-->