113、计算机系统如何进行多级划分?这种分级观点对计算机设计会产生什么影响?答案:计算机系统通常由五个以上不用的级组成,具体如下:
第1级是微程序设计级或逻辑电路级,该级由硬件直接执行;
第2级是一般机器级,也称为机器语言级,它由微程序解释机器指令系统;
第3级是操作系统级,它由以机器指令和广义指令组成的操作系统程序实现;
第4级是汇编语言级,它由汇编程序支持和执行;
第5级是高级语言级,它由各种高级语言编译程序支持和执行。
- 冯·诺依曼式结构的计算机主要的思想是什么?它包括哪些组成部分
答案:
冯·诺依曼式结构的计算机主要思想是存储程序,是指将程序与数据事先存放在存储器中,运行时,从存储器中按顺序执行。它包括控制器、运算器、存储器、输入设备和输出设备
存储单元中存放信息的二进制数的组合就是存储字。
- 什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要?
答案:计算机系统:由计算机硬件系统和软件系统组成的综合体。
计算机硬件:指计算机中的电子线路和物理装置。计算机软件:计算机运行所需的程序及相关资料。
硬件和软件在计算机系统中相互依存,缺一不可,因此同样重要。
- 指令和数据都存于存储器中,计算机如何区分它们?
答案:计算机区分指令和数据有以下2种方法:
l 通过不同的时间段来区分指令和数据,即在取指令阶段(或取指微程序)取出的为指令,在执行指令阶段(或相应微程序)取出的即为数据。
l 通过地址来源区分,由PC提供存储单元地址的取出的是指令,由指令地址码部分提供存储单元地址的取出的是操作数。
35、说明冯·诺依曼计算机结构的特点。
答案:冯•诺依曼计算机的特点是:
1. 计算机由运算器、控制器、存储器、输入设备、输出设备五大部件组成;
2.指令和数据以同同等地位存放于存储器内,并可以按地址访问;
- 指令和数据均用二进制表示;
- 指令由操作码、地址码两大部分组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置;
- 指令在存储器中顺序存放,通常自动顺序取出执行;
- 机器以运算器为中心(原始冯•诺依曼机)
- 在CPU中,哪些寄存器属于控制用的指令部件?它们各起什么作用?
答案:
- 程序计数器PC,提供取指地址,从而控制程序执行顺序。
- 指令寄存器IR,存放现行指令,作为产生各种微操作命令的基本逻辑依据。
- 程序状态寄存器PS,记录程序运行结果的某些特征标志,或用来设置程序运行方式与优先级,参与形成某些微操作命令。
- 存储器地址寄存器
- 存储器数据寄存器
- 硬连线控制器如何产生微命令?产生微命令的主要条件是哪些?
答案:硬连线控制器依靠组合逻辑电路产生命令;
组合逻辑电路的输入是产生微命令的条件,
主要有:① 指令代码;
② 时序信号;
③ 程序状态信息与标志位;
④ 外部请求信号。
- 微程序控制器怎么产生操作控制信号,这种控制器有何优缺点?
答案:
操作控制信号的产生:事先把操作控制信号以代码形式构成微指令,然后存放到控制存储器中,取出微指令时,其代码直接或译码产生操作控制信号。
优点:规整、易于修改和扩展。 缺点:速度较慢。
- 当读取并执行一条指令时,控制器的主要功能是什么?
答案:
① 从主存取指令,并计算下一条指令在主存中的地址;
② 对指令进行译码,产生相应的操作控制信号;
③ 控制指令执行的步骤和数据流动的方向。
71、与硬连线控制器相比,微程序控制器有哪些优缺点?
答案:
与硬连线控制器相比,微程序控制器的优点是设计规整、易于修改和扩展。缺点是比硬连线控制器速度慢。
72.微指令控制字编码的方式有哪些?
答案:直接表示法、编码表示法、混合表示法。
直接表示法是将每个控制信号都作为微指令中的一个位。这种方法的特点是简单直观,其输出直接用于控制,但编码效率低。
编码表示法是将微指令进行分组编码,将不同时出现的相斥信号分在一个组中,然后将其编码成较短的代码。这种方法减少了控制存储器所需要的存储器的代码的数量,但是编码的指令代码需要译码器译码,增加了控制信号的延迟,影响CPU的工作频率。
混合表示法是把直接表示法与编码方法相结合使用,即采用部分直接表示部分编码的方法,将一些速度要求较高,或与其他控制信号都相容的控制信号以直接方式表示,而将剩余信号以编码方式。混合表示法便于综合考虑指令字长、灵活性和执行速度方面的要素。
解析:
73.微地址的形成方法有哪些?
答案:计数器方式、断定方式和结合方式。
计数器方式,又称增量方式。用微程序计数器μPC来产生指令的微地址,将微程序中的各条微指令按顺序安排在控制存储器中,后继地址由现行微地址加上一个增量形成。
断定方式,根据机器状态决定下一条微指令的地址,下一条微指令的地址包含在当前微指令的代码中。
结合方式,是将计数器方式和断定方式相结合。
- 中央处理器的基本功能有哪些?
答案:计算机的中央处理器(CPU)具有以下4个方面的基本功能:
-
- 指令控制,即对程序运行的控制;
- 操作控制,即对指令内操作步骤的控制;
- 数据运算,即对数据进行算术运算和逻辑运算,这是CPU的最基本功能;
- 异常处理和中断处理,如处理运算中的溢出等错误情况以及处理外部设备的服务请求等 此外,CPU还具有存储管理、总线管理、电源管理等扩展功能
- 什么是指令周期?指令周期是否有一个固定值?为什么?答案:指令周期是指取出并执行完一条指令所需的时间。
由于计算机中各种指令执行所需的时间差异很大,因此为了提高CPU运行效率,即使在同步控制的机器中,不同指令的指令周期长度都是不一致的,也就是说指令周期对于不同的指令来说不是一个固定值。
- 中断周期前是什么阶段?中断周期后又是什么阶段?在中断周期CPU应完成什么操作?
答案:
中断周期前是执行周期,中断周期后是取指周期。在中断周期,CPU应完成保存断点、将中断向量送
PC和关中断等工作。
- 什么是寻址方式,有哪些寻址方式?
答案:寻找下一条要执行指令的地址及本条指令中操作数地址的方式称为寻址方式。
寻址方式分为指令寻址和数据寻址。
- 什么是数据寻址方式?数据寻址有哪些方式(至少给出6种)
答案:寻找操作数地址的方式称为数据寻址方式。
数据寻址有立即数寻址、寄存器寻址、直接寻址、寄存器间接寻址、间接寻址、基址寻址、变址寻址、相对寻址等
- 指令格式由哪几部分组成,作用是什么?
答案:指令格式分为操作码与地址码两部分。
操作码 :表明指令做什么操作。
地址码 :说明操作数来自哪。
- 假定某计算机中有一条转移指令,采用相对寻址方式,共占两个字节,第一字节是操作码,第二字节是相对位移量(用补码表示),CPU 每次从内存只能取一个字节。假设执行到某转移指令时 PC 的内容为 200,执行该转移指令后要求转移到 100 开始的一段程序执行,则该转移指令第二字节的内容应该是多少?
答案:
100=200+2+Offset,
Offset=100-202=-102=10011010B
101、存储器的层次结构主要体现在什么地方?为什么要分这些层次?计算机如何管理这些层次?
答案:存储器的层次结构主要体现在Cache-主存和主存-辅存这两个存储层次上。
Cache-主存层次在存储系统中主要对CPU访存起加速作用,即从整体运行的效果分析,CPU访存速度加快,接近于Cache的速度,而寻址空间和位价却接近于主存。
主存-辅存层次在存储系统中主要起扩容作用,即从程序员的角度看,他所使用的存储器其容量和位价接近于辅存,而速度接近于主存。
综合上述两个存储层次的作用,从整个存储系统来看,就达到了速度快、容量大、位价低的优化效果。
主存与CACHE之间的信息调度功能全部由硬件自动完成。而主存与辅存层次的调度目前广泛采用虚拟存储技术实现,即将主存与辅存的一部分通过软硬结合的技术组成虚拟存储器,程序员可使用这个比主存实际空间(物理地址空间)大得多的虚拟地址空间(逻辑地址空间)编程,当程序运行时,再由软、硬件自动配合完成虚拟地址空间与主存实际物理空间的转换。因此,这两个层次上的调度或转换操作对于程序员来说都是透明的。
- 说明存取周期和存取时间的区别。
答案:存取周期和存取时间的主要区别是:存取时间仅为完成一次操作的时间,而存取周期不仅包含操作时间,还包含操作后线路的恢复时间。即:
存取周期 = 存取时间 + 恢复时间
- 什么是存储器的带宽?若存储器的数据总线宽度为32位,存取周期为200ns,则存储器的带宽是多少?
答案:
存储器的带宽指单位时间内从存储器进出信息的最大数量。
存储器带宽 = 1/200ns ×32位 = 160M位/秒 = 20MB/秒 = 5M字/秒
注意:字长32位,不是16位。(注:1ns=10-9s)
- 什么叫刷新?为什么要刷新?说明刷新有几种方法。
答案:刷新:对DRAM定期进行的全部重写过程;
刷新原因:因电容泄漏而引起的DRAM所存信息的衰减需要及时补充,因此安排了定期刷新操作;
常用的刷新方法有三种:集中式、分散式、异步式。
集中式:在最大刷新间隔时间内,集中安排一段时间进行刷新,存在CPU访存死时间。
分散式:在每个读/写周期之后插入一个刷新周期,无CPU访存死时间。异步式:是集中式和分散式的折衷。
- 半导体存储器芯片的译码驱动方式有几种?
答案:半导体存储器芯片的译码驱动方式有两种:线选法和重合法。
线选法:地址译码信号只选中同一个字的所有位,结构简单,费器材;
重合法:地址分行、列两部分译码,行、列译码线的交叉点即为所选单元。这种方法通过行、列译码信号的重合来选址,也称矩阵译码。可大大节省器材用量,是最常用的译码驱动方式。
- 一个8K×8位的动态RAM芯片,其内部结构排列成256×256形式,存取周期为0.1μs。试问采用集中刷新、分散刷新和异步刷新三种方式的刷新间隔各为多少?
答案:
采用分散刷新方式刷新间隔为:2ms,其中刷新死时间为:256×0.1μs=25.6μs
采用分散刷新方式刷新间隔为:256×(0.1μs+×0.1μs)=51.2μs
采用异步刷新方式刷新间隔为:2ms
- 什么是“程序访问的局部性”?存储系统中哪一级采用了程序访问的局部性原理?
答案:
程序运行的局部性原理指:在一小段时间内,最近被访问过的程序和数据很可能再次被访问;在空间上,这些被访问的程序和数据往往集中在一小片存储区;在访问顺序上,指令顺序执行比转移执行的可能性大 (大约 5:1 )。存储系统中Cache—主存层次采用了程序访问的局部性原理。
- 计算机中哪些部件可以用于存储信息?按速度、容量和价格/位排序说明。
答案:计算机中寄存器、Cache、主存、硬盘可以用于存储信息。
按速度由高至低排序为:寄存器、Cache、主存、硬盘;
按容量由小至大排序为:寄存器、Cache、主存、硬盘;
按价格/位由高至低排序为:寄存器、Cache、主存、硬盘。
91、何谓中断方式?它主要应用在什么场合?请举二例。
答案:
- 中断方式指:CPU在接到随机产生的中断请求信号后,暂停原程序,转去执行相应的中断处理程序,以处理该随机事件,处理完毕后返回并继续执行原程序;
- 主要应用于处理复杂随机事件、控制中低速1/O;
- 例:打印机控制,故障处理。
92、在 DMA 方式预处理(初始化)阶段, CPU 通过程序送出哪些信息?
答案:
- 测试设备状态,预置DMA控制器工作方式;
- 主存缓冲区首址,交换量,传送方向;
- 设备寻址信息,启动读/写。
解析:
93、中断接口一般包含哪些基本组成?简要说明它们的作用。
答案:
- 地址译码。选取接口中有关寄存器,也就是选择了I/O设备。
- 命令字/状态字寄存器。供CPU输出控制命令,调回接口与设备的状态信息。
- 数据缓存。提供数据缓冲,实现速度匹配。
- 控制逻辑。如中断控制逻辑、与设备特性相关的控制逻辑等。
解析:
- 何谓DAM方式?说明它的适用场合。
答案:
定义:由DMA控制器控制系统总线,直接依靠硬件实现主存与I/O设备之间的数据直传,传送期间不需要CPU程序干预。
适用场合:高速、批量数据的简单传送。
- 主机与外围设备之间信息传送的控制方式有哪几种?采用哪种方式 CPU 效率最低?
答案:主机与外围设备之间信息传送的控制方式有四种:程序查询方式、中断方式、DMA方式和通道方式。
程序查询方式CPU 效率最低。
- 试比较中断方式与 DMA 方式的主要异同,并指出它们各自应用在什么性质的场合。
答案:相同点:这两种方式下,主机和I/O设备都是并行工作。
不同点:中断方式在CPU响应了I/O设备的中断请求后,要暂停现行程序的执行,转为I/O设备服务。 DMA 方式直接依靠硬件实现主存与I/O设备之间的数据直传,传送期间不需要CPU程序干预,CPU可继续执行原来的程序,CPU效率比中断方式。
DMA 方式适用场合:高速、批量数据的简单传送。
中断方式适用场合:处理复杂随机事件、控制中低速1/O设备。
- 简述多重中断系统中CPU响应处理一次中断的步骤。
答案:
① 关中断;② 断点保护;③ 获取中断向量;④ 开中断;⑤ 执行中断服务程序;⑥ 关中断;⑦ 恢复现场信息;⑧ 开中断。
107、试从下面七个方面比较程序查询、程序中断和DMA三种方式的综合性能。
- 数据传送依赖软件还是硬件。
- 传送数据的基本单位。
- 并行性。
- 主动性。
- 传输速度。
- 经济性。
- 应用对象。
答案:
- 程序查询、程序中断方式的数据传送主要依赖软件,DMA主要依赖硬件。 (注意:这里指主要的趋势)
- 程序查询、程序中断传送数据的基本单位为字或字节,DMA为数据块。
- 程序查询方式传送时,CPU与I/O设备串行工作;程序中断方式时,CPU与I/O设备并行工作,现行程序与I/O传送串行进行;DMA方式时,CPU与I/O设备并行工作,现行程序与I/O传送并行进行。
- 程序查询方式时,CPU主动查询I/O设备状态;程序中断及DMA方式时,CPU被动接受I/O中断请求或DMA请求。
- 程序中断方式由于软件额外开销时间比较大,因此传输速度最慢;程序查询方式软件额外开销时间基本没有,因此传输速度比中断快;DMA方式基本由硬件实现传送,因此速度最快;
注意:程序中断方式虽然CPU运行效率比程序查询高,但传输速度却比程序查询慢。
- 程序查询接口硬件结构最简单,因此最经济;程序中断接口硬件结构稍微复杂一些,因此较经济;DMA控制器硬件结构最复杂,因此成本最高;
- 程序中断方式适用于中、低速设备的I/O交换;程序查询方式适用于中、低速实时处理过程;
DMA方式适用于高速设备的I/O交换;
- CPU对DMA请求和中断请求的响应时间是否一样?案:
CPU对DMA请求和中断请求的响应时间不一样,因为两种方式的交换速度相差很大,因此CPU必须以更短的时间间隔查询并响应DMA请求。响应中断请求是在每条指令执行周期结束的时刻,而响应DMA请求是在存取周期结束的时刻。中断方式是程序切换,而程序又是由指令组成,所以必须在一条指令执行完毕才能响应中断请求,而且CPU只有在每条指令执行周期结束的时刻才发出查询信号,以获取中断请求信号,若此时条件满足,便能响应中断请求。
DMA请求是由DMA接口根据设备的工作状态向CPU申请占用总线,此时只要总线未被CPU占用,即可立即响应DMA请求;若总线正被CPU占用,则必须等待该存取周期结束时,CPU才交出总线的使用权。
- 简要说明CPU与I/O之间传递信息可采用哪几种联络方式?它们分别用于什么场合?
答案:
CPU与I/O之间传递信息常采用三种联络方式:直接控制(立即响应)、 同步、异步。 适用场合分别为:
直接控制适用于结构极简单、速度极慢的I/O设备,CPU直接控制外设处于某种状态而无须联络信号。
同步方式采用统一的时标进行联络,适用于CPU与I/O速度差不大,近距离传送的场合。
异步方式采用应答机制进行联络,适用于CPU与I/O速度差较大、远距离传送的场合。
- I/O有哪些编址方式?各有何特点?
答案:
常用的I/O编址方式有两种: I/O与内存统一编址和I/O独立编址。
特点:I/O与内存统一编址方式的I/O地址采用与主存单元地址完全一样的格式,I/O设备和主存占用同一个地址空间,CPU可像访问主存一样访问I/O设备,不需要安排专门的I/O指令。
I/O独立编址方式时机器为I/O设备专门安排一套完全不同于主存地址格式的地址编码,此时I/O地址与主存地址是两个独立的空间,CPU需要通过专门的I/O指令来访问I/O地址空间。
111、说明中断向量地址和入口地址的区别和联系。
- 何谓存储总线?何谓I/O总线?各有何特点?
答案:存储总线是连接CPU和主存储器之间的专用总线,速度高。
1/O总线是连接主机(CPU)与1/O设备之间的总线,可扩展性好。
56、总线的分类方法主要有哪几种?请分别按这几种法说明总线的分类。
答案:
- 按传送格式分为:串行总线、并行总线;
- 按时序控制方式分为:同步总线(含同步扩展总线)、异步总线;
- 按功能分为:系统总线、CPU内部总线、各种局部总线。
- 何谓串行传输,有何优缺点?适用什么场合?
答案:串行传输是指数据的传输在一条线路上按位进行。
优点:线路成本低。缺点:传送速度慢。
适用场合:主机与低速外设间的传送、远距离通信总线的数据传送、系统之间的数据传送。
- 总线的同步通信方式与异步通信方式有什么区别?各适用于哪些场合?
答案:
同步通信方式中:数据传送操作由统一的时序信号同步定时控制,有严格的时钟周期划分,总线操作有固定的时序,设备之间没有应答信号。适合各设备速度固定且一致(或差异不大)的场合。
异步通信方式中:数据传送操作所需时间视需要而定,总线操作周期时间不固定,没有时钟周期划分,设备之间采用握手信号的应答方式。适合:各设备速度差异较大的场合。
59.串行总线和并行总线有何区别? 各适用于什么场合?
答案:
串行总线的数据传输是在一条线路上按位进行。线路成本低,传送速度慢。 适用场合:主机与低速外设间的传送、远距离通信总线的数据传送、系统之间的数据传送。
并行总线的每个数据位都需要单独一条传输线,所有的数据位同时进行传输。线路成本高,传送速度快。适用场合:短距离的高速数据传输。
60.什么是总线仲裁?总线仲裁有哪几种方式
答案:总线仲裁就是决定总线由哪个设备进行控制。
总线仲裁方式可分为集中式和分布式两种。
集中式仲裁将总线的控制功能用一个专门的部件实现,这个部件可以位于连接在总线的某个设备上。当一个设备需要向共享总线传输数据时,它必须先发出请求,在得到许可时才能发出数据。仲裁部件接收来自各个设备的总线使用请求信号,向其中某一个设备发出总线许可信号.
分布式仲裁将控制功能分布在连接在总线上的各设备中,一般是固定优先级的。每个设备分配一个优先号,发出总线请求的设备将自己的优先号送往请求线上,与其他设备的请求信号构成一个合成信号,并将这个合成裁决信号读入以判断是否有优先级更高的设备申请总线。这样可使得优先级最高的设备获得总线使用权。
- 集中式仲裁有哪几种方式?
答案:
(1)链式查询方式(菊花链方式):各申请总线的设备合用一条总线作为请求信号线,而总线控制设备的响应信号线则串接在各设备间。(2)计数器定时查询方式:集中式总线裁决方式之一,设备要求使用总线时通过一条公用请求线发出,总线控制器按计数的值对各设备进行查询。
(3)独立请求方式:集中式总线裁决方式之一,每一个设备都有一个独立的总线请求信号线送到总线控制器,控制器也给各设备分别发送一个总线响应信号。
独立请求方式可以和链式查询方式结合,构成分组链式查询方式。
- 提高总线速度的措施。
答案:
从物理层次:1.增加总线宽度;2.增加传输的数据长度;3.缩短总线长度;4.降低信号电平;5.采用差分信号;6.采用多条总线。
从逻辑层次:1.简化总线传输协议;2.采用总线复用技术;3.采用消息传输协议。
- 集中式仲裁有哪些方式?
答案:菊花链、计数器定时查询、独立请求。
- 什么是总线,总线分哪些类型?
答案:总线是连接各个部件的信息传输线,是各个部件共享的传输介质.
总线分为:片内总线、系统总线和IO总线(或通讯总线)。
- 总线如何分类?什么是系统总线?系统总线又分为几类,它们各有何作用,是单向的,还是双向的,它们与机器字长、存储字长、存储单元有何关系?
答案:
按照连接部件的不同,总线可以分为片内总线、系统总线和通信总线。
系统总线是连接CPU、主存、I/O各部件之间的信息传输线。
系统总线按照传输信息不同又分为地址线、数据线和控制线。地址线是单向的,其根数越多,寻址空间越大,即CPU能访问的存储单元的个数越多;数据线是双向的,其根数与存储字长相同,是机器字长的整数倍。
- 为什么要设置总线判优控制?常见的集中式总线控制有几种?各有何特点?哪种方式响应时间最快?哪种方式对电路故障最敏感?答案:总线判优控制解决多个部件同时申请总线时的使用权分配问题;
常见的集中式总线控制有三种:链式查询、计数器定时查询、独立请求;
特点:链式查询方式连线简单,易于扩充,对电路故障最敏感;计数器定时查询方式优先级设置较灵活,对故障不敏感,连线及控制过程较复杂;独立请求方式速度最快,但硬件器件用量大,连线多,成本较高。
- 什么是总线的数据传输率,它与哪些因素有关?
答案:
总线数据传输率即总线带宽,指单位时间内总线上传输数据的位数,通常用每秒传输信息的字节数来衡量。它与总线宽度和总线频率有关,总线宽度越宽,频率越快,数据传输率越高。
- 用2K×8位的EPROM存储器芯片组成一个32K×8位的半导体只读存储器,试问:
- 数据寄存器多少位?
- 地址寄存器多少位?
- 共需要多少个这样的存储器芯片?
(4) 共需要几根高位地址线作为片选译码?
答案:
(1)数据寄存器位数与存储器的容量的位数有关,存储器为32K*8位,则数据寄存器位数为 8位
(2)地址寄存器的位数与存储器的容量有关,log32K = 15位
(3) 需要的2K*8的芯片 个数 = 32K*8/(2k*8)=16片
(4)所需要的芯片个数为16,每组一个芯片,则共有16组,所以需要log 16 = 4根 高位地址线作为片选译码。
39、设有一个64K×32位的RAM芯片,试问该芯片共有多少个基本单元电路(简称存储基元)?欲设计一种具有上述同样多存储基元的芯片,要求对芯片字长的选择应满足地址线和数据线的总和为最小,试确定这种芯片的地址线和数据线,并说明有几种解答。
答案:
共有64K*32=2^16*2^5= 2^21个存储基元。
如要满足地址线和数据线总和最小,应尽量把存储元安排在字向,因为地址位数和字数成2的幂的关系,可较好地压缩线数。
设地址线根数为a,数据线根数为b,则片容量为:2^a×b = 2^21;
若a = 21,b = 1,总和 = 21+1 = 22;
a = 20,b = 2,总和 = 20+2 = 22;
a = 19,b = 4,总和 = 19+4 = 23;
a = 18,b = 8,总和 = 18+8 = 26;
由上可看出:芯片字数越少,芯片字长越长,引脚数越多。芯片字数减1、芯片位数均按2的幂变化。
结论:如果满足地址线和数据线的总和为最小,这种芯片的引脚分配方案有两种:地址线 = 21根,数据线 = 1根;或地址线 = 20根,数据线 = 2根。
40、设有一个64K×8位的RAM芯片,试问该芯片共有多少个基本单元电路(简称存储基元)?欲设计一种具有上述同样多存储基元的芯片,要求对芯片字长的选择应满足地址线和数据线的总和为最小,试确定这种芯片的地址线和数据线,并说明有几种解答。
答案:
这种芯片的引脚分配方案有两种:地址线 = 19根,数据线 = 1根;或地址线 = 18根,数据线 = 2 根。
解析:
如要满足地址线和数据线总和最小,应尽量把存储元安排在字向,因为地址位数和字数成2的幂的关系,可较好地压缩线数。
设地址线根数为a,数据线根数为b,则片容量为:2a×b = 219;b = 219-a;
若a = 19,b = 1,总和 = 19+1 = 20;
a = 18,b = 2,总和 = 18+2 = 20;
a = 17,b = 4,总和 = 17+4 = 21;
a = 16,b = 8,总和 = 16+8 = 24;
…… ……
由上可看出:芯片字数越少,芯片字长越长,引脚数越多。芯片字数减1、芯片位数均按2的幂变化。
结论:如果满足地址线和数据线的总和为最小,这种芯片的引脚分配方案有两种:地址线 = 19根,数据线 = 1根;或地址线 = 18根,数据线 = 2根。
41、某8位微型机地址码为18位,若使用4K×4位的RAM芯片组成模块板结构的存储器,试问:
- 该机所允许的最大主存空间是多少?
- 若每个模块板为32K×8位,共需几个模块板?
- 每个模块板内共有几片RAM芯片?
- 共有多少片RAM?
- CPU如何选择各模块板?
答案:
- 该机所允许的最大主存空间是:218 × 8位 = 256K×8位 = 256KB
- 模块板总数 = 256K×8 / 32K×8 = 8块
- 板内片数 = 32K×8位 / 4K×4位 = 8×2 = 16片
- 总片数 = 16片×8 = 128片
- CPU通过最高3位地址译码输出选择模板,次高3位地址译码输出。地址格式分配如下:
选择模板 (3位)
选择芯片(3位)
片内地址选择(12位)
42、某8位微型机地址码为22位,若使用64K×4位的RAM芯片组成模块板结构的存储器,试问:
- 该机所允许的最大主存空间是多少?
- 若每个模块板为256K×8位,共需几个模块板?
- 每个模块板内共有几片RAM芯片?
- 共有多少片RAM?
- CPU如何选择各模块板?
答案:
- 该机所允许的最大主存空间是:2^22 × 8位 = 4M×8位 = 4MB模块板总数 = 4M×8 / 256K×8 = 16块
- 板内片数 = 256K×8位 / 64K×4位 = 4×2 = 8片
- 总片数 = 16×8 = 128片
- 模块板为16组,log16=4 ,CPU通过最高4位A21-A18地址译码输出选择模板,板内组数4组, log4=2 ,次高2位A17A16地址译码输出。地址格式分配如下:
选择模板 (4位)A21A20A19A18
选择芯片(2位)A17A16
片内地址选择(16位)A15-A0
43、设CPU共有16根地址线,8根数据线,并用/MREQ低电平有效)作访存控制信号,R//W作读写命令信号(高电平为读,低电平为写)。现有下列存储芯片:ROM(2K×8位,4K×4位,8K×8位),RAM
(1K×4位,2K×8位,4K×8位),及74138译码器和其他门电路(门电路自定)。试从上述规格中选用合适芯片,画出CPU和存储芯片的连接图。要求:
- 最小4K地址为系统程序区,4096~16383地址范围为用户程序区。
- 指出选用的存储芯片类型及数量。
- 详细画出片选逻辑。
答案:
- 地址空间分配图:系统程序区(ROM共4KB):0000H-0FFFH
其中 芯片容量都为4K ,则芯片的地址线根数为12根,将系统地址线A0-A11连接到芯片的A0-A11上, A14A13A12为相邻的在根线,且在RAM1,2,3和ROM1上,它们的值在发生变化,所以连接在138译码器的CBA上,A15连到G2A或G2B上,/MREQ连到G2A或G2B上,G1可以接+5电源...
CPU和存储器连接逻辑图及片选逻辑图
44、设CPU共有16根地址线,8根数据线,并用/MREQ(低电平有效)作访存控制信号,E//W作读写命令信号(高电平为读,低电平为写)。
现有8片8K×8位的RAM芯片与CPU相连,试回答:
- 用74138译码器画出CPU与存储芯片的连接图;
- 写出每片RAM的地址范围;
- 如果运行时发现不论往哪片RAM写入数据后,以A000H为起始地址的存储芯片都有与其相同的数据,分析故障原因。
- 根据(1)的连接图,若出现地址线A13与CPU断线,并搭接到高电平上,将出现什么后果?
答案:
- CPU与存储器芯片连接逻辑图 图略
- 地址空间分配图:
RAM0:0000H——1FFFH
RAM1:2000H——3FFFH
RAM2:4000H——5FFFH
RAM3:6000H——7FFFH
RAM4:8000H——9FFFH
RAM5:A000H——BFFFH
RAM6:C000H——DFFFH
RAM7:E000H——FFFFH
- 如果运行时发现不论往哪片RAM写入数据后,以A000H为起始地址的存储芯片(RAM5)都有与其相同的数据,则根本的故障原因为:该存储芯片的片选输入端很可能总是处于低电平。假设芯片与译码器本身都是好的,可能的情况有:
- 该片的 /CS 端与 /WE 端错连或短路;
- 该片的 /CS 端与CPU的 /MREQ 端错连或短路;
- 该片的 /CS 端与地线错连或短路。
(4)如果地址线A13与CPU断线,并搭接到高电平上,将会出现A13恒为“1”的情况。此时存储器只能寻址A13=1的地址空间(奇数片),A13=0的另一半地址空间(偶数片)将永远访问不到。若对A13=0 的地址空间(偶数片)进行访问,只能错误地访问到A13=1的对应空间(奇数片)中去。
45、设主存容量为256K字,Cache容量为2K字,块长为4。(1)设计Cache地址格式,Cache中可装入多少块数据?
- 在直接映射方式下,设计主存地址格式。
- 在四路组相联映射方式下,设计主存地址格式。
- 在全相联映射方式下,设计主存地址格式。
- 若存储字长为32位,存储器按字节寻址,写出上述三种映射方式下主存的地址格式。
答案:
- (5分)Cache容量为2K字,块长为4,Cache共有2K/4=2^11/2^2=2^9=512块,
Cache字地址9位,字块内地址为2位
因此,Cache地址格式设计如下:
Cache字块地址(9位)
字块内地址(2位)
- 主存容量为256K字=218字,主存地址共18位,共分256K/4=216块,
主存字块标记为18-9-2=7位。
直接映射方式下主存地址格式如下:
主存字块标记(7位)
Cache字块地址(9位)
字块内地址(2位)
- 根据四路组相联的条件,一组内共有4块,得Cache共分为512/4=128=27组,
主存字块标记为18-7-2=9位,主存地址格式设计如下:
主存字块标记(9位)
组地址(7位)
字块内地址(2位)
- 在全相联映射方式下,主存字块标记为18-2=16位,其地址格式如下:
主存字块标记(16位)
字块内地址(2位)
- 若存储字长为32位,存储器按字节寻址,则主存容量为256K*32/8=220B,
Cache容量为2K*32/4=214B,块长为4*32/8=16B=24B,字块内地址为4位,
在直接映射方式下,主存字块标记为20-9-4=7位,主存地址格式为:
主存字块标记(7位)
Cache字块地址(9位)
字块内地址(4位)
在四路组相联映射方式下,主存字块标记为20-7-4=9位,主存地址格式为:
主存字块标记(9位)
组地址(7位)
字块内地址(4位)
在全相联映射方式下,主存字块标记为20-4=16位,主存地址格式为:
主存字块标记(16位)
字块内地址(4位)
- 假设CPU执行某段程序时共访问Cache命中4800次,访问主存200次,已知Cache的存取周期为30ns ,主存的存取周期为150ns,求Cache的命中率以及Cache-主存系统的平均访问时间和效率,试问该系统的性能提高了多少倍?
答案:
Cache被访问命中率为:4800/(4800+200)=24/25=96% (4分)
则Cache-主存系统的平均访问时间为:ta=0.96*30ns+(1-0.96)*150ns=34.8ns (4分) Cache-主存系统的访问效率为:e=tc/ta*100%=30/34.8*100%=86.2%
性能为原来的150ns/34.8ns=4.31倍,即提高了3.31倍。 (4分)
- 假设CPU执行某段程序时共访问Cache命中4800次,访问主存200次,已知Cache的存取周期为40ns ,主存的存取周期为120ns,求Cache的命中率以及Cache-主存系统的平均访问时间和效率,试问该系统的性能提高了多少倍?
答案:
(1) Cache被访问命中率为:4800/(4800+200) *100%=24/25 *100%=96%
(2)则Cache-主存系统的平均访问时间为:ta=0.96*40ns+(1-0.96)*120ns=43.2ns
(3) Cache-主存系统的访问效率为:e=tc/ta*100%=40/34.2*100%=92.6%
(4)性能为原来的 120ns/43.2ns -1=3.01-1= 2.01倍,即提高了2.01倍。
- 一个组相连映射的CACHE由64块组成,每组内包含4块。主存包含4096块,每块由128字组成,访存地址为字地址。试问主存和高速存储器的地址各为几位?画出主存地址格式。
答案:
cache组数:64/4=16 ,Cache容量为:64*128=213字,cache地址13位
主存共分4096/16=256区,每区16块
主存容量为:4096*128=2^19字,主存地址19位,地址格式如下:
主存字块标记(8位)
组地址(4位)
字块内地址(7位)
- 设主存容量为1MB,采用直接映射方式的Cache容量为16KB,块长为4,每字32位。试问主存地址为ABCDEH的存储单元在Cache中的什么位置?
答案:
主存和Cache按字节编址,
Cache容量16KB=2^14B,地址共格式为14位,分为16KB/(4*32/8B)=2^10块,每块4*32/8=16B=2^4B,
Cache地址格式为:
Cache字块地址(10位)
字块内地址(4位)
主存容量1MB=2^20B,地址共格式为20位,分为1MB/(4*32/8B)=2^16块,每块24B,采用直接映射方式,主存字块标记为20-14=6位,主存地址格式为:
主存字块标记(6位)
Cache字块地址(10位)
字块内地址(4位)
主存地址为ABCDEH=1010 1011 1100 1101 1110B,主存字块标记为101010,Cache字块地址为11
1100 1101,字块内地址为1110,故该主存单元应映射到Cache的101010块的第1110字节,即第42块第
14字节位置。或者在Cache的第11 1100 1101 1110=3CDEH字节位置。
50、设某机主存容量为4MB,Cache容量为16KB,每字块有8个字,每字32位,设计一个四路组相联映射(即Cache每组内共有4个字块)的Cache组织。
- 画出主存地址字段中各段的位数。
- 设Cache的初态为空,CPU依次从主存第0,1,2,…,89号单元读出90个字(主存一次读出一个字),并重复按此次序读8次,问命中率是多少?
- 若Cache的速度是主存的6倍,试问有Cache和无Cache相比,速度约提高多少倍?
答案:
- (5分)根据每字块有8个字,每字32位(4字节),得出主存地址字段中字块内地址为3+2=5位。
根据Cache容量为16KB=2^14B,字块大小为8*32/8=32=2^5B,得Cache地址共14位,Cache共有2^(14-
5)=2^9块。
根据四路组相联映射,Cache共分为2^9/2^2=2^7组。根据主存容量为4MB=2^22B,得主存地址共22位,主存字块标记为22-7-5=10位,故主存地址格式为:
主存字块标记(10位)
组地址(7位)
字块内地址(5位)
- (5分)由于每个字块中有8个字,而且初态为空,因此CPU读第0号单元时,未命中,必须访问主存,同时将该字所在的主存块调入Cache第0组中的任一块内,接着CPU读第1~7号单元时均命中。同理,CPU读第8,16,…,88号时均未命中。可见,CPU在连续读90个字中共有12次未命中,而后8次循环读90个字全部命中,命中率为:
(90*8-12)/(90*8)=0.983
- (5分)设Cache的周期为t,则主存周期为6t,没有Cache的访问时间为6t*90*8,有Cache的访问时间为t(90*8-12)+6t*12,则有Cache和无Cache相比,速度提高的倍数为:
(6t*90*8)/[(90*8-12)t+6t*12]-1=4.54
51、设某机主存容量为2MB,Cache容量为8KB,每字块有4个字,每字32位,设计一个四路组相联映射
(即Cache每组内共有4个字块)的Cache组织。
- 画出主存地址字段中各段的位数。
- 设Cache的初态为空,CPU依次从主存第0,1,2,…,89号单元读出90个字(主存一次读出一个字),并重复按此次序读10次,问命中率是多少?
- 若Cache的速度是主存的6倍,试问有Cache和无Cache相比,速度约提高多少倍?
答案:
- 根据每字块有4个字,每字32位(4字节),得出主存地址字段中字块内地址为log(4*4)
=2+2=4位。根据Cache容量为8KB=2^13B,字块大小为4*32/8=16=2^4B,得Cache地址共13位,Cache共有2^(13-4)
=2^9块。
根据四路组相联映射,Cache共分为2^9/2^2=2^7组。
根据主存容量为2MB=2^21B,得主存字节地址共21位,主存字块标记为21-7-4=10位,故主存地址格式为:
主存字块标记(10位)
组地址(7位)
字块内地址(4位)
- 由于每个字块中有4个字,而且初态为空,因此CPU读第0号单元时,未命中,必须访问主存,同时将该字所在的主存块调入Cache第0组中的任一块内,接着CPU读第1~3号单元时均命中。同理,CPU读第4, 8,12,16,…,88号时均未命中。可见,CPU在连续读90个字中共有23次未命中,而后9次循环读90个字全部命中,命中率为:
(90*10-23)/(90*10)=0.974
- 设Cache的周期为t,则主存周期为6t,没有Cache的访问时间为6t*90*10,有Cache的访问时间为t(90*10-23)+6t*23,则有Cache和无Cache相比,速度提高的倍数为:
(6t*90*10)/[(90*10-23)t+6t*23]-1=4.32
52、某8位机采用单总线结构,地址总线16根(A15~A0,A0为低位),数据总线8根(D7~D0),控制总线中与主存有关的有MREQ(允许访存,低电平有效),R / W(高电平为读命令,低电平为写命令)。
主存地址空间分配如下:0~ 8191为系统程序区,由只读存储器芯片组成。8192 ~32767为用户程序区;最后(最大地址)2K字节地址空间为系统程序工作区。上述地址为十进制,按字节编址。现有如下存储器芯片:
ROM:8K×8位(控制端仅有R )
RAM(静态):16K×1位,2K×8位,4K×8位,8K×8位
请从上述芯片中选择适当芯片设计该计算机主存储器,画出主存储器逻辑框图。注意画选片逻辑(可选用门电路及3︰8译码器74LS138)与CPU的连接,说明选哪些存储器芯片,选多少片?
53、
用2K×4位的RAM存储器芯片组成一个8K×8位的半导体随机存储器,试问:
- 存储器地址线有多少条?
- 存储器数据线有多少条?
- 共需要多少个这样的存储器芯片?
- 哪几位地址线进行地址译码后和芯片片选线相连?
答案:
(1)13
- 8
- 8
- A12 A11
54、设主存容量为 2MB , Cache 容量为 16KB ,每字块有 16 个字,每字 32 位。
(1)若Cache采用直接相联映像,求出主存地址字段中各段的位数。
(2)若Cache采用全相联映像,求出主存地址字段中各段的位数。
(3)若Cache采用四路组相联映像,求出主存地址字段中各段的位数。
答案:
(1)(10分) )主存地址位数 21位 cache的块数=16KB/(16*4B)=28块
直接映像方式的字节 地址格式:
主存标志位 (位数21-8-6=7位) Cache块号 (位数8位) 块内地址(位数为6位)
(2)(10分) 全相连映像方式的 字节地址格式:
主存标志位 (位数21-6=13位) 块内地址(位数为6位)
(3)(20分) 四路组相联地址格式:Cache的组数 28/4=26
主存标志位 (位数21-6-6=9位) Cache组号 (位数6位) 块内地址(位数为6位)
55、假设主存容量为2MB,Cache容量为4KB,每个字块为32个字,每个字16位。
(1) Cache地址有多少位?可容纳多少块?
(2)主存地址有多少位,可容纳多少块?
(3)在直接映射方式下,主存的第几块映射到Cache中的第3块(设起始字块为第0块)?
(4)画出直接映射方式下主存地址字段中各段的位数。
答案:
- (5分)Cache容量为4KB,块长为32*16位,Cache共有4K/(32*2)=2^12/2^6=26=64块,
Cache字节地址12位,字节块内地址为6位,可容纳64块
因此,Cache字节地址格式设计如下:
Cache字块地址(6位)
6
- (5分)主存容量为2MB=221字节,主存地址共21位,共分2M/(32*2)=215块,
(3)(5分) 主存的第 3 、3+64、3+2*64。。。。3+2^15-64块映射在Cache的第3块。
(4)(5分)
主存字块标记为21-6-6=9位。
直接映射方式下主存字节地址格式如下:
主存字块标记(9位)
Cache字块地址(6位)
字块内地址(6位)
56、假设主存容量为8MB,Cache容量为4KB,每个字块为16个字,每个字32位。
(1) Cache地址有多少位?可容纳多少块?
(2)主存地址有多少位,可容纳多少块?
(3)在直接映射方式下,主存的第几块映射到Cache中的第7块(设起始字块为第0块)?
(4)画出直接映射方式下主存地址字段中各段的位数。
答案:
- (10分)Cache容量为4KB,块长为16*32位,Cache共有4K/(16*4)=2^12/2^6=26=64块,
Cache字节地址log2^12=12位,字节块内地址为log(2^4*2^2)=6位,可容纳64块
因此,Cache字节地址格式设计如下:
Cache字块地址(6位)
块内地址(6位)
- (10分)主存容量为8MB=2^23字节,主存字节地址共23位,共分8M/(16*4)=2^23/2^6 = 2^17 块,
(3) (10分)主存的第 7 、7+64、7+2*64。。。。7+(2^11-1)*64块映射在Cache的第7块。
(4)(10分)由(1)可知字块内地址(6位),Cache块号(6位),
主存字块标记为23-6-6=11位。
直接映射方式下主存字节地址格式如下:
主存字块标记(11位)
Cache块号(6位)
字块内地址(6位)
57、设有一个直接映象方式的cache,其容量为8K字,每块内有为16个字,主存的容量是512K字,求
- 主存有多少个块?多少区?
- 该cache可容纳多少个块?Cache 字地址有多少位?块号和块内地址各多少位?
- 主存的字地址有多少位?地址格式参数各多少位?
- 主存中的第i块映象到cache中哪一个块中?
- 将主存的第513块调入cache,则cache的块号为多少?它的块号标志为多少?
- 在上一步的基础上,送出的主存的字地址为04011H时,是否命中?
答案:
(1)(4分)主存容量为512K字=2^19,块长为16字=2^4,则主存块数为 512K/16=2^19/2^4=2^15 块主存按cache容量分成区,则可分为 512k/8k=2^9k/2^3k=2^6区
(2)(4分)Cache容量为8k字,块长为16字,Cache共有8K/16=2^13/2^4=2^9=512块, Cache字地址位数= log8k=13位,块长16位 可用log16=4位来表示
因此,Cache字地址格式设计如下: Cache块地址(9位)
块内地址(4位)
- (4分) 主存字地址位数=log512k=19 位。块内地址位数与cache同,为4位,cache块地址也与 cache同为9位,主存块标记位数实际是区号位数 可由log2^6=6位得,也可由主存总位数19-另两部分的位数(9+4)=6得
直接映射方式下主存字地址格式如下:
主存块标记(6位)
Cache块地址(9位)
块内地址(4位)
- (4分)主存中的第i块映象到cache 第 j = i mod 512 块中。
- (4分) 将主存513块调入cache中,则映象到cahce中的第 513 mod 512=1块中。513 这一块属于513/512=1区。
- (4分) 在上步的基础上,主存地址04011H=0000 010 0 0000 0001 0001B
块标记 cache块号 块内地址
则地址中块号为1,但块标记为0000 010B与上题中区号1不同,所以没有命中
解析:
- 设存储器容量为32字,字长64位,模块数m = 4,分别用顺序方式和交叉方式进行组织. 若存储周期T = 200ns,数据总线宽度为64位,总线传送周期τ= 50ns, 问:顺序存储器和交叉存储器带宽各是多少?
答案:
- 已知cache命中率H=0. 98,主存比cache慢4倍,已知主存存取周期为200ns,求cahce/主存系统的效率和平均访问时间。
答案:
ta =0.98*tc+0.02*tm =0.98*50+200*0.02 =53ns
e = 50ns/ta *100%=50/53*100%=94.33%