ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:79.43KB ,
资源ID:3174392      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-3174392.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(模型计算机控制器的设计.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

模型计算机控制器的设计.docx

1、模型计算机控制器的设计计算机组成原理课 程 设 计 报 告设计题目: 模型计算机控制器的设计 学 生: 学 号: 专业班级: 13计师X班 指导教师: 麦 山 提交日期: 2015 年 6 月 XX 日计算机科学系二一五年模型计算机控制器的设计本课程设计以设计一个模型计算机的控制器(CU)为目标,通过课程设计,进一步加深对中央处理器的结构和功能的理解,掌握控制器的设计方法和步骤,为今后从事计算机系统设计打下初步的基础。1 设计要求1.1 功能指标和要求1)支持一个规模较小、但功能相对完整的RISC指令系统,指令条数不超过32条;2)采用I/O端口独立编址方式;3)系统总线由CPU总线延伸形成,

2、总线周期固定; 4)不支持中断及DMA功能;5)采用组合逻辑控制方式;6)忽略复位电路、时钟电路和时序电路的设计,但需说明对时序信号的要求。1.2 性能指标要求1)CPU字长8位,数据总线8位;2)地址总线8位,最大寻址空间为256字节;3)I/O采用独立编址方式,4位地址码,最大支持16个I/O端口;4)时钟频率1MHz左右,机器周期为3-4个时钟周期;5)CPU输出与外部读写控制的控制信号有/MR、/MW、/IOR、/IOW。1.3 课程设计要求根据课程设计指导,完成模型机控制的设计,并提交课程设计报告。1.4 时间安排1)理解模型机的逻辑结构、数据通路以及指令系统和格式:1天2)数据通路

3、设计及分析:1天3)指令执行流程设计:1天4)微操作的节拍安排与设计:1天5)微操作命令逻辑表达式:1天2 CPU逻辑结构设计2.1 CPU逻辑结构的组成1运算器1)ALU具有8种算术/逻辑运算功能,其运算功能由三位编码I2I1I0选择;ALU除了2个数据输入端R、S和数据输出端Y外,另有一个最低位进位输入信号C0,以及4个状态输入:进位输出C、结果零Z、运算溢出V和符号位S。2)ALU输出移位器具有直通、左移一位和右移一位的功能,由两位编码I4I3选择;3)ALU数据输入端有A和B两个数据锁存器,指令不可访问;4)标志寄存器FLAG,4位,与数据总线的低4位连接,能独立置位或清零;5)4个通

4、用数据寄存器R0R3;6)堆栈指针SP(8位);7)数据缓冲寄存器DR,指令不可访问;8)地址寄存器AR(8位),指令不可访问。2控制器1)程序计数器PC(8位),具有加1的功能;2)指令寄存器IR(8位);3)微操作控制信号发生器,采用组合逻辑控制方式;4)时钟和时序信号发生器(不需设计)。2.2 CPU的逻辑结构及数据通路结构图2-1 CPU逻辑结构及数据通路结构图在模型计算机的CPU中设置了一个特殊的零寄存器ZERO,该寄存器的值恒为0。各寄存器的编码(地址)见表2-1。表2-1 寄存器编码表寄存器编码R0R1R2R3ABZERODRARSPFLAGPCIR000000010010001

5、10100010101100111100010011010101111003 指令系统设计3.1 指令字长和寻址方式设计1)指令字长以单字长为主,少数指令为双字长;2)指令操作码字段长度可变;3)数据寻址支持立即寻址、寄存器直接寻址和寄存器间接寻址三种方式;4)只有取数(LDA)和存数(STO)两条指令可以访问主存。3.2 指令系统设计在以下指令定义中,dR、sR表示通用数据寄存器组R0R3(编号0011)中的一个,data表示8位立即数,addr表示8位无符号地址,port表示4位I/O端口地址。1)数据传送类指令(8条)MOV dR, data ;dR dataMOV dR, sR ;dR

6、 (sR)LAD dR, sR ;dR (sR)STO dR, sR ;(dR) (sR)PUSH sR ;SP (sR),SP SP+1POP dR ;SP (SP)1,dR (SP)CLC ;Cy 0STC ;Cy 12)算术运算类指令(6条)ADD dR, sR ;dR (dR) + (sR) SUB dR, sR ;dR (dR) (sR) ADC dR, sR ;dR (dR) + (sR) + CySBC dR, sR ;dR (dR) (sR) CyINC dR ;dR (dR) + 1DEC dR ;dR (dR) 13)逻辑运算类指令(8条)AND dR, sR ;dR (d

7、R) (sR)OR dR, sR ;dR (dR) (sR)XOR dR, sR ;dR (dR)(sR)NOT dR ;dR (dR)SL dR ;dR dR 1 , Cy D0(逻辑右移1位)SLC dR ;带进位标志Cy的循环逻辑左移(1位)SRC dR ;带进位标志Cy的循环逻辑右移(1位)4)控制类指令(7条)JMP addr ;PC addrJC offset ;若Cy=1 则 PC (PC) + offsetJNC offset ;若Cy=0 则 PC (PC) + offsetJZ offset ;若Z=1 则 PC (PC) + offsetJNZ offset ;若Z=0

