文档库 最新最全的文档下载
当前位置:文档库 › 计算机组成与系统结构

计算机组成与系统结构

计算机组成与系统结构
计算机组成与系统结构

第一章

(1)兼容性:指硬件之间、软件之间或是硬软件组合系统之间的相互协调工作的程度。(2)算术逻辑单元(ALU):能实现多组算术运算和逻辑运算的的组合逻辑电路。

(3)CPI: 表示执行指令所需的时钟周期数。

(4)MIPS:平均每秒执行多少百万条指令。

5.若有两个基准测试程序P1和P2在机器M1和M2上运行,假定M1和M2的价格分别是5000元和8000元,下表给出了P1和P2在M1和M2上所花的时间和指令条数。

程序

M1 M2

指令条数执行时间(ms) 指令条数执行时间(ms)

P1 200×10610000 150×1065000

P2 300×103 3 420×103 6

请回答下列问题:

(1)对于P1,哪台机器的速度快?快多少?对于P2呢?

(2)在M1上执行P1和P2的速度分别是多少MIPS?在M2上的执行速度又各是多少?

从执行速度来看,对于P2,哪台机器的速度快?快多少?

(3)假定M1和M2的时钟频率各是800MHz和1.2GHz,则在M1和M2上执行P1时的平均时钟周期数CPI各是多少?

(4)如果某个用户需要大量使用程序P1,并且该用户主要关心系统的响应时间而不是吞吐率,那么,该用户需要大批购进机器时,应该选择M1还是M2?为什么?(提

示:从性价比上考虑)

(5)如果另一个用户也需要购进大批机器,但该用户使用P1和P2一样多,主要关心的也是响应时间,那么,应该选择M1还是M2?为什么?

参考答案:

(1)对于P1,M2比M1快一倍;对于P2,M1比M2快一倍。

(2)对于M1,P1的速度为:200M/10=20MIPS;P2为300k/0.003=100MIPS。

对于M2,P1的速度为:150M/5=30MIPS;P2为420k/0.006=70MIPS。

从执行速度来看,对于P2,因为100/70=1.43倍,所以M1比M2快0.43倍。(3)在M1上执行P1时的平均时钟周期数CPI为:10×800M/(200×106)=40。

在M2上执行P1时的平均时钟周期数CPI为:5×1.2G/(150×106)=40。

(4)考虑运行P1时M1和M2的性价比,因为该用户主要关心系统的响应时间,所以性价比中的性能应考虑执行时间,其性能为执行时间的倒数。故性价比R为:

R=1/(执行时间×价格)

R越大说明性价比越高,也即,“执行时间×价格”的值越小,则性价比越高。

因为10×5000 > 5×8000,所以,M2的性价比高。应选择M2。

(5)P1和P2需要同等考虑,性能有多种方式:执行时间总和、算术平均、几何平均。

若用算术平均方式,则:因为(10+0.003)/2×5000 > (5+0.006)/2×8000,所以M2的

性价比高,应选择M2。

若用几何平均方式,则:因为sqrt(10×0.003) ×5000 < sqrt(5×0.006) ×8000,所以M1

的性价比高,应选择M1。

6.若机器M1和M2具有相同的指令集,其时钟频率分别为1GHz和1.5GHz。在指令集中有五种不同类型的指令A~E。下表给出了在M1和M2上每类指令的平均时钟周期数CPI。

机器 A B C D E

M1 1 2 2 3 4

M2 2 2 4 5 6

请回答下列问题:

(1)M1和M2的峰值MIPS各是多少?

(2)假定某程序P的指令序列中,五类指令具有完全相同的指令条数,则程序P在M1和M2上运行时,哪台机器更快?快多少?在M1和M2上执行程序P时的平均时钟周期数CPI各是多少?

参考答案:

(1)M1上可以选择一段都是A类指令组成的程序,其峰值MIPS为1000MIPS。

M2上可以选择一段A和B类指令组成的程序,其峰值MIPS为1500/2=750MIPS。(2)5类指令具有完全相同的指令条数,所以各占20%。

在M1和M2上执行程序P时的平均时钟周期数CPI分别为:

M1:20%×(1+2+2+3+4)= 0.2×12 = 2.4

M2:20%×(2+2+4+5+6)= 0.2×19 = 3.8

假设程序P的指令条数为N,则在M1和M2上的执行时间分别为:

M1:2.4× N×1/1G = 2.4N (ns)

M2:3.8×N×1/1.5G = 2.53 N (ns)

M1执行P的速度更快,每条指令平均快0.13ns,也即M1比M2快0.13/2.53×100%≈5%。

(思考:如果说程序P在M1上执行比M2上快(3.8–2.4)/3.8×100%= 36.8%,那么,这个结论显然是错误的。请问错在什么地方?)

第二章

(1)大端方式:将数据的最高有效字节MSB存放在低地址单元中,将最低有效字节LSB存放在高地址单元中,即数据的地址就是MSB所在的地址。

(2)小端方式:将数据最高有效字节MSB存放在高地址中,将最低有效字节LSB存放在低地址中,即数据的地址就是LSB所在的地址。

7.假定一台32位字长的机器中带符号整数用补码表示,浮点数用IEEE 754标准表示,寄存器R1和R2的内容分别为R1:0000108BH,R2:8080108BH。不同指令对寄存器进行不同的操作,因而,不同指令执行时寄存器内容对应的真值不同。假定执行下列运算指令时,操作数为寄存器R1和R2的内容,则R1和R2中操作数的真值分别为多少?(1)无符号数加法指令

(2)带符号整数乘法指令

(3)单精度浮点数减法指令

参考答案:

R1 = 0000108BH = 0000 0000 0000 0000 0001 0000 1000 1011b

R2 = 8080108BH = 1000 0000 1000 0000 0001 0000 1000 1011b

(1)对于无符号数加法指令,R1和R2中是操作数的无符号数表示,因此,其真值分别为R1:108BH, R2:8080108BH。

(2)对于带符号整数乘法指令,R1和R2中是操作数的带符号整数补码表示,由最高位可知,R1为正数,R2为负数。R1的真值为+108BH, R2的真值为–(0111 1111 0111 1111 1110 1111 0111 0100b + 1b) = –7F7FEF75H。

(3)对于单精度浮点数减法指令,R1和R2中是操作数的IEEE754单精度浮点数表示。

在IEEE 754 标准中,单精度浮点数的位数为32位,其中包含1位符号位,8位阶

码,23位尾数。

由R1中的内容可知,其符号位为0,表示其为正数,阶码为0000 0000,尾数部分为000 0000 0001 0000 1000 1011,故其为非规格化浮点数,指数为–126,尾数中没有隐藏的1,用十六进制表示尾数为+0.002116H,故R1表示的真值为+0.002116H ×10-126。

由R2中的内容可知,其符号位为1,表示其为负数,阶码为0000 0001,尾数部分为000 0000 0001 0000 1000 1011,故其为规格化浮点数,指数为1–127 = –126,尾数中有隐藏的1,用十六进制表示尾数为–1.002116H,故R2表示的真值为–1.002116H × 10-126

尾数23位表示24位,52位表示23位,其中一位隐藏位。隐藏位在小数点之前

1位(s) 8位(e) 23位(f)

8.假定机器M的字长为32位,用补码表示带符号整数。下表第一列给出了在机器M 上执行的C语言程序中的关系表达式,请参照已有的表栏内容完成表中后三栏内容的填写。

关系表达式运算类型结果说明

0 == 0U

–1 < 0

–1 < 0U

2147483647 > –2147483647 – 1 2147483647U > –2147483647 – 1 2147483647 > (int) 2147483648U –1 > –2

(unsigned) –1 > –2 无符号整数

有符号整数

无符号整数

有符号整数

无符号整数

有符号整数

有符号整数

无符号整数

1

1

1

1

1

1

00…0B = 00…0B

11…1B (–1) < 00…0B (0)

11…1B (232–1) > 00…0B(0)

011…1B (231–1) > 100…0B (–231)

011…1B (231–1) < 100…0B(231)

011…1B (231–1) > 100…0B (–231)

11…1B (–1) > 11…10B (–2)

11…1B (232–1) > 11…10B (232–2)

(1)带符号整数符号位1表示负数,0表示正数。

(2)无符号整数常在后加U或u。

(3)结果1表示真,0表示假。

(4)x=2^32-1=4 294 967 296-1=4294 967 295=-1,-1的补码表示为“11...1.”

x=2^31=-2^-31=-2 147 483 648,2^31表示为“100...0”

第三章

(1)算术逻辑部件ALU :能实现多组算术运算和逻辑运算的组合逻辑电路。

(2)先行(超前)进位加法器:通过“进位生成”和“进位传递”函数来使各进位独立,并行产生速度快,可用单级,两级或更多级先行进位方式。

(3)布斯乘法:一种补码相乘算法。可以将符号位和数值位结合在一起参加运算,直接得出用补码表示的乘积,且正数和负数同等对待。

(4)阵列乘法器:基于移位与求和算法实现。每一行被乘数与乘数中的一位相乘,产生一组部分积。

(5)数据通路:数字系统中,各个子系统通过数据总线形成的数据传送路径。

符号阶码尾数

9.已知x=10,y=-6,采用6位机器数表示。请按如下要求计算,并把结果还原成真值。

(1)求[x+y]补,[x-y]补。

解:原码:符号位+数值位(符号位“0”正,“1”负)

正数:原码、反码、补码一致

负数:(1)反码:符号位不变,数值位按位取反。

(2)补码:符号位不变,数值位按位取反后加“1”。

移码:与补码的符号位相反,用于表示阶码。(阶码即浮点数指数,用移码表示)(1)解:[10]补=001010 [-6]=000110,故[-6]补=111010

二进制加法:0+0=0,1+0=1,0+1=1,1+1=10

[x+y]补=[10]补+[-6]补=001010+111010=1001100(超出的最高位去掉)=001100(+4) [x-y]补=[10]补+[-(-6)]补=001010+000110=010000(+16)

用MBA(基4布斯)乘法计算[x×y]补。

