36
计计计计计计计 计计计计计计计 计计计计 计计计计 计计计计 计计计计计 计计计计 计计计计计 CPU CPU 计计 计计

计算机组成原理 考研辅导

  • Upload
    hafwen

  • View
    79

  • Download
    2

Embed Size (px)

DESCRIPTION

计算机组成原理 考研辅导. 第五部分 中央处理器 CPU 例题. 【 例 1】2009 年试题 44. - PowerPoint PPT Presentation

Citation preview

Page 1: 计算机组成原理 考研辅导

计算机组成原理计算机组成原理考研辅导考研辅导

第五部分 中央处理器第五部分 中央处理器 CPUCPU

例题例题

Page 2: 计算机组成原理 考研辅导

【【例例 11】】 20092009 年试题年试题 4444 某计算机字长某计算机字长 1616 位,采用位,采用 1616 位定长指令字结位定长指令字结

构,部分数据通路结构如下图所示,图中所有构,部分数据通路结构如下图所示,图中所有控制信号为控制信号为 11 时表示有效,为时表示有效,为 00 时表示无效,时表示无效,例如控制信号例如控制信号 MDRinEMDRinE为为 11 表示允许数据从表示允许数据从DBDB 打入打入 MDRMDR,,MDRinMDRin为为 11 时表示允许数据时表示允许数据从内部总线打入从内部总线打入 MDRMDR 。假设。假设 MARMAR 的输出一的输出一直处于使能状态。加法指直处于使能状态。加法指令“令“ ADDADD(( RR11 ),), RR00”” 的功能为(的功能为( RR00)) + +

(((( RR11 ))))→(→( RR11 ),即将),即将 RR00 中的数据与中的数据与RR11 的内容所指主存单元的数据相加,并将结果的内容所指主存单元的数据相加,并将结果送入送入 RR11 的内容所指主存单元中保存。的内容所指主存单元中保存。

Page 3: 计算机组成原理 考研辅导

【【例例 11】】 20092009 年试题年试题 4444存储器MemR MemW Data Addr

CB

DB

AB

MAR MDR

MDRoutE

MDRout

MDRin MDRinEMARin

ALU

A

AC

ACout

ACin

Add

Ain

R0

R0out

R0in

R1

R1out

R1in

PC

PCout

PCin

PC+1

IR IRin

至指令译码部件

内总线

Page 4: 计算机组成原理 考研辅导

【【例例 11】】 20092009 年试题年试题 4444 下表给出了上述指令的取指和译码阶段每个节下表给出了上述指令的取指和译码阶段每个节

拍(时钟周期)的功能和有效控制信号,请按拍(时钟周期)的功能和有效控制信号,请按表中描述方式用表格列出指令执行阶段每个节表中描述方式用表格列出指令执行阶段每个节拍的功能和有效控制信号。拍的功能和有效控制信号。

时钟 功能 有效控制信号C1 MAR←( PC ) PCout ,MARin

C2 MDR←M(MAR )PC ← ( PC) +1

MemR, MDRin

PC+1

C3 IR ← (MDR ) MDRout , IRin

C4 指令译码 无

Page 5: 计算机组成原理 考研辅导

【【例例 11】】 20092009 年试题年试题 44-44- 答答案案 11

时钟 功能 有效控制信号C1 MAR←( PC ) PCout ,MARin

C2 MDR←M(MAR )PC ← ( PC) +1

MemR, MDRinE

PC+1

C3 IR ← (MDR ) MDRout , IRin

C4 指令译码 无C5 MAR←( R1 ) R1out , MARin

C6 MDR←M(MAR ) MemR, MDRinE

C7 A ← (MDR ) MDRout , Ain

C8 AC←( R0) +A R0out , Add, ACin

C9 MDR←( AC) ACout , MDRin

C10 M(MAR)←(MDR)

MDRoutE, MemW

Page 6: 计算机组成原理 考研辅导

