计算机组成原理考研复试简答题整理

知识是共享的
把爱传递下去

计算机发展的四个阶段?
第一代计算机:电子管时代 逻辑元件:电子管 使用低级编程语言 主存用延迟线 容量极小 体积庞大 成本高 运算速度较低,一秒几千次到几万次
第二代计算机:晶体管时代 逻辑元件采用晶体管 运算速度几万次到几百万次每秒 主存使用磁心存储器 开始使用高级语言 有了操作系统的雏形
第三代计算机:中小规模集成电路时代 逻辑元件采用中小规模集成电路 主存采用半导体 高级语言迅速发展 操作系统进一步发展,有了分时系统
第四代计算机:超大规模集成电路时代 逻辑元件 大规模集成电路和超大规模集成电路 产生了微处理器 并行 流水线 高速缓存 虚拟存储等技术运行在这类计算机

冯诺依曼结构及其特点?
冯·诺依曼机以 “存储程序“为基础设计的
“存储程序”的概念是指将指令以代码的形式事先输入计算机的主存储器,然后按其在存储器中的首地址执行程序的第一条指令,以后就按该程序的规定顺序执行其他指令,直至程序执行结束。
计算机硬件系统由运算器、存储器、控制器、输入设备和输出设备5 大部件组成。
指令和数据以同等地位存储在存储器中,并可按地址寻访。
指令和数据均用二进制代码表示。
指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置。
指令在存储器内按顺序存放。通常,指令是顺序执行的,在特定条件下可根据运算结果或根据设定的条件改变执行顺序。
早期的冯诺依曼机以运算器为中心,输入/输出设备通过运算器与存储器传送数据。现代计算机以存储器为中心。

计算机硬件的基本组成/功能部件
存储器:分为主存和辅助。主存存放重程序和数据,辅存中的信息必须调入主存后才能被CPU访问。
控制器:控制器是计算机的指挥中心,由其指挥各个部件自动协调的完成工作,由程序计数器(PC)、指令寄存器(IR)和控制单元(CU)组成。
运算器:计算机的执行部件,进行算术运算和逻辑运算,核心是算数逻辑单元(ALU)。
输入设备:将程序和数据以计算机能够接受的形式传入计算机
输出设备:将计算机的处理结果以人能够接受的方式输出

计算机的工作过程?
把程序和数据装入主存
把源程序转换成可执行文件
从可执行文件的首地址开始逐条执行指令

从源程序到可执行文件?

指令执行过程的描述?
程序中第一条指令的地址置于PC 中,根据PC 取出第一条指令,经过译码、执行步骤等,控制计算机各功能部件协同运行,完成这条指令的功能,并计算下一条指令的地址。用新得到的指令地址继续读出第二条指令并执行,直到程序结束为止。下面以取数指令为例进行说明,其信息流程如下:
取指令: PC 一>MAR—>M—>MDR—>IR
根据PC 取指令到IR, 将PC 的内容送MAR, MAR 中的内容直接送地址线,同时控制器将读信号送读/写信号线,主存根据地址线上的地址和读信号,从指定存储单元读出指令,送到数据线上,MDR 从数据线接收指令信息,并传送到IR 中。
分析指令: OP(IR)—>CU
指令译码并送出控制信号。控制器根据IR 中指令的操作码,生成相应的控制信号,送到不同的执行部件。在本例中, IR 中是取数指令,因此读控制信号被送到总线的控制线上。
执行指令: Ad(IR)—>MAR—>M—>MDR—>ACC
取数操作。将IR 中指令的地址码送MAR, MAR 中的内容送地址线,同时控制器将读信号送读/写信号线从主存指定存储单元读出操作数,并通过数据线送至MDR, 再传送到ACC 中。
此外,每取完一条指令,还须为取下一条指令做准备,形成下一条指令的地址,即(PC)+1 —> PC。

翻译程序:就是把高级语言源程序翻译成机器语言程序,其中包括编译程序和翻译程序
编译程序:将高级语言源程序一次性全部翻译为目标程序,每次执行程序的时候,只需执行目标程序即可。
解释程序:将源程序中的一条翻译成对应的机器目标代码,并立即执行,然后翻译下一条源程序语句并执行。
汇编程序:也是一种语言翻译程序,将汇编语言源程序翻译为机器语言程序。
计算机系统的层次结构
1)微程序机器、传统机器、操作系统机器、汇编语言机器、高级语言机器
2)微程序机器和传统机器是物理机器,属于硬件;操作系统机器、汇编语言机器和高级语言机器是虚拟机器,属于软件。各层次间,下层是上层的基础,上层是下层的扩展
3)微程序机器和传统机器是物理机,其他是虚拟机。

