自考《计算机系统结构》问答题总结(3):你知道计算机系统结构中的常见问答题有哪些吗?

作者:朱铭程时间:2023-07-18 19:53:46

导读:" 自考《计算机系统结构》问答题总结(3):你知道计算机系统结构中的常见问答题有哪些吗?1.什么是计算机系统结构?-计算机系统结构是指计算机硬件和软件之间的组织和交互方式,它包括计算机的层次结构、功能模块以及它们之间的连接和通信方式。2.计算机系统结构包括哪些层次?"

自考《计算机系统结构》问答题总结(3):你知道计算机系统结构中的常见问答题有哪些吗?

1.什么是计算机系统结构?

  -计算机系统结构是指计算机硬件和软件之间的组织和交互方式,它包括计算机的层次结构、功能模块以及它们之间的连接和通信方式。

2.计算机系统结构包括哪些层次?

  -计算机系统结构包括硬件层次、系统层次、指令系统层次和程序层次。硬件层次是指计算机的物理组成部分,如中央处理器、内存和外部设备等;系统层次是指计算机的功能模块,如输入/输出控制器和存储控制器等;指令系统层次是指计算机的指令集和指令格式;程序层次是指计算机的操作系统和应用程序。

3.计算机系统结构的设计原则有哪些?

  -计算机系统结构的设计原则包括功能性、性能、可靠性、可扩展性和可编程性。功能性要求计算机能够完成各种任务;性能要求计算机在给定时间内能够完成更多任务;可靠性要求计算机能够正常工作并避免故障;可扩展性要求计算机能够扩展硬件和软件功能;可编程性要求计算机能够通过编程来实现不同的功能。

4.计算机系统结构中的主要组成部分有哪些?

  -计算机系统结构中的主要组成部分包括中央处理器、内存、输入/输出设备和总线。中央处理器负责执行计算机的指令和控制计算机的操作;内存用于存储数据和指令;输入/输出设备用于与外部设备进行交互;总线用于连接各个组件并传输数据和控制信号。

5.计算机系统结构中的数据通路和控制信号有什么作用?

  -数据通路用于传输数据和执行算术逻辑操作;控制信号用于控制数据的传输和处理。数据通路和控制信号共同组成了计算机的运算器和控制器,实现了计算机的数据处理和控制功能。

6.计算机系统结构中的存储器层次结构有哪些?

  -计算机系统结构中的存储器层次结构包括寄存器、高速缓存、主存和辅助存储器。寄存器是存储器层次结构中最快的存储器,用于存储指令和数据;高速缓存是位于寄存器和主存之间的存储器,用于提高数据访问速度;主存是计算机系统中的主要存储器,用于存储程序和数据;辅助存储器用于长期存储数据和程序,如硬盘和光盘等。

7.计算机系统结构中的指令集体系结构有哪些类型?

  -计算机系统结构中的指令集体系结构包括精简指令集(RISC)和复杂指令集(CISC)。RISC指令集体系结构设计简单,指令长度相同,指令执行速度快;CISC指令集体系结构设计复杂,指令长度不同,指令执行速度相对较慢。

8.计算机系统结构中的流水线技术有什么作用?

  -流水线技术可以将指令执行过程分为多个阶段,并同时执行多条指令,从而提高指令的执行速度。流水线技术通过将指令的执行过程划分为取指、译码、执行、访存和写回等阶段,并通过流水线寄存器来暂存指令和数据,实现了多条指令的并行执行。

9.计算机系统结构中的中断和异常处理有什么作用?

  -中断和异常处理用于处理计算机系统中的外部事件和内部错误。

  中断是由外部设备触发的事件,例如键盘输入和定时器等;异常是由程序错误或非法操作引起的错误,例如除法错误和内存访问错误等。

  中断和异常处理可以暂停当前的指令执行,保存现场并处理相应的事件或错误,保证了计算机系统的稳定性和可靠性。

10.计算机系统结构中的总线标准有哪些?

  -计算机系统结构中的总线标准包括ISA、PCI和USB等。ISA是个人计算机的总线标准,用于连接内部设备;PCI是计算机的扩展总线标准,用于连接外部设备;USB是通用串行总线,用于连接各种外部设备,如打印机和鼠标等。

  以上是计算机系统结构中的常见问答题总结,希望对大家的学习和复习有所帮助。通过了解这些问题和答案,可以更好地理解计算机系统结构的基本概念和原理,提高自己的学习效果。

