当前位置:文档之家› 计算机组成 Chapter 10

计算机组成 Chapter 10

计算机组成 Chapter 10
计算机组成 Chapter 10

张熙童 201208070225 智能1202

思考题

10.1、机器指令的典型元素:操作码、源操作数引用、结果操作数引用、下一指令引用。

10.2、什么类型的位置能保存源和目的操作数?

主存(cache,虚拟内存),寄存器(I/O接口的端口)能保存源和目的操作数。

10.3、若一个指令有4个地址,每个地址的用途是?

4个字段的包括两个操作数,一个结果,以及下一个指令地址。

10.4列出并简介指令集设计的5个重要问题?

答:

(1)操作指令表:应提供多少和什么样的操作,操作将是何等的复杂。

(2)数据类型:对几种数据类型完成操作。

(3)指令格式:指令的(位)长度、地址数目、各个字段的大小等。

(4)寄存器:能被指令访问的CPU寄存器数目以及它们的用途。

(5)寻址方式:指定操作数地址的产生方式。

10.5在机器指令集中,典型的操作数类型是什么?

答:地址、数值、字符、逻辑数据。

10.6压缩十进制表示数与IRA字符代码之间的关系是什么?

答:数字0到9的IRA代码的样式是011****,其中后4位恰恰是0000到1001,即压缩十进制数的编码。因此7位IRA代码与4位压缩十进制表示之间转换是十分方便的。

10.7算数移位和逻辑移位有何区别?

答:

逻辑移位(无符号<<,>>,java>>>>):一个字的各位左移或右移,一端移出的位丢失,另一端是0被移入。

算术移位(有符号补码<<,>>):把数据看做是有符号整数而不移符号位。

算数右移(有符号补码>>):左边符号位(高位)填充。

算数左移:无溢出时,算数左移和逻辑左移都相当于乘以2。如果出现溢出,算数左移和逻辑左移将产生不同的结果,但算数左移仍保留数的符号位不变。

10.8为何要控制传递(转移)指令?

答:

(1)实现一个应用需要上千条甚至上百万条指令,若每条指令必须分立的写出,这将会是非常麻烦的事情。若一个表或者列表来处理,则可使用程序循环的方法,一个指令序列重复执行直到所有的数据被处理。

(2)所有程序都涉及到某种选择,我们希望计算机能在满足某种条件下做某种事情,另一种条件下做另一种事情。

(3)大中型的计算机程序的编写,是一件较困难的任务。若将此任务分成小的

片段,每次只工作在另一种事情上,将是有益的。

10.9列出并简要说明生成条件的两种普通方式。列出并简要说明实现条件转移的两种普通方式。

答:大多数机器提供了1位或多位的条件代码,它作为某种操作的结果被设置。可以把这条件代码想象成一个用户可见的短寄存器。

另一种能使三地址指令格式的方法是,在同一条指令内完成比较和指定转移。

10.11列出为过程返回保存返回地址的三种可能位置

答:寄存器,被调过程开始处,堆栈顶部。

10.12什么是可重入过程?

答:可重入过程准许几个通过它的调用同时存在。递归过程就是使用之一特征的。

10.13汇编语言和机器语言有何不同?

答:汇编语言使用符号名地址,而不是机器语言所使用的具体的物理内存地址,比机器语言易于读写、易于调试和修改,同时也具有机器语言执行速度快,占用内存空间少等优点。但在编写复杂程序时具有明显的局限性,汇编语言依赖具体的机型,不能通用,也不能在不同机型之间移植。汇编语言是面向具体机型的,他离不开具体计算机的指令系统。

10.14什么是逆波兰表示法?

答:逆波兰表示法,操作数跟随在它的两个操作数之后。不管一个表达式有多复杂,使用逆波兰表示法都不需要括号。

10.15大数在先和小数在先有何不同?

答:对于同样一个多字节数值,大数在先情况,存储器安排成从左到右、从上到下;而小数在先的情况,存储器安排从右到左、从上到下。在两种策略中,每个数据都有同样的地址。在任何一个给定的多字节标量值中,小数在先的字节排序是大数在先的反序,反之亦然。端序不影响结构中数据项的次序。

习题

1、23

32 33

2、7309

582

1010不正常,出错

3、a. 0; 255

b. –127; 127

c. –127; 127

d. –128; 127

e. 0; 99

f. –9; +9

4、

1698 0001 0110 1001 1000 + 1786 0001 0111 1000 0110 0010 1100 10001 1110 1 1 1 0110 0011 1110 0110 10100 0110 1000

10100

3484 0011 0100 1000 0100

5、0736

9674

1 0410

6、

零地址

PUSH A

PUSH B

PUSH C

MUL

ADD

PUSH D

PUSH E

PUSH F

MUL

SUB

DIV

POP X

一地址

LOAD E

MUL F

STORE T

LOAD D

SUB T

STORE T

LOAD B

MUL C

ADD A

DIV T

STO X

二地址

MOV R0, E

MUL R0, F

MOV R1, D

SUB R1, R0

MOV R0, B

MUL R0, C

ADD R0, A

DIV R0, R1

MOV X, R0

三地址

MUL R0, E, F

SUB R0, D, R0

MUL R1, B, C

ADD R1, A, R1

DIV X, R0, R1

7、

假设M(0)本身数据为a,AC中数据为a

Instruction AC Effect on M(X)

M(0)

SUBS 0 a a x

SUBS 0 0 0 x

SUBS X –x 0 –x

SUBS 0 –x –x –x

SUBS 0 0 0 –x

SUBS X x 0 x

Instruction AC M(0) M(1) M(X)

SUBS 0 a a y x

SUBS 1 a– y a a–y x

SUBS 1 0 a 0 x

SUBS X –x a 0 –x

SUBS 0 –x – a –x – a 0 –x

SUBS 1 –x – a –x – a –x – a –x

SUBS 0 0 0 –x – a –x

SUBS X x 0 –x – a x

SUBS 0 x x –x – a x

SUBS 0 0 0 –x – a x

SUBS 1 a + x 0 a + x x

8、

一个空操作,可以用来调试。当需要中断一个程序在一个特定的点上,空操作被替换为一个跳转到调试程序,当暂时改变一个程序,指令可以被替换为NOOPs。一种NOOP引入已知延迟到一个程序中,等于指令周期的时间为空操作,这可以用来测量时间或引入的时间延迟。

9、

