计算机组成原理总复习——知识点总结

Posted 中二病没有蛀牙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机组成原理总复习——知识点总结相关的知识,希望对你有一定的参考价值。

第一章 概论

在这里插入图片描述

重点 冯·诺依曼思想

冯·诺依曼体制的主要思想:

1. 采用二进制代码表示数据和指令。
任何复杂的运算和操作都可转换成一系列用二进制代码表示的简单指令,各种数据则可用二进制代码来表示;

2. 采用存储程序工作方式(核心)。
将组成程序的指令和数据存储起来(称为存储程序),让计算机自动地执行有关指令,就可以完成各种复杂的运算操作(称为程序控制)

3. 计算机硬件系统由五大部件构成。
(运算器、存储器、控制器、输入设备和输出设备)
在这里插入图片描述

PPT2 计算机系统组织

在这里插入图片描述
ALU是一种以全加器为核心的具有多种运算功能的组合逻辑电路。

控制器CU:
产生控制命令(微命令), 控制全机操作。

总线一组连接多个部件分时共享的信息传输线。
地址总线:用于传输地址信息,比如:CPU发向主存、外设等。
数据总线:双向的多根信号线,用于传输数据信息。
控制总线:传输控制信息,包括CPU送出的控制命令和主存(或外设)返回CPU的反馈信号。

重点 计算机性能指标

1.基本字长
参与一次运算或并行传送的数的位数;
它反映寄存器、ALU和数据总线的位数;
字长越长,运算精度就越高,但硬件成本增高。

2.运算速度
可以用每秒所能执行的指令条数表示;
单位: 条/秒;
目前有三种计算执行速度的方法。在这里插入图片描述
(1)CPU主频(又称时钟频率),通常以MHz(兆赫兹)为单位,相当于每秒时钟周期数
CPU时钟周期:主频的倒数,完成一步操作所需要的时间
外频:系统总线的工作频率,具体是指CPU到芯片组之间的总线速度,是CPU与主板之间同步运行的速度
在这里插入图片描述
(2)平均每秒执行指令数IPS(lnstructions Per Second)。
MIPS:Million lnstructions Per Second,表示每秒执行百万条指令
I P S = 主 频 C P I IPS= \\frac{主频}{CPI} IPS=CPI
(3)平均每条指令的时钟周期数CPI(Clock cyclesPer lnstruction)
C P I = 程 序 所 需 时 钟 周 期 数 程 序 所 含 指 令 数 CPI = \\frac{程序所需时钟周期数}{程序所含指令数} CPI=
(4) MFLOPS: Million Floating point Operations Per Second表示每秒执行多少百万次浮点运算

3. 数据通路宽度与数据传送率
(1)数据通路宽度
数据总线一次能并行传送的数据位数。
CPU内部的数据通路宽度一般与等于基本字长;
CPU外部的数据通路宽度取决系统总线;
CPU外部和内部的数据通路宽度有相等和不等。
如:Intel8086(16位机) ,Intel8088(准16位机)

(2)数据传送率(或数据总线的带宽):总线单位时间传输的数据量
数据传送率=总线数据通路宽度×总线时钟频率(b/s)
例如:PCI总线宽度32位,总线频率33MHz,
总线带宽=32×33M/8=132Mb/s(或bps)。
4. 主存容量
(1) 字节数: 用字节(即Byte)作单位,记作B。
常用的单位有KB,MB,GB和TB。

(2) 单元数(字数)×位数: 用二进制的位(bit)作单位。如:64K×16。

练习题

在这里插入图片描述
分析:
1、位(bit)
表示二进制位。位是计算机内部数据储存的最小单位。
2、字节(byte)
习惯上用大写的“B”表示。
字节是计算机中数据处理的基本单位。计算机中以字节为单位存储和解释信息,规定一个字节由八个二进制位构成,即1个字节等于8个比特(1Byte=8bit)。
3、字
计算机进行数据处理时,一次存取、加工和传送的数据长度称为字(word)。一个字通常由一个或多个(一般是字节的整数位)字节构成。例如286微机的字由2个字节组成,它的字长为16;486微机的字由4个字节组成,它的字长为32位机。
计算机的字长决定了其CPU一次操作处理实际位数的多少,由此可见计算机的字长越大,其性能越优越。

在这里插入图片描述
分析:应指每秒执行多少条指令或每秒执行多少次浮点运算。