计算机组成和计算机体系结构区别
计算机体系结构是程序员能看到的传统机器的属性,是回答了是什么的问题。
但是计算机组成是指如何实现体系结构中所体现的属性,包含许多对程序员来说透明的硬件细节。
比如指令系统属于结构的问题,但是指令的实现比如如何取指令,如何分析指令,则是计算机组成的问题。
什么是翻译?什么是解释?
1)翻译:将一种语言编写的程序全部翻译成另一种语言,然后再执行,只需翻译一次,通常会生成可执行文件。如c语言。
2)解释:将源程序的一条语句翻译成另一种语言的对应语句,并立即执行,紧接着再翻译下一句,每次执行都要翻译。如python。

计算机的主要性能指标?
机器字长
机器字长是指计算机进行一次整数运算所能处理的二进制数据的位数,通常与CPU 的寄存器位数、加法器有关。字长越长,数的表示范围越大,计算精度越高。
数据通路带宽
数据通路带宽是指数据总线一次所能并行传送信息的位数。
主存容量
主存容量是指主存储器所能存储信息的最大容量,通常以字节来衡量,其中, MAR 的位数反映存储单元的个数, MAR 的位数反映可寻址范围的最大值(而不一定是实际存储器的存储容量)。
运算速度
(1) 吞吐量和响应时间。
吞吐量:指系统在单位时间内处理请求的数量。
响应时间:指从用户向计算机发送一个请求,到系统对该请求做出响应并获得所需结果的等待时间。通常包括CPU 时间(运行一个程序所花费的时间)与等待时间(用于磁盘访问、存储器访问、I/0 操作、操作系统开销等的时间)。
(2) 主频和CPU 时钟周期。
CPU 时钟周期:它是CPU 中最小的时间单位,每个动作至少需要1 个时钟周期。
(3) CPI:即执行一条指令所需的时钟周期数。
存储器的分类?
按作用分类:
主存储器:用来存放计算机运行期间所需的大量的程序与数据,cpu可直接与其访问,也可与辅助存储器交换信息,容量小,存取快,价格高
辅助存储器:用来存放暂时不需要的程序与数据,以及保存一些永久性信息,不能与cpu直接交换信息。容量大,存取慢,价格低
高速缓冲存储器:位于cpu与主存之间,用来存放正在执行的程序段与数据,以便cpu能高速访问他们,cache与cpu速度相匹配,但容量更小,价格高,现代计算机通常把它制作在cpu中

存储介质分类:磁表面存储器,磁心存储器,半导体存储器,光存储器

存取方式分类:
随机存储器:任何时候可以对任意单元进行随机存取,读写方便,使用灵活,主要用作主存或高速缓存
只读存储器:存储器的内容只供读出不供写入,信息一旦写入存储器就固定不变,及时断电,信息也不会丢失。
串行访问存储器:对存储单元进行读写操作时,需按其物理位置先后的顺序寻址。

信息可保存行分类:
易失性存储器:断电后,存储信息就消失的存储器。
非易失性存储器:断电后信息仍然保持的存储器。

存储器的性能指标?
存储容量:单位成本;存储速度;这三个性能指标相互制约,设计存储器所追求的目标就是 大容量 低成本 高速度

多级存储系统?
为了解决存储系统大容量、高速度和低成本3 个相互制约的矛盾,在计算机系统中,通常采用多级存储器结构,在图中由上至下,位价越来越低,速度越来越慢,容量越来越大, CPU 访问的频度也越来越低。

存储系统层次结构主要体现在"Cache-主存”层次和“主存-辅存”层次。前者主要解决CPU和主存速度不匹配的问题,后者主要解决存储系统的容量问题。在存储体系中, Cache 、主存能与CPU 直接交换信息,辅存则要通过主存与CPU 交换信息;主存与CPU 、Cache 、辅存都能交换信息。
存储器层次结构的主要思想是上一层的存储器作为低一层存储器的高速缓存。从CPU 的角度看,"Cache-主存”层次速度接近于Cache, 容量和位价却接近千主存。从“主存—辅存”层次分析,其速度按近于主存,容址和位价动接近于辅存。这就解决了速度、容量、成本这三者之间的矛盾。
在“主存-辅存”这一层次的不断发展中,逐渐形成了虚拟存储系统,在这个系统中程序员编程的地址范围与虚拟存储器的地址空间相对应。对具有虚拟存储器的计算机系统而言,编程时可用的地址空间远大于主存间。