Bit pattern Value Arithmetic Value Logical Value left shift left shift 00000 0 00000 0 00000 0 00001 1 00010 2 00010 2 00010 2 00100 4 00100 4 00011 3 00110 6 00110 6 00100 4 01000 8 01000 8 00101 5 01010 10 01010 10 00110 6 01100 12 01100 12 00111 7 01110 14 01110 14 01000 8 00000 overflow 10000 overflow 01001 9 00010 overflow 10010 overflow 01010 10 00100 overflow 10100 overflow 01011 11 00110 overflow 10110 overflow 01100 12 01000 overflow 11000 overflow 01101 13 01010 overflow 11010 overflow 01110 14 01100 overflow 11100 overflow 01111 15 01110 overflow 11110 overflow 10000 –16 10000 overflow 00000 overflow 10001 –15 00010 overflow 00010 overflow 10010 –14 10100 overflow 00100 overflow 10011 –13 10110 overflow 00110 overflow 10100 –12 11000 overflow 01000 overflow 10101 –11 11010 overflow 01010 overflow 10110 –10 11100 overflow 01100 overflow 10111 –9 11110 overflow 01110 overflow 11000 –8 10000 –16 10000 –16 11001 –7 10010 –14 10010 –14 11010 –6 10100 –12 10100 –12 11011 –5 10110 –10 10110 –10 11100 –4 11000 –8 11000 –8 11101 –3 11010 –6 11010 –6 11110 –2 11100 –4 11100 –4 11111 –1 11110 –2 11110 –2

10.10 向–∞舍入

10.11

如果栈只用来接收地址数据返回,栈可以用来代替程序计数器。

10.12

2 7

+ 4 6

6 D

+ 0 6

7 3

10.13

CMP result Z C

destination < source 0 1

destination > source 0 0

destination = source 1 0

CMP result Flags

destination < source S ≠ 0

destination > source S = 0

destination = source Z = 1

10.14

1、位置符号位,然后指数,然后有效数字。

2、所有数值都是0。

3、指数的偏置表示。

4、符合,但是IEEE的标准让-0<+0.

10.15

1、这可能是方便的一个字长结果为通过堆栈传递作为参数,使之与典型的参数传递一致的,这是Scond的优点。似乎没有被任何特别的优势,其结果值真正的整数1对所有的二进制。

2、一般情况下,对数据进行操作的指令值将作为副作用,根据结果设置条件码操作,因此,在条件代码应该反映在机器的状态。这些指令违反这个原则在每个指令已经改变的数据值以某种方式的执行。并因此与体系结构的其余部分一致。反对的情况下:这些指令是类似的分支上,他们于另一个操作,这反映在条件码结果操作条件说明由于条件代码指令的分支本身不设置条件码,但事实上,这些指令不会是不相矛盾。

3、

SUB CX, CX ;

MOV AX, B ;

CMP AX, A ;

SETG CX ;

TEST JCXZ OUT ;

THEN

OUT

MOV EAX, B ; move from location B to register EAX

CMP EAX, C

SETG BL ; BL = 0/1 depending on result

MOV EAX, D

CMP EAX, F

MOV BH, 0

SETE BH

OR BL, BH

10.16

a. Add one byte at a time:

AB 08 90 C2

+ 45 98 EE 50

F0 A0 7E 12

b. Add 16 bits at a time:

AB08 90C2

+ 4598 EE50

F0A0 7F12

10.17

如果处理器使用了一个栈的子程序处理,它仅使用堆栈在执行CALL和RETURN 指令,不需要任何明确的堆栈操作指令。

10.18

a. (A + B + C) * D

b. (A/B) + (C/D)

c. A/(B * C * (D + E))

d. A + (B * ((C + (D – E)/F) – G)/H)

10.19

a. AB + C + D + E +

b. AB + CD + * E +

c. AB * CD * + E +

d. AB - CDE * – F/G/ * H *

10.20

AB+C-

等价于(A+B)-C

10.21

Input Output Stack (top on right) (A – B)/(C + D * E) empty empty A – B)/(C + D * E) empty (

– B)/(C + D * E) A (

B)/(C + D * E) A ( –

)/(C + D * E) A B ( –

/(C + D * E) A B – empty (C + D * E) A B – /

C +

D * E) A B – / (

+ D * E) A B – C / (

D * E) A B – C / ( + * E) A B – C D / ( + E) A B – C D / ( + * ) A B – C D