8、则 PC (PC) + offsetCALL addr ;(SP) (PC),SP (SP)+1,PC addrRET ;SP (SP)1,PC (SP)5)输入/输出类指令(2条)IN port ;R0 (port)OUT port ;port (R0)3.3 指令格式设计指令长度为单字节和双字节2种,操作码字段的长度可变,指令格式有以下六种。1格式一7 4 3 2 1 0 操作码dRsR2格式二7 4 3 2 1 0操作码IO port / addr3格式三7 4 3 2 1 0操作码dR/sR4格式四7 4 3 2 1 0操作码dR/sRaddr5格式五7 4 3 2 1 0操作码6格式

9、六7 4 3 2 1 0操作码adr3.4 指令汇总表表3-1 指令汇总表序号指令格式汇编语言字长操作数C Z V S功能说明10000 dR sRMOV dR, sR12dR (sR)20001 dR sRLAD dR, sR12dR (sR)30010 dR sRSTO dR, sR12(dR) (sR)40011 dR sRADD dR, sR12* * * *dR (dR)+(sR)50100 dR sRSUB dR, sR12* * * *dR (dR)-(sR)60101 dR sRAND dR, sR12*dR (dR)(sR)70110 dR sROR dR, sR12*dR

10、(dR)(sR)80111 dR sRXOR dR, sR12*dR (dR)(sR) 91000 dR sRADC DS, sR12* * * *dR (dR)+(sR)+Cy101001 dR sRSBC DS, sR12* * * *dR (dR)-(sR)-Cy111010 portIN port11R0 (port)121011 portOUT port11port (R0)131100 00 dRPUSH sR11SP (sR),SP (SP)+1141100 01 dRPOP dR11SP (SP)-1,dR (SP)151100 10 dRINC dR11* * * *dR (

11、dR)+1161100 11 dRDEC dR11* * * *dR (dR)-1171101 00 dRSHL dR11*dR dR*2,Cy D7181101 01 sRSHR dR11*dR dR/2,Cy D0191101 10 dRSLC dR11*带进位Cy的逻辑循环左移201101 11 dRSRC dR11*带进位Cy的逻辑循环右移211110 00 dRNOT dR11*dR (dR)221110 01 dRdataMOV dR, data22*dR data231110 1000CLC100Cy 0241110 1001STC101Cy 1251110 1010addrCA

12、LL addr21(SP) (PC),SP(SP)+1PC addr261110 1011RET10SP(SP)-1,PC(SP)271110 1100offsetJC offset21C=1 时转移到(PC)+offset281110 1100offsetJNC offset21C=0 时转移到(PC)+offset291110 1110offsetJZ offset21Z=1 时转移到(PC)+offset301110 1111offsetJNZ offset21Z=0 时转移到(PC)+offset311111 0000addrJMP addr21PC addr说明:表中CZVS一栏,*

13、表示该标志位在指令执行后被重置,表示该标志位不受指令执行的影响。4 控制信号和时序信号4.1 控制信号在计算机的控制信号中,大部分用于控制寄存器数据输入和数据输出操作。寄存器一般由带有三态输出的D触发器或D锁存器构成,因此需要有数据输入和数据输出两个控制信号。为了可靠地实现两个寄存器之间的数据传送操作,输出寄存器的数据输出控制信号必须首先有效,经过一段时间的延迟后,输入寄存器的数据输入控制信号才能有效,在时间上有一个时间差。寄存器之间的数据传送一般可在一个时钟周期内完成,因此,寄存器数据输出的控制信号持续1个时钟周期有效,而寄存器数据输入的控制信号持续半个时钟周期,且在时钟信号的后半个周期有效

14、。1运算器相关的控制信号1)ALU运算功能控制信号AUL运算功能由控制信号I2I1I0的编码选择,具体见表4-1。表4-1 ALU运算功能选择I2I1I0运算功能说明000001010011100101110111RSSRRSRSRSSRS加法减法减法逻辑或逻辑与逻辑异或逻辑同或2)移位器操作控制信号移位器的操作功能由控制信号I4I3的编码选择,具体见表4-2。表4-2 移位器操作功能选择I4I3输出Y说明00011011三态Y=FF=F*2F=F/2Y输出高阻态F直通F左移1位F右移1位3)寄存器输入/输出控制信号通用寄存器组R0R3的数据输入输入和输出分别由Rni及Rno控制,其中Rno信

