计算机组成原理课程设计报告16位模型机的设计_第1页
计算机组成原理课程设计报告16位模型机的设计_第2页
计算机组成原理课程设计报告16位模型机的设计_第3页
计算机组成原理课程设计报告16位模型机的设计_第4页
计算机组成原理课程设计报告16位模型机的设计_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、石家庄市经济学院化身学院电脑组成原理课程设计报告计算数据块中所有数据的总和,并将其存储在内存单元中标题16位建模程序设计名字学号4114170801半号一班老师指南成绩2014年1月目录一、引言31.1设计目的31.2设计工作3二、详细设计和实施42.1指令系统开发42.2命令格式52.3寻址方法5三、16位CPU型号73.1每个功能组件的VHDL设计93.2 16位建模器设计和实现22四、摘要27五、工具书:27六、代码28一、简介1.1设计目的为了掌握和巩固本学期学过的电脑组成原理知识,设计了这次实验。利用集成所学的相关知识,逐步设计基本模型计算机,明确计算机的控制原理和控制过程,巩固所学

2、的理论知识,灵活应用,掌握计算机组成的一般设计方法,提高学生设计能力和实践操作技能,奠定从事电脑研究和设计的基础。1.2设计工作基本功能:计算数据块中所有数据的总和,并将其存储在内存单元中。程序集代码如下:START: MOV SI,OFFSET SRC1发送源操作数地址SIMOV DI、offset dxt发送目标操作数地址DIMOV BX、offset src2终止地址传输BXMovbl0将BL的初始值设定为0Next: moval,si;取数字ADD BL,AL;添加数据MOV DI,al;存款数CMP SI、BX:Jestart如果SI=BX,则指向STARTIncsi修改源地址Jmp

3、next切换到NEXT二、详细设计和实施2.1指令系统开发分析:1)按照汇编语言程序导出零件之间的数据流的方向如下l立即寄存器l寄存器内存操作数使用寄存器之间的寻址方式l源与目标寄存器内容相比较,如果源与目标传输相同,则说明中会提供切换地址。l寄存器加1命令l无条件传输命令,切换地址将提供给命令。2)命令类型(命令的立即数量为一个单词,即16位)l立即寄存器命令必须显示寄存器和立即计数例如:LOADI R0,10H,牙齿命令是双词命令l内存操作数寄存器命令需要显示地址寄存器和目的寄存器例如,负载R3,R1;命令是单词命令l寄存器内存命令需要显示源寄存器和地址寄存器示例:STORE R2、R7;

4、命令是单词命令l生成寄存器内容比较传输的命令说明需要指示源、目标寄存器和方向的地址示例:BRANCHEQI 0000H命令是单词命令l寄存器加1命令在命令中显示寄存器例如:INC R1,命令是单词命令l无条件传输命令为命令提供旋转地址示例:BRANCHI 0008H命令是单词命令2.2命令格式1)单词命令格式单一指令和运算元:INC BRANCHI单一命令双操作数:mov load store LOADI2)双重命令格式双词3操作数:BRANCHEQI BRANCHGTI操作码指令功能00001负载(音乐)将寄存器之间地址的存储单元内容装载到寄存器00010商店将寄存器数据存储在寄存器之间地址

5、的存储设备上00011莫夫将源寄存器内容传递到目标寄存器00100罗迪立即将数量加载到寄存器00101勃朗什无条件转移到由立即数量指定的地址00110BRANCHEQI如果源寄存器内容与目标寄存器内容相同,则立即转到数值指定的地址00111INC寄存器内容1命令01000ADD添加数据2.3寻址方法寻址方法意义立即寻址命令形式的源操作数是立即数寄存器间寻址方法寄存器中操作数的地址直接寻址主内存中的操作数根据上面设计的命令系统,累计主内存中的数据并将其存储在内存设备中的程序包括:地址机器代码指令功能说明0000H0001H2001H0010H罗迪0010H发送源操作数地址R10002H0003H