E / ( + * empty A B – C D E * + /

empty A B – C D E * + / empty 10.22

10.23

10.25

4-Byte Transfers 2-Byte Transfers 1-Byte Transfers (XOR with 100) (XOR with 110) (XOR with 111) Original Munged Original Munged Original Munged Address Address Address Address Address Address 000 100 000 110 000 111

001 101 001 111 001 110

010 110 010 100 010 101

011 111 011 101 011 100

100 000 100 010 100 011

101 001 101 011 101 010

110 010 110 000 110 001

111 011 111 001 111 000

10.26

#include

main()

{

int integer;

char *p;

integer = 0x30313233; /* ASCII for chars '0', '1', '2', '3' */

p = (char *)&integer

if (*p=='0' && *(p+1)=='1' && *(p+2)=='2' && *(p+3)=='3')

printf("This is a big endian machine.\n");

else if (*p=='3' && *(p+1)=='2' && *(p+2)=='1' && *(p+3)=='0')

printf("This is a little endian machine.\n");

else

printf("Error in logic to determine machine endian-ness.\n");

}

10.27

大端

10.28

该文档使用little-endian的位序,指出一个字节(最左边的位)的最显著位是第7位。然而,对位域操作指令都在大端方式进行操作。因此,一个字节的最左位是第7位,但有一点偏移量为0,和一个字节的最右边的位是0,但有一点偏移7。

计算机组成原理第五版 白中英(详细)第5章习题参考答案

第5章习题参考答案 1.请在括号内填入适当答案。在CPU中: (1)保存当前正在执行的指令的寄存器是(IR ); (2)保存当前正在执行的指令地址的寄存器是(AR ) (3)算术逻辑运算结果通常放在(DR )和(通用寄存器)。 2.参见图5.15的数据通路。画出存数指令“STO Rl,(R2)”的指令周期流程图,其含义是将寄存器Rl的内容传送至(R2)为地址的主存单元中。标出各微操作信号序列。 解: STO R1, (R2)的指令流程图及微操作信号序列如下:

STO R1, (R2) R/W=R DR O, G, IR i R2O, G, AR i R1O, G, DR i R/W=W 3.参见图5.15的数据通路,画出取数指令“LAD (R3),R0”的指令周期流程图,其含义是将(R3)为地址主存单元的内容取至寄存器R2中,标出各微操作控制信号序列。 解: LAD R3, (R0)的指令流程图及为操作信号序列如下:

PC O , G, AR i R/W=R DR O , G, IR i R 3O , G, AR i DR O , G, R 0i R/W=R LAD (R3), R0 4.假设主脉冲源频率为10MHz ,要求产生5个等间隔的节拍脉冲,试画出时序产生器的逻辑图。 解:

5.如果在一个CPU 周期中要产生3个节拍脉冲;T l =200ns ,T 2=400ns ,T 3=200ns ,试画出时序产生器逻辑图。 解:取节拍脉冲T l 、T 2、T 3的宽度为时钟周期或者是时钟周期的倍数即可。所以取时钟源提供的时钟周期为200ns ,即,其频率为5MHz.;由于要输出3个节拍脉冲信号,而T 3的宽度为2个时钟周期,也就是一个节拍电位的时间是4个时钟周期,所以除了C 4外,还需要3个触发器——C l 、C 2、C 3;并令 211C C T *=;321C C T *=;313C C T =,由此可画出逻辑电路图如下:

计算机组成原理实验

计算机组成原理 一、8 位算术逻辑运算 8 位算术逻辑运算实验目的 1、掌握简单运算器的数据传送通路组成原理。 2、验证算术逻辑运算功能发生器74LS181的组合功能。 8 位算术逻辑运算实验内容 1、实验原理 实验中所用的运算器数据通路如图3-1所示。其中运算器由两片74LS181以并/串形成8位字长的ALU构成。运算器的输出经过一个三态门74LS245(U33)到ALUO1插座,实验时用8芯排线和内部数据总线BUSD0~D7插座BUS1~6中的任一个相连,内部数据总线通过LZD0~LZD7显示灯显示;运算器的两个数据输入端分别由二个锁存器74LS273(U29、U30)锁存,两个锁存器的输入并联后连至插座ALUBUS,实验时通过8芯排线连至外部数据总线EXD0~D7插座EXJ1~EXJ3中的任一个;参与运算的数据来自于8位数据开并KD0~KD7,并经过一三态门74LS245(U51)直接连至外部数据总线EXD0~EXD7,通过数据开关输入的数据由LD0~LD7显示。 图中算术逻辑运算功能发生器74LS181(U31、U32)的功能控制信号S3、S2、S1、S0、CN、M并行相连后连至SJ2插座,实验时通过6芯排线连至6位功能开关插座UJ2,以手动方式用二进制开关S3、S2、S1、S0、CN、M来模拟74LS181(U31、U32)的功能控制信号S3、S2、S1、S0、CN、M;其它电平控制信号LDDR1、LDDR2、ALUB`、SWB`以手动方式用二进制开关LDDR1、LDDR2、ALUB、SWB来模拟,这几个信号有自动和手动两种方式产生,通过跳线器切换,其中ALUB`、SWB`为低电平有效,LDDR1、LDDR2为高电平有效。 另有信号T4为脉冲信号,在手动方式下进行实验时,只需将跳线器J23上T4与手动脉冲发生开关的输出端SD相连,按动手动脉冲开关,即可获得实验所需的单脉冲。 2、实验接线 本实验用到4个主要模块:⑴低8位运算器模块,⑵数据输入并显示模块,⑶数据总线显示模块,⑷功能开关模块(借用微地址输入模块)。

计算机组成原理-第7章以后作业答案

第七章指令系统 ?7-1指令,程序 指令:计算机执行某种操作的命令 程序:由有序的指令串构成,程序要解决一个具体的问题 指令系统:一台计算机能执行的全部指令的集合 指令系统的重要性:软件编程的基础,硬件设计的依据,综合考虑计算机的软硬件是计算机设计的关键因素。 ?7-2操作码 操作码用来指明该指令所要完成的操作。通常位数反映了机器的操作种类,即机器允许的指令条数,如7位→2^7=128条指令 固定长度操作码:操作码长度(占二进制位数)固定不变 硬件设计相对简单 指令译码时间开销小 指令空间利用率较低 可变长度操作码:操作码长度随指令地址数目的不同而不同(可平均缩短指令长度) 硬件设计相对复杂 指令译码时间开销较大 指令空间利用率较高 例:某机器采用固定长度指令系统,16位,包括3地址指令15条,双地址指令10条,单地址指令若干,每个地址占4位。问:该指令系统最多容纳多少个单地址指令,并设计该指令系统的操作码编码方案 析:每条指令:一个唯一操作码编码,不同类型指令具有不同标识,用扩展操作码方案 三15条,1111 双10条,6个没用6*16=96个 ? 7.3什么是指令字长、机器字长和存储字长? ? 7.6某指令系统字长为16位,地址码取4位,试提出一种方案,使该指令系统 有8条三地址指令、16条二地址指令、100条一地址指令。 固定操作码为4位。 8条三地址指令操作码为:0000~0111(剩下1000~1111共8个扩展窗口) 16条二地址指令操作码为:1000 0000~1000 1111 (剩下1001 0000~1111 1111共112个扩展窗口)100条一地址指令操作码为:10010000 0000~10010000 1111 10010001 0000~10010001 1111 10010010 0000~10010010 1111 10010011 0000~10010011 1111 10010100 0000~10010100 1111 10010101 0000~10010101 1111 10010110 0000~10010110 0011

计算机组成原理第五章单元测试(含答案)

第五章指令系统测试 1、以下四种类型指令中,执行时间最长的是()(单选) A、RR型指令 B、RS型指令 C、SS型指令 D、程序控制类指令 2、程序控制类指令的功能是()(单选) A、进行算术运算和逻辑运算 B、进行主存与CPU之间的数据传送 C、进行CPU和I/O设备之间的数据传送 D、改变程序执行的顺序 3、单地址指令中为了完成两个数的算术运算,除地址码指明的一个操作数外,另一个常需采用的寻址方式是( )(单选) A、立即数寻址 B、寄存器寻址 C、隐含寻址 D、直接寻址 4、下列属于指令系统中采用不同寻址方式的目的主要是()(单选) A、为了实现软件的兼容和移植 B、缩短指令长度,扩大寻址空间,提高编程灵活性 C、为程序设计者提供更多、更灵活、更强大的指令 D、丰富指令功能并降低指令译码难度 5、寄存器间接寻址方式中,操作数存放在()中(单选) A、通用寄存器 B、主存 C、数据缓冲寄存器MDR D、指令寄存器 6、指令采用跳跃寻址方式的主要作用是() (单选) A、访问更大主存空间 B、实现程序的有条件、无条件转移 C、实现程序浮动 D、实现程序调用 7、下列寻址方式中,有利于缩短指令地址码长度的是()(单选) A、寄存器寻址 B、隐含寻址 C、直接寻址

D、间接寻址 8、假设某条指令的一个操作数采用寄存器间接寻址方式,假定指令中给出的寄存器编号为8,8号寄存器的内容为1200H,地址1200H中的内容为12FCH,地址12FCH中的内容为3888H,地址3888H中的内容为88F9H.则该操作数的有效地址为( ) (单选) A、1200H B、12FCH C、3888H D、88F9H 9、假设某条指令的一个操作数采用寄存器间接寻址方式,假定指令中给出的寄存器编号为8,8号寄存器的内容为1200H,地址1200H中的内容为12FCH,地址12FCH中的内容为3888H,地址3888H中的内容为88F9H.则该操作数为( ) (单选) A、1200H B、12FCH C、3888H D、88F9H 10、某计算机按字节编址,采用大端方式存储信息。其中,某指令的一个操作数的机器数为ABCD 00FFH,该操作数采用基址寻址方式,指令中形式地址(用补码表示)为FF00H,当前基址寄存器的内容为C000 0000H,则该操作数的LSB(即该操作数的最低位FFH)存放的地址是( ) (单选) A、C000 FF00H B、C000 FF03H C、BFFF FF00H D、BFFF FF03H 11、假定指令地址码给出的是操作数所在的寄存器的编号,则该操作数采用的寻址方式是( )(单选) A、直接寻址 B、间接寻址 C、寄存器寻址 D、寄存器间接寻址 12、相对寻址方式中,操作数有效地址通过( )与指令地址字段给出的偏移量相加得到(单选) A、基址寄存器的值 B、变址寄存器的值 C、程序计数器的值 D、段寄存器的值 13、下列关于二地址指令的叙述中,正确的是( ) (单选) A、运算结果通常存放在其中一个地址码所指向的位置 B、地址码字段一定是操作数 C、地址码字段一定是存放操作数的寄存器编号

计算机组成原理实验

实验一基础汇编语言程序设计 一、实验目的: 1、学习和了解TEC-XP16教学实验系统监控命令的用法。 2、学习和了解TEC-XP16教学实验系统的指令系统。 3、学习简单的TEC-XP16教学实验系统汇编程序设计。 二、预习要求: 1、学习TEC-XP16机监控命令的用法。 2、学习TEC-XP16机的指令系统、汇编程序设计及监控程序中子程序调用。 3、学习TEC-XP16机的使用,包括开关、指示灯、按键等。 4、了解实验内容、实验步骤和要求。 三、实验步骤: 在教学计算机硬件系统上建立与调试汇编程序有几种操作办法。 第一种办法,是使用监控程序的A命令,逐行输入并直接汇编单条的汇编语句,之后使用G命令运行这个程序。缺点是不支持汇编伪指令,修改已有程序源代码相对麻烦一些,适用于建立与运行短小的汇编程序。 第二种办法,是使用增强型的监控程序中的W命令建立完整的汇编程序,然后用M命令对建立起来的汇编程序执行汇编操作,接下来用G命令运行这个程序。适用于比较短小的程序。此时可以支持汇编伪指令,修改已经在内存中的汇编程序源代码的操作更方便一些。 第三种办法,是使用交叉汇编程序ASEC,首先在PC机上,用PC机的编辑程序建立完整的汇编程序,然后用ASEC对建立起来的汇编程序执行汇编操作,接下来把汇编操作产生的二进制的机器指令代码文件内容传送到教学机的内存中,就可以运行这个程序了。适用于规模任意大小的程序。

在这里我们只采用第一种方法。 在TEC-XP16机终端上调试汇编程序要经过以下几步: 1、使教学计算机处于正常运行状态(具体步骤见附录联机通讯指南)。 2、使用监控命令输入程序并调试。 ⑴用监控命令A输入汇编程序 >A 或>A 主存地址 如:在命令行提示符状态下输入: A 2000↙;表示该程序从2000H(内存RAM区的起始地址)地址开始 屏幕将显示: 2000: 输入如下形式的程序: 2000: MVRD R0,AAAA ;MVRD 与R0 之间有且只有一个空格,其他指令相同 2002: MVRD R1,5555 2004: ADD R0,R1 2005: AND R0,R1 2006: RET ;程序的最后一个语句,必须为RET 指令 2007:(直接敲回车键,结束A 命令输入程序的操作过程) 若输入有误,系统会给出提示并显示出错地址,用户只需在该地址重新输入正确的指令即可。 ⑵用监控命令U调出输入过的程序并显示在屏幕上 >U 或>U 主存地址

计算机组成原理第七章课后部分答案

7.1什么叫机器指令?什么叫指令系统?为什么说指令系统与机器指令的主要功能以 及与硬件结构之间存在着密切的关系? 机器指令:是CPU能直接识别并执行的指令,它的表现形式是二进制编码。机器指令通常由操作码和操作数两部分组成。 指令系统:计算机所能执行的全部指令的集合,它描述了计算机 内全部的控制信息和“逻辑判断”能力。 指令系统是计算机硬件和软件的接口部分,是全部机器指令的集合。 7.2什么叫寻址方式?为什么要学习寻址方式?寻址方式:指确定本条指令的数 据地址以及下一条将要执行的指 令地址的方法,它与硬件结构紧密相关,而且直接影响指 令格式和指令功能。 学习寻址方式,是为了找到指令中参与操作的数据,然后根据指令,得出结果。 7.3什么是指令字长、机器字长和存储字长?指令字长:是指机器指令中二进制 代码的总位数。指令字长取决 于从操作码的长度、操作数地址的长度和操作数地址的个 数。不同的指令的字长是不同的。 机器字长:是指计算机进行一次整数运算所能处理的二进制数据 的位数(整数运算即定点整数运算)。机器字长也就是运 算器进行定点数运算的字长,通常也是CPU内 部数据通路的宽度。即字长越长,数的表示范围也 越大,精度也越高。机器的字长也会影响机器的运算速

度。 存储字长:一个存储单元存储一串二进制代码(存储字),这串 二进制代码的位数称为存储字长,存储字长可以是8 位、 16 位、32 位等。 7.6 某指令系统字长为16位,地址码取 4 位,提出一种方案,使该指令系统有 8 条三地址指令、16 条二地址指令、100 条一地址指令。 解:三地址指令格式如下: 4 4 4 4 OP A1 A2 A3 指令操作码分配方案如下: 4 位OP 0000 , ,, ,A1,A2,A3:8 条三地址指令 0111 , 1000,0000, ,, ,,, ,A2 ,A3:16 条二地址指令 1000,1111, 1001,0000,0000, A3:100 条一地址指令 1001, 0110, 0011, 1001, 0110, 0100,

计算机组成原理实验完整版

河南农业大学 计算机组成原理实验报告 题目简单机模型实验 学院信息与管理科学学院 专业班级计算机科学与技术2010级1班 学生姓名张子坡(1010101029) 指导教师郭玉峰 撰写日期:二○一二年六月五日

一、实验目的: 1.在掌握各部件的功能基础上,组成一个简单的计算机系统模型机; 2.了解微程序控制器是如何控制模型机运行的,掌握整机动态工作过程; 3定义五条机器指令,编写相应微程序并具体上机调试。 二、实验要求: 1.复习计算机组成的基本原理; 2.预习本实验的相关知识和内容 三、实验设备: EL-JY-II型计算机组成原理试验系统一套,排线若干。 四、模型机结构及工作原理: 模型机结构框图见实验书56页图6-1. 输出设备由底板上上的四个LED数码管及其译码、驱动电路构成,当D-G和W/R均为低电平时将数据结构的数据送入数据管显示注:本系统的数据总线为16位,指令、地址和程序计数器均为8位。当数据总线上的数据打入指令寄存器、地址寄存器和程序寄存器时,只有低8位有效。 在本实验我们学习读、写机器指令和运行机器指令的完整过程。在机器指令的执行过程中,CPU从内存中取出一条机器指令到执行结束为一个指令周期,指令由微指令组成的序列来完成,一条机器指令对应一段微程序。另外,读、写机器指令分别由相应的微程序段来完成。

为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,必须设计三个控制操作微程序。 存储器读操作(MRD):拨动清零开关CLR对地址、指令寄存器清零后,指令译码器输入CA1、CA2为“00”时,按“单步”键,可对RAM连续读操作。 存储器写操作(MWE):拨动清零开关CLR对地址、指令寄存器清零后,指令译码器输入CA1、CA2为“10”时,按“单步”键,可对RAM连续写操作。 启动程序(RUN):拨动开关CLR对地址、指令寄存器清零后,指令译码器输入CA1、CA2为“11”时,按“单步”键,即可转入第01号“取指”微指令,启动程序运行。 注:CA1、CA2由控制总线的E4、E5给出。键盘操作方式有监控程序直接对E4、E5赋值,无需接线。开关方式时可将E4、E5接至控制开关CA1、CA2,由开关控制。 五、实验内容、分析及参考代码: 生成的下一条微地址 UA5 UA0 MS5 MS0 微地址

计算机组成原理实验七

图16 启停单元布局图 序电路由1片74LS157、2片74LS00、4个LED PLS2、PLS3、PLS4)组成。当LED发光时 图17