15、号持续1个时钟周期,而Rni则只在时钟信号的后半个周期有效。数据缓冲寄存器DR在物理上由输出缓冲寄存器和输入缓冲寄存器组成,以便实现双向数据缓冲,但在逻辑上只有一个地址,一般通过读、写这两种不同的操作来区分不同的物理寄存器。对于数据输出缓冲寄存器DR,数据的传送方向为:CPU主存或I/O,其数据输入控制信号为DRi,数据输出由信号控制。对于数据输入缓冲寄存器DR,数据的传送方向为:主存或I/OCPU,其数据输入由WE控制(WE与为互补信号),数据输出由DRo控制。地址寄存器AR为单向输出,ARi为数据打入控制信号。零寄存器(Z)为单向输出,Zo为数据输出控制信号。标志寄存器FLAG的数据输出信

16、号为Zo。标志寄存器FLAG在结构上不同于普通的寄存器,普通寄存器的各个数据位作为一个整体同时接收数据,不能实现个别数据位独立接收数据,但标志寄存器FLAG要求各数据位能够独立接收ALU输出的特征值(C、Z、V、S),通常情况下,需用时序逻辑的设计方法来实现。标志寄存器FLAG中各标志位的设置情况见表4-3。表4-3 标志寄存器中CZVS标志值的选择I7I6I5CZVS说 明000001010011100101CC701F0F7ZF=0ZZZZVOVVVVVSF7SSSSCZVS的值保持不变接收ALU标志位输出的值C置“0”,ZVS不变C置“1”,ZVS不变左移操作,ZVS不变右移操作,ZVS

17、不变堆栈指针SP的输入输入和输出分别由SPi及SPo控制。4)ALU进位信号C0及移位器低位F0及高位F7的取值ALU进位信号C0及移位器低位F0及高位F7的取值见表4-4。表4-4 ALU进位信号C0及移位器低位F0及高位F7的取值I10I9I8C0F7F0说明00000101001110010111011101C70F7CF70F0CF0单字长加法、逻辑运算单字长减法多字长加、减法无操作逻辑左移循环左移逻辑右移循环右移2控制器(CU)相关的控制信号程序计数器PC具有加1的功能,当控制信号PC+1有效时PC的值加1,其数据输入和输出分别由信号PCi和PCo控制。指令寄存器IR为8位,各位均有

18、直接通道连接到微操作与时序信号发生器,其输入和输出分别由信号IRi和IRo控制。3存储器及I/O相关的控制信号访问存储器一般需要和两个信号来控制读、写操作,访问I/O端口则需要和两个信号来控制读、写操作,为了便于控制数据总线的数据传送方向,可在CPU设置REQ(存储器及I/O请求)、(存储器或I/O选择)和(写允许)三个控制信号,通过对这三个信号的译码后产生所需要的、和。表4-3 读写访问的控制信号REQ 译码输出说明0 1 0 01 0 11 1 01 1 1无效无操作写存储器读存储器写I/O读I/O4.2 数据通路分析1取指令操作 PCARMEMDRIR PC+1PC2执行指令1)双操作数

19、运算指令 sR op dRdR sRA dRB FRi()4.3 时序信号模型计算机的主时钟频率f为1MHz,周期T=1s,采用方波波形(即脉宽与脉间相等),普通的低速RAM和ROM的访问周期一般在小于300ns,因此存储器的访问可在1个时钟周期内完成。因此,模型机的机器周期M固定由1个时钟周期构成,指令的机器周期数可变,但至少需要M0、M1两个机器周期,其中M0为取指周期,M1为执行周期。5 指令执行流程设计指令执行流程图如图5-1所示,每个方框图表示一个机器周期,方框图的左上方的数字编码为机器周期的编号。图5-1 指令执行流程图6 指令执行流程及控制信号安排根据指令执行流程图,安排各机器周

20、期所需要发出的微操作控制信号,并给出控制信号的编码。表6-1 指令流程及控制信号表指令机器码机器周期PC+1R /M /W源寄存器目的寄存器C0F0F7I10I9I8标志I7I6I5移位I4I3运算I2I1I0注释-0000010001011100000000000000PCAR,PC+1PC-0000101011111011100000000000M(AR)DR-0001000000111110000000000000DRIRMOV1110 01 dRdata0000010001011100000000000000PCAR,PC+1PC0000101011111011100000000000M(AR)DR000110000011100dR00000000000DRdRMOV0000 dRsR00100000000sR00dR00000000000sRdRLAD0001 dRsR00110000000sR1000000000000000sRAR0000101011111011100000000000M(AR)DR000110000011100dR00000000000DRdRSTO7 微操作控制信号逻辑表达式

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2