组成原理课程设计

上传人:d****2 文档编号:214717380 上传时间:2023-05-30 格式:DOCX 页数:16 大小:196.82KB
收藏 版权申诉 举报 下载
组成原理课程设计_第1页
第1页 / 共16页
组成原理课程设计_第2页
第2页 / 共16页
组成原理课程设计_第3页
第3页 / 共16页
资源描述:

《组成原理课程设计》由会员分享,可在线阅读,更多相关《组成原理课程设计(16页珍藏版)》请在装配图网上搜索。

1、计算机组成原理课程设计报告设计题目:模型计算机控制器的设计模型计算机控制器的设计本课程设计以设计一个模型计算机的控制器(CU)为目标,通过课程设计,进一步加深对中央 处理器的结构和功能的理解,掌握控制器的设计方法和步骤,为今后从事计算机系统设计打下初步 的基础。1设计要求1.1功能指标和要求1)支持一个规模较小、但功能相对完整的RISC指令系统,指令条数不超过32条;2)采用I/O端口独立编址方式;3)系统总线由CPU总线延伸形成,总线周期固定;4)不支持中断及DMA功能;5)采用组合逻辑控制方式;6)忽略复位电路、时钟电路和时序电路的设计,但需说明对时序信号的要求。1.2性能指标要求1)CP

2、U字长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)数据通路设计及分析:1天3)指令执行流程设计:1天4)微操作的节拍安排和设计:1天5)微操作命令逻辑表达式:1天2 CPU逻辑结构设计2.1 CPU逻辑结构的组成1运算器1)ALU

3、具有8种算术/逻辑运算功能,其运算功能由三位编码121110选择;ALU除了 2个数据 输入端R、S和数据输出端Y外,另有一个最低位进位输入信号C0,以及4个状态输入:进位输出C、 结果零Z、运算溢出V和符号位S。2)ALU输出移位器具有直通、左移一位和右移一位的功能,由两位编码1413选择;3)ALU数据输入端有A和B两个数据锁存器,指令不可访问;4)标志寄存器FLAG,4位,和数据总线的低4位连接,能独立置位或清零;5)4个通用数据寄存器R0R3;6)堆栈指针SP (8位);7)数据缓冲寄存器DR,指令不可访问;8)地址寄存器AR (8位),指令不可访问。2.控制器1)程序计数器PC (8

4、位),具有加1的功能;2)指令寄存器IR (8位);3)微操作控制信号发生器,采用组合逻辑控制方式;4)时钟和时序信号发生器(不需设计)。2.2 CPU的逻辑结构及数据通路结构DR;FCiK-kF,移位器DRVEWERiMEMIRIRoIFPCOPC+KuKTBAZERO.I1R* xnSpVO 一亜“ iowAR二憫操作控制 二信号发生器图2-1 CPU逻辑结构及数据通路结构图在模型计算机的CPU中设置了一个特殊的零寄存器ZERO,该寄存器的值恒为0。各 寄存器的编码(地址)见表2-1。表2-1寄存器编码表寄存器编码R00000R10001R20010R30011DR0100AR0101SP

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

6、 J (sR)LADdR,sR;dR J (sR)STOdR, sR;(dR) J (sR)PUSHsR;SP J (sR), SP J SP+1POPdR;SP J (SP) -1,dR J (SP)CLC;Cy J 0STC;Cy J 1算术运算类指令(6条)ADDdR,sR;dR J (dR) + (sR)SUBdR, sR;dR J (dR) - (sR)ADCdR,sR;dR J (dR) + (sR) + CySBCdR, sR;dR J (dR) - (sR) - CyINCdR;dR J (dR) + 1DECdR;dR J (dR) - 1逻辑运算类指令(8条)ANDdR,s