SRAM与DRAM?
静态随机存储器:存储单元采用 触发器来记忆信息,即使信息被读出后,它仍能保持原状态而不需要再生。SRAM存取速度快,但集成度低,功耗大,一般被用组成高速缓冲器
动态随机存储器:是利用存储单元栅极电容上的电荷来存储信息的,容易集成,价位低,容量大功耗低,但是速度比SRAM慢,一般用来组成大容量主存系统。
DRAM电容上的电荷一般只能维持1-2ms 因此即使不断电 信息也会自动消失,所以要每隔一段时间进行刷新。
集中刷新:在一个刷新周期,利用一段固定时间,依次对存储器的而所有行进行逐一再生,在此期间停止对存储器的读写操作;优点:读写操作不受刷新周期影响,缺点:集中刷新期间不能访问存储器
分散刷新:对每行的刷新分散到各个工作周期,这样存储器的周期分为两部分;前半部分用于读写 后半部分用于刷新 比如说芯片存取周期0.5us 刷新时间占0.5us 则系统的存取周期1us 优点:没有死区 缺点:增加了系统存取周期 降低了整体速度
异步刷新:DRAM的刷新单位是行,由芯片内部自动生成地址。讲刷新周期除以行数,得到两次刷新的时间间隔t,每隔时间进行一次刷新,这样可以避免cpu连续等待时间过长,减少了刷新次数,整体机速度提高。

只读ROM特点?分类?
ROM与RAM都支持随机存取。SRAM与DRAM都属于易失性存储器,ROM中一旦由了信息就不会轻易改变,即使断电信息也不会丢失,它是一种只供读出的存储器。
优点:结构简单,位密度比可读写的存储器高
具有非易失性,所以可靠

分类:
掩膜式只读存储器:生产过程中直接写入,写入以后任何人无法改变内容
一次性可编程只读存储器:可供用户一次性编程,之后信息内容不再改变
可擦除可编程只读存储器:用户可以利用编程器写入信息,还可以对内容多次读写
闪存存储器:不加电的情况下长期保存信息,又能在线进行快速擦写与重写
固态硬盘:长期保存信息,快速擦写与删除 重写 读写速度快 功耗低
主存储器与CPU相连接原理
主存储器通过数据总线 地址总线 控制总线与cpu相连接
数据总线的位数与工作频率的乘积正比于数据传输率
地址总线的位数决定了可寻址的最大内存空间
控制总线指出总线周期的类型和本次输入输出操作完成的时刻

有哪些技术可以提高CPU访问内存的速率?
为了提高CPU 访问存储器的速度,可以采用双端口存储器、多模块存储器等技术,它们同属并行技术,前者为空间并行,后者为时间并行。
双端口RAM
双端口RAM 是指同一个存储器有左、右两个独立的端口,分别具有两组相互独立的地址线、数据线和读写控制线,允许两个独立的控制器同时异步地访问存储单元,
多模块存储器
为提高访存速度,常采用多模块存储器,常用的有单体多字存储器和多体低位交叉存储器。
(1)单体多字存储器
单体多字系统的特点是存储器中只有一个存储体,每个存储单元存储m 个字,总线宽度也为m 个字。一次并行读出m 个字,地址必须顺序排列并处于同一存储单元。单体多字系统在一个存取周期内从同一地址取出m条指令,然后将指令逐条送至CPU执行,即每隔1/m 存取周期, CPU 向主存取一条指令。显然,这增大了存储器的带宽,提高了单体存储器的工作速度。
缺点:指令和数据在主存内必须是连续存放的,一旦遇到转移指令,或操作数不能连续存放,这种方法的效果就不明显。
(2)多休并行存储器
多体并行存储器由多体模块组成。每个模块都有相同的容量和存取速度,各模块都有独立的读写控制电路、地址寄存器和数据寄存器。它们既能并行工作,又能交叉工作。多体并行存储器分为高位交叉编址(顺序方式)和低位交叉编址(交叉方式)两种。