解:[–10]补= 110110,布斯乘法过程如下:

P Y y-1说明

0 0 0 0 0 0 1 1 1 0 1 0 0 设y-1 = 0,[P0]补= 0 注释:初始化,Y-1补0

y0 y-1 = 00,P、Y直接右移一位

0 0 0 0 0 0 0 1 1 1 0 1 0得[P1]补注释:将最低两位

Y0Y-1来判断执行

+ 1 1 0 1 1 0y1 y0 =10,+[–X]补

1 1 0 1 1 0 P、Y同时右移一位

右移一位1 1 1 0 1 1 0 0 1 1 1 0 1(右移一位)得[P2]补

+ 0 0 1 0 1 0y2 y1 =01,+[X]补

0 0 0 1 0 1 P、Y同时右移一位

0 0 0 0 1 0 1 0 0 1 1 1 0 得[P3]补

+ 1 1 0 1 1 0 1 0 0 1 1 1 0 y3 y2 = 10,+[–X]补

1 1 1 0 0 0 P、Y同时右移一位

1 1 1 1 0 0 0 1 0 0 1 1 1 得[P4]补

+ 0 0 0 0 0 00 1 0 0 1 1 1 y4 y3 = 11,+0

1 1 1 1 0 0 P、Y同时右移一位

1 1 1 1 1 0 0 0 1 0 0 1 1得[P5]补

+ 0 0 0 0 0 00 0 1 0 0 1 1 y5 y4 = 11,+0

1 1 1 1 1 0 P、Y同时右移一位

1 1 1 1 1 1 0 0 0 1 0 0 1 得[P6]补

因此,[X × Y]补=1111 1100 0100,即X × Y = –11 1100B= – 60

第四章

(1).静态RAM(SRAM):具有静止存取功能的内存,不需要刷新电路,也能保存它内存存储的数据。

(2)动态RAM(DRAM):只能将数据保持很短的时间,必须隔一段时间刷新一次。如果存储单元没有被刷新,存储的信息就会丢失。

(3)片送信号:指传统南北桥架构的主板中,地址线和数据线分开的BIOS 芯片里的22脚的那个信号,可以初步判断南北桥级CPM 是否开始工作。

(4)时间局部性:某单元在一个很短的时间段内可能被重复访问。 (5)空间局部性:某单元被访问后,其邻进单元也可能被访问。 (6)命中时间:命中时,CPM 在cache 中直接存取信息所用的时间。 (7)缺失率:访问信息不再cache 中的概率。

(8)LRU:最近最少用算法,总是把最近最少用到的那个主存块淘汰掉。

4.10假定某机主存空间大小1GB ,按字节编址。cache 的数据区(即不包括标记、有效位等存储区)有64KB ,块大小为128字节,采用直接映射和全写(write-through )方式。请问: (1)主存地址如何划分?要求说明每个字段的含义、位数和在主存地址中的位置。

解:主存空间大小为1GB ,按字节编址,说明主存地址为30位(1GB=2^30B=2^20KB=2^10MB,1B=8bit) 主存地址

(直接映射)

cache 共有64KB/128B=512行,因此,行索引(行号)为9位(2^9=512行);块大小128字节(2^7=128B),说明块内地址为7位。因此,30位主存地址中,高14位为标志(Tag );中间9位为行索引;低7位为块内地址。

(2)cache 的总容量为多少位?

解:因为采用直接映射,所以cache 中无需替换算法所需控制位,全写方式下也无需修改(dirty )位,而标志位和有效位总是必须有的,所以,cache 总容量为512×(128×8+14+1)=519.5K 位。

4.13分析比较以下三个函数的空间局部性,并指出哪个最好,哪个最差?

标记

Cache 行号 块内地址

对于函数clear1,其数组访问顺序与在内存的存放顺序完全一致,因此,空间局部性最好。

对于函数clear2,其数组访问顺序在每个数组元素内跳越式访问,相邻两次访问的单元最大相差3个int 型变量(假定sizeof(int)=4,则相当于12B ),因此空间局部性比clear1差。若主存块大小比12B 小的话,则大大影响命中率。

对于函数clear3,其数组访问顺序与在内存的存放顺序不一致,相邻两次访问的单元都相差6个int 型变量(假定sizeof(int)=4,则相当于24B )因此,空间局部性比clear2还差。若主存块大小比24B 小的话,则大大影响命中率。 3.17 假设某计算机的主存地址空间大小为64MB ,采用字节编址方式。其cache 数据区容量为4KB ,采用4路组相联映射方式、LRU 替换和回写(write back )策略,块大小为64B 。请问:

(1)主存地址字段如何划分?要求说明每个字段的含义、位数和在主存地址中的位置。 2^s 路组相联映射(2^q 组×2^s 行/组映射):S=1,为2-路组相联,S=2,为4-路组相联。

n=m+q+k,64B=2^6bit/行,即k=6,2^6字节/行 S=2,即2^2行/组 故,有2^4组 解:(1)主存地址:

cache 的划分为:4KB = 212B = 24组×22行/组×26字节/行,所以,cache 组号(组索引)占4位。 (主存地址n=12位)

主存地址划分为三个字段:高16位为标志字段、中间4位为组号、最低6位为块内地址。

即主存空间划分为:64MB = 226B = 216组群×24块/组群×26字节/块

标记 (m) Cache 组号 (q)

块内地址

(k) # define N 1000 typedef struct { int vel[3]; int acc[3]; } point; point p[N];

void clear1(point *p, int n ) { int i, j; for (i = 0; i < n; i++) { for (j = 0; j<3; j++) p[i].vel[j] = 0; for (j = 0; i<3; j++)

p[i].acc[j] = 0;

} }

# define N 1000 typedef struct { int vel[3]; int acc[3]; } point; point p[N];

void clear2(point *p, int n ) { int i, j; for (i=0; i

} }

# define N 1000 typedef struct { int vel[3]; int acc[3]; } point; point p[N];