3、假设同一套指令集用不同的方法设计了两种计算机A和B。机器A的时钟周期为1.2ns,机器B的时钟周期为2ns。某个程序在机器A上运行时的CPI为2,在B上的CPI为1。则对于该程序来说,机器A和机器B速度比例为(D )。
A.2 : 1 B.1 : 2 C.6 : 5 D.5 : 6
分析:
机器A的CPI为2,故执行一条指令需要2个时钟周期,即1.2ns×2=2.4ns。
机器B的CPI为1,故执行一条指令需要1个时钟周期,即2ns×1=2ns。
则机器A和机器B执行一条指令需要的时间之比为2.4ns : 2ns=6 : 5。
而速度比例为时间比例的倒数,即为5 : 6。

第二章 数的运算

重点 进位计数制

在这里插入图片描述加粗样式

重点 带符号数的表示

原码:一个数的真值中的符号“+”用0表示,而“-”用1表示,有效数值部分用二进制数绝对值的二进制数称为原码。

反码:正数的反码与正数的原码相同,而负数的反码为除符号位外,将原码逐位求反。

补码:正数的补码与正数的原码相同,而负数的补为其反码加1。

补码可以比原码和反码多表示一位负数,因为补码不区分+0和-0

移码移码是在补码的基础上把符号位取反得到的,这样使得移码非常适合于阶码的运算,所以移码常用于表示阶码。(了解即可)
移码便于比较数的大小
在这里插入图片描述
注意:
1、字长为 n + 1 n+1 n+1的计算机
原码定点整数的范围: − ( 2 n − 1 ) ~ ( 2 n − 1 ) - (2^n-1) ~(2^n-1) (2n1)(2n1)
补码定点整数的范围: − 2 n ~ ( 2 n − 1 ) - 2^n ~(2^n-1) 2n(2n1)
原码定点小数的范围: − ( 1 − 2 – n ) ~ ( 1 − 2 − n ) - (1-2^{ –n}) ~(1-2^{-n} ) (12n)(12n)
补码定点小数的范围: − 1 ~ ( 1 − 2 – n ) -1 ~(1-2^{ –n} ) 1(12n)

2、定点数的优缺点:
优点:表达简单、直观、硬件成本低
缺点:
表达既有小数又有整数的数据,需要设置比例因子。
表达范围和分辨率固定,超出表达范围会产生溢出

3、正溢:运算结果超出能够表达的最大正数
负溢:运算结果超出能够表达的最小负数

重点 定点数的加减运算

补码:操作码为“加”时,两数直接相加
操作码为“减”时,将减转换为加。 即将减数变补后与被减数相加

注意:
在这里插入图片描述

重点 溢出判断

在这里插入图片描述
其中:
S A , S B S_A,S_B SA,SB是两个数的符号位, S f S_f Sf是结果的符号位
符号位的进位Cf
尾数最高位进位C(或最高有效位的进位)

必考大题 重点 浮点数加减运算、规格化

一、
在这里插入图片描述
二、计算流程
1、变化为二进制浮点数
2、对阶:首先把两个数写成规格化形式,小数点实际位置对齐,小阶向大阶对齐。小阶增大,尾数右移
3、尾数加减:做减法时,一定要变+为-,即减数变补
4、结果规格化:如果尾数求和结果溢出,|M| >1,进行
右规
,阶码增加;如果两异号数相加,|M| <1/2,左规。

规格化:为了提高精度,使有效位数尽可能占满可用的数位
在这里插入图片描述
注意:
1、对于- ½
其原码表示为1.1000…0,本身是满足原码规格化数的要求。
其补码表示为1.1000…0,不满足补码规格化数的要求。
规定: 1.1000…0为特殊的规格化数

2、在对阶或规格化的过程中需要移位,移位规则为
符号位不变: 单:符号位不变;双:第一符号位不变在这里插入图片描述
在这里插入图片描述

例题见ppt2.3第48张

IEEE754标准浮点格式

在计算机中采用的是IEEE754标准浮点格式。
在这里插入图片描述

第三章 CPU 子系统(大题45分)

概述

在这里插入图片描述
工作机制:
在这里插入图片描述
CPU基本组成:
1、运算部件
2、寄存器组
(1) 通用寄存器 GR ·多个寄存器组成,可存放操作数或地址信息
·使用时对寄存器进行编号,按寄存器号进行访问
·功能通用,可编程
·8bits 寄存器,8 个触发器构成

(2) 暂存器
·用于暂存某些中间过程所产生的信息
·不可被 CPU 直接编程访问
·暂存器的使用对用户是透明的

