教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 实用模板 >

计算机组成原理CPU设计(2)

来源:网络收集 时间:2026-07-08
导读: ALU的设计 1) ALU1(与PC相连)的设计 数据通路的分析:功ALU1必须接收PC和DR作为输入,然后把运算结果输出到PC 实现PC←PC+ DR[5…0] 在本CPU中,把PC的导线和ALU的输入输出相连起来,并且利用系统总线把DR和ALU

ALU的设计

1) ALU1(与PC相连)的设计

数据通路的分析:功ALU1必须接收PC和DR作为输入,然后把运算结果输出到PC

实现PC←PC+ DR[5…0]

在本CPU中,把PC的导线和ALU的输入输出相连起来,并且利用系统总线把DR和ALU的输入连接起来。

用计数器来实现PC←PC+1操作,就可以在FETCH2内完成,因为计数器不必占用总线的时间。

6 PC PARALLEL ADDER 6 TO PC

DR From bus 6 D[5…0]

2) ALU2(与AC相连)的设计

在本ALU的设计中AC和ALU的输入输出连接,并且利用系统总线把DR和ALU和输入相连起来。

AC 8 8 8 0 M 1 U X 2 8 8 TO AC 8 8 PARALLEL ADDER 8 8 8 ALUS1 ALUS2 DR

From bus

(

[ALUS1,ALUS2]=[0,0], 选AC←AC’, [ALUS1,ALUS2]=[0,1],选AC←AC∨DR, [ALUS1,ALUS2]=[1,0],选AC <- AC + DR', )

- 6 -

用硬布线的方法设计控制器

组成: 计数器:保存当前状态

共有9个状态(四条指令,共有9个状态)所以需要一个四——16位译码器,译码器中有7个状态没用到。 译码器:接收当前状态并为每个状态生成单独的信号 逻辑组合:接受单独的状态信号,为每一部件生成控制信号以及计数器的控制信号 原理图: 输入 计 数 器 LD INC CLR 译 码 器 逻 辑 控制信号 计数器与译码器的设计:

1. FETCH1状态:规定计数器的0值,使用计数器的CLR=1到达这一状态。(指令执行完毕后,转入的取址状态。)

2. 将顺序状态设定为计数器的连续值,用INC实现。 3 利用IR映射1 [IR]0来确定指令的执行 如下表 IR 00 01 10 11 计数值 1000 1010 1100 1110 状态 COM1 JREL1 OR1 SUB1 指令的执行

FETCH1――――――――――――――――0 FETCH2――――――――――――――――1 FETCH3――――――――――――――――2 COM1: ――――――――――――――――8 JREL1:――――――――――――――――10 OR1: ――――――――――――――――12 OR2: ――――――――――――――――13 SUB11:――――――――――――――――14 SUB12:――――――――――――――――15

- 7 -

1IR[1..0]0 4 COUNTER LD INC CLR 4 0 1 2 DECODER 8 . 10 12 13 14 15 FETCH1 FETCH2 FETCH2 COM1 JREL1 OR1 OR2 SUB11 SUB12 FETCH1 FETCH2 OR1 SUB11 FETCH3 COM1 JREL1 OR2 SUB12 计数器控制信号的确定

LD:在取址周期的FETCH3状态中发出,进入执行周期的第一个状态(装载1IR[]0进入指令的正确执行周期)FETCH3:IR←DR[7,6], AR←DR[5…0] INC:CLR:如上图所示

根据译码器的输出信号组合后产生CPU中寄存器的有关信号 1 ARLOAD(装载地址寄存器的控制信号) FETCH1:AR←PC

FETCH3:AR←DR[5…0] 2 PCLOAD PCINC

PCLOAD =JREL1: PC←PC+ DR[5…0] PCINC =FETCH2:PC←PC+1 3 DRLOAD(实现DR←M)

FETCH2+OR1+SUB11

4 ACLOAD (实现AC←AC’, AC←AC∨DR,AC <- AC + DR') ACLOAD=COM1+ OR2+ SUB12 5 IRLOAD= FETCH3 6 ALUS1,ALUS2 与AC相连的ALU有两个控制信号

[ALUS1,ALUS2]=[0,0], 选COM1: AC←AC’

[ALUS1,ALUS2]=[0,1],选OR2: AC←AC∨DR;

[ALUS1,ALUS2]=[1,0],选SUB12: AC <- AC + DR' ALUS1= SUB12 ALUS2= OR2

- 8 -

缓冲器控制信号

许多操作需从内部总线上获取数据,CPU必须能控制缓冲器以便在合适的时间将正确的数据放到总线上,为此应满足如下逻辑关系。

MEMBUS= FETCH2+ OR1+ SUB11 PCBUS= FETCH1

READ= FETCH2+ OR1+ SUB11

DRBUS= FETCH3+ JREL1+ OR2+ SUB12 部分电路图如下:

FETCH1 FETCH3 ARLOAD JREL1 PCLOAD FETCH2 PCINC FETCH3 IRLOAD FETCH2 OR1 SUB11 DRLOAD ACLOAD COM1 OR2 SUB12

OR2 SUB12 FETCH2 OR1 SUB11 FETCH2OR1 SUB11 ALUS2 ALUS1 MEMBUS READ

- 9 -

FETCH1 FETCH3JREL1 OR2 SUB12

PCBUS DRBUS 设计验证

1. 程序段如下所列[存贮单元:指令]

0: COM

1: JREL 0 2 OR 4 3: SUB 5 4 20H 5: 30H

2. CPU遵循状态图并以合适的状态顺序取出、译码和执行 每条指令:

COM: FETCH1→FETCH2→FETCH3→COM1 JREL 4: FETCH1→FETCH2→FETCH3→JREL1 OR 5: FETCH1→FETCH2→FETCH3→OR1→OR2

SUB 6: FETCH1→FETCH2→FETCH3→SUB11→SUB12

2. 对这段程序的一次循环的跟踪情况(所有寄存器的初始值都是0) 指令 COM 状态 有效信号 PCBUS,ARLOAD READ,MEMBUS, DRLOAD,PCINC 所执行的操作 AR←0 DR←00H,PC←1 下一个状态 FETCH1 FETCH2 FETCH2 FETCH3 COM1 FETCH3 COM1

DRBUS,ARLOAD, IR←00 IRLOAD AR←00H ACLOAD AC←00H’=FFH FETCH1 - 10 -

…… 此处隐藏:918字,全部文档内容请下载后查看。喜欢就下载吧 ……
计算机组成原理CPU设计(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/520516.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)