计算机组成原理CPU设计(2)
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字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [实用模板]第八章:法国“新浪潮”与“左岸派”
- [实用模板]2021年北京上半年临床医学检验技师生物
- [实用模板]SAP GUI 7.10客户端安装配置文档
- [实用模板]2001年临床执业医师资格考试综合笔试试
- [实用模板]36机场工作实用英语词汇总结
- [实用模板](一)社会保险稽核通知书
- [实用模板]安全教育主题班会材料
- [实用模板]濉溪县春季呼吸道传染病防控应急演练方
- [实用模板]长沙房地产市场周报(1.30-2.3)
- [实用模板]六年级数学上册典中点 - 图文
- [实用模板]C程序设计(红皮书)习题官方参考答案
- [实用模板]中国证监会第一届创业板发行审核委员会
- [实用模板]桥梁工程复习题
- [实用模板]2011学而思数学及答案
- [实用模板]初中病句修改专项练习
- [实用模板]监理学习知识1 - 图文
- [实用模板]小机灵杯四年级试题
- [实用模板]国贸专业毕业论文模板
- [实用模板]教育学概论考试练习题-判断题4
- [实用模板]2015届高考英语一轮复习精品资料(译林
- 00Nkmhe_市场营销学工商管理_电子商务_
- 事业单位考试法律常识
- 诚信教育实施方案
- 吉大小天鹅食品安全检测箱方案(高中低
- 房地产销售培训资料
- 高一地理必修1复习提纲
- 新概念英语第二册lesson_1_练习题
- 证券公司内部培训资料
- 小学英语时间介词专项练习
- 新世纪英语专业综合教程(第二版)第1册U
- 【新课标】浙教版最新2018年八年级数学
- 工程建设管理纲要
- 外研版 必修一Module 4 A Social Surve
- Adobe认证考试 AE复习资料
- 基于H.264AVC与AVS标准的帧内预测技术
- 《食品检验机构资质认定管理办法》(质
- ABB变频器培训课件
- (完整版)小学说明文阅读练习题及答案
- 深思洛克(SenseLock) 深思IV,深思4,深
- 弟子规全文带拼音