自考《计算机系统结构》问答题总结(4)

第四章

  1、在分体交叉存储器中为什么实际频宽不随M增大而线性增大?

    M大-数据总线长-负载重-增加门级数-增加延迟;

    顺序取指效率可提高M倍,但出现转移效率就会下降。

    2、段式存储管理的地址转换过程。

  程序号、段号、段内偏移量

    1)由程序号找到相应的段表基址寄存器,查到段表始址和段表长度。

  2)检查是否越界,正常转3

  3)由段表始址和段号找到装入位等相应表项

  4)装入位为1转5,否则产生缺页中断

  5)主存地址 段内偏移=物理地址

  3、段页式存储管理的地址转换过程

  用户标志、段号、页号、页内偏移

  1)用户标志-段基址寄存器

  2)检查是否越界

  3)找到段表中表项

  4)检查装入位,段长

  5)找到页表中表项

  6)检查装入位

  7)实页号 页内偏移=有效地址闹塌

  4、段式存储管理优缺点

    优点:并行编程,缩短时间;相对独立,易于维护;实现虚拟存储;便于共享和分段保护。

    缺点:主存利用率低;降低了访寸速度;空闲区管理复杂;查表速度慢。

  5、分页方式的优缺点

    优点:表项短,减少访表时间;零头少;速度快。

    缺点:强制分页,不利于存储保护和扩充;有效地址生成慢。

  6、段页式管理的优缺点

  优点:具有段式、页式优点

    缺点:有效地址形成慢。

  7、为什么要发展存储体系

    单一工艺的存储器件不能同时满足容量、速度和价格的要求;并行主存系统效果有限。所以必须使用由多种不同工艺存储器组成的存储系统,从系统结构上公斤,发展存储体系。

  8、页面失效频率算法的思想

    某个程序的页面失效率过高时就增加它的主存页数,过少时就减少它的主存页数,以提高总的主存利羡穗用率。

  9、主存页面表实现的变形LRU的过程

  最近最久未使用算法

  1)建立主存页面表

  2)用使用位表示是否被访问过,置初值为0

  3)访问实页,则其使用位置1

  4)调入页进入占用位为0的实页,将占用位置1

  5)所有占用位为1,发生缺页时,替换使用位为0的页

    6)使用位要全1时,强制全置0。

  10、页式管理中的主存页面表和页表是一张表吗?

    页表是一个程序一张;主存页面表是整个主存一张。

  11、比较写回法写直达法

    写回法:信息只写入CACHE,仅需要替换时才送回主存。节省开销,但增加CACHE复杂性。

    写直达法:写入CACHE时也写入主存。开销小,简单,但浪费时间。

    12、CPU-Cache-主存层次,CPU-主存-辅存层次异同。

    相同点:都需要地址映象表和地址变换机构。

  不同点:

    1)前者为缩小CPU主存速度差,后者为扩大主存容量;

    2)前者硬件后者软影结合实现地址变换;

    3)前者用页表后者用目录表实现实现地址映象表;

    4)前者CPU与辅存之间无通路,后者缺页时CPU采用换道办法。

  13、散列法实现快表的地址变换过程

  1)A=H(Nv)

    2)查找Nv时,经同样函数变成A,再找到Nv内容。

  3)地址变换时先查快表再查慢表

  14、有Cache时,给出一个主存地址访存过程

    1)将主存与Cache分成大小相同的块。

    2)判断要访问的主存地址块号是否在Cache中。

    3)若在,变换为Cache号,访问Cache。

    4)若不在,将该信息由主存调入Cache和CPU。

    5)若Cache已满,则替换Cache信息,修改相应表格。

  15、比较Cache-主存层次的几种地址变换方式

    全相联映象和变换。

  过程:主存分为块号和块内地址;块号同目录表比兄弯卜较;相同则Cache块号和块内地址形成Cache地址;不同则缺块,调块。

  目录表长:Cache;宽:主存块号 Cache块号。

  优点:块冲突低,空间利用率;缺点:映象表长,查表速度慢。

    直接映象及变换。

  过程:区号块号块内地址;主存地址中截取Cache地址;根据块号读出目录表中区号与主存地址区号比较;相等则命中否则访主存。

  目录表长:Cache;宽:主存地址位-Cache地址位。

  目录表小,成本低速度快,但冲突概率大Cache利用率低。

    组相映象及变换。

  区号组号块号内地址;用组号选组;对该组区号 块号全相联比较;找不到失败找到则Cache块号组号块内地址形成Cache地址。

  目录表长2^ncb,Cache表大小(区号 2块号)位(区号 块号)位参与比较。

  集中全相联和直接映象的优点弥补它们的缺点,但块冲突>全相联,Cache利用率全相联,目录表>直接方式。

  16、什么是堆栈型的替换算法

  满足n

  n>=Lt时,Bt(n)=Bt(n 1)

  n:分配给程序的实页数

  Bt(n):t时刻在实页中的页面集合

  Lt:t时刻处理过的不同的虚页数

  17、主存实际频宽与模数m的关系是什么?原因?指令流与数据流随机时,主存实际频宽与模数m有什么关系?

    主存实际频宽随模数增大而增大,但增量会减小。

  这是因为程序会有转移,数据分布有随机性。

  完全随机时,大致成平方根关系增大。

  18、CPU写Cache时,会发生Cache与主存的对应副本内容不一致,如何解决?需增加什么开销?

    写回法:仅Cache替换时才写回主存。每个Cache块需增加一个修改位的资源开销。

    写直达法:同时写入Cache和主存,需增加时间开销。

  19、二级虚拟储存层次的等效访问时间与主辅存访问时间有什么关系?提高存储层次的访问速度,可采取的措施有哪些?

    主辅存的访问时间为T1和T2,等效访问时间TA=HT1 (1-H)T2,H为主存命中率。可采取的措施。

    TA>>主存访问周期时,可用改进替换算法、增大主存容量等办法来提高H;

    H很高时,可降低T1;

    加快地址映象和变换,如采用快慢表,增大快表命中率等。

  20、解释页面失效、页面争用,什么时候同时发生,什么时候不同时发生?

    虚页不在主存中,会发生页面失效。

  页面调入主存时,其位置被其它虚页占用,会发生页面争用。

  分配给程序的内存被全部占用后,会同时发生。

  反之不同时发生。