图17 时序单元布局图 (二)启停、脉冲单元的原理 1.启停原理:(如图18) 启停电路由1片7474组成,当按下RUN按钮,信号输出RUN=1、STOP=0,表示当前实验机为运行状态。当按下STOP 按钮,信号RUN=0、STOP=1,表示当前实验机为停止状态。当 系统处于停机状态时,微地址、进位寄存器都被清零,并且可 通过监控单元来读写内存和微程序。在停止状态下,当HALT 时有一个高电平,同时HCK有一个上升沿,此时高电平被打入 寄存器中,信号输出RUN=1、STOP=0,使实验机处于运行状态。

图18 启停单元原理图 2.时序电路: 时序电路由监控单元来控制时序输出(PLS1、PLS2、PLS3、PLS4)。实验所用的时序电路(如图19)可产生4个等间隔的时序信号PLS1、PLS2、PLS3、PLS4。为了便于监控程序流程,由监控单元输出PO信号和SIGN脉冲来实现STEP(微单步)、GO (全速)和HALT(暂停)。当实验机处于运行状态,并且是微单步执行,PLS1、PLS2、PLS3、PLS4分别发出一个脉冲,全速执行时PLS1、PLS2、PLS3、PLS4脉冲将周而复始的发送出去。在时序单元中也提供了4个按钮,实验者可手动给出4个独立的脉冲,以便实验者单拍调试模型机。