.Cache
Cache存储器:电脑中为高速缓冲存储器,是位于CPU和主存储器DRAM(之间,规模较小,但速度很高的存储器,通常由SRAM组成。
Cache的功能是提高CPU数据输入输出的速率。Cache容量小但速度快,内存速度较低但容量大,通过优化调度算法,系统的性能会大大改善,仿佛其存储系统容量与内存相当而访问速度近似Cache。
为了方便cache和主存交换信息,cache和主存被划分为大小相等的块,由于cache容量远小于主存的容量,所以cache中快熟要远小于主存中的块数,它仅保存主存中最活跃若干块的副本,
工作原理:当cpu发出读请求后,若访问的地址再cache命中,就将其地址转换为cache地址,直接对cache操作,与主存无关。若cache不命中,则仍需要访问主存,并把此字所在的块一次性调入cache,若此时cache已经满,则需要某种算法,用这个块替换掉cache块中的原信息。
使用Cache改善系统性能的依据是程序的局部性原理。

与主存的映射方式:
直接映射:主存数据块只能装入Cache中的唯一位置
全相联映射:可以把主存数据块装入Cache 中的任何位置
组相联映射:将Cache分为若干组,一个数据块可以装入一组内的任何一个位置。即采取组间直接映射,组内全相联映射。

替换算法:
当Cache产生了一次访问未命中之后,相应的数据应同时读入CPU和Cache。但是当Cache已存满数据后,新数据必须替换(淘汰)Cache中的某些旧数据。最常用的替换算法有随机算法、先进先出算法(FIFO)和近期最少使用算法(LRU)。

写策略:
因为cache中的内容是主存块的副本,当对cache中的内容进行更新时,就需要选用写操作策略使cache内容和主存中保持一致。有以下两种方法:
全写法:当cpu对cache写命中时,必须把数据同时写入cache和主存。当某一块需要替换时,不必把这个块写回主存,用新调入的块直接覆盖即可。
写回法:当cpu对cache写命中时,只修改cache中的内容,而不立即写入主存,只有当此块被换时才写回主存

虚拟存储器
虚拟存储器是指具有请求调入和置换功能,能从逻辑上对内存容量加以扩存的一种存储器系统。
页式虚拟存储器
页式管理:是把虚拟存储空间和实际空间等分成固定大小的页,各虚拟页可装入主存中的不同实际页面位置。页式存储中,处理机逻辑地址由虚页号和页内地址两部分组成,实际地址也分为页号和页内地址两部分,由地址映射机构将虚页号转换成主存的实际页号。
页式管理用一个页表,包括页号,每页在主存中起始位置,装入位等。页表是虚拟页号与物理页号的映射表。页式管理由操作系统进行,对应用程序员的透明的。
段式虚拟存储器
段式管理:把主存按段分配的存储管理方式。它是一种模块化的存储管理方式,每个用户程序模块可分到一个段,该程序模块只能访问分配给该模块的段所对应的主存空间。段长可以任意设定,并可放大和缩小。
系统中通过一个段表指明各段在主存中的位置。段表中包括段名(段号),段起点,装入位和段长等。段表本身也是一个段。段一般是按程序模块分的。
段页式虚拟存储器
段页式管理:是上述两种方法的结合,它将存储空间按逻辑模块分成段,每段又分成若干个页,访存通过一个段表和若干个页表进行。段的长度必须是页长的整数倍,段的起点必须是某一页的起点。
TLB(快表)
在虚拟存储器中进行地址变换时,需要虚页号变换成主存中实页号的内部地址变换这一过程。
缓存时首先要到主存查页表,然后才能根据主存物理地址访问主存的存取指令或数据。因此采用虚拟存储器机制后,访存的次数增加了。为了减少访存的次数,往往将页表中最活跃的几个页表项复制到高速缓存中。这种在高速缓存中的页表项称为快表
查表时,根据虚页表同时查找快表和慢表,当在快表中查到该虚页号时,就能很快找到对应的实页号,将其送入主存实地址寄存器,同时使慢表的查找作废,这时主存的访问速度没降低多少。如果在快表中查不到,则经过一个访主存的时间延迟后,将从慢表中查到的实页送入实地址寄存器,同时将此虚页号和对应的实页号送入快表。

虚拟存储器与cache的区别
相同之处:
最终目标是为了提高系统性能,两者都有容量 速度 价位的梯度
都把数据划分为更小信息块 并作为基本的传递单位 虚存系统的信息块更大
都有地址映射 替换算法 更新策略等问题
依据程序的局部性原理应用“快速缓存的思想”,将活跃的数据放在相对速度高的部件中
不同之处:
Cache主要解决系统速度,而虚拟存储器却是为了解决主存容量
Cache全由硬件实现,是硬件存储器,对用户透明。而虚拟存储器是由OS和硬件共同实现,是逻辑上的存储器,对系统程序员不透明,对应用程序员透明
Cpu的速度为cache10倍以上,主存的速度是辅存的100倍以上,因此,虚拟存储器不命中对性能的影响更大
当chche没命中时,主存能与cpu直接通信,同时将数据调入cache。而虚拟存储器不命中时,只能由硬盘先调入主存,而不能与cpu直接通信

什么是指令?什么是指令系统?指令的基本格式?
指令是指示计算机执行某种操作的命令。一台计算机的所有指令的集合构成该机的指令系统。
一条指令通常由操作码和地址码两部分组成。
操作码:指出指令种该指令应该执行什么性质的操作和具有何种功能
地址吗:给出被操作的信息的地址,或者操作数本身。可以有多个地址码
指令的长度是一条指令中包含的二进制代码的位数。指令字长取决于操作码的长度,操作数地址吗的长度和操作数地址的个数
1)按地址码数分类:①零地址指令;②一地址指令;③二地址指令;④三地址指令;⑤四地址指令
2)按指令长度分类:定长指令字结构和变长指令字结构
3)按操作码长度分类:定长操作码和可变长操作码
4)按操作类型分类:数据传送、算数与逻辑运算、移位操作,转移操作,和输入输出

指令的操作类型:
1数据传送:传送指令通常寄存器之间的传送,从内存单元到寄存器,从cpu到内存单元
2算数与逻辑运算:加减乘除或与非
3移位操作:移位指令主要有算法移位 逻辑移位 循环移位
4转移操作:无条件转移 有条件转移 调用 返回 陷入等
调用与转移指令的区别:调用必须保存下一条指令的地址,当子程序执行结束后返回,而转移指令不用。
5输入输出操作 用于完成cpu与外部设备交换数据的命令