【【例例 11】】 20092009 年试题年试题 44-44- 答答案案 22

时钟时钟 功能功能 有效控制信号有效控制信号CC11 MARMAR←←(( PCPC )) PCPCoutout ,MAR,MARinin

CC22 MDRMDR←M←M((MARMAR ))PC PC ← ← (( PCPC)) +1+1

MemR, MDRMemR, MDRininEE

PC+1PC+1

CC33 IR IR ← ← ((MDRMDR )) MDRMDRout out , IR, IRinin

CC44 指令译码指令译码 无无CC55 AA←←(( RR00 )) RR0out 0out , A, Ainin

CC66 MARMAR←←(( RR11 )) RR1out 1out , MAR, MARinin

CC77 MDRMDR←M←M((MARMAR )) MemR, MDRMemR, MDRininEE

CC88 ACAC←←((MDRMDR)) +A+A MDRMDRout out , Add, AC, Add, ACinin

CC99 MDRMDR←←(( ACAC)) ACACout out , MDR, MDRinin

CC1010 MM((MARMAR))←←((MDMDRR))

MDRMDRoutoutE, MemWE, MemW

Page 7: 计算机组成原理 考研辅导

【【例例 22 】】控制器(大纲)控制器(大纲) 下图是一个简化的 CPU 与主存连接结构示意图 ( 图中省略了所有多路选择器 ) 。其中有一个累加寄存器 AC 、一个状态寄存器和其他四个寄存器:主存地址寄存器 MAR 、 主存数据寄存器 MDR 、程序计数器 PC 和指令寄存器 IR ,各部件及其之间的连线表示数据通路,箭头表示信息传送方向。要求:

(1) 请写出图中 a、 b、 c、 d 四个寄存器的名称。

(2) 简述图中指令从主存取到控制器的过程。 (3) 说明数据从主存取出、运算、写回主存所经

过的数据通路 ( 假定数据地址已在 MAR中 ) 。

Page 8: 计算机组成原理 考研辅导

【【例例 22 】】控制器(大纲)控制器(大纲)主存储器

a c

ACb

d

状态寄存器操作控制器

+1

CPU (2)(2) 取指令取指令 PCPC→MAR,M(MA→MAR,M(MA

R) →MDR, MDR R) →MDR, MDR →IR, PC+1→IR, PC+1

(3)(3)取数、运算、取数、运算、写回写回

M(MAR)→MDR, M(MAR)→MDR, MDR →ALU, MDR →ALU, 运运算结果算结果→→ AC, AC, AC→MDR, MDR AC→MDR, MDR →M (MAR)→M (MAR)

MDRMDR MARMAR

IRIR

PCPC

Page 9: 计算机组成原理 考研辅导

【【例例 33 】】单总线控制器单总线控制器 11设 CPU 内部结构如图下所示,此外还设有 B、

C、 D、 E、 H、 L6 个寄存器(图中未画出),它们各自的输入和输出端都与内部总线相通,并分别受控制信号控制(如 Bin 为寄存器 B 的输入控制; Bout 为寄存器 B 的输出控制),假设 ALU 的结果直接送入 Z 寄存器中。要求从取指令开始,写出完成下列指令所需的控制信号。

ADD B, [C] ( B) + (( C ))→ B MOV AC, #data data →AC,

data 在指令第二字

Page 10: 计算机组成原理 考研辅导

CU

IR

PC

MAR

MDR

AC

Y

ALU

Z

…控制信号

CPU 内 部 总 线

时钟

控制信号 …

MDROut

MDRin

IRin

PCin

PCOut

MARin

ACin

ACOut

Yin

ALUin

ZOut

A M

D

+1

Page 11: 计算机组成原理 考研辅导

ADDADD BB,, [C][C]时钟时钟 操作操作 控制信号控制信号

MM11

PC PC → MAR ,MM((MARMAR ) ) → MDRMDR,, PC+1PC+1

PCPCoutout ,MAR,MARin in ,read,read,,+1+1

