计算机组成原理复习笔记

前言

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

题型

一、进制转换

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

(1)十进制 转其他

  • 转二进制:除以2 从小到大取余数(0或1)
  • 转十六进制 : 除以16 从小到大取余数 (0到f)

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

每位数字乘以相应的幂数再相加

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

二进制的四位对应十六进制的一位

二、 位运算 逻辑运算

(1)位运算

转换成二进制数 做如下运算

(2)逻辑运算

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

(3)无符号数的比较

首先补码得转换成无符号数

-1 对应的无符号数是有符号数最大值加一

对应转换准则如下:

三、大端序小端序

就是把十六进制数 按每一个字节填写两个十六进制位的格式以及大小端的顺序(从左还是从右开始)放入

大端序就是比较舒服 不用改顺序的填入即可

比如下图给定0x01234567 大端序就是直接往里填即可

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

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

  • 注意一下存储器寻址的计算
  • 以及注意区别寄存器取地址和存储器取地址

五、据汇编指令写C代码

  • 一般考比较常见的mov指令 push、pop指令(进栈出栈)以及jx指令(跳转 条件)sub指令 cmp指令(比较指令)call指令 ret指令






  • 注意一下后缀

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

六、符号解析

链接的内容(也正在写T_T)

稍微回顾一下

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

下面是符号解析的一个例子

七、内存布局

内存分布以及结构体对齐

八、一些计算

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

请看笔记7

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

  • 容量
  • 磁盘访问时间

请看笔记8

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

平均访问时间 = 未命中率*未命中惩罚 + 命中率 * 命中时间

请看笔记9

九、一些重要概念的考察

例题

一、据汇编指令写C代码

这个就是考察了mov 结合下面的C代码我们可以分析出寄存器与局部变量的对应关系

*xp - %ebp+8

*yp - %ebp+12

t0 - %edx

t1 - %ecx

xp - %ebx

yp - %eax

由此

*xp = t1;

*yp = t2;

x-%ebp+8 - %edx

y - %ebp+12 - %eax

result - %ebp

跳转指令那里等价于 y <x则跳转L6

所以是 result = x - y

否则就是 result = y - x(跳转指令后面的指令)

(结果存到栈中)

二、内存布局


嵌套数组地址从小到大可以表示为 2 0 6 2 1 3 2 1 7 2 2 1

(题目中的表示相当于二维数组 pgh43,按照行优先原则分配内存地址)

结构体对齐 跟嵌套数组是同一篇笔记

PS

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

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

相关推荐
Li_RuiQi3 小时前
DAgger与交互式模仿学习_ACT学习笔记
笔记·学习
He BianGu4 小时前
【笔记】C# 中BindingFlags的详细作用
笔记·c#
AI视觉网奇4 小时前
turtle 入门教程笔记
笔记
跨知易知识产权4 小时前
美国专利确权是什么,和专利诉讼有什么不一样?
笔记
杨逢昌工厂6S管理4 小时前
126-杨逢昌6S三环体系:越做越乱的现场熵增机理与基准化治理——一线现场诊断笔记
经验分享·笔记·职场和发展·学习方法
悟道书生4 小时前
若依 RBAC 权限控制学习笔记
java·网络·笔记·sql·学习·vue
陈哈哈11115 小时前
折腾了半天,总算把 Vim 9.2 装明白了
笔记
陈哈哈11115 小时前
折腾了半天,总算把 OpenGL 的开发环境给装明白了
笔记
深圳老胡6 小时前
STM32F103 硬件 SPI 与软件 IO 模拟 SPI 最高速度差异详解
笔记·stm32·单片机·代码规范·1024程序员节
正弦波_Wave6 小时前
【Orcad原理图打印Pdf】
笔记·pdf