指令的寻址方式:
确定本条指令的数据地址及下一条待执行指令的地址的方法
寻找下一条将要执行的指令地址称为指令寻址
数据寻址是 确定操作数的地址
跳跃寻址:通过跳跃指令实现。所谓跳跃,是指下一条指令的地址吗不由程序计数器给出,而由本条指令给出下条指令地址的计算方式。

CISC与RISC比较?
CISC复杂指令系统计算机:增强原有指令的功能,设置更为复杂点的新指令实现软件功能的硬化
RISC精简指令系统计算机:减少指令类型和简化指令功能,提高指令的执行速度

RISC相比较CISC的优点
1RISC更能充分利用芯片的面积。CISC的控制器大多采用微程序控制器,其控制存储器占cpu芯片面积50%以上,RISC控制器采用组合逻辑控制,硬布线逻辑只占cpu芯片面积10%左右
2RISC更能提高运算速度,RISC指令数 寻址方式 指令格式少 又设有多个通用寄存器,采用流水线技术 所以运行速度更快 大多指令在一个周期内完成
3RISC便于设计 可降低成本 可靠性高。RISC指令系统简单 因此机器设计周期短,其逻辑简单所以可靠性高
4RISC有利于编译程序代码优化。RISC指令类型少,寻址方式少,使编译程序容易选择更有效的指令和寻址方式,并且适当的调整指令顺序,使代码执行更加高效

CPU的功能和基本结构
中央处理器(CPU) 由运算器和控制器组成。其中,控制器的功能是负责协调并控制计算机各部件执行程序的指令序列,包括取指令、分析指令和执行指令;运算器的功能是对数据进行加工。
CPU 的具体功能包括:

  1. 指令控制。完成取指令、分析指令和执行指令的操作,即程序的顺序控制。
  2. 操作控制。一条指令的功能往往由若干操作信号的组合来实现。CPU 管理并产生由内存取出的每条指令的操作信号,把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作。
  3. 时间控制。对各种操作加以时间上的控制。时间控制要为每条指令按时间顺序提供应有的控制信号。
  4. 数据加工。对数据进行算术和逻辑运算。
  5. 中断处理。对计算机运行过程中出现的异常情况和特殊请求进行处理。

什么是指令周期?
CPU取出一条指令并执行一条指令的时间称为指令周期。
取值周期:根据PC中的内容去除指令代码并存放在IR中
间址周期:取操作数有效地址
执行周期:根据指令字的操作码和操作数执行相应操作
中断周期:处理中断处理

指令执行的方案
一个指令周期通常要包含几个执行步骤,每一个步骤完成指令的一部分功能,几个指令依次执行完成这条指令的全部功能。
单指令周期:所有指令都选取相同的执行时间来完成,称为单指令周期方案。此时每条指令都在固定的时钟周期内完成,指令之间串行执行,即下一条指令只能在前一条指令执行结束后才启动。因此,指令周期却决于执行时间最长的指令的执行时间。对于那些本可以在更短时间内完成的指令,要使用更长的周期,会降低整个系统的运送速度。
多指令周期:对于不同的类型指令选取不同的执行步骤完成,称为多指令周期方案。指令之间串行执行,即下一条指令执行结束后才能启动。但是可以选取不同个数的时钟周期来完成不同指令的执行过程,指令需要几个周期,就占用几个周期的执行时间。
流水线方案:指令之间可以并行执行的方案,称为流水线方案。这种方案通过在每隔时钟周期启动一条指令,尽量让多条指令同时运行,但各自处于不同的执行步骤中。

数据通路的功能和基本结构
数据在功能部件之间传送的路径称为数据通路。路径上的部件称为数据通路部件。如ALU 通用寄存器 状态寄存器 异常和中断处理逻辑。数据通路描述了信息从什么地方开始,中间经过哪个寄存器,最后传送到那个寄存器。这些都要加以控制。
数据通路由数据通路功能部件控制,控制部件根据每条指令功能的不同生成对数据通路的控制信号,并正确控制指令的执行流程。数据通路的功能是实现CPU内部运算器与寄存器及寄存器之间的数据交换。

数据通路的基本结构:
CPU内部单总线方式:将所有寄存器的输入输出端都连接到一根公共通路上,这种结构比较简单,容易产生冲突现象,性能低。
CPU内部三总线方式:将所有寄存器的输入输出端都链接到多条公共通路上,同时在多条总线上传送不同数据,提高效率。
专用数据通路方式:根据指令执行过程中的数据和地址的流动方向安排连接线路,避免使用共享线路,性能高,但硬件量大。

控制器的主要功能
控制器是计算机系统的指挥中心,控制器主要功能由:
1对主存取出一条指令,并指出下一条指令所在主存的位置
2对指令进行译码或测试,产生相应的操作控制信号,以便启动规定的动作。
3指挥并控制cpu 主存 输入输出设备之间的数据流动方向