void clear3(point *p, int n ) { int i, j; for (j=0; j<3; j++) { for (i=0; i

p[i].acc[j] = 0;

} }

(2)该cache 的总容量有多少位?

解:cache 共有64行,每行中有16位标志、1位有效位、1位修改(dirty)位、2位LRU 位,以及数据64B 。故总容量为64×(16+1+1+2+64×8)=34048位。

(3)若cache 初始为空,CPU 依次从0号地址单元顺序访问到4344号单元,重复按此序列共访问16次。若cache 命中时间为1个时钟周期,缺失损失为10个时钟周期,则CPU 访存的平均时间为多少时钟周期? 解:因为每块为64B ,CPU 访问的单元范围为0~4344,共4345个单元,4345/64=67.89,

所以CPU 访问的是主存前68块(第0~67块),也即CPU 的访问过程是对前68块连续访问16次,总访存次数为16×4345 = 69520。

cache 共有16组,每组4行,采用LRU 算法的替换情况如下图所示:

根据图中所示可知,第一次循环的每一块只有第一次未命中,其余都命中;以后15次循环中,有20块的第一字未命中,其余都命中。所以命中率p 为(69520–68–15×20)/69520 = 99.47%

平均访存时间为:Hit Time + (1–p) × Miss Penalty

=1+10×(1–p) = 1+0.0053×10 = 1.053个时钟周期

第五章

(1)指令:告诉计算机从事某一事物特殊运算的代码。

0 63

1

4344

128

4288 64 16次

1#

2#

67#

0# 65

68#

4352

(2)指令集体系结构ISA:系统程序员感觉到的计算机的功能特征和概念特征结构。

(3)寻址方式:指令给出操作数或操作数地址的方式。

(4)CISC:复杂指令系统计算。

(5)RISC:精简指令系统计算机。

3.以下程序段是某个过程对应的指令序列。入口参数int a和int b分别置于$a0和$a1中,返回参数是该过程的结果,置于$v0中。要求为以下MIPS指令序列加注释,并简单说明该过程的功能。

add $t0, $zero, $zero

loop: beq $a1, $zero, finish

add $t0, $t0, $a0

sub $a1, $a1, 1

j loop

finish: addi $t0, $t0, 100

add $v0, $t0, $zero

假定过程P调用过程Q:

(1) $ao~$a3用于传递前4个非浮点数入口参数,在过程P中应先将入口参数送入$ao~$a3,然后调用Q.(P将入口参数放到Q能访问到的地方)

(2)$vo~$v1用于传递从Q返回的非浮点数返回参数。(P将返回地址存到特定的地方,然后将控制转移到Q)

(3)$ra用于存放返回地址,由调用指令(jal)自动将返回地址送入$ra.(Q为P保存现场,并为自己局部变量分配空间)

(4)$s0~$s7在过程P中原来的老值从过程Q返回后可被P继续使用,因此,若在过程Q中使用这些寄存器,则必须现将其保存到栈后才能是使用,并在返回P前回复,因此,它们被称为保存寄存器。(执行过程Q)

(5)$t0~$t9的值,从过程Q返回后在P中不在需要使用,若需要则有P自己保存,因此,在过程Q中不需对其进行保存,可以自由使用,因此称它们为临时寄存器(Q将返回结果放到P能访问到的地方)

(6)$a0~$a3的值从过程Q返回后在P中也不再需要使用,若需要则由P自己保存,因此,在过程Q不需要为过程p保存(Q取出返回地址,将控制转移到P)

类别指令名称汇编举例含义备注

算术算法add add

$s1,$s2,$s3

$s1=$s2+$3 三个寄存器操作数

Subtract sub

$s1,$s2,$s3

$s1=$s2-$s3 三个寄存器操作数

存储访问Load word Lw

$s1,100($s2) $s1=Memory[$s

2+100]

从内存取一个字到寄存

store word Sw

$s1,100($s2) Memory[$s2+10

0]=$s1

从寄存器存一个字到内

逻辑运算and And

$s1,$s2,$s3 $s1=$s2&$s3 三个寄存器操作数,按位

or or

$s1,$s2,$s3 $s1=$s2|$s3 三个寄存器操作数,按位

nor nor

$s1,$s2,$3 $s1=

~($s2|$s3)

三个寄存器操作数,三个

寄存器数,按位或非

and immediate andi

$s1,$2,100

$s1=$s2&100 寄位器和常数,按位与

or immediate ori

$s1,$2,100

$s1=$s2|100 寄位器和常数,按位或

shift left logical Sll $s1,$2,10 $s1=$s2《10 按常数对寄存器逻辑左

shift right logical Srl $s1,$2,10 $s1=$s2》10 按常数对寄存器逻辑右

条件分支braanch on

equal Beq

$s1,$s2,L

If ($s1==$s2)

go to L

相等则转移

Branch on not equal Bne

$s1,$s2,L

bne

($s1!==$s2)

go to L

不相等则转移

set on less

than e

Slt $s1,$2,$3

set on less than immediate Slti

$s1,$s2,100

无条件跳转jump j L go to L 直接跳转至目标地址Jump register Jr $ra go to $ra 过程返回

Jump and link Jal L $ra=PC+4,go to

L

过程调用

指令格式

add R

sub R

lw I

Rse I

and R

or R

nor R

andi I

ori I

sll R

srl R

Rbeq I

bne I

slt R

j J

jr R

jal J

R型指令是RR型指令,I型指令是立即数指令,J型指令主要是无条件跳转指令。

解:1: 将t0寄存器置零

2: 如果a1的值等于零则程序转移到finish处

3: 将t0和a0的内容相加,结果存放于t0

4: 将a1的值减1

5: 无条件转移到loop处

6: 将t0的内容加上100,结果存放于t0

7: 将t0的值存放在v0

该程序的功能是计算“100+a×b”。

名称编号功能

zero 0 恒为0

at 1 为汇编程序保留

vo~v1 2~3 过程调用返回值

a0~a3 4~7 过程调用参数

to~t7 8~15 临时变量

t8~t9 24~25 临时变量,在被调用

过程无需保存

ko~k1 26~27 为OS保留

gp 28 全局指针

sp 29 栈指针

fp 30 帧指针

ra 31 过程调用返回地址

5.12以下程序段是某个过程对应的MIPS指令序列,其功能为复制一个存储块数据到另一个存储块中,存储块中每个数据的类型为float,源数据块和目的数据块的首地址分别存放在$a0和$a1中,复制的数据个数存放在$v0中,作为返回参数返回给调用过程。在复制过程中遇到0则停止,最后一个0也需要复制,但不被计数。已知程序段中有多个Bug,请找出它们并修改。

addi $v0, $zero, 0

loop: lw $v1, 0($a0)

sw $v1, 0($a1)

addi $a0, $a0, 4

addi $a1, $a1, 4

beq $v1, $zero, loop

修改后的代码如下:

addi $v0, $zero, 0

loop: lw $v1, 0($a0)

sw $v1, 0($a1)

beq $v1, $zero, exit

addi $a0, $a0, 4

addi $a1, $a1, 4

addi $v0, $v0, 1

j loop

exit:

第六章

(1)控制存储器(控存CS):用来存放实现全部指令程序的所有微程序,它是一种只读型存储器,一旦微程序固化,机器运行时则只读不写。

(2)微指令:在微程序控制的计算机中,将由同时发出的控制信号所执行的一组微操作称为微指令。

(3)微程序:它是实现程序的一种手段,具体就是将一条机器指令编写成微指令。

6.7假定图6.24单周期数据通路对应的控制逻辑发生错误,使得在任何情况下控制信号

RegWr、RegDst、Branch、MemWr、ExtOp、R-type总是为1,则哪些指令不能正确执行?为什么?

解:

总是0 总是1

RegWr 则所有需写结果到寄存器的指令(如:R-Type 指令、load指令等)都不能正确执行,因为寄

存器不发生写操作不需写结果到寄存器的指令可能会出错(如store,分支,转移指令等)

RegDst 则所有R-Type指令都不能正确执行,因为目的

寄存器指定错误

所有非R-Type指令都不能正确执行

Branch Branch指令可能出错,因为永远不会发生转移非Branch指令都出错,因为下条指令的地

址计算错误

MemWr Store指令不能正确执行,因为存储器不能写入所需数据非Store指令都会出错,因为存储器内会写入错误数据

ExtOp 需要符号扩展的指令(如Beq、lw/sw,addiu等)

发生错误

必须0扩展的指令会出错(比如ori)

8. 在MIPS指令集中需要增加一条swap指令,可以使用软件方式用若干条已有指令来实现伪

指令,也可以通过改动硬件来实现。

(1)写出用伪指令方式实现“swap $rs, $rt”时的指令序列

(2)假定用硬件实现时会使一条指令的执行时间增加10%,则swap指令在程序中占多大的比例才值得用硬件方式来实现?

参考答案:

(1)swap指令可用以下三条指令实现。

xor $rs, $rs, $rt

xor $rt, $rs, $rt

xor $rs, $rs, $rt

(若使用额外寄存器$rtemp,则$rtemp内容会被破坏,所以伪指令一般不能用额外寄存器)add $rtemp, $rs, $zero

add $rs, $rt, $zero

add $rt, $rtemp, $zero

(若使用加减法,,可能溢出。如使用无符号数加减法addu,subu也可以)

add $rs, $rs, $rt

sub $rt, $rs, $rt

add $rs, $rs, $rt

(2)假定该指令占x%,其他指令占(1-x)%

则用硬件实现该指令时, 程序执行时间为原来的1.1*(x+1-x) =1.1 倍

用软件实现该指令时,程序执行时间为原来的3x+1-x =(2x+1)倍

当1.1 < 2x+1 时,硬件实现才有意义

由此可知,x > 5%

9. 假定图6.33多周期数据通路对应的控制逻辑发生错误,使得在任何情况下控制信号PCWr、IRWr、RegWr、BrWr、PCSource、MemWr、MemtoReg、PCWrCond、R-type总是为0,则哪些指令不能正确执行?为什么?

参考答案:

若PCWr=0,则所有指令都不正确,因为无法更新PC

若IRWr=0,则所有指令都不能正确执行,因为IR中不能写入指令

若RegWr=0,则所有需要写结果到寄存器的指令(如:R-Type指令、load指令等)都不能正确执行,因为寄存器不发生写操作

若BrWr=0,则Branch指令不能正确执行,因为投机计算的分支地址无法送入寄存器若PCSource=00,则除j之外的其他指令都不能正确得到下条指令地址

若MemWr=0,则Store指令不能正确执行,因为存储器不能写入数据

若MemtoReg=0,则所有Load指令执行错误,因为寄存器写入的是ALU输出

若PCWrCond=0,则Branch指令不能正确执行,因为不能写入转移目标地址到PC

若R-type=0,则所有R-type指令的执行可能出错

第7章

1.指令流水线:一条指令的执行过程可被分成若干个阶段,每个阶段由相应的功能部件

完成。如果将各阶段看成相应的流水段,则指令的执行过程就构成了一条指令流水线。

2.流水线冒险:指令流水线中,可能会遇到一些情况使得流水线无法正确执行后续指令

而引起阻塞或停顿,这种现象称为流水线冒险。

流水线冒险分三种:结构冒险、数据冒险、控制冒险。

结构冒险:引起冒险原因在于同一个部件同时被不同指令所用,由硬件资源竞争造成的。

结构冒险处理:(1)根据功能段划分原则(一个部件每条指令只能使用一次,且只能在特定周期使用)(2)通过设置多个独立部件(指令存储器和数据存储器分开)数据冒险:引起冒险原因在于后面指令用到前面指令结果时前面指令还未产生。

结构冒险处理:(1)插入空操作指令nop,是相关指令延迟执行。

(2)插入“气泡”通过硬件方式“阻塞”后续指令执行,需要修改数据通路。

(3)采用转发技术:将数据通路中生成的中间数据直接转发到ALU的

输入端。主要解决RAW数据冒险。

(4)Load-use数据冒险的检测和处理(最简单的做法是在Load指令之后插入“nop”指令)

控制冒险:按顺序执行的指令改变执行顺序,流水线中指令的正常执行会被阻塞。(阻塞加执行)

控制冒险处理:(1)转移指令引起的控制冒险

(2)异常或中断引起的控制冒险

6.以下指令序列中,哪些指令对发生数据相关?假定采用“取指、译码/取数、执行、访存、

写回”五段流水线方式,那么不用“转发”技术的话,需要在发生数据相关的指令前加入几条nop指令才能使这段程序避免数据冒险?如果采用“转发”是否可以完全解决数据冒险?不行的话,需要在发生数据相关的指令前加入几条nop指令才能使这段程序不发生数据冒险?

add $s3, $s1, $s0

sub $t2, $s0, $s3

lw$t1, 0($t2)

add $t1, $t1, $t2

发生数据相关的有:第1和2间关于$s3、第2和3间关于$t2、第2和4间关于$t2、第3和4间关于$t1。

不进行“转发”处理的话,需要分别在第2、3、4条指令前加三条nop指令才能避免数据冒险(图7.12)。而通过“转发”可以避免1和2、2和3、2和4间的数据相关;但第3和4间是load-use数据相关,所以无法用“转发”消除冒险,因此,需在第4条指令前加入一条nop指令。

图7.12,照片

7. 假定以下MIPS指令序列在图7.18所示的流水线数据通路中执行:

addu $s3, $s1, $s0

subu $t2, $s0, $s3

lw $t1, 0($t2)

add $t3, $t1, $t2

add $t1, $s4, $s5

请问:(1)上述指令序列中,哪些指令的哪个寄存器需要转发,转发到何处?

(2)上述指令序列中,是否存在load-use数据冒险?

(3)第5周期结束时,各指令执行状态是什么?哪些寄存器的数据正被读出?哪些寄存器将被写入?

参考答案:

(1)发生数据相关的有:第1和2间关于$s3、第2和3间关于$t2、第2和4间关于$t2、第3和4间关于$t1。通过“转发”可以避免1和2、2和3、2和4间的数据相关;

(2)第3和4间是load-use数据相关,所以无法用“转发”消除冒险。

(3)第五个时钟内各条指令的执行情况如下:

指令1在“WB”阶段,控制信息等在MEM/WB.Reg中,$s3正在被写,结束时写完指令2在“MEM”阶段,控制信息等在EX/MEM.Reg中。sub指令在该阶段进行的是空操作;在转发检测单元中,因为流水段寄存器Ex/Mem中的目的寄存器RegRd为$t2,流水段寄存器ID/Ex中的源寄存器Rs也为$t2,同时,流水段寄存器Ex/Mem中的RegWr控制信号为1,所以检测到转发条件满足,因而,此时,sub指令在上一个时钟周期中的执行结果(在流水段寄存器Ex/Mem中的ALU输出结果)正被回送到ALU的输入端;结束时转发完成

指令3在“EXE”阶段,ALU正在执行“add”操作,进行地址运算,ALU输出结果将被写入流水段寄存器Ex/Mem中;结束时运算完成。控制信息等在ID/EX.Reg中,正在检测是否loaduse冒险

指令4在“ID/REG”阶段,指令在IF/ID.Reg中,$t1和$t2正在被读出。在load-use冒险检测单元中,因为流水段寄存器IF/ID中源操作数寄存器Rs为$t1,流水段寄存器ID/Ex 中目的操作数寄存器Rt也为$t1,同时,因为上条指令是lw,故流水段寄存器ID/Ex中的MemRead控制信号为1,所以在该阶段检测到load-use冒险条件满足,此时,需要进行load-use冒险处理,在流水线中插入一个“气泡”,将指令的执行阻塞一个时钟周期。包括以下三个步骤:①将流水段寄存器ID/Ex中的控制信号全部清0,以保证第4条指令被阻塞一个时钟周期执行;②将流水段寄存器IF/ID中的指令维持不变,以保证第4条指令重新译码后执行;③将PC的值维持不变,以保证根据PC的值重新取出第5条指令。结束时完成上述工作。

指令5在“IF”阶段,指令正被读出。结束时已送到流水段寄存器IF/ID的输入端。因为之前发生了load-use数据冒险,所以该指令将在随后的第6个时钟周期内重新被读出。9. 假定在一个带转发功能的五段流水线中执行以下程序段,则可以怎样调整以下指令序列使其性能达到最好?

参考答案:

1 lw $2, 100($6)

2 add $2, $2, $3

3 lw $3, 200($7)

4 add $6, $4, $7

5 sub $3, $4, $6

6 lw $2, 300($8)

7 beq $2, $8, Loop

因为采用“转发”技术,所以,只要对load-use数据冒险进行指令序列调整。从上述指令序列来看,第1和第2条指令、第6和第7条指令之间存在load-use数据冒险,所以,可将与第2和第3条指令无关的第4条指令插入第2条指令之前;将无关的第5条指令插入第

7条指令之前。调整顺序后的指令序列如下(粗体部分为变换了位置的指令)。

lw $2, 100($6)

add $6, $4, $7

add $2, $2, $3

lw $3, 200($7)

lw $2, 300($8)

sub $3, $4, $6

beq $2, $8, Loop

计算机体系结构第五章练习题参考解答

第 五 章 5.34 在一个采用组相联映象方式的Cache 存储系统中,主存由B 0~B 7共8块组成,Cache 有2组,每组2块,每块大小为16B 。在一个程序执行过程中,访存的主存块地址流为:B 6,B 2,B 4,B 1,B 4,B 6,B 3,B 0,B 4,B 5,B 7,B 3。 (1)写出主存地址的格式,并标出各字段的长度。 (2)写出Cache 地址的格式,并标出各字段的长度。 (3)指出主存与Cache 之间各个块的映象关系。 (4)若Cache 的4个块号为C 0、C 1、C 2和C 3,列出程序执行过程中的Cache 块地址流。 (5)若采用FIFO 替换算法,计算Cache 的块命中率。 (6)若采用LRU 替换算法,计算Cache 的块命中率。 (7)若改为全相联映象方式,再做(5)和(6)。 (8)若在程序执行过程中,每从主存装入一块到Cache ,平均要对这个块访问16次,计算在这种情况下的Cache 命中率。 解:(1)(2)采用组相联映象时,主存和Cache 地址的格式分别为: 主存按Cache 的大小分区,现主存有8个块,Cache 有2×2=4个块,则主存分为8/4=2 个区,区号E 的长度为1位。又每区有2个组,则组号G 、g 的长度都为1位。而每组有2个块,则块号B 、b 的长度又都为1位。每块大小为16个存储字,故块内地址W 、w 的长度都为4位。 (3)根据组相联映象的规则,主存块0~7与Cache 块0~3之间的映象关系为:主存块0、1、4、5与Cache 块0、1之间全相联,主存块2、3、6、7与Cache 块2、3之间全相联。 (4)根据组相联映象的规则,该主存块地址流相应的一种Cache 块地址流如下表所示(组内替换算法为FIFO )。 时间: 1 2 3 4 5 6 7 8 9 10 11 12 主存块地址流: B 6 B 2 B 4 B 1 B 4 B 6 B 3 B 0 B 4 B 5 B 7 B 3 Cache 块地址流: C 2 C 3 C 0 C 1 C 0 C 2 C 2 C 0 C 0 C 0 C 3 C 2 (5)组内替换算法采用FIFO 时,Cache 块0~3的使用过程如下表所示。 时间: 1 2 3 4 5 6 7 8 9 10 11 12 主存块地址流: B 6 B 2 B 4 B 1 B 4 B 6 B 3 B 0 B 4 B 5 B 7 B 3 Cache 块0 Cache 块1 Cache 块2 Cache 块3 命中 命中 命中 可见命中三次,Cache 块命中率为H i = 3/12 = 0.25。 (6)组内替换算法采用LRU 时,Cache 块0~3的使用过程如下表所示。

北邮研究生 高级计算机系统结构

计算机系统结构的发展历程 课程:高级计算机系统结构 姓名: 学号: 班级:

2015年12月 一、计算机系统结构 随着当今社会和科技的飞速发展,自四十年代计算机问世以来,计算机科学更是发展迅速,应用领域不断扩展计算机的普及和广泛应用,现代社会正朝着高度信息化,自动化方向发展。计算机逐渐成为社会必不可少的支柱力量。 计算机系统是按人的要求接收和存储信息,自动进行数据处理和计算,并输出结果信息的机器系统。计算机是脑力的延伸和扩充,是近代科学的重大成就之一。计算机系统由硬件系统和软件系统组成。前者是借助电、磁、光、机械等原理构成的各种物理部件的有机组合,是系统赖以工作的实体。后者是各种程序和文件,用于指挥全系统按指定的要求进行工作。 而计算机系统结构是计算机的的机器语言程序员或编译程序编写者所看到的外特性。所谓外特性,就是计算机的概念性结构和功能特性,主要研究计算机系统的基本工作原理,以及在硬件、软件界面划分的权衡策略,建立完整的、系统的计算机软硬件整体概念。其也称为计算机体系结构,它是由计算机结构外特性,内特性,微外特性组成的。经典的计算机系统结构的定义是指计算机系统多级层次结构中机器语言机器级的结构,它是软件和硬件/固件的主要交界面,是由机器语言程序、汇编语言源程序和高级语言源程序翻译生成的机器语言目标程序能在机器上正确运行所应具有的界面结构和功能。 以最常见的冯诺依曼计算机为例,计算机系统结构包含了以下几个方面: 1.指令集架构(Instruction set architecture;简称ISA):被视为一种机器语言, 包含了许多相关的指令集(存储器定址、处理器控制,寄存器控制等等……)。 2.微体系结构/微架构(Microarchitecture)或称计算机组织(Computer

计算机组成与系统结构

计算机组成与系统结构 1.冯·诺依曼计算机设计思想:依据存储程序,执行程序并实现控制。 2.早期计算机由运算器、控制器、存储器、输入设备和输出设备五大部分组成。 3.软件系统爆过两大部分:系统软件和应用软件。 4.计算机的层次结构分为:微程序或逻辑硬件、机器语言、操作系统、汇编语言、高级语言、应用语言。 5.计算机系统结构、组成与实现之间的区别与联系: ①计算机结构:也称为计算机体系结构,是一个系统在其所处环境中最高层次的概念;是对计算机系统中各机器级之间界面的划分和定义,以及对各级界面上、下的功能进行分配。 ②计算机组成:也常译为计算机组织或成为计算机原理、计算机组成原理。在计算机系统结构确定了分配给硬件子系统的功能及其概念之后,计算机组成的任务是研究硬件子系统各部分的内部结构和相互联系,以实现机器指令级的各级功能和特性。 ③计算机实现:指的是计算机组成的物理实现,主要研究个部件的物理结构,机器的制造技术和工艺等,包括处理机、主存等部件的物理结构,器件的集成度、速度和信号。器件、模块、插件、底板的划分与连接,专用器件的设计,电源、冷却、装配等技术。 6.Flynn分类法:按照计算机在执行程序时信息流的特征分为单指令单数据流计算机(SISD)、单指令多数据流计算机(SIMD)、多指令单数据流计算机(MISD)、多

指令多数据流计算机(MIMD). 7.加速比Sp=1/{(1-Fe)+Fe/Re},Fe为可改进比例,Re为部件加速比。 8.在计算机中有两种信息在流动,一种是控制流,即控制命令,由控制器产生并流向各个部件;另一种是数据流,它在计算机中被加工处理。 9.摩尔定律得以延续的理由:集成电路芯片的集成度每18个月翻一番。 10.冯·诺依曼计算机的执行过程:将要处理的问题用指令编程成程序,并将程序存放在存储器中,在控制器的控制下,从存储器中逐条取出指令并执行,通过执行程序最终解决计算机所要处理的问题。 11.数据编码的好处:用更少的数据表示更多的信息。 12.定点数:若约定小数点的位置固定不变,则成为定点数。定点数分为两种:定点整数(纯整数,小数点在最低有效数值位之后)和定点小数(纯小数,小数点最高有效数值位之前)。 13.浮点数:基数为2的数F的浮点表示为:F=M*2^E.其中M称为尾数,E称为阶码。尾数为带符号的纯小数,阶码为带符号的纯整数。 14.补码:非负数整数的补码为其原码,负数整数的补码在原码基础上取反加1. 15.n位补码表示的整数数值范围为-2^(n-1)~+(2^(n-1)-1),n位补码表示的小数数职的范围为-1~+(1-2^(-n+1))。 16.补码的特点: ①0的表示是唯一的。②变形码。③求补运算。 ④简化加减法。⑤算术或逻辑左移。⑥算术右移。 17.反码:正整数反码与原码相同。负整数反码即原码取反。 18.汉字编码分为三类:汉字输入编码、国际码和汉字内码以及汉字字模码。

计算机体系结构期末复习题与答案

第一题选择题 1. SIMD是指(B) A、单指令流单数据流 B、单指令流多数据流 C、多指令流单数据流 D、多指令流多数据流 2.下列那种存储设备不需要编址?D A. 通用寄存器 B. 主存储器 C. 输入输出设备 D. 堆栈 3.按照计算机系统层次结构,算术运算、逻辑运算和移位等指令应属于(A)级机器语言。 A、传统机器语言机器 B、操作系统机器 C、汇编语言机 器 D、高级语言机器 4.早期的计算机系统只有定点数据表示,因此硬件结构可以很简单。但是这样的系统有明显的缺点,下面哪一个不是它的缺点:B A.数据表示范围小 B.单个需要的计算时钟周期多 C.编程困难 D.存储单元的利用率很低 7.下面哪个页面替换算法实际上是不能够实现的?D A)随机页面替换算法

B)先进先出替换算法 C)最久没有使用算法 D)最优替换算法 9.指令优化编码方法,就编码的效率来讲,那种方法最好?C A. 固定长度编码 B. 扩展编码法 C. huffman编码法 D. 以上编码都不是 10.在早期冯·诺依曼计算机特征中,机器以(C)为中心。 A、存储器 B、输入输出设备 C、运算器 D、控制器 1.RISC 计算机的指令系统集类型是 ( C ) 。 A. 堆栈型 B. 累加器型 C. 寄存器—寄存器型 D. 寄存器 - 存储器型 2、相联存储器的访问方式是( D )。 A.先进先出顺序访问 B.按地址访问 C.无地址访问 D.按内容访问 3、假设—条指令的执行过程可以分为“取指令”、“分析”和“执行”三段,每—段分别只有—个部件可供使用,并且执行时间分别为Δt、2Δt和3Δt,连续执行n条指令所需要花费的最短时间约为( C )。 (假设“取指令”、“分析”和“执行”可重叠,并假设n足够大)