图19 时序电路图 实验步骤 1.交替按下“运行”和“暂停”,观察运行灯的变化(运行:RUN 亮;暂停:RUN灭)。 2.把HALT信号接入二进制拨动开关,HCK接入脉冲单元的PLS1。按下表接线 接入开关位号 信号定 义 HCK PLS1孔 HALT H13孔 3.按启停单元中的停止按钮,置实验机为停机状态,HALT=1。 4.按脉冲单元中的PLS1脉冲按键,在HCK上产生一个上升

计算机组成原理实验五

上海大学计算机学院 《计算机组成原理实验》报告一 姓名:学号:教师: 时间:机位:报告成绩: 实验名称:指令系统实验 一、实验目的:1. 读出系统已有的指令,并理解其含义。 2. 设计并实现一条新指令。 二、实验原理:利用CP226实验仪(用74HC754即8D型上升沿触发器)上的K16…K23 开关为数据总线DBUS设置数据,其他开关作为控制信号,一条指令执行完 毕PC会自动加1,系统顺序执行下一条指令,但系统要进入一个新的指令序 列时,如跳转、转子程序等,必须给PC打入新的起始值——新指令序列的 入口地址。实验箱实现把数据总线的值(目标地址)打入PC的操作,以更新 PC值。 三、实验内容:1. 考察机器指令64的各微指令信号,验证该指令的功能。(假设R0=77H, A=11H, 77地址单元存放56H数据,64指令的下一条指令为E8) 2. 修改机器指令E8,使其完成“输出A+W的结果左移一位后的值到OUT” 操作。 四、实验步骤:1. 考察机器指令64的各微指令信号,验证该指令的功能。(假设R0=77H, A=11H, 77地址单元存放56H数据,64指令的下一条指令为E8) ①在初始化系统(Reset),进入微程序存储器模式(μEM状态),用NX键观 察64H,65H,66H,67H, 地址中原有的微指令,分析并查表确定其功能。 ②在EM状态下,Adr打入A0,DB打入64;按NX键,Adr显示A1,DB 打入E8。 ③在μEM状态下,在E8H、E9H、EAH、EBH下分别打入:FFDED8、CBFFFF、 FFFFFF、FFFFFF。 ④给μPC状态下,打入μPC(00)、PC(A0)、A(11)、W(00),按3次 NX输入R0(77)。 ⑤按下STEP键,观察实验现象。 2. 修改机器指令E8,使其完成“输出A+W的结果左移一位后的值到OUT” 操作。 ⑥继续按STEP键,直到进入E8状态下。 ⑦在EM状态下,打入Adr为77,DB为56。 ⑧按STEP键执行指令,观察实验现象。 五、实验现象:OUT寄存器的值为5A。 六、数据记录、分析与处理:实验结果和预期的一样。 七、实验结论:1、机器指令64对应的各微指令码为:FF77FF、D7BFEF、FFFE92、CBFFFF。其功能为:将R0寄存器的值打入地址寄存器MAR;存贮器EM将MAR输出地址所对应的值打入W寄存器;ALU直通门输出的值打入A寄存器,A、W中的值进行“与”运算,结果在A输出;PC+1,读出下一条指令并立即执行。 八、建议:暂无。

计算机组成原理习题 第五章

第五章 一.填空题 1.控制器由于设计方法的不同可分为型、型和型控制器。 2.控制器在生成各种控制信号时,必须按照一定的进行,以便对各种操作实施时间上的控制。 3.微程序控制的计算机中的控制存储器CM是用来存放的。 4.在微指令的字段编码法中,操作控制字段的分段并非是任意的,必须遵循的分段原则中包括:①把性的微命令分在同一段内;②一般每个小段要留出一个状态,表示。 5.微指令分为和微指令两类,微指令可以同时执行若干个微操作,所以执行机器指令的速度比微指令快。 6.在CPU中,指令寄存器的作用是,其位数取决于;程序计数器的作用是,其位数取决于。 7.指令周期是,最基本的指令周期包括和。 8.根据CPU访存的性质不同,可将CPU的工作周期分为、、和。 9.在CPU中保存当前正在执行的指令的寄存器是,保存下一条指令地址的寄存器是,保存CPU访存地址的寄存器是。 10.中断判优可通过和实现,前者速度更快。 11.中断服务程序的入口地址可通过和寻找。 12.在硬件向量法中,可通过两种方式找到服务程序的入口地址,一种是,另一种是。 13.CPU从主存取出一条指令并执行该指令的时间叫做,它常常用若干个来表示,而后者又包含有若干个。 14.程序顺序执行时,后继指令的地址由形成,遇到转移指令和调用指令时,后继指令的地址从获得。 15.控制器在生成各种控制信号时,必须按照一定的进行,以便对各种操作实施时间上的控制。 16.机器X和Y的主频分别是8MHz和12MHz,则X机的时钟周期为μs。