7、R;dR J (dR) V (sR)ORdR, sR;dR J (dR) A (sR)XORdR,sR;dR J (dR(sR)NOTdR;dR J (dR)SLdR;dR J dR 1 , Cy J D (逻辑右移SLCdR;带进位标志Cy的循环逻辑左移(1位)SRCdR;带进位标志Cy的循环逻辑右移(1位)控制类指令(7条)JMPaddr;PC J addrJCoffset;若 Cy=1 则 PC J (PC) + offsetJNCoffset;若 Cy=0 则 PC J (PC) + offsetJZoffset;若 Z=1 贝 1PC J (PC) + offsetJNZoffset

8、;若 Z=0 则 PC J (PC) + offsetCALLaddr;(SP) J (PC), SP J (SP)+1, PC2)3)J addr1位)1位)RET;SP J (SP) -1, PC J (SP)5)输入/输出类指令(2条);R0 J (port);port J (R0)INportOUTport3.3指令格式设计指令长度为单字节和双字节2种,操作码字段的长度可变,指令格式有以下六种。 仁格式一743210操作码dRsR格式二74321 0操作码IOpor t/ addr格式三74321 0操作码dR/sR格式四74321 0操作码dR/sRaddr格式五74321 0操作码

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

10、sRORdR, sR12 * *dR J (dR) V (sR)80111 dR sRXOR dR, sR12 * *dR J (dR) (sR)91000 dR sRADC DS, sR12* * * *dR J (dR) + (sR)+Cy101001 dR sRSBCDS, sR12* * * *dR J (dR)-(sR)-Cy111010 portINport11 R0 J (port)121011 portOUT port11 port J (R0)131100 00 dRPUSHsR11 SP J (sR), SP J (SP)+1141100 01 dRPOPdR11 SP J

11、 (SP)-1, dR J (SP)151100 10 dRINCdR11* * * *dR J (dR)+1161100 11 dRDEC dR11* * * *dR J (dR)-1171101 00 dRSHLdR11dR J dR*2, Cy J D181101 01 sRSHRdR11dR J dR/2, Cy J D,191101 10 dRSLCdR11带进位Cy的逻辑循环左移201101 11 dRSRCdR11带进位Cy的逻辑循环右移211110 00 dRNOT dR11 * *dR J (dR)221110 01 dRdataMOV dR, data22dR J data

12、231110 1000CLC100-Cy J 0241110 1001STC101-Cy J 1251110 1010addrCALLaddr21 (SP) J (PC) , SPJ(SP)+1PC J addr261110 1011RET10 SPJ(SP)-1, PCJ(SP)271110 1100offsetJCoffset21 C=1 时转移到(PC)+offset281110 1100offsetJNCoffset21 C=0 时转移到(PC)+offset291110 1110offsetJZoffset21 Z=1 时转移到(PC)+offset301110 1111offset

13、JNZoffset21 Z=0 时转移到(PC)+offset311111 0000 addrJMPaddr21 PC J addr说明:表中CZVS-栏,*表示该标志位在指令执行后被重置,表示该标志位不受指令执行的影响。4控制信号和时序信号4.1控制信号在计算机的控制信号中,大部分用于控制寄存器数据输入和数据输出操作。寄存器一般由带有 三态输出的D触发器或D锁存器构成,因此需要有数据输入和数据输出两个控制信号。为了可靠地 实现两个寄存器之间的数据传送操作,输出寄存器的数据输出控制信号必须首先有效,经过一段时 间的延迟后,输入寄存器的数据输入控制信号才能有效,在时间上有一个时间差。寄存器之间的

14、数 据传送一般可在一个时钟周期内完成,因此,寄存器数据输出的控制信号持续1个时钟周期有效, 而寄存器数据输入的控制信号持续半个时钟周期,且在时钟信号的后半个周期有效。1运算器相关的控制信号1)ALU运算功能控制信号AUL运算功能由控制信号I2I1I0的编码选择,具体见表4-1。表4-1 ALU运算功能选择1 I I2 1 0运算功能说明000R+S加法001S-R减法010R+0加0011R- 0减0100RVSnnu-逻辑或101RAS和110R逻辑非111RS逻辑异或2)移位器操作控制信号移位器的操作功能由控制信号1丄的编码选择,具体见表4-2。表4-2移位器操作功能选择I I4 3输出Y