微型计算机原理及应用试题库答案

微型计算机原理及应用试题库及答案 一、填空 1.数制转换 A)125D=( 11111101 )B =( 375 )O=( 0FD )H=(0001 0010 0101 )BCD B)10110110B=( 182 )D =( 266 )O=( 0B6 )H=(0001 1000 0010 )BCD 2.下述机器数形式可表示的数值范围是(请用十进制形式写出):单字节无符号整数0~255;单字节有符号整数-128~+127。 注:微型计算机的有符号整数机器码采用补码表示,单字节有符号整数的范围为-128~+127。 3.完成下列各式补码式的运算,并根据计算结果设置标志位SF、ZF、CF、OF。指出运算结果有 效否。 A)00101101+10011100= B)11011101+10110011= 4.十六进制数2B.4H转换为二进制数是__00101011.0100,转换为十进制数是__43.25____。 5.在浮点加法运算中,在尾数求和之前,一般需要(对阶)操作,求和之后还需要进行(规格化) 和舍入等步骤。 6.三态门有三种输出状态:高电平、低电平、(高阻)状态。 7.字符“A”的ASCII码为41H,因而字符“E”的ASCII码为(45H),前面加上偶校验位后代 码为(C5)H。 8.数在计算机中的二进制表示形式称为(机器数)。 9.在计算机中,无符号书最常用于表示(地址)。 10.正数的反码与原码(相等)。 11.在计算机中浮点数的表示形式有(阶码)和(尾码)两部分组成。 12.微处理器中对每个字所包含的二进制位数叫(字长)。 13.MISP是微处理的主要指标之一,它表示微处理器在1秒钟内可执行多少(百万条指令) 14.PC机主存储器状基本存储单元的长度是(字节). 15.一台计算机所用的二进制代码的位数称为___字长_________,8位二进制数称为__ 字节____。 16.微型计算机由(微处理器)、(存储器)和(I/O接口电路)组成。 17.8086CPU寄存器中负责与I/O端口交换数据的寄存器为(AX,AL) 18.总线有数据总线、地址总线、控制总线组成,数据总线是从微处理器向内存储器、I/O接口 传送数据的通路;反之,它也是从内存储器、I/O接口向微处理器传送数据的通路,因而它可以在两个方向上往返传送数据,称为(双向总线)。 19.一个微机系统所具有的物理地址空间是由(地址线的条数)决定的,8086系统的物理地址空间 为(1M)字节。 20.运算器包括算术逻辑部件(ALU),用来对数据进行算术、逻辑运算,运算结果的一些特征由 (标志寄存器)存储。 21.控制寄存器包括指令寄存器、指令译码器以及定时与控制电路。根据(指令译码)的结果, 以一定的时序发出相应的控制信号,用来控制指令的执行。 22.根据功能不同,8086的标志为可分为(控制)标志和(状态)标志位。 23.8086/8088CPU内部有(14)个(16位)的寄存器。 24.在8086/8088的16位寄存器中,有(4)各寄存器可拆分为8位寄存器使用。他们是 (AX,BX,CX,DX),他们又被称为(通用寄存器)。 25.8086/8088构成的微机中,每个主存单元对应两种地址(物理地址)和(逻辑地址)。 26.物理地址是指实际的(20)为主存储单元地址,每个存储单元对应唯一的物理地址,其范围 是(00000H-FFFFFH)。