MM22 MDR MDR →IR MDRMDRoutout,, IRIRinin

MM33C C →MAR,MM((MAMARR ) ) → MDRMDR

CCout out , MAR, MARin in ,read,read

MM44 MDRMDR→ YY MDRMDRoutout,, YYinin

MM55 BB +Y →Z BBout out , ALU, ALU(( ++ ))MM66 ZZ→B ZZout out , B, Binin

Page 12: 计算机组成原理 考研辅导

MOV MOV ACAC,, #data#data

时钟时钟 操作操作 控制信号控制信号

MM11

PC PC → MAR ,MM((MARMAR ) ) → MDRMDR,, PC+1PC+1

PCPCoutout ,MAR,MARin in ,read,read,,+1+1

MM22 MDR MDR →IR MDRMDRoutout ,, IRIRinin

MM33 PC PC → MAR ,MM((MARMAR ) ) → MDRMDR,, PC+1PC+1

PCPCoutout ,MAR,MARin in ,read,read,,+1+1

MM44 MDRMDR→ ACAC 无无

Page 13: 计算机组成原理 考研辅导

【【例例 33 】】单总线控制器单总线控制器 11

扩展: (均为双字指令)扩展: (均为双字指令)ADD EADD E,, #data#dataADD [addr],FADD [addr],FJMP disp ;PC+disp JMP disp ;PC+disp →→PCPCMOV AC,[H+X];MOV AC,[H+X]; XX 是变址寻址的形式是变址寻址的形式

地址,在指令第二字地址,在指令第二字

Page 14: 计算机组成原理 考研辅导

【【例例 44 】】单总线控制器单总线控制器 22 某单总线计算机的主要部件如图所示,其中:

LA—A 输入选择器, LB—B 输入选择器, C、D— 暂存器。

( 1 )请补充各部件间的主要连接线,并注明数据流动方向。

( 2 )拟出指令 ADD( R1 ),( R2) + 的执行流程(含取指过程与确定后继指令地址)。该指令的含义是进行加法操作,源操作数地址和目的操作数地址分别在寄存器 R1和 R2 中,目的操作数寻址方式为自增型寄存器间接寻址。

Page 15: 计算机组成原理 考研辅导

连连线线

ALU

MAR

MDR

M

LA

移位器

LB

IR

PC

C

D

R0

R2

R3

ALU

MAR

MDR

M

LA

移位器

LB

IR

PC

C

D

R0

R1

R2

R3

Page 16: 计算机组成原理 考研辅导

功能: ((R1))+((R2)) →(R2), (R2)+1→R2①① PC PC → MAR ,MM(MAR)(MAR)→MDRMDR,, PC+1PC+1②② MDR MDR →IR③ R1 →MAR, MM(MAR)(MAR)→MDRMDR④④ MDRMDR→LA⑤ R2 →MAR, MM(MAR)(MAR)→MDRMDR⑥⑥ MDRMDR→LB⑦ LA+LB →MDR⑧ MDR → MM(MAR)(MAR)⑨ R2 →LA⑩ LA+1 → R2

ADDADD(( R1R1 ),(),( R2R2)) ++

Page 17: 计算机组成原理 考研辅导

【【例例 55 】】单总线控制器单总线控制器 33设 CPU 中各部件及其相互连接关系如图 2-5-6

所示。图中 W 是写控制标志, R 是读控制标志, R1和 R2 是暂存器。

( 1 )假设要求在取指周期由 ALU 完成( PC) +1→PC 的操作(即 ALU 可以对它的一个源操作数完成加 1 的运算)。要求以最少的节拍写出取指周期全部微操作控制信号及节拍安排。

( 2 )写出指令 ADD # a( # 为立即寻址特征,隐含的操作数在 ACC 中)在执行阶段所需的微操作控制信号及节拍安排。

Page 18: 计算机组成原理 考研辅导

【【例例 55 】】单总线控制器单总线控制器 33