15、说明00三态Y输出高阻态01Y=FF直通10F=F*2F左移1位11F=F/2F右移1位3)寄存器输入/输出控制信号通用寄存器组RR的数据输入输入和输出分别由R及R控制,其中R信号持续1个时钟周03ninono期,而R则只在时钟信号的后半个周期有效。ni数据缓冲寄存器DR在物理上由输出缓冲寄存器和输入缓冲寄存器组成,以便实现双向数据缓 冲,但在逻辑上只有一个地址,一般通过读、写这两种不同的操作来区分不同的物理寄存器。对于数据输出缓冲寄存器DR,数据的传送方向为:CPUT主存或I/O,其数据输入控制信号为 DR,数据输出由WE信号控制。i对于数据输入缓冲寄存器DR,数据的传送方向为:主存或I/O

16、TCPU,其数据输入由WE控制(WE 和WE为互补信号),数据输出由DR控制。0地址寄存器AR为单向输出,AR为数据打入控制信号。I零寄存器(Z)为单向输出,z为数据输出控制信号。o标志寄存器FLAG的数据输出信号为Z。标志寄存器FLAG在结构上不同于普通的寄存器,普通O寄存器的各个数据位作为一个整体同时接收数据,不能实现个别数据位独立接收数据,但标志寄存 器FLAG要求各数据位能够独立接收ALU输出的特征值(C、Z、V、S),通常情况下,需用时序逻辑 的设计方法来实现。标志寄存器FLAG中各标志位的设置情况见表4-3。表4-3标志寄存器中CZVS标志值的选择I I I765CZVS说明000

17、CZVSCZVS的值保持不变001C7F=0OVF7接收ALU标志位输出的值0100ZVSC置“0”,ZVS不变0111ZVSC置T, ZVS不变100F0ZVS左移操作,ZVS不变101F7ZVS右移操作,ZVS不变堆栈指针SP的输入输入和输出分别由SP及SP控制。io4)ALU进位信号C及移位器低位F及高位F的取值7ALU进位信号C及移位器低位F及高位F的取值见表4-4。7表4-4 ALU进位信号C。及移位器低位F。及高位F?的取值I I I10 9 8C0F7F0说明0000单字长加法、逻辑运算0011单字长减法010C7多字长加、减法011无操作1000TF0逻辑左移101CTF0循环

18、左移1100TF7逻辑右移111CTF7循环右移2控制器(CU )相关的控制信号程序计数器PC具有加1的功能,当控制信号PC+1有效时PC的值加1,其数据输入和输出分别由 信号PC和PC控制。io指令寄存器IR为8位,各位均有直接通道连接到微操作和时序信号发生器,其输入和输出分别 由信号IR和IR控制。io3存储器及I/O相关的控制信号访问存储器一般需要MRD和mwr两个信号来控制读、写操作,访问I/O端口则需要IOR和 IOW两个信号来控制读、写操作,为了便于控制数据总线的数据传送方向,可在CPU设置REQ (存 储器及i/o请求)、MIO (存储器或i/o选择)和WE (写允许)三个控制信

19、号,通过对这三个信 号的译码后产生所需要的MRD、MWR、IOR和IOW。表4-3读写访问的控制信号REQ MIO WE译码输出说明0 X X无效无操作1 0 0MWR写存储器1 0 1MRD读存储器1 1 0IOW写I/O1 1 1IOR读I/O4.2数据通路分析1取指令操作 PCTARTMEMTDRTIR PC+1TPC2”执行指令1) 双操作数运算指令sR op dRTdR sRTA dRTB FTRi2) 单操作数运算指令op dRTdR dRTA FTRi3) 寄存器间数据传送指令 op sRTdR(sR) T (dR)4) push数据传送指令sRTSP sRTDR SPTAR S