计算机组成与系统结构书本答案

C1: 以下哪些设备不属于冯?诺伊曼体系结构计算机的五大部件?寄存器, 缓冲器 适配器的作用是保证_____用计算机系统特性所要求的形式发送或接收信息。正确答案是:I/O设备 1966年,Flynn从计算机体系结构的并行性能出发,按照_____的不同组织方式,把计算机系统的结构分为SISD、SIMD、MISD和MIMD四类。指令流, 数据流 具有相同_____的计算机,可以采用不同的_____ 。:计算机体系结构,计算机组成 冯?诺伊曼型计算机的设计思想是_____。正确答案是:存储程序并按地址顺序执行 1958年开始出现的第二代计算机,使用_____作为电子器件。晶体管 在计算机系统的层次结构中,_____采用符号语言。高级语言级, 汇编语言级 世界上第一台通用电子数字计算机ENIAC使用_____作为电子器件电子管 在计算机系统的层次结构中,属于硬件级的是_____。微程序设计级, 机器语言级 C2: 为了提高浮点数的表示精度,当尾数不为_____时,通过修改阶码并移动小数点,使尾数域的最高有效位为_____,这称为浮点数的规格化表示。0,1 在我国使用的计算机汉字操作平台中,_____字符集未收录繁体汉字。GB2312 在定点_____运算中,为了判断溢出是否发生,可采用双符号位检测法。不论溢出与否,其_____符号位始终指示正确的符号。小数,最高, 整数,最高 在定点二进制运算器中,减法运算一般通过_____来实现。补码运算的二进制加法器 在奇偶校验中,只有当数据中包含有_____个1时, 偶校验位=_____。偶数,0, 奇数,1 奇偶校验无法检测_____个错误,更无法识别错误信息的_____。偶数,位置, 偶数,内容在PC机中,若用扩展ASCII码、Unicode UCS-2和UCS-4方法表示一个字符,则三者之间的差异为:扩展ASCII码用_____位表示,Unicode UCS-2用_____位表示,Unicode UCS-4用_____位表示。8,16,32 C3: 相联存储器是以______来访问存储器的。关键字, 内容 Cache由高速的______组成。SRAM Cache存储器在产生替换时,可以采用以下替换算法:______。LFU算法, LRU算法, 随机替换 Cache的功能由______实现,因而对程序员是透明的。硬件 MOS半导体存储器中,______的外围电路简单,速度______,但其使用的器件多,集成度不高。SRAM,快 EPROM是指______。光擦可编程只读存储器 虚拟地址空间的大小实际上受到______容量的限制。辅助存储器 相联存储器是以______来访问存储器的。关键字, 内容 从CPU来看,增加Cache的目的,就是在性能上使______的平均读出时间尽可能接近Cache 的读出时间。主存, 内存 虚拟地址由______生成。编译程序 MOS半导体存储器中,______可大幅度提高集成度,但由于______操作,外围电路复杂,速度慢。DRAM,刷新 虚拟存储器可看作是一个容量非常大的______存储器,有了它,用户无需考虑所编程序在

计算机系统结构_第五章练习 答案

第五章练习 1、描述计算机系统流水线的性能指标有哪些?其定义和定量表达式是什么? 指标主要有吞吐率、加速比、效率。 (1)吞吐率:在单位时间内流水线所完成的任务数量或输出的结果数量。 基本公式:TP=n/Tk,其中,n是任务数,Tk是处理完成n个任务所用的时间。 各个功能段执行时间均相等,输入连续n个任务的一条k段线性流水线的实际吞吐率为:TP=n/[(k+n-1) ?t] (2)加速比:完成一批任务,不使用流水线所用的时间与使用流水线所用的时间之比。 基本公式:S=T0/Tk,其中,T0为不使用流水线所用的时间,Tk为使用流水 线的执行时间。 各个功能段执行时间均相等的一条K段流水线完成n个连续任务时的实际加速比为:s=k*n*?t/[(k+n-1) ?t]=k*n/( k+n-1). (3)效率:指流水线的设备利用率。 在时空图上,流水线的效率定义为n个任务占用的时空区与k个功能段总的时空区之比。即:E=T0/(k*Tk) 各个功能段执行时间均相等,输入连续n个任务的一条k段线性流水线的效率为:E=n/(k+n-1) 2、假设某个流水线由4个功能部件组成,每个功能部件的执行时间都为?t。当 连续输入10个数据后,停顿5?t,又连续输入10个数据,如此重复。 画出时空图,计算流水线的实际吞吐率,加速比和效率。 总时间:Tk=[(4+10-1)+2] *?t*n =15n*?t 实际吞吐率:TP=N/Tk=10n/(15n*?t)=2/(3?t) 不使用流水线所用的时间为T0=4*N*?t =40n*?t 加速比:S=T0/Tk=2.67 效率:E=T0/(k*Tk)=0.67

