精品文档
一、
浮点存储:
1.若浮点数x的754标准存储格式为(41360000)16,求其浮点数的
解:将16进制数展开后,可得二制数格式为
0 100 00010011 0110 0000 0000 0000
规格化处理: 0.101100 阶码 11010 源极S上的正电压吸收浮空栅中的电子,从而使全部存储元变成1状态。
*cache:设存储器容量为32字,字长64位,模块数m=4,分别用顺序方式和交叉方式进行组织。存储周期T=200ns,数据总线宽度为64位,总线传送周期=50ns。若连续读出4个字,问顺序存储器和交叉存储器的带宽各是多少?
0000
S 阶码(8位) 尾数(23位)
指数e=阶码-127=10000010-01111111=00000011=(3)10 包括隐藏位1的尾数
1.M=1.011 0110 0000 0000 0000 0000=1.011011 于是有 x=(-1)S×1.M×2e=+(1.011011)×23=+1011.011=(11.375)10
2. 将数(20.59375)10转换成754标准的32位浮点数的二进制存储格式。解:首先分别将整数和分数部分转换成二进制数:
然后移动小数点,使其在第1,2位之间 10100.10011=1.010010011×24 e=4于是得到: 010010011
最后得到32位浮点数的二进制存储格式为: 01000001101001001100000000000000=(41A4C000)16
3. 假设由S,E,M三个域组成的一个32位二进制字所表示的非零规格化
浮点数x,真值表示为(非IEEE754标准):x=(-1)s×(1.M)×2E-
128问:它所表示的规格化的最大正数、最小正数、最大负数、最小负数是多少?
(1)最大正数
0 1111 1111 111 1111 1111 1111 1111 1111 x=[1+(1-2-23)]×2127 (2)最小正数
000 000 000000 000 000 000 000 000 000 00
x=1.0×2-
128 (3)最小负数
111 111 111111 111 111 111 111 111 111 11
x=-[1+(1-2-
23)]×2127 (4)最大负数
100 000 000000 000 000 000 000 000 000 00
x=-1.0×2-
128
4.用源码阵列乘法器、补码阵列乘法器分别计算xXy。 (1)x=11000 y=11111 (2) x=-01011 y=11001
(1)原码阵列
x = 0.11011, y = -0.11111
符号位: x0⊕y0 = 0⊕1 = 1 [x]原 = 11011, [y]原 = 11111 1 1 0 1 1 * 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1
1 1 0 1 1 1 1 0 1 1
1 1 0 1 1 1 1 0 1 0 0 0 1 0 1
[x*y]原 = 1, 11 0100 0101 带求补器的补码阵列
[x]补 = 0 11011, [y]补 = 1 00001 乘积符号位单独运算0⊕1=1
尾数部分算前求补输出│X│=11011,│y│=11111
1 1 0 1 1 * 1 1 1 1 1 精品文档
1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 0 0 0 1 0 1
X×Y=-0.1101000101 (2) 原码阵列
x = -0.11111, y = -0.11011
符号位: x0⊕y0 = 1⊕1 = 0 [x]补 = 11111, [y]补 = 11011 1 1 1 1 1 *1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 1 0 1 [x*y]补 = 0,11010,00101
带求补器的补码阵列
[x]补 = 1 00001, [y]补 = 1 00101 乘积符号位单独运算1⊕1=0
尾数部分算前求补输出│X│=11111,│y│=11011
1 1 1 1 1 *1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 1 0 1
X×Y=0.1101000101
5. 计算浮点数x+y、x-y
x = 2-101*(-0.010110), y = 2-100*0.010110 [x]浮= 11011,-0.010110 [y]浮= 11100,0.010110
Ex-Ey = 11011+00100 = 11111
[x]浮= 11100,1.110101(0) x+y 1 1. 1 1 0 1 0 1 + 0 0. 0 1 0 1 1 0 0 0. 0 0 1 0 1 1 x+y= 0.101100*2-6 x-y 1 1.1 1 0 1 0 1 + 1 1.1 0 1 0 1 0 1 1.0 1 1 1 1 1 规格化处理: 1.011111 阶码 11100
x-y=-0.100001*2-4
6. 设过程段 Si所需的时间为τi,缓冲寄存器的延时为τl,线性流水线的时钟周期定义为 τ=max{τi}+τl=τm+τl 流水线处理的频率为 f=1/τ。
? 一个具有k 级过程段的流水线处理 n 个任务需要的时钟周
期数为Tk=k+(n-1),
所需要的时间为: T=Tk × τ
而同时,顺序完成的时间为:T=n×k×τ
? k级线性流水线的加速比: *Ck = TL = n·k Tk k+(n-1) 二、 内部存储器
*闪存:高性能、低功耗、高可靠性以及移动性
编程操作:实际上是写操作。所有存储元的原始状态均处“1”
状态,这是因为擦除操作时控制栅不加正电压。编程操作的目的是为存储元的浮空栅补充电子,从而使存储元改写成“0”状态。如果某存储元仍保持“1”状态,则控制栅就不加正电压。如图(a)表示编程操作时存储元写0、写1的情况。实际上编程时只写0,不写1,因为存储元擦除后原始状态全为1。要写0,就是要在控制栅C上加正电压。一旦存储元被编程,存储的数据可保持100年之久而无需外电源。
读取操作:控制栅加上正电压。浮空栅上的负电荷量将决定
是否可以开启MOS晶体管。如果存储元原存1,可认为浮空栅不带负电,控制栅上的正电压足以开启晶体管。如果存储元原存0,可认为浮空栅带负电,控制栅上的正电压不足以克服浮动栅上的负电量,晶体管不能开启导通。当MOS晶体管开启导通时,电源VD提供从漏极D到源极S的电流。读出电路检测到有电流,表示存储元中存1,若读出电路检测到无电流,表示存储元中存0,如图(b)所示。
擦除操作:所有的存储元中浮空栅上的负电荷要全部洩放出
去。为此晶体管源极S加上正电压,这与编程操作正好相反,见图(c)所示。
解:顺序存储器和交叉存储器连续读出m=4个字的信息总量
顺序存储器和交叉存储器连续读出4个字所需的时间分别
是
t2=mT=4×200ns=800ns=8×10-7s
t1=T+(m-1)=200ns+350ns=350ns=35×10-7 顺序存储器和交叉存储器的带宽分别是: W2=q/t2=256b÷(8×10-7)s=320Mb/s W1=q/t1=256b÷(35×10-7)s=730Mb/s
*CPU执行一段程序时,cache完成存取的次数为1900次,
主存完成存取的次数为100次,已知cache存取周期为50ns,主存存取周期为250ns,求cache/主存系统的效率和平均访问时间。
解:
h=Nc/(Nc+Nm)
e=1/(r+(1-r)h)=1/(5+(1-
ta=tc/e=50ns/0.833=60ns
*存储器:已知某64位机主存采用半导体存储器,其地址码为26位,若
使用256K×16位的DRAM芯片组成该机所允许的最大主存空间,并选用模
块板结构形式,问:
(1) 每个模块板为1024K×64位,共需几个模块板? (2) 个模块板内共有多少DRAM芯片?
(3)主存共需多少DRAM芯片? CPU如何选择各模块板?
(1)226*64220*64?26?64个模块 (2)
220*64 210*28*16?16 每个模块要16个DRAM芯片 (3)64*16 = 1024块
由高位地址选模块
*用16K×8位的DRAM芯片组成64K×32位存储器,要求: (1) 画出该存储器的组成逻辑框图。
(2) 设存储器读/写周期为0.5μS, CPU在1μS内至少要访问一次。试问采用哪种刷新方式比较合理?两次刷新的最大时间间隔是多少?对全部存储单元刷新一遍所需的实际刷新时间是多少?
解:(1)根据题意,存储总容量为64KB,故地址总线需16位。现使用16K*8位DRAM芯片,共需16片。芯片本身地址线占14位,所以采用位并联与
精品文档
地址串联相结合的方法来组成整个存储器,其组成逻辑图如图所示,其中使用一片2:4译码器。
(2)根据已知条件,CPU在1us内至少访存一次,而整个存储器的平均读/写周期为0.5us,如果采用集中刷新,有64us的死时间,肯定不行如果采用分散刷新,则每1us只能访存一次,也不行所以采用异步式刷新方式。假定16K*1位的DRAM芯片用128*128矩阵存储元构成,刷新时只对128行进行异步方式刷新,则刷新间隔为2ms/128 = 15.6us,可取刷新信号周期15us。刷新一遍所用时间=15us×128=1.92ms
(4)水平型微指令用户难以掌握,而垂直型微指令与指令比较相似,
相对来说,比较容易掌握。
*微地址寄存器有6位(μA5-μA0),当需要修改其内容时,可通过某一位触发器的强置端S将其置“1”。现有三种情况:
(1)执行“取指”微指令后,微程序按IR的OP字段(IR3-IR0)进行
16路分支;
(2)执行条件转移指令微程序时,按进位标志C的状态进行2路分支; (3)执行控制台指令微程序时,按IR4,IR5的状态进行4路分支。 请按多路转移方法设计微地址转移逻辑。
答:按所给设计条件,微程序有三种判别测试,分别为P1,P2,P3。
三、 指令系统
*某计算机字长16位,主存容量为64K字,采用单字长单地址指令,
共有40条指令,试采用直接、立即、变址、相对四种寻址方式设计指令格式。
解:40条指令需占用操作码字段(OP)6位,这样指令余下长度为10位。为了覆盖主存640K字的地
址空间,设寻址模式(X)2位,形式地址(D)8位,其指令格式如下:
寻址模式定义如下:
X= 0 0 直接寻址 有效地址 E=D(直接寻址为256个存储单元)
X= 0 1 立即寻址 D字段为操作数
X= 1 0 变址寻址 有效地址 E= (RX)+D (可寻址64K个存储单元)
X= 1 1 相对寻址 有效地址 E=(PC)+D (可寻址64K个存储单元)
其中RX为变址寄存器(16位),PC为程序计数器(16位),在变址和相对寻址时,位移量D可正可负。 四、CPU
精品文档
*微指令:直接表示法特点:
这种方法结构简单,并行性强,操作速度快,但是微指令字太长,若微命令的总数为N个,则微指令字的操作控制字段就要有N位。另外,在N个微命令中,有许多是互斥的,不允许并行操作,将它们安排在一条微指令中是毫无意义的,只会使信息的利用率下降。
*编码表示法特点:可以避免互斥,使指令字大大缩短,但增加了译码电路,使微程序的执行速度减慢
* 编码注意几点:字段编码法中操作控制字段并非是任意的,必须要遵循如
①把互斥性的微命令分在同一段内,兼容性的微命令分在不同段
内。这样不仅有助于提高信息的利用率,缩短微指令字长,而且有助于充分利用硬件所具有的并行性,加快执行的速度。
③每个小段中包含的信息位不能太多,否则将增加译码线路的复杂
④一般每个小段还要留出一个状态,表示本字段不发出任何微命
令。因此当某字段的长度为三位时,最多只能表示七个互斥的微命令,通常用000表示不操作。
*水平型微指令和垂直型微指令的比较
(1)水平型微指令并行操作能力强,效率高,灵活性强,垂直型微指
令则较差。
(2)水平型微指令执行一条指令的时间短,垂直型微指令执行时间
长。
(3)由水平型微指令解释指令的微程序,有微指令字较长而微程序短
的特点。垂直型微指令则相反。
由于修改μA5-μA0内容具有很大灵活性,现分配如下:
(1)用P1和IR3-IR0修改μA3-μA0; (2)用P2和C修改μA0;
(3)用P3和IR5,IR4修改μA5,μA4。
另外还要考虑时间因素T4(假设CPU周期最后一个节拍脉冲),
μA5=P3·IR5·T4 μA4=P3·IR4·T4 μA3=P1·IR3·T4 μA2=P1·IR2·T4 μA1=P1·IR1·T4
μA0=P1·IR0·T4+P2·C·T4
由于从触发器强置端修改,故前5个表达式可用“与非”门实现,
最后一个用“与或非”门实现。
*某机有8条微指令I1-I8,每条微指令所包含的微命令控制信号如下表所示。
a-j分别对应10种不同性质的微命令信号。假设一条微指令的控制字段为8位,请安排微指 令的控制字段格式。 解:经分析,(d, i, j)和(e, f, h)可分别组成两个小组或两个字段,然后进行译码,可得六个微命令信号,剩下的a, b, c, g四个微命令信号可进行直接控制,其整个控制字段组成如下: * * * * * * * * a b c g 01d 01 10 i 10 f
11 j 11 h
*流水线(IF Instruction Fetch取指 ID Instruction Decode指令译码 EX Execution执行 WB 结果写回)
*今有4级流水线分别完成取值、指令译码并取数、运算、送结果四步操作, 今假设完成各步操作的时间依次为100ns,100ns,80ns,50ns。 请问:(1)流水线的操作周期应设计为多少?
(2)若相邻两条指令发生数据相关,而且在硬件上不采取措施,那么第二条指令要推迟多少时间进行。
(3)如果在硬件设计上加以改进,至少需推迟多少时间?
解:
(1)流水线的操作周期应按各步操作的最大时间来考虑,即流水线时钟
周期性??max{?}?100ns
(2)遇到数据相关时,就停顿第i2条指令的执行,直到前面指令的结果已
经产生,因此至少需要延迟2个时钟周期。
(3)如果在硬件设计上加以改进,如采用专用通路技术,就可使流水线不发生停顿。
五、总线总线定义:总线是构成计算机系统的互联机构,是多个系统功能部件之间进行数据传送的公共通路。借助于总线连接,计算机在各系统功能部件之间实现地址、数据和控制信息的交换,并在争用资源的基础上进行工作。
总线分类: 内部总线:CPU内部连接各寄存器及运算器部件之间的总线。 系统总线:CPU和计算机系统中其他高速功能部件相互连接的总线。 I/O总线:CPU和中低速I/O设备相互连接的总线。
总线特性: 物理特性:总线的物理连接方式(根数、插头、插座形状、引脚排列方式等)。 功能特性:每根线的功能。电气特性:每根线上信号的传递方向及有效电平范围。时间特性:规定了每根总线在什么时间有效。 总线带宽:总线带宽定义为总线本身所能达到的最高传输速率,它是衡量总
精品文档
线性能的重要指标。
cpu 北桥 pci 南桥 isa 之间相互连通 通过桥CPU总线、系统总线和高速总线彼此相连。桥实质上是一种具有缓冲、转换、控制功能的逻辑电路。 多总线结构体现了高速、中速、低速设备连接到不同的总线上同时进行工作,以提高总线的效率和吞吐量,而且处理器结构的变化不影响高速总线。 整个总线分为:数据传送总线:由地址线、数据线、控制线组成。其结构与简单总线相似,但一般是32条地址线,32或64条数据线。为了减少布线,64位数据的低32位数据线常常和地址线采用多路复用方式。仲裁总线:包括总线请求线和总线授权线。中断和同步总线:用于处理带优先级的中断操作,包括中断请求线和中断认可线。公用线:包括时钟信号线、电源线、地线、系统复位线以及加电或断电的时序信号线等。
集中式仲裁有三种:链式查询方式:离中央仲裁器最近的设备具有最高优先权,离总线控制器越远,优先权越低。优点:只用很少几根线就能按一定优先次序实现总线控制,并且这种链式结构很容易扩充设备。缺点:是对询问链的电路故障很敏感,优先级固定。计数器定时查询方式:总线上的任一设备要求使用总线时,通过BR线发出总线请求。中央仲裁器接到请求信号以后,在BS线为“0”的情况下让计数器开始计数,计数值通过一组地址线发向各设备。每个设备接口都有一个设备地址判别电路,当地址线上的计数值与请求总线的设备地址相一致时,该设备 置“1”BS线,获得了总线使用权,此时中止计数查询。 每次计数可以从“0”开始,也可以从中止点开发始。如果从“0”开始,各设备的优先次序与链式查询法相同,优先级的顺序是固定的。如果从中止点开始,则每个设备使用总线的优级相等。可方便的改变优先级。独立请求方式:每一个共享总线的设备均有一对总线请求线BRi和总线授权线BBSY,获得总线控制权。 *分布式仲裁示意图
接口的典型功能:控制、缓冲、状态、转换、整理、程序中断。
总线的传输过程:串行传送:使用一条传输线,采用脉冲传送。主要优点是只需要一条传输线,这一点对长距离传输显得特别重要,不管传送的数据量有多少,只需要一条传输线,成本比较低廉。缺点就是速度慢。并行传送:每一数据位需要一条传输线,一般采用电位传送。分时传送:总线复用或是共享总线的部件分时使用总线。*
总线的信息传送过程:请求总线、总线仲裁、寻址、信息传送、状态返回。 *桥:在PCI总线体系结构中有三种桥。其中HOST桥又是PCI总线控制器,含总线数据传送模式:读、写操作:读操作是由从方到主方的数据传送;写操有中央仲裁器。桥起着重要的作用,它连接两条总线,使彼此间相互通信。作是由主方到从方的数据传送。块传送操作:只需给出块的起始地址,然后桥又是一个总线转换部件,可以把一条总线的地址空间映射到另一条总线的对固定块长度的数据一个接一个地读出或写入。对于CPU(主方)存储器(从地址空间上,从而使系统中任意一个总线主设备都能看到同样的一份地址方)而言的块传送,常称为猝发式传送,其块长一般固定为数据线宽度(存表。
储器字长)的4倍。写后读、读修改写操作:这是两种组合操作。只给出地桥本身的结构可以十分简单,如只有信号缓冲能力和信号电平转换逻辑,也址一次(表示同一地址),或进行先写后读操作,或进行先读后写操作。广可以相当复杂,如有规程转换、数据快存、装拆数据等。
播、广集操作:一般而言,数据传送只在一个主方和一个从方之间进行。但
有的总线允许一个主方对多个从方进行写操作,这种操作称为广播。与广播 *(1)某总线在一个总线周期中并行传送4个字节的数据,假设一个总线
相反的操作称为广集,它将选定的多个从方数据在总线上完成AND或OR操周期等于一个总线时钟周期,总线时钟频率为33MHz,总线带宽是多作,用以检测多个中断源。
少
菊花链方式优先级判决逻辑电路图
(2)如果一个总线周期中并行传送64位数据,总线时钟频率升为66MHz,总线带宽是多少? 解:(1)设总线带宽用Dr表示,总线时钟周期用T=1/f表示,一个总线周期传送的数据量用D表示,根据定义可得
Dr=D/T=D×(1/T)=D×f=4B×33×106 (2)64位=8B Dr=D×f=8B×66×106/s=528MB/s
*总线的一次信息传送过程大致分哪几个阶段?若采用同步定时协议,请画出
读数据的同步时序图。
总线的一次信息传送过程,大致可分为:请求总线,总线仲裁,寻址,信息传送,状态返回。
总线时钟启动信号
独立请求方式优先级判别逻辑电路图
读命令地址线地址数据线数据 认可
20. 70*8 = 560MHz/s
*总线仲裁:按照总线仲裁电路的位置不同,仲裁方式分为集中式和分布式两种。
精品文档
BGi。当设备要求使用总线时,便发出该设备的请求信号。总线仲裁器中有一个排队电路,它根据一定的优先次序决定首先响应哪个设备的请求,给设备以授权信号BGi。独立请求方式的优点是响应时间快,即确定优先响应的设备所花费的时间少,用不着一个设备接一个设备地查询。其次,对优先次序的控制相当灵活。它可以预先固定,例如BR0优先级最高,BR1次之…BRn最低;也可以通过程序来改变优先次序;还可以用屏蔽(禁止)某个请求的办法,不响应来自无效设备的请求。因此当代总线标准普遍采用独立请求方式。
优点是响应时间快,即确定优先响应的设备所花费的时间少。对优先次序的控制也是相当灵活的。
分布式仲裁:不需要中央仲裁器,而是多个仲裁器竞争使用总线。当它们有总线请求时,把它们唯一的仲裁号发送到共享的仲裁总线上,每个仲裁器将仲裁总线上得到的号与自己的号进行比较。如果仲裁总线上的号大,则它的总线请求不予响应,并撤消它的仲裁号。最后,获胜者的仲裁号保留在仲裁总线上。显然,分布式仲裁是以优先级仲裁策略为基础。
*总线仲裁某CPU采用集中式仲裁方式,使用独立请求与菊花链查询相结合的二维总线控制结构。每一对请求线BRi和授权线BGi组成一对菊花链查询电路。每一根请求线可以被若干个传输速率接近的设备共享。当这些设备要求传送时通过BRi线向仲裁器发出请求,对应的BGi线则串行查询每个设备,从而确定哪个设备享有总线控制权。请分析说明图6.14所示的总线仲裁时序图。
解:从时序图看出,该总线采用异步定时协议。
? 当某个设备请求使用总线时,在该设备所属的请求线上发出
申请信号BRi(1)。
? CPU按优先原则同意后给出授权信号BGi作为回答(2)。 ? BGi链式查询各设备,并上升从设备回答SACK信号证实已
收到BGi信号(3)。
? CPU接到SACK信号后下降BG作为回答(4)。 ? 在总线“忙”标志BBSY为“0”情况该设备上升BBSY,表
示该设备获得了总线控制权,成为控制总线的主设备(5)。
? 在设备用完总线后,下降BBSY和SACK(6) ? 释放总线。
在上述选择主设备过程中,可能现行的主从设备正在进行传送。此时需等待现行传送结束,即现行主设备下降BBSY信号后(7),新的主设备才能上升
(1)所有参与本次竞争的各主设备将设备竞争号CN取反后打到仲裁总线AB上,以实现“线或”逻辑。AB线低电平时表示至少有一个主设备的CNi为1,AB线高电平时表示所有主设备的CNi为0。
(2)竞争时CN与AB逐位比较,从最高位(b7)至最低位(b0)以一维菊花链方式进行,只有上一位竞争得胜者Wi+1位为1。当,或CNi=0且ABi为高电平时,才使Wi位为1。若Wi=0时,将一直向下传递,使其竞争号后面的低位不能送上AB线。
(3)竞争不到的设备自动撤除其竞争号。在竞争期间,由于W位输入的作用,各设备在其内部的CN线上保留其竞争号并不破坏AB线上的信息。 (4)由于参加竞争的各设备速度不一致,这个比较过程反复(自动)进行,才有最后稳定的结果。竞争期的时间要足够,保证最慢的设备也能参与竞争。 *总线周期类型
PCI总线周期由当前被授权的主设备发起。PCI支持任何主设备和从设备之间点到点的对等访问,也支持某些主设备的广播读写。
? 存储器读/写总线周期 ? 存储器写和使无效周期 ? 特殊周期 ? 配置读/写周期
*PCI
1
平,半个周期低电平。总线上所有事件,即信号电平转换出现在时钟信号的
2)总线周期由被授权的主信号变为有效来
3
内除给出目标地址外,还在线上给出总线命令以指明总线周期类
4
和都有
效情况下完成,任一信号无效(在时钟上跳沿被对方采样到),都将加入等
5持续有效,但在最后一个数据期开始前撤除。即以无效后,也变为无效的时刻表明一个总线周期结束。由此可见,PCI的数据传送以猝发式传送为基本机制,单一数据传送反而成为猝发式传送的一个特例。并且PCI具有无限制的猝发能力,猝发长度由主方确定,没有对猝发长度加以固定限制。
6变为有效和目标地址送上AD线后,目标方在延迟一个时钟周期后必须以