若X机的平均指令执行速度为0.4MIPS,则X机得平均指令周期为μs。若两个机器的机器周期内时钟周期数相等,则Y机得平均执行速度为MIPS。 17.一个主频为25MHz的CPU,平均每条指令包含2个机器周期,每个机器周期包含2个时钟周期,则计算机的平均速度是。如果每两个机器周期中有一个用于访存,而存储器速度较慢,需再插入2个时钟周期,此时指令周期为μs。 18.微指令格式可分为型和型两类,其中型微指令用较长的微程序结构换取较短的微指令结构。 19.在用微程序实现的控制器中,一条机器指令对应若干条,它又包含若干。微指令格式分成型和型两类,型微指令可同时执行若干个微操作,所以执行指令的速度比快。 20.实现机器指令的微程序一般存放在中,而用户程序存放在中,前者的速度比后者。若采用水平型微指令,则微指令长度一般比机器指令。 21.某计算机采用微程序控制,微指令字中操作控制字段共16位,若采用直接控制,则可以定义种微操作,此时一条微指令最多可同时启动个微操作。若采用编码控制,并要求一条微指令需同时启动4个微操作,则微指令字中的操作控制字段应分段,若每个字段的微命令数相同,这样的微指令格式最多可包含个微操作命令。 22.在微程序控制器中,一次能够定义并执行多个并行操作命令的微指令叫 做型微指令。若采用微操作码方式,一次只能执行一个操作命令的微指令(例如,控制信息从某个源部件到某个目标部件)叫做型微指令,后者实现一条机器指令的微程序要比前者编写的微程序。 23.在串行微程序控制器中,执行现行微指令的操作与取下一条微指令的操作在时间上是进行的,所以微指令周期等于。在并行为程序控制器中,执行现行微指令的操作与取下一条微指令的操作是进行的,所以微指令周期等于。 二.选择题

计算机组成原理实验五存储器读写实验

实验五 存储器读写实验实验目的 1. 掌握存储器的工作特性。 2. 熟悉静态存储器的操作过程,验证存储器的读写方法。 二、实验原理 表芯片控制信号逻辑功能表

2. 存储器实验单元电路 芯片状态 控制信号状态 DO-D7 数据状态 M-R M -W 保持 1 1 高阻抗 读出 0 1 6116-^总钱 写人 1 0 总线-*6116 无效 报警 ^2-10 D7—DO A7—A0