R1 ALU R2ACCMDR

MAR IR PC

W

R

微操作命令形成部件

存储器

CPU

内部总线bus

Page 19: 计算机组成原理 考研辅导

【【例例 55 】】单总线控制器单总线控制器 33 ( 1 )取指周期:①① PCPC→MAR ,

1→R,MM(MAR)(MAR)→MDRMDR,, PC+1 PC+1 →R2②② MDR MDR →IR③ R2 →PC ( 2 )执行指令 ADD # a (假设 a 在指

令中的地址码字段)①① IRIR(( addraddr ))→ R1 ② ACC→ 内部 bus, R1+ACC→R2③③ R2 R2 →ACC

Page 20: 计算机组成原理 考研辅导

【【例例 66 】】双总线控制器双总线控制器 11一 CPU 数据通路为双总线结构,如下图所示。

图中连线有误。 回答下列问题:( 1 )画出修正错误后的连线图,不能改变原

有的双总线结构。( 2 )如要实现直接寻址方式,如何修改?

(假设指令为双字,第二字是直接地址;或者假设指令为单字)

( 3 )描述 ADD addr, R1 指令从取指令开始的实现过程。指令的功能为

( R1) +( addr )→ addr

Page 21: 计算机组成原理 考研辅导

【【例例 66 】】双总线控制器双总线控制器 11

IR

ALU

R4R3R2R1PC

MAR

MDR

M

RA

IR

ALU

R4R3R2R1PC

MAR

MDR

M

RA

Page 22: 计算机组成原理 考研辅导

(2) 直接寻址:指令为单字,则不需要更改(存在IR到MAR 的通路);

若为双字指令,在取出指令第二字后,要送入MAR ,所以必须存在 MDR到MAR 之间的数据通路。方法:通过设置一个连通器连接双总线。

IR

ALU

R4R3R2R1PC

MAR

MDR

M

RAG

【【例例 66 】】双总线控制器双总线控制器 11

Page 23: 计算机组成原理 考研辅导

【【例例 66 】】双总线控制器双总线控制器 11 (3)ADD addr, R1 单字指令: addr 在地址码字段① PC→MAR,M(MAR)→ MDR,MD

R →IR, PC+1

② IR( addr →) MAR,M(MAR)→ MDR

③ MDR→RA

④ R1 → bus ,( R1) +( RA) → MDR

⑤ MDR → M(MAR)

Page 24: 计算机组成原理 考研辅导

【【例例 66 】】双总线控制器双总线控制器 11 (3)ADD addr, R1 双字指令: addr 在指令第二字① PC→MAR,M(MAR)→ MDR,MDR

→IR, PC+1② PC→MAR,M(MAR)→ MDR , PC+1③ MDR →MAR④ M(MAR)→ MDR

⑤ MDR→RA

⑥ R1 → bus ,( R1) +( RA) → MDR⑦ MDR → M(MAR)

Page 25: 计算机组成原理 考研辅导

【【例例 77 】】双总线控制器双总线控制器 22 某计算机的 CPU 内部为双总线结构,如图所

示,图中 Y 为暂存器, PC 为程序计数器, MAR和MDR 分别为存储器地址和数据寄存器, IR 为指令寄存器。所有数据传送都通过 ALU, ALU 还具有下列功能。

F=A ; F=B F=A+1 ; F=B+1 F=A-1 ; F=B-1 写出转子指令( JSR )的取指和执行周期的微

操作序列。 JSR 指令占两个字,第 1 个字是操作码,第 2 个字为子程序的入口地址。返回地址保存在存储器堆栈(上推堆栈)中,堆栈指针始终指向栈顶空单元。

Page 26: 计算机组成原理 考研辅导

【【例例 77 】】双总线控制器双总线控制器 22

Y SPMDR

MAR

IR PC

AL

U

A

B

Page 27: 计算机组成原理 考研辅导

堆栈概念堆栈概念堆栈:由若干个连续主存单