高性能处理器体系结构

可重构计算专题 读书报告 杨晓晖(BA07011001)yangxhcs@https://www.wendangku.net/doc/1f5913862.html, 冯晓静(SA07011002)bangyan@https://www.wendangku.net/doc/1f5913862.html, 赵琼(SA07011013)qiongz@https://www.wendangku.net/doc/1f5913862.html, 裴建国(SA07011083)ustcowen@https://www.wendangku.net/doc/1f5913862.html, 俞华铭(SA07011053)yhm2007@https://www.wendangku.net/doc/1f5913862.html, 王仁(SA07011089)wangren@https://www.wendangku.net/doc/1f5913862.html, 张志雄(SA07011090)zzxiong@https://www.wendangku.net/doc/1f5913862.html, 中国科学技术大学计算机科学技术系 2007年12月

录 1可重构计算概述(杨晓晖) (1) 1.1引言 (1) 1.2可重构计算分类 (2) 1.3可重构计算体系结构 (5) 1.4可重构计算模型 (7) 1.5可重构计算算法 (8) 1.6问题讨论 (9) 本章小结 (10) 参考文献 (10) 2案例分析之一:可重构超级计算(冯晓静,赵琼) (11) 2.1引言 (11) 2.2论文工作 (11) 2.3问题及讨论 (12) 2.4对论文的思考 (14) 本章小结 (15) 参考文献 (15) 3案例分析之二:可重构计算在数据挖掘中的应用(裴建国,俞华铭) (16) 3.1引言 (16) 3.2算法实例 (16) 3.3主要贡献 (17) 3.4问题讨论 (20) 本章小结 (22) 参考文献 (22) 4案例分析之三:可重构计算在分子动力学仿真中的应用(王仁,张志雄).23 4.1引言 (23) 4.2仿真算法分析 (23) 4.3与相关工作的比较 (24) 4.4问题讨论及解决 (25) 4.5对论文的思考 (25) 本章小结 (26) 参考文献 (26) 5结论与展望(杨晓晖) (27)

计算机系统结构发展历程及未来展望

