16位cpu设计课程设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1石家庄经济学院信息工程学院计算机组成原理课程设计报告题目16位模型计算机的设计姓名学号班号指导老师成绩2011年1月2目录1.课程设计目的·······························································································32.开发工具选择·······························································································33.方案选择···································································································34.指令系统设计······························································································45.模型机框图设计····························································································46.指令流程图··································································································57.微指令格式(微程序控制器)设计·····································································68.微程序(微程序控制器)设计···········································································79.VHDL程序代码····························································································910.调试仿真·································································································1611.课程设计回顾总结··················································································18参考文献································································································1831.课程设计目的(1)、计算机组成原理课程设计的主要任务是让学生通过动脑和动手解决计算机设计中的实际问题。综合运用所学计算机组成原理知识,在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台基本的模型计算机,掌握整机概念,并设计机器指令系统,编写程序,在所设计的模型计算机上调试运行。(2)、通过一台模型机的设计过程,明确计算机的控制原理与控制过程,巩固和灵活应用所学的理论知识,掌握计算机组成的一般设计方法,提高学生设计能力和实践操作技能,为从事计算机研制与设计打下基础。2.开发工具选择使用QUARTUS5.0软件编写并调试VHDL程序,然后做功能仿真。3.方案选择本次实习的内容为16位模型计算机的设计,单总线,采用微程序控制方式,有四种寻址方式:直接寻址、寄存器寻址、寄存器间接寻址和变址寻址。微程序控制方式由微指令译码产生。微程序中一条机器指令往往分成几步执行,将每一步操作所需的若干为命令以代码编写在一条微指令中,若干条微指令组成一段微程序,对应一条机器指令。然后根据系统的需要,事先编制各段微程序,将它存入一个专用寄存器(即控制存储器)中。微程序执行过程:如图1所示,为微程序控制基本框:(1)从控存中逐条取出“取指令操作”,执行取指令公共操作。(2)根据指令的操作码,经过微地址形成部件,得到这条指令的入口地址,并送入微地址寄存器中。(3)从控存中逐条的取出对应的微指令并执行。(4)执行完一条机器指令对应的微程序后又回到取指微程序的入口地址,继续第(1)步,以完成取下一条机器指令的公共操作。IRPSWPC微地址形成电路微地址寄存器μAR微指令寄存器μIR译码器控制存储器CM指令代码运行状态……微命令字段微地址字段……微命令序列图1微程序控制基本框44.指令系统设计模拟机采用了定长的指令格式,每条指令字长为16位。采用的寻址方式为直接寻址(00)、寄存器寻址(01)、寄存器间接寻址(10)和变址寻址(11),操作码类型及编码方式如下5.模型机框图设计模拟机数据通路如图2所示,模型机采用单总线结构,主要包括运部件ALU,以及程序计数器PC、累加器ACC、指令寄存器IR、数据寄存器MDR、地址寄存器MAR和通用寄存器R,M为内存(1)寄存器的位数:所有的寄存器都均为16位A通用寄存器R0,R1该模拟机有2个通用寄存器,用于提供操作数。B指令寄存器IR为了提高取指令的速度,将指令从内存中读出,经数据总线直接置入IR。C数据寄存器MDR、地址寄存器MAR地址寄存器MAR提供访问主存的地址;数据寄存器MDR,把从内存取出的数据暂存于MDR中,在用到该数据进行运算时,再从MDR中取出数据进行运算。D程序计数器PC操作码staaddsuband1or1shl编码方式000000010010001101000101操作码目的操作数寻址方式目的操作数源操作数寻址方式源操作数15121110965430R0R1CDIRPCALUMDRMMARACC图2:模型机数据通路5用于存放下一条指令的内存地址。(2)总线宽度:该模拟机只有一条总线,且总线宽度为16位。(3)ALU位数及运算功能ALU可以实现16位操作数的运算,即ALU的位数为16位。ALU运算功能为:可以实现简单的加(0001:add)、减(0010:sub)、逻辑与(0011:and1)、或(0100:or1)操作。(4)微命令的设置(各标识的含义)经过认真分析各信息传送路径,对指令过程基本掌握,并为相应的微命令做了一下设置:6.指令流程图指令的流程图如图3所示,共有6条指令,每条指令都要经过取指令、分析指令和执行指令3个步骤。在取指令阶段,8条指令是一样的,首先程序计数器PC的内容通过总线送入地址寄存器MAR,存储信息,PC+1传送给PC,把读出的内容传送给指令寄存器IR。再接下来的操作中,根据不同的指令,执行顺序也不同。微地址171615141312111098765-0PC_busload_IRload_MARMDR_busload-MDRALU_ACCINC_PCAddr_busCSR_NWALU_addALU_sub下地址30292827262524232221201918ACC_addDACC_addCD_busload_DC_busload_CR1_busload_R1R0_busload_R0load_PCACC_busload_ACC333231ALU_andALU_orALU_srl67.微指令格式(微程序控制器)设计微指令格式设计如表:控制信号描述load_PC将总线上的数据装载至PCACC_bus用ACC的内容驱动总线load_ACC将总线上的数据载入ACCM—IR,PC+1—PCPC—MAR开始结束图3指令流程图A→MARRi→CstaPC→MARPC+1→PCM→MDR→CC+Ri→MARM→MDR→CC→RjaddM→MDR→DD+Rj→MARM→MDR→DPC→MARPC+1→PCRi→CC+D→MDRMDR→MsubM→MDR→CRj→DC-D→RjRi→MARandRi→CMDR→MCandD→MDRM→MDR→DRj→MDRorM→MDR→CCorD→RjRj→DC左移一位→ACCshl7PC_bus用PC的内容驱动总线load_IR将总线上的数据装载至IRload_MAR将总线上的数据装载至MARMDR_bus用MDR的内容驱动总线load_MDR将总线上的数据装载至MDRALU_ACC用ALU的结果装载ACCINC_PCPC+1并将结果存至PC中Addr_bus用IR指令中的地址部分驱动总线CS片选。用MAR的内容设置存储器地址R_NW读取,不可写。当R_NW无效且CS有效时,MBR的内容存储于存储器中ALU_addC在ALU中执行ACC和C的逻辑加操作ALU_addD在ALU中执行ACC和D的逻辑加操作ALU_add在ALU中执行逻辑加操作ALU_sub在ALU中执行减操作ALU_and在ALU中执行与操作ALU_or在ALU中执行与操作ALU_shl在ALU中执行左移操作R0_bus用寄存器R0的内容驱动总线load_R0将总线上的数据装载至R0R1_bus用寄存器R1的内容驱动总线load_R1将总线上的数据装载至R1C_bus用暂存器C的内容驱动总线load_C将总线上的数据装载至CD_bus用暂存器D的内容驱动总线load_D将总线上的数据装载至D8.微程序(微程序控制器)设计根据微处理器的数据通路和指令系统,可得出微程序的流程图如图4所示。微程序的编码采用直接编码方法,每一个控制信号对应一位,共有28个控制信号,根据微指令格式表1微指令格式8把相关的控制信号整合到一起进行编码。PC_busload_MARINC_PCCSR_NWMDR_busload_IRop021PC_busload_MARINC_PCCSR_NWMDR_busload_Cload_MDRload_ACCR1_busALU_ACCALU_addCACC_busload_MARCSR_NWMDR_busload_Cload_R05448687109sta3MDR_busload_DR1_busload_MDRRALU_ACCALU_addR1_busload_MDRRACC_busload_MDRR1_busload_MDRRCSR1_busload_MDRR19202221R1_busload_MDRload_CPC_busload_MARINC_PCCSR_NWCSR_NWACC_busload_MARALU_ACCALU_addCload_MDRload_ACCR0_busMDR_busload_D491413121116171518addsubR1_busload_MDRMDR_busload_CCSR_NWR0_busload_MARALU_ACCALU_subACC_busload_MDRload_Dload_R02423502726252829load_CR0_busload_MDRR1_busload_MARCSR_NWMDR_busload_DALU_ACCALU_andACC_busload_MDRCSR1_busload_MDRR3231305134333536andR0_busload_MDRload_CorR1_busload_MARALU_ACCALU_orload_Dload_R1ACC_busload_MDR52373839414042shlACC_busload_MDRaddr_busload_MAR53MDR_busload_ACCCSR_NWALU_ACCALU_shlload_R146454443479根据图4微程序流程图的下地址,可知共有54条微指令,该模拟机微程序的编码如下0=00000000000000001010001000000000011=0000000000000000000000001100

1 / 22
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功