控制器分为:硬布线控制器 和 微程序控制器
硬布线控制器的基本原理为根据 指令的要求 当前的时序及内外部的状态,按时间顺序发送一系列位操作控制信号。它由复杂组合逻辑电路和一些触发器构成

CPU控制方式:控制单元控制一条指令执行的过程,实质上是依次执行一个确定的微操作序列的过程。由于不同指令对应的微操作数及复杂程度不同,因此每条指令和每个位操作所需要的时间不同。
同步控制方式:系统有一个统一的时钟,所有控制信号均来自这个统一的时钟信号。通常以所需要执行时间最长的微操作为标准。优点:电路控制简单 缺点:运行速度慢
异步控制方式:不存在基准时间标准,各部件按自身固有的速度工作,通过应答方式进行联络。优点:速度快 缺点:控制电路复杂
联合控制方式:折中。对各种不同的微操作命令,大部分采用同步控制,小部分采用异步控制。

微程序控制器
微程序设计的思想就是将每条机器指令编写成一个微程序,每个微程序包含若干微指令,每条微指令对应一个或几个微操作命令。这个微程序可以存储到一个控制器中,用寻址用户程序 机器指令来寻址微程序中的微指令。

什么是指令流水线?
1将一个任务分解为几个不同的子阶段,每个阶段在不同的功能部件上并行执行,以便同一时刻能够同时执行多个任务
2将一条指令的执行过程分解成若干个阶段,每条指令都由相应的功能部件完成,在一条指令的第一个阶段完成之后,就可以紧接着执行下一条指令的第一个阶段。这样就构成了一条流水线。
把指令分为 取指 分析 指令 三个步骤
取指:根据pc内容访问主存,取出第一条指令送入IR
分析:对指令操作码进行译码,按照给定的寻址方式和地址字段中的内容形成操作数的地址,并取出操作数
执行:根据操作码字段,完成指令规定的功能。

指令流水线的特点:
1把一个任务分解成几个有联系的子任务,每一个子任务有一个专门的功能部件来执行,并依靠多个功能部件并行工作来缩短程序的执行时间。
2流水线每个功能部件后面需要一个缓冲寄存器,来保存本流水线的执行结果,供下一流水线使用。
3流水线中各功能段的时间应尽量相等,都则会引起阻塞
4只有源源不断的同一任务才能发挥流水线的效率,所以在流水线的处理必须提供连续任务
5流水线需要装入时间和排空时间。装入时间是指第一个任务进入流水线到输出流水线的时间。排空时间是最后一个任务进入流水线到输出流水线的时间。

影响指令流水线的因素
在指令流水线中,可能会遇到一些情况使得指令流水线无法正确执行后续指令引起流水线停顿或阻塞的情况,称为流水线冲突。主要有以下三种情况
资源冲突:多条指令同一时刻争用同一资源而引起的冲突
数据冲突:下一条指令会用到当前指令计算出的结果,此时这两条指令为数据冲突。
控制冲突:一条指令要确定下一条指令的位置。例如在执行转移 调用 返回等指令时会改变pc值而造成断流。

指令流水线的性能指标
吞吐率:单位时间内流水线完成任务数量
加速比:完成同一任务,不适用流水线所用的时间与使用流水线所用的时间之比,称为流水线加速比
流水线效率:流水线上设备利用率称为流水线的效率。

什么时总线?
总线是一组能为多个部件分时共享的公共信息传送线路。分时与共享是总线的两大特点。
分时:在同一时刻只能有一个部件使用总线传输信息。
共享:总线可以挂多个部件,各个部件之间相互交换信息通过总线分时共享。

总线的分类?
片内总线:芯片内部的总线,它是cpu芯片内部寄存器与寄存器之间,寄存器与ALU之间的公共连接线
系统总线:是计算机内部各功能部件之间相互连接的总线
数据总线:用来传输各功能部件之间的数据信息,它是双向传输总线,其位数与机器字长 储存字长有关
地址总线:用来指出数据总线上源数据所在的贮存单元或I/O端口的地址,单向,地址总线的位数与主存地址空间大小有关。
控制总线:传输的是控制信息,包括cpu送出的控制命令和主存返回cpu的反馈信号
通信总线:计算机系统之间或计算机系统与其他系统之间传送信息的总线。