團2-8存储器实验电路逻辑图 三、实验过程 1. 连线 1) 连接实验一(输入、输出实验)的全部连线。 2) 按逻辑原理图连接M-W M-R 两根信号低电平有效信号线 3) 连接A7-A0 8根地址线。 4) 连接B-AR 正脉冲有效信号 2. 顺序写入存储器单元实验操作过程 1) 把有B-AR 控制开关全部拨到0,把有其他开关全部拨到1,使全部信号都处 于无效 状态。 2) 在输入数据开关拨一个实验数据,如“ 00000001”即16进制的01耳 把IO-R 控制开关拨下,把地址数据送到总线。 3) 拨动一下B-AR 开关,即实现“1-0-1 ”产生一个正脉冲,把地址数据送地 址寄存器保存。 4) 在输入数据开关拨一个实验数据,如“ 10000000',即16进制的80耳 把IO-R 控 制开关拨下,把实验数据送到总线。 3. 存储器实验电路 0 O O 0 0 olo O O O O 0 00 OUTPUT L/O :W 8-AR £ ■」2 ■七 ol^Fgr' L P O 74LS273 A7- AO vz 0 o|o 0 r 6116 A7 INPUT D7-O0 [olololololololol T2

计算机组成原理实验实验报告

计算机组成原理实验报告 学院信息与管理科学学院 专业班级计算机科学与技术2010级2班学生姓名毛世均 1010101046 指导教师郭玉峰 撰写日期:二○一二年六月四日

SA4=1 1.根据上边的逻辑表达式,分析58页图6-2的P1测试和P4测试两条指令的微地址转移方向。 P1测试:进行P1测试时,P1为0,其他的都为1, 因此SA4=1, SA3=I7,SA2=I6,SA1=,SA0=I4 微地址011001,下址字段为001000下址字段001000译码后,高两位不变,仍然为00,低四位受到机器指令的高四位I7-I4的影响。 机器指令的高四位为0000时,下一条微指令地址为001000,转到IN 操作。机器指令高四位0010时,下一条微指令地址为001010,转到MOV 操作。机器指令高四位为0001时,下一条微指令地址为001001,转到ADD 操作。机器指令高四位为0011时,下一条微指令地址为001011,转到OUT 操作。机器指令高四位为0100时,下一条微指令地址001100,转到JMP 操作 P4测试:进行P4测试时,P4为0,其他的都为1. 因此SA4=SA3=SA2=1,SA1=CA2,SA0=CA1 微地址000000,下址字段为010000. 010000被译码之后,高四位不变,0100低两位由CA2和CA1控制。CA2和CA1的值是由单片机的键盘填入控制的。 当实验选择CtL2=1时,CA2和CA1被填入0和1,这时低两位被译码电路翻译成01,所以下一条微地址就是010001,然后进入写机器指令的状态。当实验选择CtL2=2时,CA2和CA1被填入1和0,这时低两位被译码电路翻译成10,所以下一条微地址就是010010,然后进入读机器指令的状态。当实验选择CtL2=2时,CA2和CA1被填入1和1,这时低两位被译码电路翻译成 11,所以下一条微地址就是010011,然后进入运行机器指令的状态。 2.分析实验六中五条机器指令的执行过程。

计算机组成原理第七章课后部分答案 0528

计算机组成原理第七章课后部分答案

7.1 什么叫机器指令?什么叫指令系统?为什么说指令系统与机器指令的主要 功能以及与硬件结构之间存在着密切的关系? 机器指令:是CPU能直接识别并执行的指令,它的表现形式是二进制编码。机器指令通常由操作码和操作数两部分组 成。 指令系统:计算机所能执行的全部指令的集合,它描述了计算机 内全部的控制信息和“逻辑判断”能力。 指令系统是计算机硬件和软件的接口部分,是全部机器指令的集合。 7.2 什么叫寻址方式?为什么要学习寻址方式? 寻址方式:指确定本条指令的数据地址以及下一条将要执行的指令地址的方法,它与硬件结构紧密相关,而且直接影 响指令格式和指令功能。 学习寻址方式,是为了找到指令中参与操作的数据,然后根据指令,得出结果。 7.3什么是指令字长、机器字长和存储字长? 指令字长:是指机器指令中二进制代码的总位数。指令字长取决于从操作码的长度、操作数地址的长度和操作数地址 的个数。不同的指令的字长是不同的。 机器字长:是指计算机进行一次整数运算所能处理的二进制数据 的位数(整数运算即定点整数运算)。

机器字长也就是运算器进行定点数运 算的字长,通常也是CPU内部数据通 路的宽度。即字长越长,数的表示范 围也越大,精度也越高。机器的字长 也会影响机器的运算速度。 存储字长:一个存储单元存储一串二进制代码(存储字),这串二进制代码的位数称为存储字长,存储字长可以是8 位、16位、32位等。 7.6 某指令系统字长为16位,地址码取4位,提出一种方案,使该指令系统有 8条三地址指令、16条二地址指令、100条一地址指令。 解:三地址指令格式如下: 4 4 4 4 OP A1 A2 A3 指令操作码分配方案如下: 4位OP 0000, ……, A1,A2,A3:8条三地址指令 0111, 1000,0000, ……,……, A2,A3:16条二地址指令 1000,1111, 1001,0000,0000,

计算机组成原理第5章习题参考答案

第5章习题参考答案 1.请在括号填入适当答案。在CPU中: (1)保存当前正在执行的指令的寄存器是( IR ); (2)保存当前正在执行的指令地址的寄存器是( AR ) (3)算术逻辑运算结果通常放在( DR )和(通用寄存器)。 2.参见图5.15的数据通路。画出存数指令“STO Rl,(R2)”的指令周期流程图,其含义是将寄存器Rl的容传送至(R2)为地址的主存单元中。标出各微操作信号序列。 解: STO R1, (R2)的指令流程图及为操作信号序列如下:

STO R1, (R2) R/W=R DR O, G, IR i R2O, G, AR i R1O, G, DR i R/W=W 3.参见图5.15的数据通路,画出取数指令“LAD (R3),R0”的指令周期流程图,其含义是将(R3)为地址主存单元的容取至寄存器R2中,标出各微操作控制信号序列。 解: LAD R3, (R0)的指令流程图及为操作信号序列如下:

PC O , G, AR i R/W=R DR O , G, IR i R 3O , G, AR i DR O , G, R 0i R/W=R LAD (R3), R0 4.假设主脉冲源频率为10MHz ,要求产生5个等间隔的节拍脉冲,试画出时序产生器的逻辑图。 解:

5.如果在一个CPU 周期中要产生3个节拍脉冲;T l =200ns ,T 2=400ns ,T 3=200ns ,试画出时序产生器逻辑图。 解:取节拍脉冲T l 、T 2、T 3的宽度为时钟周期或者是时钟周期的倍数即可。所以取时钟源提供的时钟周期为200ns ,即,其频率为5MHz.;由于要输出3个节拍脉冲信号,而T 3的宽度为2个时钟周期,也就是一个节拍电位的时间是4个时钟周期,所以除了C 4外,还需要3个触发器——C l 、C 2、C 3;并令 211C C T *=;321C C T *=;313C C T =,由此可画出逻辑电路图如下:

计算机组成原理实验报告5- PC实验

2.5 PC实验 姓名:孙坚学号:134173733 班级:13计算机日期:2015.5.15 一.实验要求:利用CPTH 实验仪上的K16..K23 开关做为DBUS 的数据,其它开关做为控制信号,实现程序计数器PC的写入及加1 功能。 二.实验目的:1、了解模型机中程序计数器PC的工作原理及其控制方法。2、了解程序执行过程中顺序和跳转指令的实现方法。 三.实验电路:PC 是由两片74HC161构成的八位带预置记数器,预置数据来自数据总线。记数器的输出通过74HC245(PCOE)送到地址总线。PC 值还可以通过74HC245(PCOE_D)送回数据总线。 PC 原理图 在CPTH 中,PC+1 由PCOE 取反产生。 当RST = 0 时,PC 记数器被清0 当LDPC = 0 时,在CK的上升沿,预置数据被打入PC记数器 当PC+1 = 1 时,在CK的上升沿,PC记数器加一 当PCOE = 0 时,PC值送地址总线

PC打入控制原理图 PC 打入控制电路由一片74HC151 八选一构成(isp1016实现)。 当ELP=1 时,LDPC=1,不允许PC被预置 当ELP=0 时,LDPC 由IR3,IR2,Cy,Z确定 当IR3 IR2 = 1 X 时,LDPC=0,PC 被预置 当IR3 IR2 = 0 0 时,LDPC=非Cy,当Cy=1时,PC 被预置 当IR3 IR2 = 0 1 时,LDPC=非Z,当Z=1 时,PC 被预置 连接线表 四.实验数据及步骤: 实验1:PC 加一实验

置控制信号为: 按一次STEP脉冲键,CK产生一个上升沿,数据PC 被加一。 实验2:PC 打入实验 二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据12H 置控制信号为: 每置控制信号后,按一下STEP键,观察PC的变化。 五.心得体会: 经过上一个实验的练习,在做这个实验的时候更加得心应手,了解了模型机中程序计数器PC的工作原理及其控制方法,还有了解了程序执行过程中顺序和跳转指令的实现方法。

计算机组成原理第7章习题11复习进程

计算机组成原理第7 章习题11

习题7 一.单选选择题 12.计算机系统的输入/输出接口通常是的交界面。 A. CPU与存储器之间 B. 存储器与打印机之间 C. 主机与外围设备之间 D. CPU与系统总线之间13.在具有中断向量表的计算机中,中断向量地址是。 A. 子程序入口地址 B. 中断服务程序的入口地址 C. 中断服务程序入口地址的地址 D. 例行程序入口地址 16.如果有多个中断同时发生,系统将根据中断优先级响应优先级最高的中断请求。若要调整中断事件的处理次序,可以利用。 A. 中断嵌套 B. 中断向量 C. 中断响应 D. 中断屏蔽 18.中断系统中的断点是指。 A.子程序入口地址 B.中断服务子程序入口地址C.中断服务程序入口地址表 D.中断返回地址 19.在独立编址方式下,CPU对存储单元和I/O设备的访问是靠来区分的。 A.不同的地址代码 B.不同的地址总线 C.不同的指令和不同的控制信号 D.上述都不对 23.采用DMA方式高速传输数据时,数据传送是。 A.在总线控制器发出的控制信号控制下完成的

B.由CPU执行的程序完成的 C.在DMA控制器本身发出的控制信号控制下完成的 D.由CPU响应硬中断处理完成的 24. 下列有关DMA方式进行输入输出的描述中,正确的是。 A. 一个完整的DMA过程,部分由DMAC控制,部分由CPU控制 B. 一个完整的DMA过程,完全由CPU控制 C. 一个完整的DMA过程,完全由CPU采用周期窃取方式控制 D. 一个完整的DMA过程,完全由DMAC控制,CPU不介入任何控制 25. 在DMA传送方式中,发出DMA请求的是。 A. 主存 B. DMA控制器 C. CPU D. 外部设备 26. DMA访问主存时让CPU进入等待状态,等DMA的一批数据访存结束后再恢复工作,这种情况称为。 A. CPU暂停方式 B. 存储器分时方式 C. 周期挪用方式 D. 透明的DMA 27. DMA方式的接口电路中有程序中断部件,其作用是。 A. 实现数据传送 B. 向CPU提出总线使用权 C.发中断请求 D. 向CPU提出传输结束 28. 下列关于DMA方式的正确说法是。 A. DMA方式利用软件实现数据传送 B. DMA方式能完全取代中断方式

计算机组成原理实验1.

计算机组成原理实验1 运算器(脱机)实验 通过开关、按键控制教学机的运算器执行指定的运算功能,并通过指示灯观察运算结果。实验原理: 为了控制Am2901运算器能够按照我们的意图完成预期的操作功能,就必须向其提供相应的控制信号和数据。 控制信号包括 1、选择送入ALU的两路操作数据R和S的组合关系(实际来源)。 2、选择ALU的八种运算功能中我们所要求的一种。这可通过提供三位功能选择码I5、 I4、I3实现。 3、选择运算结果或有关数据以什么方式送往何处的处理方案,这主要通过通用寄存器 组合和Q寄存器执不执行接收操作或位移操作,以及向芯片输出信息Y提供的是 什么内容。这是通过I8、I7、I6三位结果选择码来控制三组选择门电路实现的。 外部数据包括 1、通过D接收外部送来的数据 2、应正确给出芯片的最低位进位输入信号C n 3、关于左右移位操作过程中的RAM3、RAM0、Q3和Q0的处理。 4、当执行通用寄存器组的读操作时,由外部送入的A地址选中的通用寄存器的内容送 往A端口,由B地址选中的通用寄存器的内容送往B端口,B地址还用作通用寄 存器的写汝控制。 对于芯片的具体线路,需说明如下几点: 1、芯片结果输出信号的有无还受一个/OE(片选)信号的控制。 2、标志位F=0000为集电极开路输出,容易实现“线与”逻辑,此管脚需经过一个电阻 接到+5V。 3、RAM3、RAM0、Q3和Q0均为双向三态逻辑,一定要与外部电路正确连接。 4、通用寄存器组通过A端口、B端口读出内容的输出处均有锁存器线路支持。 5、该芯片还有两个用于芯片间完成高速进位的输出信号/G和/P。 6、Am2901芯片要用一个CLK(CP)时钟信号作为芯片内通用寄存器、锁存器和Q寄 存器的打入信号。 实验步骤如下: (1)选择运算器要完成的一项运算功能,包括数据来源,运算功能,结果保存等;(2)需要时,通过数据开关向运算器提供原始数据; (3)通过24位的微型开关向运算器提供为完成指定运算功能所需要的控制信号; (4)通过查看指示灯或用电表量测,观察运算器的运行结果(包括计算结果和特征标志)。实验准备 12为微型开关的具体控制功能分配如下: A口和B口地址:送给Am2901器件用于选择源与目的操作数的寄存器编号; I8~I0:选择操作数来源、运算操作功能、选择操作数处理结果和运算器输出内容的3组3位控制码; Sci,SSH和SST:用于确定运算器最低位的进位输入、移位信号的入/出和怎样处理Am2901产生的状态标志位的结果。

计算机组成原理实验五参考

实验五CPU组成与机器指令执行实验 第一步,对机器指令系统组成的简单程序进行译码。 第二步,接线 本实验的接线比较多,需仔细。 1.将跳线开关J1用短路子短接。时序发生器的输入TJI接控制存储器的输出TJ。控制器的输入C接运算器ALU的C。控制器的输入IR7、IR6、IR5、IR4依次指令寄存器IR的输出IR7、IR6、IR5、IR4。共6条线。

2.控制器的输出LDIR(CER)、LDPC(LDR4)、PC_ADD、PC_INC、M4、LDIAR、LDAR1(LDAR2)、AR1_INC、M3、LDER、IAR_BUS#、SW_BUS#、RS_BUS#、ALU_BUS、CEL#、LRW、WRD、LDDR1(LDDR2)、M1(M2)、S2、S1、S0 依次与数据通路的对应信号连接。共27条线。

3.指令寄存器IR的输出IR0接双端口寄存器堆的RD0、WR0,IR1接RD1、WR1,IR2接RS0,IR3接RS1。共6条线。 合上电源。按CLR#按钮,使实验系统处于初始状态。 第三步,利用控制台微程序KLD设置通用寄存器R2、R3的值 在本操作中,我们打算使R2 = 60H,R3 = 61H。 1.令DP = 0,DB = 0,DZ =0,使实验系统处于连续运行状态。令SWC = 0、SWB = 1、SWA = 1,使实验系统处于寄存器加载工作方式KLD。按CLR#按钮, 使实验系统处于初始状态。 2.在SW7—SW0上设置一个存储器地址,该存储器地址供设置通用寄存器使用。 该存储器地址最好是不常用的一个地址,以免设置通用寄存器操作破坏重要的存储 器单元的内容。例如可将该地址设置为0FFH。按一次QD按钮,将0FFH写入AR1 和AR2。

计算机组成原理实验

计算机组成原理 实验报告 学院(系):软件学院 专业:软件设计 班级:软件设计一班 学号:1415925365 姓名:沈烨 2016年11月24日

实验1 Cache模拟器的实现 一.实验目的 (1)加深对Cache的基本概念、基本组织结构以及基本工作原理的理解。 (2)掌握Cache容量、相联度、块大小对Cache性能的影响。 (3)掌握降低Cache不命中率的各种方法以及这些方法对提高Cache性能的好处。 (4)理解LRU与随机法的基本思想以及它们对Cache性能的影响。 二、实验内容和步骤 1、启动CacheSim。 2、根据课本上的相关知识,进一步熟悉Cache的概念和工作机制。 3、依次输入以下参数:Cache容量、块容量、映射方式、替换策略和写策略。 4、读取cache-traces.zip中的trace文件。 5、运行程序,观察cache的访问次数、读/写次数、平均命中率、读/写命中率。思考:1、Cache的命中率与其容量大小有何关系? Cache 的容量与块长是影响cache效率的重要因素; Cache 容量越大,其CPU命中率就越高,当然容量过大,增加成本,而且cache 容量达到一定值时,命中率已不因容量的增加而又明显的提高; 2、Cache块大小对不命中率有何影响? Cache 当块由小到大,在已被访问字的附近,近期也可能访问,增大块长,可将更多有用字存入缓存,提高命中率;但是继续增大块长,命中率可能下降,因为所装入缓存的有用数据反而少于被替换掉的有用数据,由于块长增大,块数减少,装入新的块要覆盖旧块,很可能出现少数块刚装入就被覆盖,故命中率可能下降; 3、替换算法和相联度大小对不命中率有何影响? 替换算法中:LRU算法的平均命中率比FIFO的高 LRU算法比较好地利用访存局部性原理,替换出近期用得最少的字块,它需要随时记录cache 各个字块使用情况。FIFO不需要记录各个字块的使用情况,比较容易实现开销小,但是没有根据访存的局部性原理,最早调入的信息可能以后还要用到,或经常用到例如循环程序; Cache 容量一定时,随着相联度的不断增加,不命中率渐渐减小,但是当相连度增加到一定程度时,不命中率保持不变;

相关主题
文本预览
相关文档 最新文档