计算机组成与系统结构习题求解

产生进位的该位数码值(不乘位权).

2.DRAM:动态随机存取存储器,即需要采取动态刷新的RAM.

3.高速缓存:为提高访存速度在CPU和主存间增设的一种高速存储器.

4.立即寻址方式:操作数直接在指令中给出(或:紧跟指令给出),在读出指令时可立即获得操作数.

5.微程序控制器:将执行指令所需要的微命槐棚扰令以代码形式编成微指令序列(微程序),存入一个控制存储器,需要时从该存储器中读取.按这种方式工作的控制器称为微程序控制器.6.总线:一组可由多个部件分时共享的信息传输线.

7.DMA方式:直接依靠硬件实现主存与外设之间的数据直接传输,传输过程本身不需CPU程序干预.

8.同步通信方式:在采用这种方式和隐的总线传输中,各设备从一个公共的(统一的)时序信号中获得定时信息(或:由统一的时序信号进行同步定时.)或指出:其明显特征是由一定频率的铅旦时钟信号定义了等间隔的时钟周期.

五,写出下列术语的中英文对照1,美国信息交换标准代码2,循环冗余校验码3,FlashMemory4,主存地址寄存器5,CM(或μCM)6,IEEE

六,问答题1.最大正数=01111111最小正数=00000001最大负数=10000001最小负数=11111111数值表示范围:负的2的7次方减1~正的2的7次方加1

2.硬连线控制器依靠组合逻辑电路产生微命令组合逻辑电路的输入是产生微命令的条件,主要有:A,指令代码B,时序信号C,程序状态信息与标志位D,外部请求信号.

3.指令的第一个CPU周期为取指周期,完成下列三件事:

(1)从内存中取指令

(2)程序计数器PC加1

(3)对指令操作码进行译码或测试

4.中断处理优先级从高到低是:1→2→3→5→4