元组成的先进后出( first in last out ,即 FILO )存储区。

栈底:第 1 个放入堆栈的数据所存放的单元,栈底是固定不变的。

栈顶:最近放入的数据所存放的单元;– 栈顶是随着数据的入栈和

出栈在时刻变化;– 栈顶的地址由堆栈指针

SP 指明。

存储器

堆栈段

栈底

SP栈顶

Page 28: 计算机组成原理 考研辅导

堆栈的结构堆栈的结构一般计算机中,堆栈从高地址向低地

址扩展,即栈底的地址总是大于或等于栈顶的地址,称为上推堆栈;也有少数计算机相反,称为下推堆栈。

堆栈指针的管理:– SP 总是指向最后压入的有效数据– SP 总是指向栈顶的空单元

Page 29: 计算机组成原理 考研辅导

对堆栈的访问与操作只对栈顶操作;两种操作:

–压入: PUSH 指令;数据存入堆栈

–弹出: POP 指令;从堆栈取出数据

假设一堆栈:–结构?–数据字长为 1B ;

存储器

堆栈段

栈底

SP栈顶

00000000H:

0FFFFFFFFH:

××

××

××

××

Page 30: 计算机组成原理 考研辅导

堆栈指令的实现

弹出指令 POP Ri :从堆栈中弹出 1 个数据送 Ri 寄存器 :–((SP)) → Ri ,(SP)+ 1→SP思考:

–指令的两个操作,顺序互换?–堆栈结构改变后,如何实现?

压入指令 PUSH Ri :将Ri 寄存器内容压入堆栈 :–(SP)- 1→SP, (Ri) →(SP)

存储器

堆栈段

栈底

SP栈顶

00000000H:

0FFFFFFFFH:

××

××

××

××

Page 31: 计算机组成原理 考研辅导

【【例例 77 】】双总线控制器双总线控制器 22 取指令:① PC→B, F=B, F→MAR, read,M(MAR)→MDR② PC→B, F=B+1, F→PC③ MDR→B, F=B, F→IR 执行指令:① PC→B, F=B, F→MAR, read,M(MAR)→MDR② PC→B, F=B+1, F→PC③ MDR→B, F=B, F→Y④ SP→B, F=B, F→MAR⑤ PC→B, F=B, F→MDR, write , MDR→M(MAR)⑥ SP→B, F=B-1, F→SP⑦ Y→A, F=A, F→PC

Page 32: 计算机组成原理 考研辅导

【【例例 88 】】微指令微指令某机采用微程序控制方式,微指令字长

24 位,采用水平型编码控制的微指令格式,断定方式。共有微命令 30 个,构成4 个互斥类,各包含 5 个、 8 个、 14 个和 3 个微命令,外部条件共 3 个。

( 1 )设计出微指令的具体格式。( 2 )控制存储器的容量应为多少?

Page 33: 计算机组成原理 考研辅导

【【例例 88 】】微指令微指令( 1 )微指令的具体格式:

– 3 位、 4 位、 4 位、 2 位、 3 位、 8 位(下址字段)

( 2 )控制存储器的容量应为多少?28×24 位

Page 34: 计算机组成原理 考研辅导

【【例例 99 】】微命令编码微命令编码某机有 8条微指令 I1~I8 ,每条微指令所

含的微命令控制信号如表所示。 试为这10 个微命令设计格式并安排编码。

a b c d e f g h i j

I1 √ √I2 √ √ √I3 √ √ √I4 √ √I5 √ √ √I6 √ √ √I7 √ √I8 √ √ √

Page 35: 计算机组成原理 考研辅导

【【例例 99 】】微命令编码微命令编码a b c d e f g h i j

a √ √ √ √b √ √ √c √ √ √ √d √ √e √ √f √ √g √ √h √i √ √j √

Page 36: 计算机组成原理 考研辅导

【【例例 99 】】微命令编码微命令编码a,b,ec,d,fg,h,ji