计算机组成原理复习笔记

前言

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

题型

一、进制转换

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

(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 后续应该还会再编辑一下这篇笔记的概念这部分 剩下的大家自己加油^^

相关推荐
ab1237688 小时前
MQTT笔记
java·笔记·mqtt·学习
sunoo-2298 小时前
嵌入式Linux驱动学习笔记(第3-6天):从misc封装、platform总线到设备树、中断与单总线外设实战
linux·arm开发·驱动开发·笔记·单片机·学习
自不量力的A同学8 小时前
MooTool Next 1.3.0 发布
笔记
志尊宝19 小时前
Vue3 零基础每日笔记(071):暗黑模式与主题切换——CSS 变量 + Element Plus 暗黑方案
前端·css·笔记·vue·html·前端开发·软件开发
沪上企服通20 小时前
历史账套科目重映射与规则版本重算:旧账梳理的“口径复位”工程
笔记·架构
Go Work1 天前
2026 Cadence SPB 24.1中文版安装图文详解(附安装包)
经验分享·笔记
ACP广源盛139246256731 天前
HDMI2.0 转 DP1.4 桥接方案评估:国产 GSV2125C@ACP 芯片选型笔记
笔记·硬件架构·hdmi·type-c·国产芯片
龙仔7251 天前
RustDesk 自建服务器 Key 强校验配置笔记
运维·服务器·笔记
悟乙己1 天前
AFAC2026 赛题四金融长文本 Agent竞赛学习笔记:赛题解析(一)
笔记·学习·金融
PC2005-cloud1 天前
MySQL学习笔记:GTID 主从复制,从原理到实践,告别传统 Binlog+Position 的痛点
笔记·学习·mysql