5.DMA接口由主存流动地址寄存器ABR,交换长度字计数器WC,数据缓冲寄存器DBR,

计算机系统结构试题

  题2.1数据结构和机器的数据表示之间是什么关系?确定和引入数据表示的基本原则是什么?

    [解答]数据表示是数据结构的组成元素,数据结构要通过软件映象变换成机器所具有的各种数据表示来实现。

  不同的数据纤差表示可为数据结构的实现提供不同的支持,表现在实现效率和方便性上不同。

  数据结构和数据表示是软件和硬件之间的交界面。

    确定和引入数据表示的基本原则:一是看系统效率有否提高,即是否减少了实现的时间和存贮的空间,实现时间有否减少又主要看在主存和处理机之间传送的信息量有否减少;二是看引入这种数据表示的通用性和利用率是否较高。

  题2.2标志符数据表示与描述符数据表示有何区别?描述符数据表示与向量数据表示对向量数据结构所提供的支持有什么不同?

    [解答]在标志符数据表示中,标志符是与每个数据相连的,并且合存在同一个存贮单元中,用于描述单个数据的类型等属性;在描述符数据表示中,数据描述符是与数据分开独立存放的,主要是用于描述成块数据的类型属性,地址及其它信息的。

    描述符数据表示在实现向量、阵列数据元素的索引上要比用变址方法的方便,能更快地形成元素的地址,从而可以迅速进行访问,同时,也有利于检查程序中的向量、数组在使用中是否越界。

  因此,它为向量、数组数据结构的实现提供了一定的支持,有利于简化编译中的代码生成。

  但是,描述符数据表示并没有向量、数组的运算类指令,也没有采用流水或处理单元阵列形式的高速运算硬件,没有时阵列中每个元素又是一个子阵列的相关型交叉阵列进行处理的硬件。

  也投有时大量元素是零的稀疏向量和数据进行压缩存贮、还原、运算等指令和硬件。

  因此,它对向量和数组的毁坦数据结构提供的支持不够强,所以并不是向量数据表示。

  题2.3堆栈型机器与通用寄存器型机器的主要区别是什么?堆栈型机器系统结构为程序调用的哪些操作提供了支持?

    [解答]通用寄存器型机器对堆栈数据结构的实现支持较差。这表现在:堆栈操作用的机器指令数少,一般只是些简单的压入(PUSH)和弹出(POP)之类的指令,功能单一;堆栈被放置于主存中,因此每次访问堆栈都要进行访存,速度低;堆栈一般只用于保存于程序调用时的返回地址,只有少量参数经堆栈来传递,大部分参数都是通过寄存器或内存区来传递的。

    堆栈型机器则不同,它主要表现在:有高速寄存器型的硬件堆栈,附加有控制电路让它与主存中的堆栈区在逻辑上构成一个整体,从而使堆栈的访问速度接近于寄存器纤竖桐的速度,容量却是主存的;有对堆栈的栈顶元素或栈顶元素和次栈顶元素进行各种操作和运算处理的丰富的堆栈操作指令,且功能很强;有力地支持高级语言程序的编译,由逆波兰表达式作为编译的中间语言,就可直接生成堆栈指令构成的程序,进行多元素表达式的计算,有力地支持于程序的嵌套和递归调用。

    堆栈型机器系统结构为程序的嵌套和递归调用提供了很强的支持,表现在:在程序调用时,不仅用堆栈保存返回地址,还保存条件码等多种状态信息和某些关键寄存器的内容,如全局性参数、局部性参数,以及为被调用的程序在堆栈中建立一个存放局部变量、中间结果等现场信息的工作区。

  堆栈机器在程序调用时,将这些内容全部用硬件方式压入堆栈。

  当子程序返回时,返回地址、运算结果、返回点现场信息均通过于程序返回指令用硬件方式从堆栈中弹出。

  只需修改堆栈指针内容就可删去堆栈中不用的信息。

  堆栈机器能及时释放不用的单元,访问堆栈时大量使用零地址指令,省去了地址码字段。

  即使访问主存,也采用相对寻址,使访存的地址位数较少,从而使堆栈型机器上运行的程序较短,程序执行时所用的存贮单元数少,存贮效率较高。

    题2.4设某机阶码6位、尾数48位。阶符和数符不在其内,当尾数分别以2、8、16为基时,在非负阶、正尾数、规格化数情况下,求出其最小阶、最大阶、阶的个数,最小尾数值、最大尾数值、可表示的最小值和最大值及可表示的规格化数的总个数。

    [分析]由教材中图2.7的浮点数表示格式可知,阶码6位,就是阶码部分除去阶符外,剩下的阶码值部分为6位;尾数48位,就是尾数的二进位位数m=48位。

  当尾数基值为rm时,尾数每一个rm。

  进制数位需用个二进位表示。

  尾数基值为rm的尾数位数m’=m/。

  对于rm为2、8、16时,m’分别为48、16、12位。

    由于是非负阶,最小阶应当是阶值部分为全“0”。

  所以,最小阶为0。

  最大阶应当是阶值部分6位为全‘l”,所以,最大阶为2-1,即26-1(=63)。

  阶的个数由阶值0到2-1l,共有2个,即64个。

    所谓规格化正尾数,就是正尾数小数点后的第1个rm进制数位不是0的数。

  因为尾数为全“0”的数是机器零,不作为机器中可表示的数。

  所以,最小正尾数值应当是rm进制尾数的小数点后第1个rm进制数位为“1”,其余数位为全“0”的数值,即1rm。

  最大正尾数值当然是rm进制尾数各数位均为rm一1的数。

  可以设想,在小数点后,rm进制的第m’个数位上加1,即加上rm-m’,就会使整个尾数值变为1。

  所以。

  可表示的最大尾数值应当是1-rm-m’。

    按浮点数表示格式的含义,浮点数的值应当是r尾数值。浮点数可表示的最小值应当是阶为非负阶的最小值0,尾数为规格化最小正尾数值,所以,可表示浮点数最小值应当为rm0?rm-1=rm-1;可表示浮点数的最大值应当是阶为正的最大值2-1,尾数为规格化正尾数最大值,所以,可表示浮点数的最大值应为r?(1-r)。

    可表示的浮点数规格化数的总个数应当是可表示阶的个数与可表示尾数的个数的乘积。

  由于在m’个尾数rm进制数位中,每个数位均可以有0~(rm-1),共有rm个码,所以,尾数的编码总个数为r个,但应当去掉小数点后第1个数位是0的那些非规格化的数。

  显然,非规格化数的个数占了全部尾数可编码总数的l/rm的比例。

  所以,可表示的浮点数规格化数的总个数就为2?r?(1-1/rm)。

    只要将p、m、m’、rm的具体值代入上述各式就可以得到本题的解答。

    [解答]p=6、m=48时,在非负阶、规格化、正尾数情况下,rm=2、8、16时的各个参数的计算结果如表2.1所示。

  非负阶、正尾数、规格化尾基rm(p=16位,m=48位)

  2(m’=48)8(m’=16)16(m’=12)

  最小阶值0000

  最大阶值2-1

  636363

  阶的个数2

  646464

  尾数最小值rm-11/21/81/16

  尾数最大值1-rm-m’1-2-481-8-161-16-12

  最小值rm-11/21/81/16

  最大值r?(1-r)

  263?(1-2-48)863?(1-8-16)1663?(1-16-12)

  数的总个数2?r?

  2

  7

  15

    题2.5(1)浮点数系统使用的阶基rp=2。

  阶码位数p=2,尾数基值rm=10,以rm为基的尾数位数m’=1,按照使用的位数来说,等价于m=4。

  试计算在非负阶、正尾数、规格化数情况下的最小尾数值、最大尾数值、最大阶值、可表示的最小值和最大值及可表示数的个数。

    (2)对于rp=2,p=2,rm=4,m’=2,重复以上计算。

    [分析]因为尾数基值rm=10,所以,rm进制尾数的每个数位只能取0~9中的一个值,即每个数位能取的最大值为9。

  [解答](1)在非负阶、正尾数、规格化数的情况下,

  最小尾数值为rm-1=l0-1=0.1

  最大尾数值为1-rm-m’=1-10-1=0.9

  最大阶值为2-1=2

  可表示的最小值为=rm-1=10-1=0.1

  可表示的最大值为r?(1-r)=103(1-10-1)=900

  可表示的数的个数为2?r?=

  (2)最小尾数值为rm-1=4-1=0.25

  最大尾数值为1-rm-m’=1-4-2=15/16

  最大阶值为2-1=22-1=3

  可表示的最小值为rm-1=4-1=0.25

  可表示的最大值为r?(1-r)=

  可表示的数的个数为2?r?=4

    题2.6由4位数(其中最低位为下溢处理之附加位)经ROM查表舍入法下溢处理成3位结果,设计使下滥处理干均误差接近于零的ROM表,列出ROM编码表地址与内容的对应关系。

    [分析]根据题意,ROM表应当有24个单元。

  其中,每个单元的地址为待下溢处理的值,该地址单元的内容应为下滥处理后的3位结果值。

  所以,ROM表存贮单元的字长为3位。

    下溢处理表的填表原则是除了待处理的4位码的最高3位为全“1”时,按截断法填成全“1”外,其它情况均按4位(地址)码的最低位按0舍1入来填处理后相应该单元的3位结果。

  这样,既可体现出舍入法的优点。

  又避免了舍入法因进位影响下滥处理的速度的缺陷。

  同时,让完全用舍入法处理时所产生的平均误差略偏正的值可以与截断法的平均误差为负进行抵消,从而使经过这样的下溢处理之后,能让平均误差人为地调整到接近于零。

    [解答]ROM下溢处理表16个单元的地址码0000~1111,它与其内容(即下溢处理后的3位结果值)的对照关系如表2.2所示。

  地址0000000100100011010001010110011110001001101010111100110111101111

  内容000001001010010011011100100101101110110111111111

    题2.9变址寻址和基址寻址各适用于何种场合?设计一种只用6位地址码就可以指向一个大地址空间中任意64个地址之一的寻址机构。

    [解答]变址寻址适合在标量计算机中,通过循环程序对变址寄存#内容修改其变址值,来对向量或数组等数据结构中的元素进行访问和处理。基址寻址则主要是对程序的逻辑地址空间到物理地址空间进行变换时使用的,以支持程序使用动态再定位的技术。

    设计一种只用6位地址码就可以指向一个大地址空间中任意64个地址之一的寻址机构,意味着指令中为寻找该操作数的地址码只有6位,只好用来表示这64个地址中的某一个。

  那么,这64个地址之一应当是在哪个大的地址空间中的,就得使用其它办法来指明。

  这里可列举常见的两种做法。

    一种是采用隐含寻址,让标志这64个地址是相对哪个基点地址的区域,用指令隐式规定的某个专门的寄存器中所存放的基址值来给出。

  例如,可约定某个变址寄存器或某个基址寄存器。

  程序执行时,每当要访存时,就可以经硬件加法器将隐含寄存器的基址值与指令中给出的6位相对位移量相加来形成其访存单元的物理地址。

    另一种是规定基点地址就用程序计数器,程序计数器(PC)存放的是当前所执行指令的下一条指令所在主存中的地址(或偏移地址),因此,可以通过使用无条件转移指令来修改PC的内容,实现在一个大的地址空间中的访问,这就是所谓的PC自相对寻址。做法是通过将PC的内容和指令中所提供的6位相对位移量相加来形成主存单元的物理地址。

    题2.8指令中常用下列寻址方式来得到操作数:立即操作数、间接寻址、直接寻址、寄存器寻址、自相对寻址。请分别说明这些寻址方法的原理,井对它们在如下4个方面进行比较:可表示操作数的范围大小;除取指外,为获得操作数所需访问主存的最少次数;为指明该操作数所占用指令中的信息位数的多少;寻址复杂性程度。

    [解答]指令为寻找或访问到所需操作数的某种寻址方式,其含义在不同的计算机中会有所差别。下面,我们以大多数计算机中的情况来定义。

    立即操作数的寻址原理是,操作数以常数形式直接存放在指令中操作码的后面。

  一旦指令被取出,操作数也被取得,立即可以使用。

  立即操作数由于受机器指令字长的限制,可表示数的范围小,一般为8位或16位的二进制常数。

  指令取出后,为获得操作数不需要再访存,即访存0次。

  操作数所占用指令中的信息位数是立即数在可表示最大值范围时所要占用的二进位位数。

  寻址的复杂性程度相对最低。

    间接寻址可以有寄存器间接寻址和存贮器间接寻址两种。

  其寻址原理是,在指令的操作数地址字段上只给出存放操作数在内存中物理地址的寄存器号或存贮单元地址。

  先由指令操作数地址字段,从寄存器或存贮单元中取出数在存贮器中的地址。

  再按此地址访存,才能间接取得所要的操作数。

  有的计算机在存贮器间接寻址时,还可以有多重间接寻址,即从存贮单元中取出的内容作为地址。

  再去访有时得到的并不是操作数,而只是操作数在内存中的地址,或是地址的地址。

  如此顺序递推。

  间接寻址访问到的操作数范围大,可以是主存中能访问到可表示数值范围最大的数。

  除取指外,获得所需操作数所需访问主存的最少次数,对于奇存器间接寻址为一次。

  对于存贮器间接寻址为两次。

  为指明该操作数所占用指令中的信息位数,对于寄存器间接寻址来说,只是为寄存器编号所占用的二进位位数,这种位数一般很短(例如,16个通用寄存器的编号只需用4位二进位);而对于存贮器间接寻址来说,需占访存逻辑地址所需的全部位数。

  间接寻址的复杂性一般最高。

  其中,寄存器间接寻址较存贮器间接寻址简单,最复杂的是存贮器多重间接寻址。

    直接寻址的原理是,由指令中操作数地址码字段给出存放操作数在内存中的有效地址或物理地址。

  直接寻址可表示操作数值的范围大,可以是主存中能访问的可表示值范围最大的数。

  除取指外,为获得所需操作数,需要再访问一次主存。

  为指明操作数所占用指令中的信息位数,是访存单元的有效地址或物理地址所需要的位数。

  直接寻址的复杂性较寄存器寻址的大,而它较寄存器间接寻址要简单些。

    寄存器寻址的原理是,指令的操作数地址码宇段给出存放操作数所用的寄存器号。

  可表示操作数的范围大小取决于存放操作数所用的寄存器的二进位位数。

  除取指外,为获得操作数不用访存,即访存0次。

  为指明操作数所占用指令中的信息位数,只是寄存器编号所占的二进位位数,很短。

  例如,16个寄存器编号只需4位二进位。

  寄存器寻址简单,其取数的时间要比访存的时间短很多。

    自相对寻址方式主要用于转移指令形成转向目标地址,有的也用于访问存贮器找操作数。

  以访问存贮器操作数寻址为例,指令中操作数字段给出所访问操作数存放在主存中相对于指令计数器当前值的位移地址。

  自相对寻址所寻址的操作数可表示值范围大,可以是主存中能访问的可表示值范围最大的数。

  除取指外,为获得操作数所需访存的次数为1次。

  为指明该操作数所占用指令中的信息位数取决于允许的最大相对位移量大小。

  寻址复杂性较直接寻址的略复杂些。

    题2.9设计如IBM370那样有基地址寄存器的机器的另一种办法是,每条指令不用现在的基地址寄存器地址(4位)加位移量(12位)共16位作为地址码,而是让每条指令都有一个24位的直接地址。针对下面两种情况,评价一下这个方法的优、缺点:

    (1)数据集中于有限几块,但这些块分布在整个存贮空间;

    (2)数据均匀地分布在整个地址空间中。

  你认为IBM370的设计者在实际应用中考虑了这两种情况中的哪一种可能性?为什么?

    [解答]采用基地址寄存器加位移量作地址码,使指令中操作数的地址码只需要16位,不必使用24位直接地址。

  这样,可以大大减少程序中操作数地址字段所占用的存贮空间量。

  但是,每次访主存找操作数需要将逻辑地址经地址加法器变换成24位的物理地址,这需要花费一些时间。

  这对于数据集中于有限几块,而这些块又是分布在整个地址空间来说是有利的。

  用基址指向某个局部区间在主存中的基点位置,用位移量表示局部区域内相对基点地址的位移。

  如果用24位地址直接寻址,将会使其高位地址码的变化频率很低,虽然这不需要地址变换,形成物理地址的速度有所加快,但程序中操作数地址字段所花费的存贮空间量较大。

  这种寻址对于数据均匀地分布在整个地址空间中是有利的。

    IBM370设计者之所以采用基地址寄存器加位移量的方式,是因为在实际应用中,程序存在着局部性,数据往往集中簇聚于有限的几块中,这些块又可能分布在整个存贮空间里。考虑到地址加法器硬件形成物理地址的速度较高,利用哈夫曼压缩概念,从空间和时间上的得失比较来看,速度下降不太显著,却可使程序所占存贮空间有显著减少。

    题2.10经统计,某机14条指令的使用频度分别为:0.01,0.15,0.12,0.03,0.02,0.04,0.02,0.04,0.01,0.13,0.15,0.14,0.11,0.03。分别求出用等长二进制编码、Huffman编码、只能用两种码长的扩展操作码编码等3种方式的操作码平均码长。

  [分析]等长操作码的意思是不管其指令的频度如何,都用同样长度的二进制码位数

    来对指令操作码编码。显然,当指令系统中的指令条数为n时,等长操作码的二进制码位

    数应当是。

    Huffman编码是用Huffman算法构造出Huffman树来得到的。它的平均码长是用?l计算求得的。

    只有两种码长的扩展操作码编码,则需要对指令使用频度进行按大小分群。

  将高频的指令分在同一群中,对其用短的操作码编码,而将低频的指令分在另一群中,使用长操作码编码。

  每一群都各自用等长操作码编码。

  这时,为能唯一解码和立即解码,在短操作码中还要使用某些码来作为扩展成长操作码的扩展标志码。

  经过综合权衡,使平均码长尽可能短,来定好长、短码的码长组配关系。

  从而,再用?l来求得其平均码长。

    [解答]14条指令的等长操作码的平均码长是位,即4位。

    Huffman编码可先用Huffman算法构造出Huffman树。本题的Huffman树如图2.1所示。

    图中,叶子上用圆括号所括起的数字是表示该频度指令所用的二进位编码的码位数,所以Huffman编码的操作码平均码长为?l=3.38位。

    采用只有两种码长的扩展操作码,可根据14条指令所给出的使用频度值分成两群。

  让使用频度较高的6种指令用3位操作码编码表示。

  例如,用000~101分别表示使用频度为0.15、0.15、0.14、0.13、0.12、0.11的指令的操作码。

  留下110和111两个3位码作为长码的扩展标志,扩展出2位码。

  从而用5位码就可以各扩展出4条使用频度较低的指令,这样,共有8条使用频度较低的指令符合题目的要求。

  由此可求得操作码的平均码长为。

  ?l=3位

    题2.11若某机要求有:三地址指令4条,单地址指令255条,零地址指令16条。

  设指令字长为12位,每个地址码长为3位。

  问能否以扩展操作码为其编码?如果其中单地址指令为254条呢?说明其理由。

    [分析]无论是哈夫曼编码,还是扩展操作码编码,其中的短码都不能与长码的首都有相同的。否则,由于短码成了长码的前缀,而指令中除了操作码外,后面所跟的,或者是操作数,或者是操作数所在的寄存器编号或存贮单元的地址码,它们又都是以二进制码编码的形式出现的,所以短操作码成了长操作码的前缀,就会使指令操作码译码时,无法做到唯一译码和立即解码,这是解答本题的关键之处。

  [解答]根据题意,三地址指令的格式为

  操作码

  地址1地址2地址3

    操作码占了3位,用来表示4条三地址指令需用掉8个不同码中的4个码,余下有4个码可用做扩展成长操作码的扩展标志。

  单地址指令的格式为

  操作码地址

计算机系统结构题

  一.计算机系统包括硬件系统河软件系统。

  1..硬件系统包括中央丛冲猛处理器,存储器,输入设备,输出设备。

  (1)中央处理器包括运算器,控制器。

  (2)存储器包判拆括主存储器ROM,RAM。外部存储器(磁盘,光盘)

  (3)输入设备包括键盘,鼠标,扫描仪。

(4)输出设备包括显示器,打印机,绘图仪

2.软件设备:系统软件和应用软件

(1)系统软件包括操作系统,汇编,解释,编译程序等

提交信息测一测您提升学历详细信息