您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 其它相关文档 > 计算机组成原理实验报告模型机
1计算机组成原理课程设计报告作者姓名:程壑专业:网络工程学号:092055132指导教师:郭芸俊完成日期:2011年12月太原工业学院计算机工程系摘要2本课程设计是利用所学的计算机结构和工作原理的知识,独立完成简单计算机的模型机设计,并用PROTEUS软件进行验证。设计过程中重点实现:运算器执行算术逻辑运算的具体实现,半导体存储器的系统连接和扩充方法,数据通路组成和实现,控制器的基本原理和设计实现,模型系统验证程序的存储。首先构思创建一个计算机系统模型,然后将系统拆分运算器、存储器、控制器和输入输出接口五部分,分别进行设计和验证关键字:计算机系统模型,运算器,存储器,控制器,输入输出接口,PROTEUS软件正文:一、设计目的为了更好的掌握计算机的的组成原理和结构,通过实际编写一个简单的指令系统的指令,并在机器中实现。使抽象的原理形象化。二、采用设备带有仿真软件的计算机一台。三、设计原理部件实验过程中,各部件单元的控制信号是以人为模拟产生为主,而本次实验将能在微程序控制下自动产生各部件单元的控制信号,实现特定指令的功能。这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。本实验采用七条机器指令:IN(输入),STA(存数),OUT(输出),JMP(无条件转移),RLC(带进位左移),RR(右移),SUB(减法)其指令格式如下(前三位为操作码):=================================================================机器指令码助记符说明3-----------------------------------------------------------------P0000;INR0,SW;数据开关→R0P0110;RLCR0;R0带进位左移P02200E;SUBR0,0EH;R0-(0EH)→R0p04A0;RRR0;RO右移P05400F;STA0FH,R0;R0→(0FH)P07600F;OUT0FH,LED;(0FH)→输出单元P098000;JMP00H;无条件转移=================================================================其中IN为单字节(8位),其余为双字节指令,XXXXXXXX为addr对应的二进制地址码。根据以上要求设计数据通路框图,如图7-10-1所示。系统涉及到的微程序流程见图8-7-3,当拟定“取指”微指令时,该微指令的判别测试字段为P(1)测试。由于“取指”微指令是所有微程序都使用的公用微指令,因此P(1)的测试结果出现多路分支。本机用指令寄存器的前3位(IR7~IR5)作为测试条件,出现8路分支,占用8个固定微地址单元。当全部微程序设计完毕后,应将每条微指令代码化,表7-10-1即为将图7-10-2的微程序流程图按微指令格式转化而成的“二进制微代码表”。下面介绍指令寄存器(IR):指令寄存器用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存取到BUS总线上,然后再传送至指令寄存器。指令划分为操作码和地址码字段,由二进制数构成,为了执行任何给定的指令,必须对操作码进行测试P(1),通过节拍脉冲T4的控制以便识别所要求的操作。“指令寄存器”根据指令中的操作码译码强置微控器单元的微地址,使下一条微指令指向相应的微程序首地址。本系统有两种外部I/O设备,一种是二进制代码开关,它作为输入设备(INPUTDEVICE);另一种是LED块,它作为输出设备(OUTPUTDEVICE)。例如:输入时,二进制开关数据直接经过三态门送到外部数据总线上,只要开关状态不变,输入的信息也不变。输出时,将输出数据送到外部数据总线上,当LDED有效时,将数据打入输出锁存器,驱动LED显示。图7-10-1基本模型机数据通路框图按照系统建议的微指令格式,参照微指令流程图,将每条微指令代码化,译成二进制代码表,并将二进制代码表转换成十六进制格式文件。4323130292827262524232221201918171615CBAARLDR2LDR1A9A8CELOADCNMS0S1S2S3P2LDAR1413121110987654321LDPCLDIRLDDR2LDDR1LDR0WEUA0UA1UA2UA3UA4UA5P1SW-BCBA选择000001PC-Bus010ALU-Bus011299-Bus100R0-Bus101R1-Bus110R2-Bus111保留位模型机程序文件(.ABS)格式指令部分:P操作号操作码操作数;注释微指令序列部分:M微地址号标志位(32);注释四、设计实现161选择测试字P2P10001P(1)识别操作码10P(2)判别寻址方式11P(3)条件测试11保留位5图7-10-2基本模型机微程序流程图本实验设计机器指令程序如下:内容(二进制)助记符说明P0000;INR0,SW;数据开关→R0P0110;RLCR0;R0带进位左移P02200E;SUBR0,0EH;R0-(0EH)→R0p04A0;RRR0;RO右移P05400F;STA0FH,R0;R0→(0FH)P07600F;OUT0FH,LED;(0FH)→输出单元P098000;JMP00H;无条件转移将微代码流程图代码化,本实验给出的微程序二进制代码转化成十六进制格式文件。机器指令及微程序按照规定格式编写成十六进制格式文件,具体内容如下:P0000;INR0,SW;数据开关→R0P0110;RLCR0;R0带进位左移P02200E;SUBR0,0EH;R0-(0EH)→R0p04A0;RRR0;RO右移P05400F;STA0FH,R0;R0→(0FH)P07600F;OUT0FH,LED;(0FH)→输出单元6P098000;JMP00H;无条件转移;------------以下为数据空间------------P0E06M0000000080;空操作M0120006040;PC→AR,PC+1M0200801006;RAM→IRM0360180048;299带进位左移M04008040A0;RAM→ARM0500800860;RAM→DR2M06A00004E0;R0→DR1M0750060280;DR1-DR2→R0M0800804090;RAM→ARM09A0800180;R0→RAMM0A008040D0;RAM→ARM0B03800080;RAM→LEDM0C00C02080;RAM→PCM0D60040048;299右移M1260000280;299→R0M2000000281;SW→R0M21A00C00C0;R0→299M2220006020;PC→AR,PC+1M2420006010;PC→AR,PC+1M2620006050;PC→AR,PC+1M2820004030;PC→ARM2AA00C00B0;R0→299实现功能如下计算公式:Y=(X*2-06)/2程序实现的操作为仿真软件操作:1打开文件,装载程序。(例如输入11)2执行微单步,跟踪程序运行3输出运行结果(LED上的输出结果为8)下面为实现图:7五.设计总结这次课程设计实现了一个比较复杂模型机的实现,实现了IN,SUB,STA,OUT,JMP,RCL,RR七条指令。在学习模型机的过程中,我加深对于计算机组成的理解,对于指令的运行和微指令的寻址有了充分的认识,培养了我的理论和实际动身能力.
本文标题:计算机组成原理实验报告模型机
链接地址:https://www.777doc.com/doc-5969632 .html