20、P-1TSP DR TAR5) pop数据传送指令 SPTdR SP T AR SP+1T SPART DR DRTdR6) 输入/输出指令op port por tTRO 或 ROT (port)7) jmp控制指令addrTPC addrTPC8) offset类指令op(PC + offset TPC) PCTA offse tTB A+BTPC9) call指令op addr PCTDR SPTAR SP1TSP DRT AR addrTPC10) ret指令Op SPTAR SP+1TSPARTDR DRTPC11) LAD指令sRTdR sRTAR M(AR)TDR DRTdR12

21、) STO指令sRT dR sRTDR dRTAR DRTM(AR)4.3时序信号模型计算机的主时钟频率f为1MHz,周期T=1us,采用方波波形(即脉宽和脉间相等),普通 的低速RAM和ROM的访问周期一般在小于300ns,因此存储器的访问可在1个时钟周期内完成。因 此,模型机的机器周期M固定由1个时钟周期构成,指令的机器周期数可变,但至少需要MO、M1两 个机器周期,其中M0为取指周期,M1为执行周期。5指令执行流程设计指令执行流程图如图5-1所示,每个方框图表示一个机器周期,方框图的左上方的数字编码为 机器周期的编号。开始MOV dR,datadR,sST|O dR,sRPUSH sR

22、TPOP dR00000 P&AROOO01M(AR)R000:0DMR000)M(AR)ROOOllDRtlR00110 sRiAR有效时图5-1指令执行流程图6指令执行流程及控制信号安排根据指令执行流程图,安排各机器周期所需要发出的微操作控制信号,并给出控制信号的编码。表6-1指令流程及控制信号表指令机器码机器 周期PC+1R /M /W源 寄存器目的 寄存器CFF0 0 7I I I标志I I I移位I I运算I I I注释一一0000010001011100000000000000PCTAR, PC+1TPC一一0000101011111011100000000000M(AR)TDR一

23、一0001000000111110000000000000DRTIRMOV1110 01 dR da ta0000010001011100000000000000PCTAR, PC+1TPC0000101011111010000000000000M(AR)TDR000110000010000dR00000000000DRTdRMOV0000 dRsR00100000000sR00dR00000000000sRTdRLAD0001 dRsR00110000000sR100000000000000sRTAR0000101011111010000000000000M(AR)TDR0001100000

24、10000dR00000000000DRTdRSTO0010 dR sR00111000000dR010100000000000dRTAR01000000000sR010000000000000sRTDR0100101000100111100000000000DRTM(AR)PUSH1100 00 dR0101000000110010100000000000SPTAR01000000000sR010000000000000sRTDR0100101000100111100000000000DRTM(AR)POP1100 01 dR0101000001001010100000000000SPTAR

25、0000101011111010000000000000M(AR)TDR000110000010000dR00000000000DRTdRCLC1110 1000011000000000010000000TCySTC1110 1001011000000000011000001TCvADD0011 dR sR10000000000sR100100000100000sRTA10001000000dR101000000100000dRTB1001000001001,101000dR00000100000A+BTdRSUB0100 dR sR10000000000sR100100100100000sR

26、TA10001000000dR101000100100000dRTB1001100001001,101000dR00100100001A-BTdR7微操作控制信号逻辑表达式M0、M1两个机器周期,其中M0为取指周期,M1为执行周期;00000,00001,00010,00011,00100,00110,00111, 01000, 01001,01010,01100,10000,10001,10010,10010, 10011 为 MOV、LAD、STO、PUSH、POP、CLC、STC、ADD、SUB 指令中的微操作 各微操作控制信号逻辑表达式为:PC+仁(M0+M1)00000*PCi写存储器 MWE(D)二M1* MWR *01001读存储器 MRD(D)二(M0+M1) MRD *00001打入数存地址寄存器 LDAR=M1*AR*( 00010+ 00111+ 01010)i打入指令寄存器LDIR二(M0+M1*00010*IRi打入数据缓冲寄存器LDDR=M1*01000*DRi打入目标寄存器 LDdR=M1*00011+M1*00100+M1*10010+M1*10011打入进位信号C LDCy=M1*01100打入A寄存器LDA=M1*10000打入B寄存器LDB=M1*10001

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!