计算机组成原理知识点总结
(一)第一章计算机系统概述
●考纲内容
●一、计算机系统层次结构
1.计算机系统的基本组成
●一个完整的计算机系统是由硬件系统和软件系统组成的。在计算机系统
中,硬件和软件在逻辑上是等效的。
2.计算机硬件的基本组成
●五大部件
●输入设备:将信息转换成为机器能识别的形式
●输出设备:将结果转换成人们熟悉的形式
●存储器:存放数据和程序,分为主存储器(内存储器)和辅助存储器
(外存储器),主存储器包括地址寄存器MAR、数据寄存器MDR、
时序控制逻辑。其中地址寄存器的位数对应着存储单元的个数,数据
寄存器的位数和存储字长相等
●运算器(核心是算术逻辑单元ALU):进行算数运算和逻辑运算
●控制器:指挥程序运行,由程序计数器PC、指令寄存器IR和控制单
元CU组成
●早期冯诺依曼架构首次提出了“存储程序”的概念,以运算器为中心,指
令和数据以同等地位存在存储器中并且按地址寻访,指令和数据都用二
进制表示,指令由操作码和地址码组成
●现代计算机结构以存储器为中心,将运算器和控制器合起来称为CPU
3.计算机软件和硬件的关系
●软件按功能分为系统软件和应用软件
●机器语言:二进制代码语言,是计算机唯一可以识别和执行的语言
●汇编语言:用英文单词或其缩写代替二进制的指令代码,方便记忆和理
●高级语言:是为方便程序设计人员写出解决问题的代理方案和解题过程
的程序
●翻译程序
●汇编程序:将汇编语言程序翻译成机器语言程序
●解释程序:将高级语言翻译成机器语言(翻译一句执行一句)
●编译程序:将高级语言程序翻译成汇编语言或者机器语言
4.计算机系统的工作原理
●“存储程序”方式
●在程序执行前就把所含的所有指令和数据送入内存,一旦程序开始执
行就无须人为干预,计算机可以自动取指并完成任务
●高级语言程序与机器语言程序的转换
●预处理阶段:预处理‘#’开头的命令,如头文件
●编译阶段:编译器将预处理后的源程序编译成汇编语言程序
●汇编阶段:汇编器将汇编语言程序翻译成机器语言程序(可重定位)
●链接阶段:链接器将多个可重定位文件和标准库函数合并为一个可执
行目标文件
●程序和指令的执行过程
●程序执行过程:程序的执行过程就是数据在CPU、存储器和I/O设备
之间流动的过程,所有数据的流动都是通过总线、I/O接口等实现的
●指令执行的过程(以取数指令为例,完成将数据送至运算器的累加器
ACC中):先取指,即先将PC中记录的指令的存储地址送到MAR,
主存根据MAR中的地址取出存放在该地址的指令放入MDR,MDR
将指令送到IR【PC—>MAR—>M—>MDR—>IR】;再分析指令,即
控制器根据IR中指令的操作码,生成取数指令相对应的控制信号,
这里会将读控制信号发送到总线的控制线上【OP(IR)—>CU】;最后
执行指令,即先将IR中取数指令的地址码送到MAR中,然后主存根
据读控制信号和MAR中的地址取出存放在该地址的数据并送入MDR,
再送到ACC中【Ad(IR)—>MAR—>M—>MDR—>ACC】
●二、计算机性能指标
1.机器字长,也叫字长,是CPU内部用于整数运算的运算器位数和通用寄
存器的宽度
2.指令字长和存储字长,指令字长一般是存储字长的整数倍,若指令字长等
于存储字长则取指周期等于机器周期
3.数据通路带宽(数据字长)是指数据总线一次能并行传送信息的位数
4.主存容量
5.运算速度
●吞吐量是指系统在单位时间内处理请求的数量,主要取决于主存的存取
周期
●响应时间是指用户向计算机发送请求到操作系统做出响应并得到结果的
等待时间
●CPU时钟周期:CPU中的最小时间单位,执行指令的每个动作都至少需
要一个时钟周期
●主频:CPU时钟周期的倒数,单位是HZ
●CPI:执行一条指令所需的时钟周期数
●IPS:每秒执行多少条指令
●MIPS:每秒执行多少百万条指令
●FLOPS:每秒执行多少次浮点数运算
6.基准程序:可以理解为跑分软件,但是也存在一定缺陷
●小知识点
小数的原码
●冯诺依曼机器的基本工作方式是控制流驱动方式
●地址译码器一般是主存而不是CPU的构成部分
●解释程序的速度一般比编译程序慢
●相联存储器既可以按地址寻址也可以按内容寻址
●在cpu中,IR、MAR、MDR对各类程序员都是透明的,即看不见的;通用寄
存器都是可见的(mov指令会用到)
(二)第二章数据的表示与运算
●考纲内容
●一、数制与编码
1.进位计数制及其相互转换
●十进制数转换为任意进制数
●整数部分采用除基取余法,先余为低,后余为高
●小数部分采用乘基取整法,先整为高,后整为为低
2.定点数的编码表示
●通常用定点补码整数表示整数,用定点原码小数表示浮点数的尾数部分,
用移码表示浮点数的阶码部分
●原码:基本概念略,真值零的原码表示有正零和负零两种形式
●补码:基本概念略,零的补码是唯一的,小数补码比原码多表示一个-1,
整数补码比原码多表示一个-2。从补码到真值和从真值到补码都是按位
取反再加一
●移码:形式上等于将补码的符号位取反,数字上移码=真值+偏移值,其
中偏移值=2^{n-1},如8位移码的偏移值为128。移码保持了数据原有的
大小顺序,移码大真值就大,移码小真值就小。
●二、运算方法和运算电路
1.基本运算部件
●加法器(ALU的核心部件)
●一位全加器(FA)是最基本的加法单元
●本位和表达式:S_i=A_i \oplus B_i \oplus C_{i-1},其中A和B是本
位的两个数字,而C是之前一位的进位,整个式子的结果是ABC
中由奇数个1时结果为1,否则为0
●进位表达式:C_i=A_iB_i+(A_i \oplus B_i)C_{i-1}
●串行进位加法器:将n个全加器相连即可得到n位加法器,即串
行进位加法器,计算速度主要取决于进位产生和传递的速度
●并行进位加法器:各级进位信号同时形成,又称先行进位,实现
先行进位的部件叫做先行进位部件,简称CLA部件
●组内并行,组间串行进位的加法器
●组内并行,组间并行的加法器
●算术逻辑单元ALU
●A、B为两个n位操作数输入端;ALUop为操作控制端,如ALUop有
3位表示ALU最多支持8种操作;Cin为进位输入端,Cout为进位输
出端;ZF是0标志位(结果全0为1,否则为0);OF是溢出标志位
(由最高位的进位和次高位的进位异或得到);SF是符号标志位(结
果的最高位);CF是进位/借位标志位(由最高位进位Cout和sub位
异或得到),其中CF仅对无符号数的运算有意义,OF和SF仅对有
符号数的运算有意义
2.定点数的移位运算
●算术移位(对象是有符号数,移位过程中符号位保持不变)
●对于正数,原码=反码=补码,不论左移还是右移都是补0
●对于负数,原码左移和右移补0,反码左移和右移补1,补码由于左
边和反码相同,右边和原码相同,所以补码左移补0,右移补1
●由于位数有限,所以有时候算数移位并不能完全等效于乘除运算
●逻辑移位
●将所有操作数视为无符号数,左移和右移都补0
●循环移位
●带进位标志CF的循环移位
●不带进位标志位的循环移位:最高位或者最低位同时进入CF和最低
位或者最高位
3.加减运算
●补码加减运算器
●公式:[A+B]_补=[A]_补+[B]_补;[A-B]_补=[A]_补+[-B]_补,符号位
与数值位一起参与运算,高位丢弃,结果也是补码
●溢出判断
●采用一位符号位,直接根据溢出逻辑表达式
V=AB\overline{S}+\overline{A}                ~\overline{B}S,当V=1时
即为溢出
●采用双符号位S1S2,其中S1为本应的符号位,S2为结果的符号位
●S1S2=00,结果为正数,无溢出
●S1S2=01,结果正溢出
●S1S2=10,结果负溢出
●S1S2=11,结果为负数,未溢出
●采用一位符号位,根据数据位的进位情况判断,若符号位的进位
与最高数位的进位相同,则说明没有溢出,否则表示发生溢出
●标志位的生成OF,ZF,CF,SF
4.乘除运算
●乘除运算的基本原理
●乘法基本原理:先加法再移位,重复n次(n为数值位数)