计算机系统结构发展历程及未来展望 一、计算机体系结构 什么是体系结构 经典的关于“计算机体系结构(computer A 按照计算机系统的多级层次结构,不同级程序员所看到的计算机具有不同的属性。一般来说,低级机器的属性对于高层机器程序员基本是透明的,通常所说的计算机体 系结构主要指机器语言级机器的系统结构。计算机体系结构就是适当地组织在一起的 一系列系统元素的集合,这些系统元素互相配合、相互协作,通过对信息的处理而完 成预先定义的目标。通常包含的系统元素有:计算机软件、计算机硬件、人员、数据库、文档和过程。其中,软件是程序、数据库和相关文档的集合,用于实现所需要的 逻辑方法、过程或控制;硬件是提供计算能力的电子设备和提供外部世界功能的电子 机械设备(例如传感器、马达、水泵等);人员是硬件和软件的用户和操作者;数据库 是通过软件访问的大型的、有组织的信息集合;文档是描述系统使用方法的手册、表格、图形及其他描述性信息;过程是一系列步骤,它们定义了每个系统元素的特定使 用方法或系统驻留的过程性语境。 体系结构原理 计算机体系结构解决的是计算机系统在总体上、功能上需要解决的问题,它和计 算机组成、计算机实现是不同的概念。一种体系结构可能有多种组成,一种组成也可 能有多种物理实现。 计算机系统结构的逻辑实现,包括机器内部数据流和控制流的组成以及逻辑设计等。其目标是合理地把各种部件、设备组成计算机,以实现特定的系统结构,同时满足所 希望达到的性能价格比。一般而言,计算机组成研究的范围包括:确定数据通路的宽度、确定各种操作对功能部件的共享程度、确定专用的功能部件、确定功能部件的并 行度、设计缓冲和排队策略、设计控制机构和确定采用何种可靠技术等。计算机组成 的物理实现。包括处理机、主存等部件的物理结构,器件的集成度和速度,器件、模块、插件、底板的划分与连接,专用器件的设计,信号传输技术,电源、冷却及装配 等技术以及相关的制造工艺和技术。 主要研究内容 1·机内数据表示:硬件能直接辨识和操作的数据类型和格式 2·寻址方式:最小可寻址单位、寻址方式的种类、地址运算 3·寄存器组织:操作寄存器、变址寄存器、及专用寄存器的定义、数量和使用规则 4·:指令的操作类型、格式、指令间排序和控制机构 5·:最小编址单位、编址方式、容量、最大可编址空间 6·中断机构:中断类型、中断级别,以及中断响应方式等

最新微型计算机原理及应用知识点总结

微型计算机原理及应用知识点总结

第一章计算机系统 一、微机系统的基本组成 1.微型计算机系统由硬件和软件两个部分组成。 (1)硬件: ①冯●诺依曼计算机体系结构的五个组成部分:运算器,控制器,存储器,输入设备,输入设备。其特点是以运算器为中心。 ②现代主流的微机是由冯●诺依曼型改进的,以存储器为中心。 ③冯●诺依曼计算机基本特点: 核心思想:存储程序; 基本部件:五大部件; 信息存储方式:二进制; 命令方式:操作码(功能)+地址码(地址),统称机器指令; 工作方式:按地址顺序自动执行指令。 (2)软件: 系统软件:操作系统、数据库、编译软件 应用软件:文字处理、信息管理(MIS)、控制软件 二、系统结构 系统总线可分为3类:数据总线 DB(Data Bus),地址总线 AB(Address Bus),控制总线 CB(Control Bus)。 根据总线结构组织方式不同,可分为单总线、双总线和双重总线3类。

总线特点:连接或扩展非常灵活, 有更大的灵活性和更好的可扩展 性。 三、工作过程 微机的工作过程就是程序的执行过 程,即不断地从存储器中取出指令,然后执行指令的过程。 ★例:让计算机实现以下任务:计算100+100H=?并将结果保存在16920H的字单元内。 编程运行条件: CS=1000H,IP=100H,DS=1492H 将机器指令装入计算机的存储器 计算机自动地进行计算(执行) 计算机工作过程大致描述: (1)分别从CS和IP寄存器中取出1000和100经地址加法器运算后,通过总线控制,找到对应地址的机器指令,第一条汇编指令的第一个机器指令为B8,对应的地址为10100H;将B8取出,通过总线和指令队列到达执行部分电路控制,给CPU发出信号。

计算机组成与系统结构课后答案版全(清华大学袁春风主编)

第 1 章习题答案 5.若有两个基准测试程序P1和P2在机器M1和M2上运行,假定M1和M2的价格分别是5000元和8000 请回答下列问题: (1)对于P1,哪台机器的速度快?快多少?对于P2呢? (2)在M1上执行P1和P2的速度分别是多少MIPS?在M2上的执行速度又各是多少?从执行速度来看,对于P2,哪台机器的速度快?快多少? (3)假定M1和M2的时钟频率各是800MHz和1.2GHz,则在M1和M2上执行P1时的平均时钟周期数CPI各是多少? (4)如果某个用户需要大量使用程序P1,并且该用户主要关心系统的响应时间而不是吞吐率,那么,该用户需要大批购进机器时,应该选择M1还是M2?为什么?(提示:从性价比上考虑)(5)如果另一个用户也需要购进大批机器,但该用户使用P1和P2一样多,主要关心的也是响应时间,那么,应该选择M1还是M2?为什么? 参考答案: (1)对于P1,M2比M1快一倍;对于P2,M1比M2快一倍。 (2)对于M1,P1的速度为:200M/10=20MIPS;P2为300k/0.003=100MIPS。 对于M2,P1的速度为:150M/5=30MIPS;P2为420k/0.006=70MIPS。 从执行速度来看,对于P2,因为100/70=1.43倍,所以M1比M2快0.43倍。 (3)在M1上执行P1时的平均时钟周期数CPI为:10×800M/(200×106)=40。 在M2上执行P1时的平均时钟周期数CPI为:5×1.2G/(150×106)=40。 (4)考虑运行P1时M1和M2的性价比,因为该用户主要关心系统的响应时间,所以性价比中的性能应考虑执行时间,其性能为执行时间的倒数。故性价比R为: R=1/(执行时间×价格) R越大说明性价比越高,也即,“执行时间×价格”的值越小,则性价比越高。 因为10×5000 > 5×8000,所以,M2的性价比高。应选择M2。 (5)P1和P2需要同等考虑,性能有多种方式:执行时间总和、算术平均、几何平均。 若用算术平均方式,则:因为(10+0.003)/2×5000 > (5+0.006)/2×8000,所以M2的性价比高,应选择M2。 若用几何平均方式,则:因为sqrt(10×0.003) ×5000 < sqrt(5×0.006) ×8000, 所以M1的性价比高,应选择M1。 6.若机器M1和M2具有相同的指令集,其时钟频率分别为1GHz和1.5GHz。在指令集中有五种不同类型的指令A~E。下表给出了在M1和M2上每类指令的平均时钟周期数CPI。

计算机体系结构试题及答案版本

计算机体系结构试题及答案 1、计算机高性能发展受益于:(1) 电路技术的发展;(2) 计算机体系结构技术的发展。 2、层次结构:计算机系统可以按语言的功能划分为多级层次结构,每一层以不同的语言为特征。第六级:应用语言虚拟机-> 第五级:高级语言虚拟机-> 第四级:汇编语言虚拟机-> 第三级:操作系统虚拟机->第二级:机器语言(传统机器级) -> 第一级:微程序机器级。 3、计算机体系结构:程序员所看到的计算机的属性,即概括性结构与功能特性。 4、透明性:在计算机技术中,对本来存在的事物或属性,从某一角度来看又好像不存在的概念称为透明性。 5、Amdahl 提出的体系结构是指机器语言级程序员所看见的计算机属性。 6、经典计算机体系结构概念的实质3是计算机系统中软、硬件界面的确定,也就是指令集的设计,该界面之上由软件的功能实现,界面之下由硬件和固件的功能来实现。 7、计算机组织是计算机系统的逻辑实现;计算机实现是计算机系统的物理实现。

8、计算机体系结构、计算机组织、计算机实现的区别和联系? 答:一种体系结构可以有多种组成,一种组成可以有多种物理实现,体系结构包括对组织与实现的研究。 9、系列机:是指具有相同的体系结构但具有不同组织和实现的一系列不同型号的机器。 10、软件兼容:即同一个软件可以不加修改地运行于系统结构相同的 各机器,而且它们所获得的结果一样,差别只在于运行时间的不同。 11、兼容机:不同厂家生产的、具有相同体系结构的计算机。 12、向后兼容是软件兼容的根本特征,也是系列机的根本特征。 13、当今计算机领域市场可划分为:服务器、桌面系统、嵌入式计算三大领域。 14、摩尔定律:集成电路密度大约每两年翻一番。 15、定量分析技术基础(1)性能的评测:(a)响应时间:从事件开始到结束之间的时间;计算机完成某一任务所花费的全部时间。(b)流量:单位时间内所完成的工作量。(c )假定两台计算机x 、y;x 比y 快意思为:对于给定任务,x 的响应时间比y少。x的性能是y的几倍是指:响应时间x / 响应时间y = n ,响应时间与性能成反比。

计算机系统结构 第一章自考练习题答案教学内容

第一章计算机系统结构的基本概念 历年真题精选 1. 下列对系统程序员不透明的是()。 A. 乘法器 B. 先行进位链 C. 指令缓冲器 D. 条件码寄存器2.“从中间开始”设计的“中间”目前多数是在( D )。 A. 微程序机器级与汇编语言机器级之间 B. 操作系统机器级与汇编语言机器级之间 C. 传统机器语言机器级与微程序机器级之间 D. 传统机器语言机器级与操作系统机器级之间 3. 开发计算机系统结构并行性的主要技术途径有时间重叠、(资源重复)和(资源 共享)。 4. 计算机系统弗林分类法,把计算机系统分成单指令流单数据流(SISD)、单指令流多数 据流(SIMD)、(多指令流单数据流(MISD))和(多指令流多数据流(MIMD))四大类。 5. 设计指令系统时,以乘法运算为例,简述系统结构设计、计算机组成设计、计算机实现 各应考虑的问题。(P4) 6. 实现软件移植的途径有哪些?各受什么限制?(P14) 同步强化练习 一.单项选择题。 1. 实现汇编语言源程序变换成机器语言目标程序是由( C )。 A. 编译程序翻译 B. 编译程序解释 C. 汇编程序翻译 D. 汇编程序解释

2. 系列机软件应做到( B ) A. 向前兼容,并向下兼容 B. 向后兼容,力争向上兼容 C. 向前兼容,并向上兼容 D. 向后兼容,力争向下兼容 3. 在计算机系统多级层次结构中,机器级由低到高,相对顺序正确的应当是( B )。 A. 传统机器语言、汇编语言、操作系统 B. 微程序、传统机器语言、高级语言 C. 高级语言、汇编语言、传统机器语言 D. 传统机器语言、应用语言、高级语言 4. 可以直接执行微指令的是( C )。 A. 编译程序 B. 微程序 C. 硬件 D. 汇编程序 5. 计算机系统结构不包括( A )。 A. 主存速度 B. 数据表示 C. 机器工作状态 D. 信息保护 6. 对计算机系统结构透明的是()。 A. 是否使用通道型I/0处理机 B. 虚拟存储器 C. 字符行运算指令 D. VLSI技术 7. 在主存设计上,属计算机系统结构考虑的应是( C )。 A. 频宽的确定 B. 多体交叉还是单体 C. 容量和编址单位 D. 用MOS还是TTL 8. 计算机组成设计不考虑( B )。 A. 缓冲技术 B. 功能部件的集成度 C. 专用部件设置 D. 控制机构的组成 9. 下列说法中不正确的是( D ) A. 硬件的生产费用比软件的生产费用高 B.软件设计费用比软件重复生产费用高 C. 硬件功能只需实现一次而软件功能可能要多次重复实现 D. 硬件实际费用比软件设计费用低

计算机系统结构试题及答案

2009-2010学年度第一学期2007级 《计算机系统结构》期末考试试卷(A)(闭卷) 姓名:学号:专业: (注:①考试时间为120分钟;②所有解答必须写在答题纸上。) 一、单项选择题(每小题3分,共30分) 1.在系列机中发展一种新型号机器,你认为下列()设想是不行的? 【A】新增加字符数据类型和若干条字符处理指令 【B】将中断分级由原来的4级增加到5级 【C】在CPU和主存之间增设Cache存贮器 【D】将浮点数的下溢处理法由原来的恒置“1”法,改为查表舍入法 2.对计算机系统结构来说,不透明的是()。 【A】存储器采用交叉存取还是并行存取 【B】CPU内部的数据通路的宽度是8位还是16位 【C】采用浮点数据表示还是标志符数据表示 【D】指令采用硬联逻辑实现还是微程序实现 3.一个平衡的计算机系统,应该是()。 【A】1MIPS的CPU速度【B】1MB的主存容量 【C】1Mb/s的I/O吞吐率【D】A、B和C 4、()设计是现代计算机系统设计所采用的方法。 【A】由上往下【B】由下往上【C】由中间开始【D】上下同时开始 5.当今微型机中实现软件移植最好的方法是()。 【A】系列机【B】兼容机【C】仿真技术【D】统一高级语言 6、不能够对向量数据结构提供直接支持的是()数据表示。 【A】向量【B】堆栈【C】描述符【D】A和C 7、采用整数边界存储技术,其主要目的是()。 【A】节约主存空间【B】提高数据的访问速度 【C】一个主存周期可取多条指令【D】一个主存周期至少可取到一条指令 8、在指令的操作码编码方式中,优化实用的编码是()。 【A】Huffman编码【B】等长编码【C】Huffman扩展编码【D】BCD码 9、流水计算机中将指令Cache和数据Cache分开,主要是为了()。 【A】提高存储系统的速度【B】增加主存容量 【C】解决功能部件冲突【D】解决访存冲突 10、当N=16时,能描述4组4元交换的函数是()。 【A】C1+C2 【B】C0+C1 【C】C0+C2 【D】C2+C3 假若编译器优化后能去掉50%的ALU指令,但不能去掉其它三类指令。求优化后的MIPS与优化前的MIPS速率比。

微型计算机原理与应用知识点总结

第一章计算机基础知识 一、微机系统的基本组成 1. 微型计算机系统由硬件和软件两个部分组成。 (1) 硬件: ①冯●诺依曼计算机体系结构的五个组成部分:运算器,控制器,存储器,输入设备,输入 设备。其特点是以运算器为中心。 ②现代主流的微机是由冯●诺依曼型改进的,以存储器为中心。 ③冯●诺依曼计算机基本特点: 核心思想:存储程序; 基本部件:五大部件; 信息存储方式:二进制; 命令方式:操作码(功能)+地址码(地址),统称机器指令; 工作方式:按地址顺序自动执行指令。 (2) 软件: 系统软件:操作系统、数据库、编译软件 应用软件:文字处理、信息管理(MIS)、控制软件 二、微型计算机的系统结构 大部分微机系统总线可分为 3 类:数据总线DB(Data Bus) ,地址总线AB(Address Bus),控制总线CB(Control Bus) 。 总线特点:连接或扩展非常灵活,有更大的灵活性和更好的可扩展性。 三、工作过程 微机的工作过程就是程序的执行过程, 即不断地从存储器中取出指令, 然后执行指令的过程。★例:让计算机实现以下任务:计算计算7+10=? 程序:mov al,7 Add al,10 hlt

指令的机器码: 10110000 (OP ) 00000111 00000100 (OP) 00001010 11110100 (OP ) 基本概念: 2. 微处理器、微型计算机、微型计算机系统 3. 常用的名词术语和二进制编码 (1)位、字节、字及字长

(2)数字编码 (3)字符编码 (4)汉字编码 4. 指令、程序和指令系统 习题: 1.1 ,1.2 ,1.3 ,1.4 ,1.5 第二章8086/8088 微处理器 一、8086/8088 微处理器 8086 微处理器的内部结构:从功能上讲,由两个独立逻辑单元组成,即执行单元EU和总线 接口单元BIU。 执行单元EU包括:4 个通用寄存器(AX,BX,CX,DX,每个都是16 位,又可拆位,拆成 2 个8 位)、4 个16 位指针与变址寄存器(BP,SP,SI ,DI)、16 位标志寄存器FLAG(6 个状 态标志和 3 个控制标志)、16 位算术逻辑单元(ALU) 、数据暂存寄存器; EU功能:从BIU 取指令并执行指令;计算偏移量。 总线接口单元BIU 包括:4 个16 位段寄存器(CS(代码段寄存器) 、DS(数据段寄存器) 、SS(堆 栈段寄存器) 和ES(附加段寄存器) )、16 位指令指针寄存器IP (程序计数器)、20 位地址加 法器和总线控制电路、 6 字节(8088 位4 字节)的指令缓冲队列; BIU 功能:形成20 位物理地址;从存储器中取指令和数据并暂存到指令队列寄存器中。 3、执行部件EU和总线接口部件BIU 的总体功能:提高了CPU的执行速度;降低对存储器的 存取速度的要求。 4、地址加法器和段寄存器 由IP 提供或由EU按寻址方式计算出寻址单元的16 位偏移地址( 又称为逻辑地址或简称为偏 移量) ,将它与左移 4 位后的段寄存器的内容同时送到地址加法器进行相加,最后形成一个 20 位的实际地址( 又称为物理地址) ,以对应存储单元寻址。 要形成某指令码的物理地址(即实际地址),就将IP 的值与代码段寄存器CS(Code Segment)左移 4 位后的内容相加。 【例假设CS=4000H,IP =0300H,则指令的物理地址PA=4000H× 1 0H+0300H=40300H。

计算机组织与系统结构 (A-1 卷)

考试科目名称 计算机组织与系统结构 (A-1卷)2007——2008学年第 2 学期 教师 袁春风/窦万春考试方式:闭卷系(专业) 计算机科学与技术年级 2006班级 学号 姓名 成绩 题号一二三四五六 分数 一、填空题(本大题共15小题,每空1分,共20分) 得分 1. 二进制指令代码的符号化表示被称为汇编语言源程序。必须通过相应的翻译程序把它转 换为机器语言程序才能被计算机执行。 2. 通常用一个寄存器来存放当前执行指令的地址,MIPS结构中将该寄存器简写为PC。由于历史的原 因,PC寄存器通常被称为程序计数器(或Program Counter)。 3. 在MIPS中,分支指令的转移目标地址是由分支指令的下条指令地址加上一个位移量决定的。通常 把这种方式称为(PC)相对寻址方式。 4. 假定寄存器$s1中存放二进制信息为0000 0000 0000 0000 0000 0000 1101 1000,则在屏幕上用 16进制显示为0x 0000 00D8。若该信息是一个无符号整数,则表示的值为 216。 5. 过程调用时,涉及到调用过程和被调用过程之间的数据交换和程序切换,所以要有相应的存储空间 来存放调用参数、返回数据和返回地址等信息。这种用于过程调用的存储空间被称为堆栈Stack (或栈帧Stack Frame)。 6. 衡量CPU性能好坏的一个重要指标是CPU执行时间。它与程序包含的指令条数和每条指令的平均 时钟数以及时钟周期有关。通常用英文缩写CPI 来表示每条指令的平均时钟数。有时也用基准程序来测试处理器的性能,“基准程序”对应的英文单词是Benchmark。 7. 进行基本加/减等算术运算和与/或/非等逻辑运算的部件被称为算术逻辑部件。用英文缩写表示为 ALU。 8. 由于Cache数据是主存数据的副本,所以Cache和主存之间存在一致性问题,可以采用两种不同的 写策略来解决。这两种写策略是Write Back(或写回法/一次性写)和Write Through(或写通过法)。 9. 在流水线中,如果多条指令同时需要用到同一个功能部件,就发生了流水线冒险,会引起流水线的 阻塞。通常把这种流水线冒险称为结构(或资源冲突)冒险。

微型计算机原理及应用(答案)

微型计算机原理及应用(第3版)(修订本)答案 习题 1 一、选择题 1.A 2.C 3.B 4.B 5.A 6.A 7.B 8.C 9.C 10.C 11.C 12.A 13.D 14.A 15.D 16.C 在GB2312-80国家标准中,16~55区为一级汉字、56~87区为二级汉字。 DBB5H-A0A0H = 3B15H 3BH = 59 DBB5H属于二级汉字。 二、完成下列不同进制数的转换 1.⑴270 = 100001110B ⑵455 =1 11000111B ⑶0.8125 = 0.1101B ⑷720.3125 = 1011010000.0101B 2.⑴1001001B = 73 ⑵11001100B = 204 ⑶0.0101B = 0.3125 ⑷11011.1011B = 27.6875 3.⑴11100011B = E3H ⑵10001111B = 8FH ⑶0.0011101B = 0.3AH ⑷110011011.01011B = 19B.58H 4.⑴A21H = 101000100001H ⑵4B7H = 10010110111B ⑶0.00A3H = 0.0000000010100011B ⑷2E8.0D5H = 1011101000.000011010101B 三、完成下列机器数和真值的转换 1.⑴[11001B]补= 00011001B ⑵[-11001B]补= 11100111B ⑶[100000B]补= 00100000B ⑷[-100000B]补= 11100000B 2.⑴[65]补= 01000001B ⑵[-75]补= 10110101B ⑶[120]补= 01111000B ⑷[-100]补= 10011100B 3.⑴[1000]补= 0000001111101000B ⑵[-12]补= 1111111111110100B ⑶[800]补= 0000001100100000B ⑷[-3212]补=1 111001*********B 4.⑴[10000001B]补= -127 ⑵[01100110B]补= +102 ⑶[0111011101110111B]补= 30583 ⑷[1000000000000001B]补= -32767 四、完成下列各数值和机器编码的转换 1.⑴01100011B=99 压缩的BCD码= 10011001 非压缩的BCD码= 0000100100001001 ⑵01010000B=80 压缩的BCD码= 10000000 非压缩的BCD码= 0000100000000000 ⑶0000001100001111B=783 压缩的BCD码= 0000011110000011 非压缩的BCD码= 000001110000100000000011 ⑷0001111111111111B=8191 压缩的BCD码= 1000000110010001 非压缩的BCD码= 00001000000000010000100100000001 2.⑴换行0AH ⑵字母“Q”51H ⑶ASCII码“7”37H ⑷空格20H ⑸汉字“隘”(国标码) 30H、2FH ⑹汉字“保”(内码) B1H、A3H 3.⑴[15]补= 00001111 ⑵15的压缩BCD数= 00010101B

计算机组成与系统结构

1:__计算机体系结构__是机器语言程序员所看到的传统机器级所具有的属性,其实质是确定计算机系统中软硬件的界面。 2:虚拟存储器可看作是一个容量非常大的___逻辑___存储器,有了它,用户无需考虑所编程序在__主存__中是否放得下或放在什么位置等问题。 3:指令的跳跃寻址方式,是指下一条指令的地址由本条指令直接给出,因此,_程序计数器_的内容必须相应改变,以便及时跟踪新的指令地址。 4:指令格式中的地址码字段,通常用来指定参与操作的___操作数___或其地址。 5:在定点__小数、整数___运算中,为了判断溢出是否发生,可采用双符号位检测法。不论溢出与否,其__最高__符号位始终指示正确的符号。 6:1966年,M.J.Flynn从计算机体系结构的并行性能出发,按照__指令流, 数据流__的不同组织方式,把计算机系统的结构分为SISD、SIMD、MISD和MIMD四类。 7:具有相同___计算机体系结构__的计算机,可以采用不同的__计算机组成___。 8:MOS半导体存储器中,__SRAM _的外围电路简单,速度___快___,但其使用的器件多,集成度不高。 9:Cache的功能由___硬件___实现,因而对程序员是透明的。 10:冯?诺伊曼型计算机的设计思想是__存储程序并按地址顺序执行___。 11:到目前为止,使用最为广泛的计算机形态是__嵌入式计算机___。 12:从CPU来看,增加Cache的目的,就是在性能上使__主存, 内存__的平均读出时间尽可能接近Cache的读出时间。 13:在主存与Cache间建立地址映射,有几种不同的地址映射方式,它们是_全相联映射方式, 直接映射方式, 组相联映射方式_。 14:部分在计算机系统的层次结构中,属于硬件级的是__微程序设计级, 机器语言级_。 15:在计算机系统的层次结构中,属于软件级的是_高级语言级, 汇编语言级_。 16:在计算机系统的层次结构中,___微程序设计级, 操作系统级, 机器语言级__采用二进制数语言。 17:一种__计算机组成___可以采用多种不同的__计算机实现___。 18:世界上第一台通用电子数字计算机ENIAC使用_电子管_作为电子器件。 19:MOS半导体存储器中,__ DRAM __可大幅度提高集成度,但由于__刷新__操作,外围电路复杂,速度慢。 20:指令格式就是___指令字__用二进制代码表示的结构形式。 1:当CPU和主存进行信息交换,即CPU___向主存存入数据, 从主存读出数据, 从主存读出指令___时,都要使用地址寄存器和数据寄存器。 2:取出和执行任何一条指令所需的最短时间为_2_个CPU周期。 3:1997年,Intel在其Pentium MMX CPU中集成了MMX技术,使用了8个___64___位宽的MMX寄存器。 4:当代总线是一些标准总线,追求与___技术, 结构, CPU, 厂家___无关的开发标准。 5:在CPU中,运算器通常由___算术逻辑单元, 累加寄存器, 数据寄存器, 状态条件寄存器___组成。 6:在对流水CPU基本概念的描述中,正确的是__流水CPU是一种非常经济而实用的时间并行技术____。 7:相对于硬连线控制器,微程序控制器的优点在于__结构比较规整, 复杂性和非标准化程度较低, 增加或修改指令较为容易____。 8:在CPU中,数据寄存器用来暂时存放__由主存读出的一条指令, 由主存读出的一个数据字, 向主存存入的一条指令, 向主存存入的一个数据字____。 9:以下句子中,正确的是__各条指令的取指阶段所用的CPU周期是完全相同的。由于各条指令的功能不同,指令的执行阶段所用的CPU周期是各不相同的____。 10:在CPU中,程序计数器用来保存___下一条指令的地址___。 11:在对RISC机器基本概念的描述中,正确的是___ RISC机器一定是流水CPU ___。 12:在一个计算机系统中,算术流水线是指运算操作步骤的并行,是__部件___级流水线。 13:流水CPU通常由_指令部件, 指令队列, 执行部件_等几个部分组成,这几个功能部件可以组成一个多级流水线。14:奔腾CPU的大多数简单指令用硬连线控制实现,在1个时钟周期内执行完毕。而对于用微程序实现的指令,也在__2, 3__个时钟周期内执行完毕。 15:第一台RISC计算机于___1981__年在美国加州大学伯克利分校问世。

相关文档
相关文档 最新文档