(3) 指令寄存器 IR(instruction register) ·
保存当前正在执行的指令
·指令寄存器中操作码字段输出作为指令译码器的输入,经译码
转换为具体操作信号
·指令队列(指令栈),允许取若干条指令

(4) 程序计数器 PC
指示指令在内存的存放位置(或地址),又称为指令计数器或指令指针
PC 是具有计数功能的寄存器。
顺序执行: (PC)+ 1 or 2 => PC
跳转执行: 转移地址 => PC

(5)程序状态寄存器 PSW(program status word)
·记录程序的运行状态、指示程序的工作方式
·包括:特征位和编程设定位
·特征位(标志位、条件码):进位标志(C),溢出标志(V),
结果为零标志(Z),负标志(N),奇偶位(P)等。这些标志分别
1 位触发器保存(carry、overflow、zero、negative、parity) ·编程设定位:跟踪位
(6)地址寄存器 MAR(Memory Address Register)
作用:保存当前 CPU 所访问的内存单元地址

(7)数据缓冲寄存器 MDR(Memory Data Register)
作用:作为 CPU 与内存、I/O 设备之间信息传送的缓冲区,补偿其在速度上的差异。

(8)堆栈指针寄存器 SP (Stack Pointer)
作用:保存栈顶单元地址

在这里插入图片描述

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