系统总线的结构
(1)单总线结构:将CPU、主存和I/O设备都连接在一组总线上,允许它们之间直接交换信息。结构简单,容易扩充外部设备,但不允许两个以上的部件同时向总线传输信息。特点:主存和I/O设备统一编址,CPU可以像访问内存一样访问外部设备。
(2)双总线结构:一条是主存总线,用于连接cpu 主存 和通道之间传送数据;另一条是I/O总线,用于在多个外部设备与通道之间传送数据
优点:将速度较低的I/O 设备从总线中分离出来,实现主存总线与I/O 总线分离。
缺点:需要增加硬件设施
(3)三总线结构:主存总线 I/O总线 直接内存访问DMA总线
主存总线用于 cpu内存之间传送地址 数据 控制信息
Io总线用于cpu和各种外部设备之间通信
DMA总线用于内存和高速外设之间传输数据
优点:提高了IO设备的性能,使其更快响应,提高吞吐量
缺点:系统工作效率变低

为什么要仲裁?仲裁的方式
为了解决多个主设备同时竞争总线控制权的问题,应采用总线总裁部件,以某种方式选择一个主设备优先获得总线控制权。只有获得总线控制权的设备才能开始传送数据。
集中仲裁方式:将所有的总线请求集中起来,利用一个特定的裁决算法进行裁决,称为集中裁决方式。
链式查询方式
总线上所有的部件共用一根总线请求线,当有部件请求使用总线时,需经此线发总线请求信号到总线控制器。由总线控制器检查总线是否忙,若总线不忙,则立即发总线响应信号,经总线响应线BG 串行地从一个部件传送到下一个部件,依次查询。若响应信号到达的部件无总线请求,则该信号立即传送到下一个部件;若响应信号到达的部件有总线请求,则信号被截住,不再传下去
在链式查 询中离总线控制器越近的部件,其优先级越高:离总线控制器越远的部件,其优先 级越低。
优点:链式查询优先级固定 此外只需要很少几根控制线就能按一定优先次序实现总线控制,结构简单,扩充容易
缺点:对硬件电路的故障敏感,且优先级不能改变。当有优先级高部件频频访问,会使优先级低的部件长期不能使用总线。

计数器定时查询
采用一个计数器控制总线使用权,相对链式查询方式多了一组设备地址线,少了一根总线响应线 BG。它仍共用一根总线请求线,当总线控制器收到总线请求信号,判断总线空闲时,计数器开始计数 计数值通过设备地址线发向各个部件 当地址线上的计数值与请求使用总线设备的地址一致时,该设备获得总线控制权。同时,中止计数器的计数及查询。
优点:计数值可以从0开始 也可以从上次终点开始 也可以用户自己设置 优先次序可以改变
缺点:增加了控制线数,控制也比链式查询复杂

独立请求方式
每⼀个设备均有⼀对总线请求BRi和总线允许线BGi,当总线上部件需要使⽤总线时,经过各⾃总线请求发送总线请求信号在总线控制器排队,当总线控制器按⼀定优先次序决定批准某个部件使⽤时,则给该部件发送总线响应信号,该部件获得控制权。
优点:响应速度快,总线允许信号bg直接从控制器发送到有关设备,而不必在设备之间传递或查询,优先级响应灵活
缺点:控制线数量多,总线控制更复杂

分布仲裁方式
分布仲裁⽅式不需要中央仲裁器,每个潜在的主模块都有⾃⼰的仲裁号和仲裁器。当它们有总线请求时,就会把它们各⾃唯⼀的仲裁号发送到共享的仲裁总线上,每个仲裁器从仲裁总线上得到的仲裁号与⾃⼰的仲裁号⽐较。若仲裁总线上的仲裁号优先级⾼,则它的总线请求不予响应,并撤销它的仲裁号。最后,获胜者的仲裁号保留在仲裁总线上。

总线周期的四个阶段
1 )申请分配阶段:由需要使用总线的主模块(或主设备)提出申请,经总线仲裁机构决定将下一传输周期的总线使用权授予某一申请者。也可将此阶段细分为传输请求和总线仲裁两个阶段。
2 )寻址阶段:获得使用权的主模块通过总线发出本次要访问的从模块的地址及有关命令,启动参与本次传输的从模块。
3 )传输阶段:主模块和从模块进行数据交换,可单向或双向进行数据传送。
4)结束阶段:主模块的有关信息均从系统总线上撤除,让出总线使用权。

总线定时是指总线双方交换数据的过程中需要时间上配合关系的控制。这种控制称为总线定时,其实质是一种协议或规则,主要有同步和异步两种定时关系。

同步定时方式
系统采用一个统一的时钟信号来协调发送和接受双方的传送定时关系。时钟产生相等的时间间隔,每个间隔够构成一个总线周期。在一个总线周期中,发送方和接收方可以进行一次数据传送。一个总线的传送周期结束,下一个总线的传送周期开始。
优点:传送速度快,具有较高的传输效率,总线控制逻辑简单
缺点:主设备属于强制性同步,不能及时进行数据通信的有效性检验 可靠性差
同步通信适用于总线长度较短及总线所接部件的存取时间比较接近的系统。

