1、1.填空题(1)寄存器寻址方式中,指令的地址码部分给出 寄存器号 ,操作码在 寄存器 中;直接寻址方式指令中,直接给出 操作数的地址 ,需访问 主存 一次可获得操作数;存储器间接寻址方式指令中给出的是 操作数 所在的存储器地址,CPU 需要访问内存 2 次才能获得操作数。(2)指令的编码将指令分成 操作码 和 操作数地址码 等字段。(3)CPU 中,保存当前正在执行的指令的寄存器为 指令寄存器 ,保存下一条指令地址的寄存器为 程序计数器 PC ,保存 CPU 访存地址的寄存器为 地址寄存器(AR) 。(4)某机采用三地址格式指令,共能完成 50 种操作,某机器可在 1K 地址范围内直接寻址,则
2、指令字长应取 36 位,其中操作码 6 位,地址码 30 位。(5)变址寻址和基址寻址的区别是:在基址寻址中,基址寄存器提供 基址 ,指令提供 位移量 ;而在变址寻址中,变址寄存器提供 ? ,指令提供 ? 。(6)设相对寻址的转移指令占两个字节,第一字节为操作码,第二字节是位移量(用补码表示) ,每当 CPU 从存储器取出一个字节时,即自动完成(PC)+1=PC。设当前指令地址为3008H,要求转移到 300FH,则该转移指令第二字节的内容为 00000111 。若当前指令地址为 300FH,要求转移到 3004H,则该转移指令第二字节的内容为 11110101 。7.有一个处理机共有 10
3、条指令,各指令的使用频度分别为0.25,0.2,0.1,0.12,0.1,0.09,0.05,0.04,0.03,0.02,请分别用固定长编码,Huffman 编码和 2/8 扩展编码进行编码。解:固定长编码:Huffman 编码:0.02 0.030.05 0.090.140.20.10.090.310.24 0.250.04 0.050.10.19 0.120.44 0.561000000000111111111Ii Pi 固定长编码 Huffman 编码 2/8 扩展编码I1 0.25 0000 11 00I2 0.20 0001 01 01I3 0.12 0010 101 1000I4
4、 0.10 0011 001 1001I5 0.10 0100 1001 1010I6 0.09 0101 0001 1011I7 0.05 0110 10001 1100I8 0.04 0111 10000 1101I9 0.03 1000 00001 1110I10 0.02 1001 00000 111111.某处理机的指令有双地址,单地址和零地址 3 类,地址字段的长度为 3 位,整个指令字长为 16 位,则最多可以有多少条双地址指令?可以最多有多少条单地址指令?解:最多有 210条双地址指令;最多有(2 10-1)*2 3条单地址指令14.假设某计算机指令字长度为 32 位,具有二地
5、址,一地址,零地址 3 种指令格式,每个操作数地址规定用 8 位表示,若操作码字段固定为 8 位,现已设计出 K 条二地址指令,L条零地址指令,那么这台计算机最多能设计出多少条单地址指令?解:28-K-L18.某计算机指令字长为 16 位,采用扩展操作数,操作数地址需 4 位,该指令已有三地址指令 M 条,二地址指令 N 条,没有零地址指令,问最多还可有多少条一地址指令?解:三地址最多 24;二地址最多(2 4-M)*2 4;最多有(2 4-M)*2 4-N)*2 4条一地址指令1.填空题(1)微程序控制器的核心部件是存储微程序的 控制存储器 ,它一般用 只读存储器 构成。(2)控制器在生成各
6、种控制信号时,必须按照一定的 顺序 进行,以便对各种操作实施时间上的控制。(3)CPU 中,保存当前正在执行的指令的寄存器为 指令寄存器( IR) ,保存下一条指令地址的寄存器为 程序计数器(PC) ,保存 CPU 访存地址的寄存器为 地址寄存器(AR) 。(4)微指令格式可分为 水平 型和 垂直 型两类,其中 垂直 型微指令用较长的微程序结构换取较短的微指令结构。(5)在微型计算机中,CPU 从主存取出一条指令并执行该指令的时间叫 指令周期 ,它通常包含若干个 机器周期 ,而后者又包含若干个 时钟周期 ,组成多级时序系统。2.CPU 中包含哪些基本的寄存器?分别起什么样的作用?通用寄存器(G
7、R):功能不唯一,可由程序设计者根据需要进行指定,如存放原始数据和运算结果,作为变址寄存器,计数器等。程序计数器(PC):自动取出指令并执行指令寄存器(IR):存放当前执行的指令地址寄存器(AR):暂时存放当前 CPU 所访问的内存单元的地址数据缓冲寄存器(DR):暂时存放由主存读出的一条指令或一个数据字状态条件寄存器(PSW):用于保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容4.控制器中一般包含哪些基本部件?每个部件的功能是什么?程序计数器(PC):指令寄存器(IR):指令译码器(ID):分析操作码,并产生相应的控制信号提供给控制单元。地址形成部件:根据不同的寻址方式来形成操
8、作数的有效地址。脉冲源:产生一定频率和宽度的时钟脉冲信号作为整个机器的时钟脉冲。启停线路:保证可靠地送出或封锁时钟脉冲,控制时序信号的发生或停止,从而启动机器或使之停机。节拍信号发生器:用于将脉冲源产生的脉冲信号转换为各个机器周期中所需的节拍信号,控制计算机完成每一步操作。控制单元(CU):根据当前正在执行的指令的需要,以及其他有关的因素,产生相应的时序控制信号,并根据被控功能部件的反馈信号调整时序控制信号。中断控制逻辑:控制中断处理的硬件逻辑7.程序和微程序,机器指令和微指令,主存储器和控制存储器这几个概念有何区别?(1)程序和微程序。程序是由程序员编写的,由指令组成,而微程序用以控制指令的
9、执行,它是由微指令组成的。 (2)机器指令和微指令。机器指令是把程序员编写的程序经编译以后成为机器能执行的以二进制码形式表示的指令;在微程序控制的计算机中通过执行一串微指令完成一条指令的功能。 (3)主存储器和控制存储器。主存储器用来存放程序和数据,在运行程序时,CPU 从主存储器取指令和存取数据,一般由随机存储器 RAM 构成。控制存储器用来存放微程序,用以解释指令的执行,一般由只读存储器 ROM 构成8.指令和数据均放在内存中,从形式上看,它们都是二进制编码,如何区分当前所读取的是指令还是数据,两种情况下对访存结果的处理有何差异?答:取指周期从内存读出的信息流是指令流,它流向控制器,由控制
10、器解释从而发出一系列微操作信号;而执行周期从内存读出或送入内存的信息流是数据流,它由内存流向运算器,或者由运算器流向内存。 11.水平型微指令和垂直型微指令有何差异?水平型指令:一条微指令中定义并执行多个并行微操作的微指令。并行操作能力强,效率高,灵活性强,执行一条机器指令时所需的微指令数量少,执行速度快,字长较长。垂直型指令:在微指令中设置微操作码字段,采用微操作码编译法,由微操作码规定微指令的功能。并行操作能力低,效率低,执行一条机器指令时所需的微指令数量多,执行速度长,字长较短,简单易用。13.某机采用微程序控制方式,水平型编码控制的微指令格式,共有微命令 30 个,构成 4个互斥类,各
11、包含 5 个,8 个,14 个和 3 个微命令,外部条件 3 个。(1)若采用字段直接编码方式和直接控制方式,微指令的操作控制字段各取几位?(2)假设微指令字长为 24 位,设计出微指令的具体格式。(3)在(2)的情况下,控制存储器允许的最大容量为多少?解:(1)字段直接编码方式:3+4+4+2=13直接控制方式:30(2)采用水平型微指令格式,控制字段 13 位,外部条件 3 个,采用断定方式需 2 位控制位,下地址字段长度为 24-13-2=9 位;(3)控制存储器的容量为 512*24 位。14.已知某计算机有 80 条指令,平均每条指令由 12 条微指令组成,其中有一条取指微指令是所有
12、指令公用的,设指令长度为 32 位,请计算出控制存储器容量。解:(80*11+1)*32=880*32控制存储器可选的容量为 1024*32 位15.某机采用微程序控制方式,其控制端容量为 1024*48 位。微指令字长 48 位,微程序可在整个控制存储器中实现转移,可控制程序转移条件共有 4 个(直接控制) ,微指令采用水平型格式,如图 5.25 所示。控制字段 判别测试字段 下地址字段图 5.25 习题 15 图(1)微指令中 3 个字段分别为多少位?(2)画出围绕这种微指令格式的微程序控制器逻辑框图。解:(1)控制字段:48-2-10=36 位 判别测试字段:2 位 下地址字段:10 位
13、(2)地 址 转 移逻 辑P字 段 控 制 字 段微 地 址 寄 存 器OP控 制 存 储 器地 址 译 码 微 命 令 信 号指 令 寄 存 器IR 状 态 条 件17.某机器有 8 条微指令,10 种控制信号,每条微指令发出的控制信号如表 5.5 所示。假设微指令的控制字段为 8 位,试给出控制字段的设计方案。表 5.5 习题 17 的每条微指令发出的控制信号信号a b c d e f g h i jI1 I2 I3 I4 I5 I6 I7 I8 解:e,f,h和b,g,j构成两个互斥类,采用字段直接编译法。a,c,d,i 采用直接控制法。具体设计如下图:a c d i e,f,h b,g,j2-4译 码 器 2-4译 码 器1 1 1 1 2 2e:01f:10h:11 b:01g:10j:1120.设某机配有 A,B,C 3 台设备,其优先顺序是 ABC,为改变中断处理次序,将它们的屏蔽字分别设置为如表 6.6 所示。表 6.6 习题 20 的设备屏蔽字设备 屏蔽字A 111B 010C 011请在图 6.55 中的时间轴给出的设备请求中断的时刻,画出 CPU 执行程序的轨迹。设A,B,C 中断服务程序的执行时间均为 20s。102030405060700A服 务B服 务C服 务程 序t / sA请 求 B请 求 C请 求图 6.55 习题 20 图