对应的英文:
CPU——Central Processing Unit,中央处理机(器),由运算器和控制器组成。
运算器:用于实现算术运算(如:加减乘除)、逻辑运算(如:与或非。

ALU——Arithmetic Logic Unit,算术逻辑运算单元,运算器中完成算术逻辑运算的逻辑部件;
ACC——Accumulator,累加器,运算器中运算前存放操作数、运算后存放运算结果的寄存器;
MQ——Multiplier-Quotient Register,乘商寄存器,在乘、除运算时,用于存放操作数或运算结果。
控制器:协调并控制计算机各部分执行程序的指令序列,包括取指令,分析指令和执行指令
PC——Program Counter,程序计数器,存放当前欲执行指令的地址
IR——Instruction Register,指令寄存器,存放当前正在执行的指令的寄存器;
CU——Control Unit,控制单元(部件),控制器中产生微操作命令序列的部件,为控制器的核心部件;

程序状态字寄存器 PSW(program status word):记录程序的运行状态、指示程序的工作方式。
PSW包括两部分:特征位和编程设定位

MAR——Memory Address Register,存储器地址寄存器,保存当前 CPU 所访问的内存单元地址
MDR——Memory Data Register,存储器数据缓冲寄存器,主存中用来存放从某单元读出、或写入某存储单元数据的寄存器;
作为 CPU 与内存、I/O 设备之间信息传送的缓冲区,补偿其在速度上的差异
堆栈指针寄存器 SP (Stack Pointer)
作用:保存栈顶单元地址
在这里插入图片描述

重点 指令系统

指令:让计算机完成某种操作的命令
指令系统:一台计算机所能执行的全部指令

指令格式(扩展操作码)

在这里插入图片描述
在这里插入图片描述

Ai表示地址,可以是寄存器号,也可以是主存单元的地址码;
(Ai)表示存放于该地址的内容;
A4明确表示下条将要执行指令的地址;
A4常隐含给出,四地址指令很少采用.
在这里插入图片描述
A1、A2、A3为内存地址
则执行该指令需要访问4次主存。
根据PC的内容,取指令;
根据指令中的A1取操作数;
根据指令中的A2取操作数;
ALU运算结果,然后将结果保存到A3。
在这里插入图片描述
其中: A1为目的操作数地址,A2为源操作数地址。
二地址指令执行之后,A1原存的内容被破坏了
在这里插入图片描述
单操作数指令
①指令的功能:OP(A) => A
(PC)+n => PC
②双操作数指令
指令的功能:(ACC)OP(A) => ACC
(PC)+n => PC
其中: Acc是累加寄存器( 隐地址 )

在这里插入图片描述
①不需要操作数的指令
如:HLT、NOP
②单操作数的指令
指令的功能: OP(ACC) => ACC
③堆栈中的操作数(“先进后出” 存储区)
操作: PUSH 、POP
SP(堆栈指针): 给出栈顶单元地址

寻址方式

形 式 地 址 A → 寻 址 方 式 有 效 地 址 E A 形式地址A \\stackrel{寻址方式}{\\rightarrow} 有效地址EA AEA
寻址方式:寻址就是按照某种规则形成操作数的有效地址,我们把产生操作数有效地址的方式称为寻址方式。
显地址 :如果指令码中明显地给出地址,则称此地址为显地址。
隐地址 :如果地址以隐含的方式约定,而指令中并不给出该地址码,则称此地址码为隐地址。
在这里插入图片描述
寻址方式分为指令寻址和数据寻址。
1、指令寻址:寻找下一条将要执行指令的指令地址。
顺序寻址通过程序计数器PC加1,自动形成下一条指令的地址。
跳跃寻址通过转移指令实现。

2、数据寻址:确定本条指令的操作数地址。数据寻址方式的种类较多,为了区别各种方式,通常在指令种设一个字段,用来指明属于哪种寻址方式。

1、立即数寻址:助记符I,如汇编指令:MOV R1,1213H
2、直接寻址:助记符(A), 如: MOV R1,(1213H)
3、间接寻址:助记符@A,如:MOV R1,((1213H))
间址单元作为地址指针,只要修改指针,同一条指令就可以在不同时间访问不同的存储单元

3、寄存器直接寻址:助记符R,如:MOV R1,R2
Ri是CPU中的若干个可编址寄存器,如:R0, R1, … , R7
优点:
CPU中的寄存器的访问速度比主存快
寄存器数远远少于主存单元数,存放寄存器号的字段位数少,可以有效地缩短指令长度,提高工作速度

4、寄存器间接寻址:助记符( R),如:MOV R1,(R2)
自增型寄存器间址:助记符( R)+, 如:MOV R1,(R2)+ 先取后加
自减型寄存器间址:助记符-( R), 如:MOV R1,-(R2) 先减后取
优点:
CPU中的寄存器的访问速度比主存快
寄存器数远远少于主存单元数,存放寄存器号的字段位数少,可以有效地缩短指令长度,提高工作速度
寄存器本身的位数可以很多,足以提供较长的地址码
在程序的执行过程中 D内容不变,变址寄存器IX可变

5、变址寻址:助记符X( R),如:MOV R1,R2,1000H
①专用寄存器 IX 作为变址寄存器,EA=(IX)+D。
②通用寄存器 R0 作为变址寄存器,EA=(R0)+D,通用寄存器由用户决定。
变址寄存器内容由用户决定;D 为形式地址,不可改变,一般存放于当前指令的下一个存储单元。

6、基址寻址:作用同上,主要用于系统
①专用寄存器 BR 作为基址寄存器,EA=(BR)+D。
③ 通用寄存器 R0 作为变址寄存器,EA=(R0)+D。
基址寄存器内容由操作系统决定,不可改变,形式地址 D 可变。
基址寻址和变址寻址都可理解为有效地址=基准地址+偏移量,基址寻址中基址寄存器中的内容为基准地址,那么 D 就为偏移量;变址寻址中变址寄存器中的内容为偏移量,那么 D就为基准地址;便于理解上面说的可变与不可变

7、基址变址寻址:如:MOV R1,R2,R4,1000H
EA=(R0)+(R1)+D 其中 R0 为基址寄存器不可改变,R1 为变址寄存器,D 为形式地址,R1
与 D 均可改变。
可通过二维数组加深理解:(R0)为数组首地址,(R1)为行偏移量,D 为位偏移量。

8、相对寻址:助记符X(PC)
9、堆栈寻址,PUSH和POP
入栈先移动指针,出栈先移动数据
在这里插入图片描述

指令类型

1、按指令格式分类
单操作数、双操作数、程序转移等
2、按操作数寻址方式分类
RR型、 RX型、 RS型、 SS型
寄存器-寄存器(RR)型指令:从寄存器中取操作数,把操作结果放到另一寄存器中,不需要访问内存存储器,因此速度快;

存储器—存储器(SS)型指令:参与操作的数都放在内存里,从内存某单元中取操作数,操作结果存放至内存另一单元中。因此机器执行这种指令需要多次访问内存。

寄存器-存储器(RS)型指令:执行此类指令,既要访问内存单元,又要访问寄存器。

(3)按指令功能分类
传送指令、I/O指令、算术运算指令、逻辑运算指令、程序控制指令、处理机控制指令等

常见的几种指令:
MOV,ADD,SUB,JSR
MOV:传送
ADD:加
EOR:异或
JUM/RST 转移/返回
JSR:转子(调用子程序)
在这里插入图片描述解析:操作数与地址可以一起在主存中任意浮动在这里插入图片描述
解析:RISC采用硬步线方式,CISC采用微程序控制器

重点CPU内部结构及数据通路

在这里插入图片描述
其中:
暂存器C:从主存读取源操作数地址源操作数据时,就使用C。
暂存器D:从主存读取目的地址目的数,以及需要暂存目的地址或运算结果时,就使用D。

可编程:R0~R3、PC、SP、PSW
不可编程:C、D、IR、MAR、MDR

重点 指令流程和操作时间表

指令流程:确定各工作周期中每拍完成的具体操作
操作时间表:列出每一步操作所需的微命令及产生条件

1.控制器的核心:指令流程+形成微命令序列
2.由数据通路可以将指令的执行过程分为4个基本的阶段
1)取指令周期FT(Fetching Time)
(公操作:所有指令都要经过的阶段)
以寄存器级语句来描述
M->IR(外部数据总线),PC+1->PC(内总线)
两条指令占用一个时钟周期(一个节拍)