异步定时方式
没有统一的时钟,也没有固定的时间间隔,完全依靠传送双方相互制约的“握手”信号来实现定时控制。
优点:总线周期可变,能保证两个工作速度相差很大的部件或设备之间进行信息交换,自动适应时间的配合
缺点:比同步控制方式复杂,速度比同步定时慢
根据“请求”和“回答”信号的撤销是否互锁,分为如下3种类型
1> 不互锁方式。主设备发出“请求”信号后,不必等到接到从设备的“回答信号”,而是经过一段时间便撤销“请求”信号。发“回答”信号同理。
2> 半互锁方式。主设备在发出“请求”信号后,必须在接到从设备“回答”后,才撤销“请求”信号,有互锁关系。但从设备发出“回答”信号和上面不互锁方式相同。
3> 全互锁方式,主设备在发出“请求”信号后,必须在接到从设备“回答”后,才撤销“请求”信号;从设备发出“回答”信号后,必须在获知主设备“请求”信号已撤销后,在撤销其“回答”信号。双方存在互锁关系。

I/O接口
是主机与外设之间的交接界面,通过接口可以实现主机与外设之间的信息交换,主机与外设之间有各自的工作特点,他们在信息形式和工作速度上具有很大的差异,接口正是为了解决这些差异而设置的

I/O接口的功能
1> 实现主机和外设的通信联络控制。解决主机与外设时许配合问题,协调不同工作速度的外设和主机之间交换信息。

2> 进行地址译码和设备选择。CPU送来选择外设的地址码后,接口必须对地址进行译码以产生设备选择信息,使主机能和指定外设交换信息。

3> 实习数据缓冲。CPU与外设之间的速度往往不匹配,为了消除速度差异,接口必须设置数据缓冲寄存器,用于数据的暂存,以避免因速度不一致而丢失数据。

4> 信号格式的转换。外设与主机两者的电平,数据格式都可能存在差异,接口应提供计算机与外设信号格式的转换功能,如电平转换,并/串或串/并转换,模/数或数/模转换等

5> 传送控制命令和状态信息。CPU要启动某一外设时,通过接口中的命令寄存器向外设发出启动命令;外设准备就绪时,将“准备好”状态信息送回接口中的状态寄存器,并反馈给CPU。

I/O接口的基本结构
1> 内部接口:内部接口与系统总线相连,实质上是与内存,CPU相连。数据的传输方式只能是并行传输。
2> 外部接口:外部接口通过接口电缆与外设相连,外部接口的数据传输可能是串行方式,因此I/O接口需具有串/并转换功能。

接口分类
1> 按数据传送方式可分为并行接口和串行接口。
2> 按主机访问I/O设备的控制方式可分为程序查询接口,中断接口和DMA接口。
3> 按功能选择的灵活性可分为可编程接口和不可编程接口。

I/O端口及其编址
I/O端口指接口电路中可悲cpu直接访问的寄存器。主要有数据端口 状态端口 控制端口,若干端口加上相应的控制逻辑电路组成接口。通常cpu能对数据端口执行读写操作,对状态端口只能执行读操作,对控制端口只能执行写操作
I/O端口要想被cpu访问,就必须要给各个端口进行编号,每一个端口对应一个端口地址而I/O端口的编址方式有与存储器统一编址和独立编址两种:

IO控制方式:程序查询方式 程序中断方式 DMA方式 通道方式
机器字长:CPU一次能够处理的二进制数据的位数。
存储字长:按照某个地址访问某个存储单元获取的二进制数据的位数。
存储单元:存储一个存储字并具有特定存储地址的存储单位;
存储字:一个存储单元中存放的所有的二进制数据,按照某个地址访问某个存储单元获取的二进制数据。
存储字长:按照某个地址访问某个存储单元获取的二进制数据的位数;
存储体:由多个存储单元构成的存储器件。

1)存取时间:启动一次存储器完成本次操作(读或写)所需的时间;
2)存取周期:连续两次启动存储器所需要的最小间隔时间;
3)存取周期包含存取时间;

MAR:存储地址寄存器,保存需要访问的存储单元地址。反映存储单元的个数。
MDR:存储数据寄存器,缓存读出/写入存储单元的数据。反映存储字长。
存储器的最大容量由MAR寄存器的位数和MDR寄存器的位数决定。
MAR寄存器的位数为16位,能表示的地址个数为2的16次方,为64K;
MDR寄存器的位数为16位,说明存储字长为16位,也即2个字节;
存储器的最大容量为64K * 2B = 128K Byte

时钟周期:一个时钟脉冲所需要的时间。在计算机组成原理中又叫T周期或节拍脉冲。是CPU和其他单片机的基本时间单位,在一个时钟周期内,CPU仅完成一个最基本的动作
机器周期/cpu周期:取指令、存储器读、存储器写等,这每一项工作称为一个基本操作。完成一个基本操作所需要的时间称为机器周期。
指令周期:执行一条指令所需要的时间,一般由若干个机器周期组成。指令不同,所需的机器周期也不同。
Cpu周期:

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值