6、2002H0030H罗迪0030H发送目标操作数地址R20004H0005H2006H0016H罗迪0016H终止地址传输R60006H0007H2007H0000H负载r7,0在R7中插入0初始化最小值0008H080BH负载R3,R1取数字0009H401FHADD R7、R3加法000AH103AHSTORE R2、R7存款数000BH000CH300EH0000HBRANCHEQI 0000H如果R6的内容与R1的内容相同,请旋转到0000H000DH3031HINC R1修改源地址000EH000FH2800H0008HBRANCHI 0008H无条件转移到由立即数量指定的地址存储初

7、始化档案memdata.mif的内容:三、16位CPU模型图1显示了由寄存器阵列组成的8个16位寄存器reg 0-reg 7;16位CPU结构图,使用包含的基本功能模块的单个巴士结构。作业寄存器OpReg;算术逻辑运算符部件ALU;位移器Shifter;输出寄存器OutReg;比较器Comp;命令寄存器InstrReg;节目柜台ProgCnt;地址寄存器AddrReg。所有功能模块共享16位3状态数据总线以传输信息。控制器模块由状态机实现,该状态机根据命令、数据路径通过控制线对每个功能模块执行控制命令。由寄存器阵列组成的8个16位寄存器Reg0 - Reg7的优点是节省了资源并易于使用。控制器

8、共享用于选择数据总线连接的三态交换机。作业寄存器OpReg为ALU,比较器Comp提供操作数,而ALU,比较器中的其他操作数直接来自数据总线。连接ALU、置换器Shifter、输出寄存器OutReg,统一控制控制器,执行复杂任务。在输出寄存器OutReg中保存结果,并将三状态开关从输出寄存器OutReg包含到总线输出。比较器Comp由控制器直接控制,比较结果进入控制器。地址寄存器AddrReg提供要访问的主内存设备的地址,该设备将节目和数据存储在同一存储中。没有0和1功能来存储节目柜台ProgCnt、CPU将运行的以下命令的地址:命令寄存器InstrReg包含在CPU上运行的命令。作业寄存器O

9、pReg、输出寄存器OutReg、命令寄存器InstrReg、节目柜台ProgCnt和地址寄存器AddrReg是最基本的寄存器。添加内存以确定CPU的功能,并将完成块传输所需的程序和数据存储在内存中。系统将数据输出到数据总线的所有模块的输出端口必须使用三态控制器。建模者的实际电路图2如下所示:图2顶级实体模拟图表3.1每个功能组件的VHDL设计套装程式:说明资料类型、运算子的功能、移位寄存器作业、比较程式的比较类型,以及控制CPU所使用的状态类型。运算符设计功能:输入Sel操作说明0000C=A通过PASS0001C=a和b而且0010C=a或b或者0011C=NOT A郑智薰0100C=A

10、XOR B痢疾0101C=A B加法0110C=A-B减法0111C=A 1加11000C=A-1负11001C=0青英说明:A 15.0为总线,b 15.0为作业寄存器OpReg,c 15.0输出为位移器。从Sel 3.0控制器发送的控制信号ALUsel 3.0中选择alu操作。运算符功能模拟波形图如图3所示。图3运算符功能模拟波形图模拟结果说明:在Sel牙齿0000之前执行操作。通过路径,c=a,1000。在Sel牙齿0001时,执行和中的任务。A=1000,b=1234,然后c为1000。在Sel牙齿0010时执行或中的任务。A=1000,b=1234,c为1234。在Sel牙齿0011时执行非操作。A=1000,a为EFFF。在Sel牙齿0100时执行xor操作。A xor b,c为0234。Sel牙齿0101时执行加法运算。A=1000,c为2234。Sel牙齿0110时执行减法运算。A=1000,c为FDCC。如果Sel牙齿0111,则添加1。A=1000,c为1001。在Sel牙齿1000时执行1减操作。A=1000,c为0FFF。在Sel牙齿1001的时候,做清零工作,

温馨提示

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

评论

0/150

提交评论