计算机组成原理作业1
1.把下面给出的几个十进制的数化为二进制的数(无法精确表示时,小数点后取3位)、八进制的数、十六进制的数:7+3/4,-23/64,27.5,-125.9375,5.43
解答:
7+3/4 =(111.11)2 =(7.6)8 =(7.C)16
-23/64 = -(0.010111) 2 = -(0.27) 8 = -(0.5C) 16 27.5 =(11011.1) 2 =(33.4) 8 =(1B.8) 16
-125.9375 = -(1111101.1111) 2 = -(175.74) 8 = -(7D.F) 16 5.43 =(101.011) 2 =(5.3) 8 =(5.6) 16
2.把下面给出的几个不同进制(以下标形式给出的右括号之后)的数化成十进制的数: (1010.0101) 2、-(101101111.101) 2、(23.47) 8、-(1A3C.D) 16
解答:
(1010.0101) 2=10.3125
-(101101111.101) 2=-367.625 (23.47) 8=19.71875
-(1A3C.D) 16=-6716.8125
3.写出下面2组数的原、反、补表示,并用补码计算每组数的和、差。双符号位的作用是什么?它只出现在什么电路之处? (1) X=0.1101 Y=-0.0111 (2) X=10111101 Y=-00101011
解答: X=0.1101 [X]原=00 1101 [X]反=00 1101 [X]补=00 1101
Y=-0.0111 [Y]原=11 0111 [Y]反=11 1000 [Y]补=11 1001
X=10111101 [X]原=00 10111101 [X]反=00 10111101 [X]补=00 10111101
Y=-00101011 [Y]原=11 00101011 [Y]反=11 11010100 [Y]补=11 11010101
[X+Y]补=(00 1101+11 1001)MOD 2 =(00 0110)MOD 2=0 0110 [X-Y]补=([X]补+[-Y]补)MOD 2 =(00 1101+00 0111)MOD 2 =(01 0100)MOD 2
(双符号得值不同溢出,上溢)
[X+Y]补=(00 10111101+11 11010101)MOD 2 =(00 10010010)MOD 2=0 10010010 [X-Y]补=([X]补+[-Y]补)MOD 2 =(00 10111101+00 00101011)MOD 2 =0 11101000
双符号位能容易检查加减运算中的溢出情况。当符号位相同,数值结果正确;当符号位为01或10时,表示数值溢出。01表示两个正数相加之和≥1的情况,通常称数值“上溢”;
为10时,表示两个负数相加之和<-1的情况,通称数值“下溢”。前面的1个符号位是正确的符号位。
只有在算术与逻辑运算部件中采用双符号位。因为只在把两个模4补码的数值送往算术与逻辑运算部件完成加减计算时,才把每个数的符号位的值同时送到算术与逻辑运算部件的两位符号位,所以只有在算术和逻辑运算部件中采用双符号位。
6.假定X=0.0110011*2,Y=0.1101101*2(此处的数均为二进制)。
(1)浮点数阶码用4位移码、尾数用8位原码表示(含符号位),写出该浮点数能表示的绝对值最大、最小的(正数和负数)数值;
(2)写出X、Y正确的浮点数表示(注意,此处预设了个小陷阱); (3)计算X+Y; (4)计算X*Y。
解答:(1)绝对值最大: 1 111 0 1111111、1 111 1 1111111; 绝对值最小: 0 001 0 0000000、0 001 1 0000000 (2)X: 1 011 0 0110011、Y: 0 110 0 1101101 (3)计算X+Y
A:求阶差:|△E|=|1011-0110|=0101 B:对阶:Y变为 1 011 0 00000 1101101
C:尾数相加:00 0110011 00000+ 00 00000 1101101=00 0110110 01101 D:规格化:左规:尾数为0 1101100 1101,阶码为1010
F:舍入处理:采用0舍1入法处理,则有00 1101100+1=00 1101101 E:不溢出
所以,X+Y最终浮点数格式的结果: 1 010 0 1101101,即0.1101101*210 (3)计算X*Y
A:阶码相加:[X+Y]移=[X]移+[Y]补=01 011+11 110=01 001 (符号位10第1位为0,不溢出;00时上溢,01时下溢) B:尾数相乘结果:0 1010110 110111
C:已满足规格化要求,不需左规,尾数不变,阶码仍为001
D:舍入处理:按0舍1入规则,尾数之后的6位110111舍去,尾数+1=0 1010111 所以,X*Y最终浮点数格式的结果: 1 001 0 1010111,即0.1010111*2
1
11
-10
《计算机组成原理》形成性作业2答案
1.计算机指令中要用到的操作数一般可以来自哪些部件?如何在指令中表示这些操作数的地址?通常使用哪些寻址方式?
解答:计算机指令中要用到的操作数一般可以来自:
1.CPU内部的通用寄存器,此时应在指令字中给出用到的寄存器编号(寄存器名),通用寄存器的数量一般为几个、十几个,故在指令字中须为其
分配2、3、4、5或更多一点的位数来表示一个寄存器;该寄存器的内容,可以是指令运算用到的数据,也可能用作为一个操作数的地址。
2.可以是外围设备(接口)中的一个寄存器,通常用设备编号或设备入出端口地址或设备映像地址来表示;
3.可以是内存储器的一个存储单元,此时应在指令字中给出该存储单元的地址。
计算机的寻址方式:
1.立即数寻址:操作数直接给出在指令字中,即指令字中直接给出的不同再是操作数地址,而是操作数本身。
2.直接寻址:操作数地址字段直接给出操作数在存储器中的地址。 3. 寄存器寻址:指令字中直接给出操作数所在的通用寄存器的编号。
4. 寄存器间接寻址:指令字中给出通用寄存器的编号,在寄存器中给出的不是一个操作数,而是操作数地址时,就可以用这一地址去读写存储器。
5. 变址寻址:指令字中给出的一个数值(变址偏移量)与指定的一个寄存器(变址寄存器)的内容相加之和作为操作数的地址,用于读写存储器。
6.相对寻址:指令字中给出的一个数值(相对寻址偏移量)与程序计数器PC的内容相加之和作为操作数的地址或转移指令的转移地址。、
7. 基地址寻址:把在程序中所用的地址与一个特定的寄存器(基地址寄存器)的内容相加之和作为操作数的地址或指令的地址。
8.间接寻址:指令字的地址字段给出的既不是一个操作数的地址,也不是下一条指令的地址,而是一个操作数地址的地址,或一条指令地址的地址。
9.堆栈寻址:堆栈是存储器中一块特定的按“后进先出”原则管理的存储区,该存储区中被读写单元的地址是用一个特定的寄存器命同的,该寄存器被称为堆栈指针(SP)。如果有些指令,其操作码部分已经指明一个操作数为堆栈中的一个单元的内容,则它已经约定将使用SP访问该单元,故不必在指令的操作数地址字段中另加说明。
2.什么是形式地址?简述对变址寻址、相对寻址、基地址寻址应在指令中给出些什么信息?如何得到相应的实际(有效)地址?各自有什么样的主要用法?
解答:表示在指令中的操作数地址,通常被称为形式地址;用这种形式地址并结合某些规则,可以计算出操作数在存储器中的存储单元地址,这一地址被称为物理地址。 变址寻址:指令字中给出的一个数值(变址偏移量)与指定的一个寄存器(变址寄存器)的内容相加之和作为操作数的地址,用于读写存储器。主要适合于处理数组型数据。 相对寻址:指令字中给出的一个数值(相对寻址偏移量)与程序计数器PC的内容相加之和作为操作数的地址或转移指令的转移地址。与变址寻址的区别是,计算实际地址所用的寄存器已确定为PC,故无须再在指令中指定;而变址寻址中的可用的变址寄存器往往有多个,通常要在指令中指定本次要使用哪一个。主要用于指令转移。
基地址寻址:把在程序中所用的地址与一个特定的寄存器(基地址寄存器)的内容相加之和作为操作数的地址或指令的地址。主要用于为多道程序或浮动地址程序定位存储器空间。基地址寄存器中的值是由系统程序用特权指令设定的,用户不能在自己的程序对其进行修改。
3.略
4.简述计算机的控制器的功能和基本组成。微程序的控制器和组合逻辑的控制器在组成和运行原理方面的相同、不同之处表现在哪里?
解答:计算机的控制器的功能是向整机每个部件提供协同运行所需要的控制信号。是依据当前正在执行的指令和它所处的执行步骤,形成并提供出在这一时刻整机各部件要用到的控制信号。
控制器的基本组成:
1.程序计数器(PC):能提供指令在内存中的地址的部件,服务于读取指令,并接收下条要执行的指令地址;
2.指令寄存器(IR):能保存读来的指令内容的部分,以保存本指令执行的整个过程中要用到的指令本身的主要信息;
3.脉冲源和启停控制逻辑:是指令执行的步骤标记线路,它标记出每条指令的各执行步骤的相对次序关系;
4.时序控制信号的产生部件:依据指令内容、指令的执行步骤(时刻),也许还有些别的什么条件信号,来形成并提供出当前各部件本时刻要用到的控制信号。计算机整机各硬件系统,正是在这些信号控制下协同运行,产生预期的执行结果,也就是执行一条又一条的指令。
组合逻辑的控制器和和程序的控制器是计算机中两种不同类型的控制器,其共同点是:基本功能都是提供计算机各个部件协同运行所需要的控制信号,组成部分都有程序计数器PC,指令寄存器IR,都分成几个执行步骤完成每一条指令的具体功能;不同点主要表现在处理指令执行步骤办法,提供控制信号的方案不一样,组合逻辑控制器是用节拍发生器指明指令执行步骤,用组合逻辑电路直接给出应提供的控制信号,其优点是运行速度明显地快,缺点是设计与实现复杂些,但随着大规模现场可编程集成电路的出现,该缺点已得到很大缓解;微程序的控制器是通过微指令地址的衔接区分指令执行步骤,应提供的控制信号是从控制存储器中读出来的,并经过一个微指令寄存器送到被控制部件的,其缺点是运行速度要慢一点,优点是设计与实现简单些,易用于实现系列计算机产品的控制器,理论上可实现动态微程序设计.
《计算机组成原理》形成性作业3答案
1.在计算机中,为什么要采用多级结构的存储器系统?它们的应用是建立在程序的什么特性之上的?
答:在现代的计算机系统中,通常总是采用由三种运行原理不同,性能差异很大的存储介质分别构建高速缓冲存储器、主存储器和虚拟存储器,再将它们组成三级结构的统一管理、高度的一体化存储器系统。由高速缓冲存储器缓解主存储器读写速度慢,不能满足CPU运行速度需要的矛盾;用虚拟存储器更大的存储空间,解决主存储器容量小,存不下更大程序与更多数据的难题。
这种三级结构的存储器系统的运行原理,是建立在程序运行的局部性原理之上的。即在一小段时间内,运行的程序只使用少量的指令和少量的数据,而这少量的指令和少量的数据往往又集中在存储器的一小片存储区域中,指令顺序执行比转移执行的比例要大,故可以按
对所使用的指令和数据的急迫和频繁程度,将其存入容量、速度、价格不同的存储器中,从而取得更高的性能价格比。主要体现在时间、空间、指令执行顺序三个方面。
2.多级结构的存储器是由哪三级存储器组成的?每一级存储器使用什么类型的存储介质,这些介质的主要特性是什么?在多级结构的存储器系统中,何谓信息的一致性原则和包含性原则?
答:多级结构的存储器是由高速缓冲存储器、主存储器和虚拟存储器。
高速缓冲存储器使用静态存储器芯片实现,主存储器通常使用动态存储器芯片实现,两者是半导体电路器件,以数字逻辑电路方式进行读写;虚拟存储器则使用快速磁盘设备上的一片存储区,是在磁性介质层中通过电磁转换过程完成信息读写的。
这三级不同的存储器中存放的信息必须满足如下两个原则:(1)一致性原则,即同一个信息会同时存放在几个级别的存储器中,此是同一信息在几个级别的存储器中必须保持相同的值。(2)包含性原则,即处在内层(更靠近CPU)存储器中的信息一定被包含在各外层的存储器中,即内层存储器中的全部信息一定是各外层存储器中所存信息中一小部分的副本。这是保证程序正常运行、实现信息共享、提高系统资源利用率所必须的。
3.为什么要采用磁盘阵列技术?何为逻辑盘,何为物理盘?作为一个逻辑盘使用的多个物理盘需要在转速和所用扇区等方面严格的同步吗?为什么?
答:使用统一管理的由多个磁盘组成的磁盘阵列,这一技术的着眼点,是通过多个磁盘设备的并行操作来提高设备总体的性能和可靠性。如果一个磁盘有xMB的容量,单位时间提供y传送能力,则概念上讲,n个这样的磁盘就有n*xMB的容量,n*yMB的传送能力,即要读出yMB的数据,所用的平均时间只要原来单个磁盘所用时间的1/n;还有一点好处是通过合理地在多个磁盘之间组织数据,可以得到比较理想的容错能力,这指的是,额外拿出一定的存储容量,用于保存检错纠错的信息。在总体价格上,使用多个磁盘也不会给用户带来太大的经济负担。实际使用的多个磁盘就是物理盘。
为了统一管理磁盘阵列,使用户所感觉到的不再是多个物理盘,似乎就是一个性能更高的单个磁盘,就要使用一块特点的接口卡(RAID阵列控制卡),把组成阵列的多个物理磁盘连接为一个逻辑整体,这就是逻辑磁盘。
作为一个逻辑盘使用的多个物理盘不需要在转速和所用扇区等方面严格同步。阵列磁盘运行过程中,有以下两项重要技术。一个是并发命令请求和排队管理,并使多个命令得以并发处理;如果在处理命令的时候,还能进行某些性能优化,而不是机械地按命令到来的先后次序处理,还可以进一步提高数据读写的速度。最简单的例子,对两个等待操作的命令,磁头先到达哪一个命令的数据扇区,就先执行哪一个命令,这在磁盘本身的控制器部分来处理可能更方便。另外一项技术是设备的快速接入和断开,即当一个占据了总线的磁盘开始执行一个读命令,数据又尚未准备好时,它应快速地暂时把自己从总线上分离出来,以便使另外正急于使用总线的磁盘可能抢到总线,从而提高总线的使用效率和系统性能,当这个磁盘准备好数据时,应保证它能把自己尽快地接通到总线上去。这实质是把占用总线的时间压缩到尽可能短的一项处理技术
《计算机组成原理》形成性作业4答案
1.针式打印机由哪些部件组成?简述打印头的结构和打印出一个字符的原理性过程?
答:针式打印机由走纸机构、色带机构、打印头和一些逻辑电路等几部分组成。 打印头由打印针、导轨、电磁铁线圈、弹簧、衔铁、外壳及壳帽几部分组成。每根打印针是由具有钢性和韧性都很好的金额材料制成,可以沿着导轨前后运动;运动的动力来自电磁衔铁的正向推动和机械弹簧的反向推动。当电磁铁的线圈中给出一个脉冲电流时将产生磁场,电磁衔铁会在这一磁场作用下向前移动,推动打印针也向前移动并撞击色带;当线圈中的电流消失后,磁场消失,是磁衔铁也失去作用力,机械弹簧的反向回原位置。由于多个打印针可以同时被驱动,故一次打印是一个字符的一个纵向的点阵列,之后使打印头向右移动一个点的位置,就可以打印字符的下一个点阵列,几次之后就打印出一个完整的字符。
2.计算机总线的功能是什么?通常用什么类型的器件构成总线?为什么?从功能区分,总线由哪3部分组成?各自对计算机系统性能有什么影响?
答:计算机总线是计算机的各部件之间传输信息的公共通路,包括传输数据(信息)信号的逻辑电路、管理信息传输协议的逻辑线路和物理连线。
由于总线上往往要连接许多部件或设备,传输的距离较长,负载比较重,故要求总线线路有更强的驱动能力。总线的硬件组成,通常选用集电极开路输出的电路,或输出端有高阻态输出支持的电路。这样的线路的输出端可以直接连接在一起并通过为其中某个门给出低电平(0V)的控制信号,为其他门给出高电平(4V)的控制信号,实现把多路输入中的某一路信息送到总工线上。
从总线各自承担的不同功能,分成数据总线、地址总线、控制总线3部分。 数据总线在计算机部件之间传输数据信息,它的时钟频率和宽度的乘积正比于它支持的最大的数据输入输出能力。
地址总线在计算机部件之间传输地址(内存地址、I/O地址)信息,它的宽度决定了系统可以寻址的最大内存空间。
控制总线给出总线周期类型、I/O操作完成的时刻、DMA周期、中断等有关的控制信号。
3.解释下列术语:总线周期,总线周期类型,总线的等待状态,正常总线周期,burst总线周期,同步传输控制,异步传输控制。
答:总线周期:是通过总线完成一次内存读写操作或完成一次输入输出设备的读写操作所必需的时间。
按照总线周期区分为内存读周期、内存写周期、I/O读周期、I/O写周期4种类型。 被读写的内存和外设的的运行速度低,不能在这一个数据时间内完成读写操作,就必须再增加一到几个数据时间用于继续完成读写操作,在增加了这一到几个数据时间里,称总线处于等待状态。
如果每次数据传输都要用两个时间(地址时间、数据时间)组成的完整的总线周期完成读写,则称这种总线周期为正常总线周期(normal bus cycle),每次只能传输一个数据。 在给出一次地址信息(一个地址时间)后,接着用连续的多个数据时间依次传输多个数据,这种运行方式可提高数据传输速度,称为总线的急促传输方式(burst mode)。 同步传输控制是指在总线上传送数据时,通信双方使用同一个时钟信号进行同步,这个时钟信号通常可以由CPU的总线控制逻辑部件提供,称为总线时钟。
异步传输控制是指在总线上传送数据时,允许通信双方各自使用自己的时钟信号,采用“应答方式”解决数据传输过程中的时间配合关系,而不是共同使用同一个时钟信号进行同步。
4.通用可编程接口应由哪些部件组成?各自的功能是什么?
答:为了尽量减少接口卡的种类,人们总是希望用同一块接口卡能提供出更多的功能,并且能灵活选择其运行功能和运行的控制参数,这样的接口卡被称为通用可编程接口。 接口卡上通常有接口命令寄存器,存放CPU发来的控制命令;有状态寄存器,由设备运行设置其值,供CPU通过读操作来了解设备接口的运行状态。
接口卡上通常还有一到几个用于数据缓冲的寄存器,以便适当降低CPU和设备直接耦合的程度,解决它们运行速度不匹配的矛盾。
接口卡上通常还有处理中断请求、屏蔽和判优等逻辑线路,这是属于总线从设备类型的设备主动向CPU提出自己操作要求的重要机制。
5.简述一次中断处理的完整过程。
答:一个完整的中断过程由中断请求、中断响应和中断处理3个阶段组成。一次中断处理过程通常要经过如下几个步骤完成:
1.中断请求:由中断源发出并送给CPU的控制信号。
2.关中断:保证在此之后的一小段时间内CPU不能响应新的中断请求。
3.保存断点,保护现场:用中断隐指令实现。断点和现场信息一般保存在堆栈中,保存信息一定要完整完成,以保证被停下来的程序得以继续正常运行。
4.判别中断源,转中断服务:找出中断服务程序的入口地址。多个中断源时找出中断优先级最高的中断源。
5.开中断,以便尽快地进入可以响应更高级别中断请求的运行状态。 6.若有更高级别中断请求到来,则进行新的中断响应过程。 7.执行中断服务程序,完成后准备返回主程序,为此,执行关中断。 8.恢复现场,恢复断点。
9.开中断。关中断和开中断是为了保证能完整的恢复现场的操作。开中断之后,若有更高级别中断请求来到,则进入新的中断响应过程。
10.返回断点。
6.DMA传输方式的优点是什么?DMA接口中通常应包括哪些逻辑部件?各自的功能是什么? 答:DMA传输方式的优点是:实现高速I/O设备与主存储器之间成批交换数据的输入/输出。
1、主存地址计数器,用于存放读写主存用到的主存地址。 2、数据数量计数器,用于存放传送数据的数量。
3、DMA的控制/状态逻辑,由控制和状态等逻辑电路组成,用于修改主存地址计数器和数据数量计数器,指定传送功能,协调CPU和DMA信号的配合与同步。
4、DMA请求触发器,接收并记忆设备送来的请求数据传送的信号。
5、数据缓冲寄存器,用于存放高速设备与主存之间交换的数据。
6、中断机构,中断请求发生在数据数量计数器计数到0值时,用于向CPU报告本组数据传达完成,并等待新的传送命令。
因篇幅问题不能全部显示,请点此查看更多更全内容