2)源操作数周期ST(Source Time)
【R型】由于该操作数在CPU内部;在执行阶段ET,会将该数直接送往ALU。所以不需要取出,故不经历ST。
在这里插入图片描述C作为暂存器,不仅可以存放源操作数还可以存放源操作数的地址

3)目的操作数周期DT(Destination Time)
在这里插入图片描述
DT 总体与 ST 相似,但对于 MOV,DT 只到取到目的操作数的地址为止,不取目的操作数。

4)执行周期ET(Execution Time)
在这里插入图片描述
如果 S R SR SR,起手为 R i R_i Ri,如果 S R ‾ \\overline{SR} SR,起手为C
如果 D R DR DR,末尾为 R j R_j Rj,如果 D R ‾ \\overline{DR} DR,末尾为 − > M D R , M D R − > M ->MDR,MDR->M >MDR,MDR>M

双操作数
ADD,SUB,AND,OR,EOR
执行周期和源周期都和MOV一致
在这里插入图片描述
注意
OP 要写为对应具体运算符号,如+、-、AND、OR 等,且 AND 和 OR 不
应写为×和+,易混淆。

单操作数
在这里插入图片描述

微命令
地址使能EMAR、读R、写W、置入SMDR、置入SIR
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

重点 组合逻辑控制器与微程序控制器组成框图、优缺点

组合逻辑控制方式

在这里插入图片描述

用组合逻辑电路形成逻辑式
由微命令发生器发出所需的微命令
微命令的产生是有条件的,依据操作码和寻址方式代码经译码器产生的中间逻辑信号,以及运行状态、I/O状态和操作控制信号;
微命令是分时产生的,需要由时序系统提供时序信号。

组合逻辑控制器依靠不同的时间标志,让CPU分步工作;
通常采用工作周期时钟周期工作脉冲三级时序。

特点:
化简产生微命令的条件形成逻辑式,用组合逻辑电路实现;
执行指令时,由组合逻辑电路发出微命令,控制有关操作。

优缺点:
产生微命令快
控制器核心结构零乱,不便于检查和调试
不易修改、扩展指令系统功能。

应用场合:高速计算机

微程序控制器

框图
在这里插入图片描述
1、微程序控制方式:

微命令由预存储的代码翻译产生
1条机器指令对应多条微指令代码
微命令不是由组合逻辑电路产生的,而是由微指令译码产生的。
若干微命令编制成一条微指令,控制实现一步操作;若干微命令–>一条微指令
若干条微指令组成一段微程序,解释执行一条机器指令;若干微指令–>一段微程序–>一条机器指令
微程序事先存放在控制存储器(CM)中,执行机器指令时再取出。
在这里插入图片描述

2、控制系统的逻辑组成
控制存储器CM
微指令寄存器uIR
微地址形成电路
微地址寄存器uAR
微命令译码电路

优缺点:
速度不高,功能复杂
在这里插入图片描述

练习题

ppt3.6
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

存储器子系统

分类
在这里插入图片描述

存储层次结构

在这里插入图片描述

RAM和ROM的特点

在这里插入图片描述

主存的逻辑设计(存储芯片容量、存储系统设计、存储芯片地址范围 )

芯片存储容量与地址、数据线个数有关:
芯片的存储容量= 2 M × N 2^M×N 2计算机组成原理期末复习必备知识点大全——第一章(计算机系统概论)

计算机组成原理期末复习必备知识点大全——第三章(系统总线)

计算机组成原理(哈工大)——课程知识点总结

计算机组成原理(哈工大)——课程知识点总结

计算机网络复习(自顶向下)知识点总结(一天一夜超8000字,详细知识点总结,带重点标注目录)

笔记总结计算机专业面向期末考试复习笔记专业课学习笔记课外算法与其他学习笔记