type
status
date
slug
summary
tags
category
icon
password
能力模型
能力分类
省赛
全球总决赛
学习进度
中国总决赛
计算机组成原理复习笔记。
📝 主旨内容
标红的内容为期末考试主要知识点,仅供参考
选择10*2
填空10*1
简答4*5
考了四道题
1.机器周期、指令周期、时钟周期
2.DMA的三种传送方式
3.直接映射
4.分析有多少种指令
“计算机系统就是硬件系统”这句话对吗? 为什么?
说计算机系统就是硬件系统是不完整的。一个完整的计算机系统应该包括硬件系统和软件系统两部分。(1分)
硬件系统包括:运算器、控制器、存储器、输入设备和输出设备五大基本部件。(1分)
软件系统分为系统软件和应用软件两大类。(1分)
系统软件包括操作系统、计算机语言处理程序(各种程序翻译软件,包括编译程序、解释程序、汇编程序)、服务性程序、数据库管理系统和网络软件等;应用软件包括各种特定领域的处理程序。(1分)
计算机系统中的硬件和软件是相辅相成的,缺一不可。软件是计算机系统的灵魂,没有软件的硬件不能被用户使用。(1分)
冯诺依曼计算机的特点
- 1.冯·诺依曼计算机主要由五大部件组成,分别是:运算器、控制器、存储器、输入设备和输出设备;
- 2.冯诺依曼体系结构的指令和数据均采用二进制码表示;
- 3.指令和数据以同等地位存放于存储器中,均可按地址寻访;
- 4.指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数所在存储器中的位置;
- 5.存储程序:指令在存储器中按顺序存放,通常指令是按顺序执行的,特定条件下,可以根据运算结果或者设定的条件改变执行顺序;
- 6.机器以运算器为中心,输入输出设备和存储器的数据传送通过运算器。
Cache替换策略有哪几种,分别简述其特点
随机算法(RAND)
随机地确定替换的 Cache块。它的实现比较简单,但没有依据程序访问的局部性原理,故可能命中率较低。
先进先出算法(FIFO)
选择最早调入的行进行替换。它比较容易实现,但也没有依据程序访问的局部性原理,可能会把一些需要经常使用的程序块(如循环程序)也作为最早进入 Cache的块替换掉。
近期最少使用算法(LRU)
依据程序访问的局部性原理选择近期内长久未访问过的存储行作为替换的行,平均命中率要比FFO要高,是堆栈类算法。
LRU算法对每行设置一个计数器, Cache每命中一次,命中行计数器清0,而其他各行计数器均加1,需要替换时比较各特定行的计数值,将计数值最大的行换出。
最不经常使用算法(LFU)
将一段时间内被访问次数最少的存储行换出。每行也设置一个计数器,新行建立后从0开始计数,每访问一次,被访问的行计数器加1,需要替换时比较各特定行的计数值,将计数值最小的行换出。
请简述Cache的一般策略
当CPU读取主存中一个字时,便发出此字的内存地址到Cache和主存。(1分)
此时Cache控制逻辑依据地址判断此字当前是否在 Cache中:若是,此字立即传送给CPU;若非,则用主存读周期把此字从主存读出送到CPU,与此同时,把含有这个字的整个数据块从主存读出送到Cache中。(4分)
指令和数据均存放在内存中,CPU如何从时间和空间上区分它们是指令还是数据
(1)取指令或数据时所处的机器周期不同:取指周期取出的是指令;分析、取数或执行周期取出的是数据。
(2)取指令或数据时地址的来源不同:指令地址来源于程序计数器;数据地址来源于地址形成部件。
简述指令与微指令之间的关系
指令,即指机器指令。每一条指令可以完成一个独立的算术运算或逻辑运算操作。
控制部件通过控制线向执行部件发出的控制命令叫做微命令,而一组实现一定操作功能的微命令的组合,构成一条微指令。许多条微指令组成的序列构成了微程序,微程序则完成对指令的解释执行。
总线判优的三种方式
总线判优控制的集中式方式有三种:链式查询、计数器定时查询、独立请求方式
1.链式查询方式:在查询链中离总线控制器最近的部件具有最高优先权,离总线控制器越远,优先权越低。链式查询通过接口的优先权排队电路实现。
2.计数器定时查询方式:计数器的初值可用程序设置,以方便地改变优先次序。当然这种灵活性是以增加控制线数为代价的。如果计数器的初值是从0开始,各部件的优先次序与链式查询法相同。
3.独立请求方式:排队器
为什么设置总线判优
总线是共享的信息传输介质,同时可以有很多设备连接在一个总线上,但每一时刻只能有一对设备进行信息传送。(2分)
所以,当有多个设备同时要使用总线传输信息的时候,就要有一种总线判优控制机制,能在多个请求使用总线的设备中选择一个,让其控制总线来传输信息。否则,如果所有要使用总线的设备都把自己的信息发到总线上,那么就会造成混乱。(3分)
补码的特点
补码表示定点整数时,和原码、反码相比,有以下四个好处:
(1)符号位可以和数值位一起参加运算(2分)
(2)可以用加法方便地实现减法运算(1分)
(3)零的表示唯一(1分)
(4)可以多表示一个最小负数(1分)
所以,现代计算机都用补码来表示定点整数。
cpu中有关寄存器的作用
数据缓冲寄存器(DR)
数据缓冲寄存器用来暂时存放ALU的运算结果,或由数据存储器读出的一个数据字,或来自外部接口的一个数据字。缓冲寄存器的作用是:
①作为ALU运算结果和通用寄存器之间信息传送中时间上的缓冲;
②补偿CPU和内存、外围设备之间在操作速度上的差别。
指令寄存器(IR)
指令寄存器用来保存当前正在执行的一条指令。当执行一条指令时,先把它从指令cache存储器(简称指存)读出,然后再传送至指令寄存器。指令划分为操作码和地址码字段,由二进制数字组成。为了执行任意给定的指令,必须通过指令译码器对操作码进行测试,以便识别所要求的操作,指令寄存器中操作码字段的输出就是指令译码器的输入。操作码一经译码后,即可向操作控制器发出具体的特定信号。
程序计数器(PC)
程序计数器(PC)通常又称为指令计数器。在程序开始执行前,PC的内容即是从内存提取的第一条指令的地址。当执行指令时,CPU将自动修改PC的内容,以便使其保持的总是将要执行的下一条指令的地址。
数据地址寄存器(AR)
数据地址寄存器用来保存当前CPU所访问的数据cache存储器中(简称数存)单元的地址。因为要对存储器阵列进行地址译码,所以必须使用地址寄存器来保持地址信息,直到一次读、写完成为止。
通用寄存器(R0~R3)
通用寄存器的功能是:当算术逻辑单元(ALU)执行算术或逻辑运算时,为ALU提供一个工作区。
状态字寄存器(PSW)
状态字寄存器保存由算术指令和逻辑指令运算或测试结果建立的各种条件代码,还保存中断和系统工作状态等信息,以便使CPU和系统能及时了解机器运行状态和程序运行状态,故状态条件寄存器是一个由各种状态条件标志拼凑而成的寄存器。
指令周期与执行中断程序的时机
中断过程主要包括两个阶段:中断响应和中断处理。中断响应阶段由硬件实现,而中断处理阶段则由CPUI执行中断服务程序来完成,所以中断处理是由轶件实现的。
在大多数计算机系统中现行指令周期没有结束时,不允许I/O中断发生。如果在一条指令的执行中,CPU为了允许一次中断而停止现行指令操作,可能会产生什么问题?
如果在一条指令执行过程中响应中断,那么,这条指令被执行了一半就得停下来。(2分)使得断点和现场都无法确定,中断返回时就回不到原断点继续执行。(3分)
计算4*5
1.IEEE754标准的32位数与十进制数之间的转化
1.转化为二进制科学计数法的形式
2.S=符号位,E=(e+127)的二进制8位数,M=小数位后面补0至到23位
2.双符号位法计算x+y(x-y=x+[-y])
1.求补码
2.补码加法
- 01表示上溢,10表示下溢
3.浮点数加减运算
求机器数补码表示形式
1.对阶:小阶向大阶看齐
2.尾数求和
3.规格化
4.舍入
5.溢出判断:01正溢,10负溢
4.Cache命中率
‣
5.Cache和主存地址映射
6.总线带宽
- CPU时钟周期=主频的倒数
- 带宽=位数*主频
- 总线的数据传输率=宽度/传输周期
- 波特率=字符位数*每秒传输数据帧数
- 比特率=数据位数*每秒传输数据帧数
7.流水线相关计算
8.中断屏蔽
9.转移指令的机器代码
综合3*10
1.存储器设计(扩展)
1.需要的芯片个数=(1024K*32位)/(256K/16位)=8个
2.组数=1024K/256K=4组
3.每组个数=32位/16位=2个
4.数据线D=位数个数,地址线A=
3.指令格式JMP+中断+分析PC变化
4.微操作信号序列按照格式写出微信号
🤗 总结归纳
第一章 计算机系统概论
1.冯诺依曼计算机的特点
- 1.冯·诺依曼计算机主要由五大部件组成,分别是:运算器、控制器、存储器、输入设备和输出设备;
- 2.冯诺依曼体系结构的指令和数据均采用二进制码表示;
- 3.指令和数据以同等地位存放于存储器中,均可按地址寻访;
- 4.指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数所在存储器中的位置;
- 5.存储程序:指令在存储器中按顺序存放,通常指令是按顺序执行的,特定条件下,可以根据运算结果或者设定的条件改变执行顺序;
- 6.机器以运算器为中心,输入输出设备和存储器的数据传送通过运算器。
2.现代计算机硬件框图
3.软件和硬件的概念
- 硬件:计算机的实体,如主机、外设等。
- 软件:由具有各类特殊功能的信息(程序)组成。
- 系统软件:用来管理整个计算系统。
- 应用软件:按任务需要编制成的各种程序。
4.相关关键概念
PC:程序计数器
IR:指令寄存器
CU:控制单元
MAR:存储器地址寄存器
MDR:存储器数据寄存器
ACC:加法器
ALU:运算器
CPU:中央处理器
5.主要技术指标
主频(CPU始终频率):机器内部主时钟的频率,即时钟周期的倒数。
MIPS:每秒执行百万条指令。
CPI:执行一条指令所需始终周期数。
FLOPS:每秒浮点运算次数。
其他
主频高的CPU一定比主频低的CPU快吗?为什么?
衡量CPU运算速度的指标有很多,不能以单独的某个指标来判断CPU的好坏。CPU的主频,即CPU内核工作的时钟频率。CPU的主频表示CPU内数字脉冲信号振荡的速度,主频和实际的运算速度存在一定的关系,但目前还没有一个确定的公式能够定量两者的数值关系,因为CPU的运算速度还要看CPU的流水线的各方面的性能指标(架构、缓存、指令集、CPU的位数、 Cache大小等)。由于主频并不直接代表运算速度,因此在一定情况下很可能会出现主频较高的CPU实际运算速度较低的现象
翻译程序、汇编程序、编译程序、解释程序有什么差别?各自的特性是什么?
翻译程序是指把高级语言源程序翻译成机器语言程序(目标代码)的软件。
翻译程序有两种:一种是编译程序,它将高级语言源程序一次全部翻译成目标程序,每次执行程序时,只需执行目标程序,因此只要源程序不变,就无须重新翻译,请注意同一种高级语言在不同体系结构下,编译成目标程序是不一样的,目标程序与体系结构相关,但仍不是计算机硬件能够直接执行的程序。另一种是解释程序,它将源程序的一条语句翻译成对应的机器目标代码,并立即执行,然后翻译下一条源程序语句并执行,直至所有源程序语句全部被翻译并执行完。所以解释程序的执行过程是翻译一句执行一句,并且不会生成目标程序。
汇编程序也是一种语言翻译程序,它把汇编语言源程序翻译为机器语言程序。汇编语言是种面向机器的低级语言,是机器语言的符号表示,与机器语言一一对应。
编译程序与汇编程序的区別:若源语言是诸如C、C++、Java等“高级语言”,而目标语言是诸如汇编语言或机器语言之类的“低级语言”,则这样的一个翻译程序称为编译程序。若源语言是汇编语言,而目标语言是机器语言,则这样的一个翻译程序称为汇编程序。
机器字长、指令字长、存储字长的区别和联系是什么?
机器字长:计算机能直接处理的二进制数据的位数,机器字长一般等于内部寄存器的大小,它决定了计算机的运算精度。
指令字长:一个指令字中包含的二进制代码的位数。
存储字长:一个存储单元存储的二进制代码的长度。等于MDR的位数, 它们都必须是字节的整数倍。
数据字长:数据总线一次能传送信息的位数,它可以不等于MDR的位数。
指令字长一般取存储字长的整数倍,若指令字长等于存储字长的2倍,则需要2次访存来取出一条指令,因此取指周期为机器周期的2倍;若指令字长等于存储字长,则取指周期等于机器周期。
早期的计算机存储字长一般和机器的指令字长与数据字长相等,因此访问一次主存便可取出一条指令或一个数据。随着计算机的发展,指令字长可变,数据字长也可变,但它们必须都是字节的整数倍。
计算机体系结构和计算机组成的区别和联系是什么?
计算机体系结构是指机器语言或汇编语言程序员所看得到的传统机器的属性,包括指令集、数据类型、存储器寻址技术等,大都属于抽象的属性。
计算机组成是指如何实现计算机体系结构所体现的属性,它包含对许多对程序员来说透明的硬件细节。例如,指令系统属于结构的问题,但指令的实现即如何取指令、分析指令、取操作数如何运算等都属于组成的问题。因此,当两台机器指令系统相同时,只能认为它们具有相同的结构,至于这两台机器如何实现其指令,完全可以不同,即可以认为它们的组成方式是不同的。例如,一台机器是否具备乘法指令是一个结构的问题,但实现乘法指令采用什么方式则是一个组成的问题。(简言之,看有没有这个属性,就是结构问题;看怎么实现,就是组成问题)
许多计算机厂商提供一系列体系结构相同的计算机,而它们的组成却有相当大的差别,即使是同一系列的不同型号机器,其性能和价格差异也很大。例如, IBM System/370结构就包含了多种价位和性能的机型。
第三章 系统总线
思维导图
1.总线的基本概念和结构
总线式连接各个部件的信息传输线,是各个部件共享的传输介质。
2.总线的分类
- 片内总线
- 系统总线
- 数据总线
- 地址总线
- 控制总线
- 通信总线(外部总线)
3.总线的结构
- 单总线结构:系统吞吐量最高
- 双总线结构
- 三总线结构:总线利用率最低
4.总线的判优控制(仲裁)
多个主设备同时竞争主线控制权时,以某种方式选择一个主设备竞争总线控制权成为总线仲裁。
- 集中式
- 链式查询:对电路故障最敏感
- 计数器定时查询
- 独立请求方式:响应最快
- 分布式
5.总线数据传输率的计算
6.例子3.2和3.4例3.1
第四章 存储器
思维导图
1.存储器的分类
2.存储器的层次结构
3.存储单元地址的分配
4.动态存储器的刷新
- 集中刷新:不受刷新工作的影响,刷新周期=2ms
- 分散刷新:无死区+长存储周期
- 异步刷新:死区分散
5.存储器与CPU的连接
- 位扩展
- 字扩展
- 字位扩展
- 注:系统程序区用ROM,用户程序区用RAM
例4.1,4.3
6.提高访存的策略
- 采用高速器件
- 采用层次结构Cache-主存
- 调整主存结构
7.Cache的机制和目的、工作原理:例4.7
8.Cache-主存的地址映射
- 直接映射
- 全相联映射
- 组相联映射
9.Cache中主存块的替换算法
随机算法(RAND)
随机地确定替换的 Cache块。它的实现比较简单,但没有依据程序访问的局部性原理,故可能命中率较低。
先进先出算法(FIFO)
选择最早调入的行进行替换。它比较容易实现,但也没有依据程序访问的局部性原理,可能会把一些需要经常使用的程序块(如循环程序)也作为最早进入 Cache的块替换掉。
近期最少使用算法(LRU)
依据程序访问的局部性原理选择近期内长久未访问过的存储行作为替换的行,平均命中率要比FFO要高,是堆栈类算法。
LRU算法对每行设置一个计数器, Cache每命中一次,命中行计数器清0,而其他各行计数器均加1,需要替换时比较各特定行的计数值,将计数值最大的行换出。
最不经常使用算法(LFU)
将一段时间内被访问次数最少的存储行换出。每行也设置一个计数器,新行建立后从0开始计数,每访问一次,被访问的行计数器加1,需要替换时比较各特定行的计数值,将计数值最小的行换出。
例4.8,4.9,4.10,4.11
存储器的性能指标
第五章 输入输出系统
思维导图
1.I\O设备与主机信息传送的控制方式:应用于哪种场合
程序查询方式
程序中断方式
DMA方式:主存和I\O设备之间有一条直接数据通路,当主存和I\O设备交换信息时,无需调用中断服务程序。
总结
2.接口的功能、组成部分,与CPU的连接、原理
思维导图
功能
- 设备选址功能
- 传送命令
- 传送数据
- 反映设备状态
组成
- 设备选择器
- 命令寄存器命令译码器
- 数据缓冲寄存器
- 设备状态标记
3.例子5.2P197
4.DMA的工作方式、不要求工作过程
中断
思维导图
概念
程序中断是指在计算机执行现行程序的过程中,出现某些急需处理的异常情况或特殊请求,CPU暂时中止现行程序,而转去对这些异常情况或特殊请求进行处理,在处理完毕后CPU又自动返回到现行程序的断电处,继续执行源程序。
- 中断源:引起中断的事件称为中断源
- 中断请求:中断源向CPU提出处理的请求称为中断请求
- 中断向量:中断源的识别标志,中断服务程序的入口地址
- 中断向量表:按照中断类型号从小到大的顺序存储对应的中断向量,总共存储256个中断向量
- 断点:发生中断时被打断程序的暂停点称为断点
- 中断响应:CPU暂停现行程序转而为响应中断请求的过程称为中断响应
- 关中断:在保护现场和恢复现场过程中都要先关闭中断,避免堆栈错误
- 保存现场:保存程序当前断点执行所需的寄存器和相关数据
- 中断服务程序:处理中断源的程序称为中断处理程序
- 中断处理:CPU执行有关的中断服务函数称为中断处理
- 中断返回:返回断点的过程称为中断返回
原理
- 中断请求
- 中断响应
- 中断处理
分类
- 内中断
- 陷阱
- 故障
- 中止
- 外中断
- I\O中断请求
- 人工干预
中断判优逻辑
1.硬件实现(排队器)
2.软件实现(程序查询)
中断服务程序入口地址的寻找
硬件向量法
软件查询法
中断屏蔽技术
改变处理优先级,响应优先级不可改变。
其他1
中断响应优先级是由硬件排队线路或中断查询程序的查询顺序决定的,不可动态改变;而中断处理优先级可以由中断屏蔽字来改变,反映的是正在处理的中断是否比新发生的中断的处理优先级低(屏蔽位为“0”,对新中断开放),若是,则中止正在处理的中断,转到新中断去处理,
处理完后再回到刚才被中止的中断继续处理。
————————————————
其他2
中断向量:每个中断源都有对应的处理程序,这个处理程序称为中断服务程序,其入口地址称为中断向量。所有中断的中断服务程序入口地址构成一个表,称为中断向量表;也有的机器把中断服务程序入口的跳转指令构成一张表,称为中断向量跳转表。
向量地址:中断向量表或中断向量跳转表中每个表项所在的内存地址或表项的索引值,称为向量地址或中断类型号。
向量中断:指一种识别中断源的技术或方式。识别中断源的目的是找到中断源对应的中断服务程序的入口地址的地址,即获得向量地址。
————————————————
第六章 计算机的运算方法
1.浮点数的加减法:对阶,尾数求和,规格化
2.数之间的转化
3.定点数和浮点数的表示
4.IEEE754标准如何表示
5.定点运算加减法
第七章 指令系统
思维导图
1.指令的基本概念
指令就是要计算机执行某种操作的命令,一台计算机中所有机器指令的集合,称为这台计算机的指令系统。引入指令系统后,避免了用户与二进制代码直接接触,使得用户编写程序更为方便。另外,指令系统是表征一台计算机性能的重要因素,它的格式与功能不仅直接影响到机器的硬件结构,而且也直接影响到系统软件,影响到机器的适用范围。
2.指令的格式7.1
操作码+地址码
3.寻址方式
- 立即寻址操作数获取便捷,通常用于给寄存器赋初值。
- 直接寻址相对于立即寻址,缩短了指令长度
- 间接寻址扩大了寻址范围,便于编制程序,易于完成子程序返回。
- 寄存器寻址的指令字较短,指令执行速度较快 寄存器间接寻址扩大了寻址范围。
- 基址寻址扩大了操作数寻址范围,适用于多道程序设计,常用于为程序或数据分配存储空间。
- 变址寻址主要用于处理数组问题,适合编制循环程序。 相对寻址用于控制程序的执行顺序、转移等。
- 基址寻址和变址寻址的区别:两种方式有效地址的形成都是寄存器内容+偏移地址,但是在基址寻址中,程序员操作的是偏移地址,基址寄存器的内容由操作系统控制,在执行过程中是动态调整的;而在变址寻址中,程序员操作的是变址寄存器,偏移地址是固定不变的。
4.扩展操作码
操作码的位数随地址数的减少而增加
5.例题7.2,7.3,7.4,7.5,7.6.,7.7
第八章 CPU的结构和功能
思维导图
1.CPU的结构和功能
CPU=运算器+控制器
- 运算器主要负责数据的加工,即对数据进行算术和逻辑运算
- 控制器是整个系统的指挥中枢,对整个计算机系统进行有效的控制,包括指令控制、操作控制、时间控制和中断处理。
五大功能
- 指令控制:完成取指令、分析指令和执行指令的操作,即程序的顺序控制。
- 操作控制:一条指令的功能往往是由若干操作信号的组合来实现的。CPU管理并产生由内存取出的每条指令的操作信号,把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作。
- 时间控制:对各种操作加以时间上的控制。时间控制要为每条指令按时间顺序提供应有的控制信号。
- 数据加工:对数据进行算术和逻辑运算。
- 中断处理:对计算机运行过程中出现的异常情况和特殊请求进行处理。
2.指令周期与数据流
- 指令周期:取出并执行一条指令所需的全部时间。
- 取值周期 ——> 间址周期 ——> 执行周期 ——> 中断周期
3.指令流水概念
如何提高机器速度
- 提高访存速度
- 提高I\O和主机之间的传送速度
- 提高运算器速度
- 提高整机处理能力
指令流水线是把指令分解为若干子过程,通过将每个子过程与其他子过程并行执行,来提高计算机的吞吐率的技术。采用流水线技术只需增加少量硬件就能把计算机的运算速度提高几倍,因此成为计算机中普遍使用的一种并行处理技术,通过在同一个时间段使用各功能部件,使得利用率明显提高。
4.流水线的性能
吞吐率:单位时间内流水线所完成指令或输出结果的数量。
加速比
效率
第九章 控制单元的功能
1.每个周期的实现与过程
取值周期
间址周期
访存指令
2.指令周期、机器周期、时钟周期
- CPU每取出并执行一条指令所需的全部时间称为指令周期;
- 机器周期是在同步控制的机器中,执行指令周期中一步相对完整的操作(指令步)所需的时间,通常安排机器周期长度=主存周期;
- 时钟周期是指计算机主时钟的周期时间,它是计算机运行时最基本的时序单位,对应完成一个微操作所需的时间,通常时钟周期=计算机主频的倒数
3.时序系统
第十章 控制单元的设计
1.组合逻辑的设计
2.节拍的实现10.1,10.2,10.3
3.微程序设计,指令与微指令
4.工作原理
5.微指令序列地址的形成
有关计算机组成原理的问题,欢迎您在底部评论区留言,一起交流~
文章知识点并不全面,欢迎大家补充缺失的知识点,补充内容我会抽空加到文档里并注明来源。
- Author:Koreyoshi
- URL:https://Koreyoshi1216.com/article/5ec17cfb-5523-4aa9-810c-f96d1f01ea0c
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!