烟台大学
计算机组成原理课程设计报告书
设计题目:简单计算机 专 业:计算机科学与技术 班 级:文计081-2
设 计 者:刘伟(200890513219) 吴娟(200890513235) 李香(200890513216) 指导老师:潘庆先(老师)
2010年7月日
14
设计目的:
综合前面实验单元典型部件设计与调试,对数据选择器(A、B)、计数器、运
算器、寄存器和微程序控制器透彻了解的基础上,完成一个简单计算机的设计,使其具有简单运算功能:取数、读数、做加法、送数等。
通过一个简单计算机的设计,对计算机系统的基本组成、部件的设计、部件间的连接、微程序的编制与调试等全过程有一个较为综合、深入的认识和理解。 设计与调试步骤:
结合计算机组成原理的教学内容和课程设计平台系统,计算机的设计与调试步骤如下:
数据通路:
数据通路的设计在总体结构中是最重要的一个环节。实验室的仿真模型机的数据通路是以总线为基础、以CPU为核心构成的。
系统简介:
机器指令存放在3#RAM中,将3#RAM作为内存使用,机器指令是按由上到下顺序执行的,其执行顺序由PC(程序计数器)和MAR(地址寄存器)控制。2#RAM和1#RAM作为控制存储器简称为控存,一条微指令由十六个微命令组成高八位存放于2#RAM中,低八位存放于1#RAM中。后继地址有三种形成方式μIR2μIR1μIR0 为001时μPC+1按顺序执行微指令,为010时JP无条件转移,地址由IR15-8提供。本简单计算机基于简化处理μIR15-8均为0它代表了均跳向为指令寄存器的00入口即取指令入口。为011时 QJP高四位按机器指令的操作码转移,第四位为0其由后继地形成逻辑实现,所有涉及的地址转移均为指令的转移。因为机器指令是按顺序执行的。每按一次单脉冲键执行一条微指令,一条机器指令由若干条微指令组成,一条微指令由十六个微命令组成,其中因为IR3μIR6μIR7全为零故省略掉了。
- 2 -
为保证机器指令是从第一条开始顺序执行的,在操作前应按一次复位键将微指令计数器μpc,机器指令计数器pc,内存地址寄存器中的内容清零。第一条微指令地址为00,微操作为RAM→IR即从内存中取出指令放到机器指令寄存器中,此时地址寄存器中的内容为00,所以在3#RAM的00地址中取出MOV1指令18,取出指令后PC+1→PC(01)为取下一条内存内容做好准备,再按一次单脉冲键执行QJP及按操作码转移,此时指令寄存器中存放的为18 ,操作码为0001,所以转移后高四位为:0001 低四位为全零 :0000 。后继地址形成逻辑的输出0001 0000, 因此此时置数有效微地址输出为10(十六进制)。
根据微地址10执行PC→MAR, PC中的内容经取指过程中加1操作,已变为01,所以地址寄存器中存入了01,然后PC+1→PC (PC变为02) 为取下一条内存内容做好准备。然后将内存中地址为01的数据传送至RAM→R0 下一步为PC→MAR存入的为02。下一个微指令为JP无条件转移,地址由微指令的高八位给出,高八位为0000 0000,所以微地址转向00,再次进行取指令。
在3#RAM的02地址中取出MOV2指令28放进机器指令寄存器,取出指令后PC+1→PC(03)为取下一条内存内容做好准备,再按一次单脉冲键执行QJP及按操作码转移,此时指令寄存器中存放的为28 操作码为0010,所以转移后高四位为:0010, 低四位为全零:0000 。后继地址形成逻辑的输出0010 0000, 因此此时置数有效微地址输出为20(十六进制)。
根据微地址20执行PC→MAR PC中的内容经取指过程中加1操作已变为03,所以地址寄存器中存入了03,然后PC+1→PC (PC变为04) 为取下一条内存内容做好准备。然后将内存中地址为03的数据传送至RAM→R1 下一步为PC→MAR存入的为04。下一个微指令为JP无条件转移,地址由微指令的高八位给出,高八位为0000 0000,所以微地址转向00,再次进行取指令。
在3#RAM的04地址中取出ADD指令30放进机器指令寄存器,取出指令后PC+1→PC(05)为取下一条内存内容做好准备,再按一次单脉冲键执行QJP及按操作码转移,此时指令寄存器中存放的为30操作码为0011.所以转移后高四位为0011 第四位为全零 0000 。后继地址形成逻辑的输出0011 0000 ,因此时置数有效微地址输出为30(十六进制)。
根据微地址30执行R0 +R1= R1 PC中的内容经取指过程中加1操作已变为05,所以地址寄存器中存入了05,然后PC+1→PC (PC变为06) 为取下一条内存内容做好准备。下一个微指令为JP无条件转移,地址由微指令的高八位给出,高八位为0000 0000所以微地址转向00,再次进行取指令。
在3#RAM的05地址中取出MOV3指令41放进机器指令寄存器,取出指令后PC+1→PC(06)为取下一条内存内容做好准备,再按一次单脉冲键执行QJP及按操作码转移,此时指令寄存器中存放的为41 操作码为0100,所以转移后高四位为:0100 低四位为全零:0000 。后继地址形成逻辑的输出0100 0000 ,因此时置数有效微地址输出为40(十六进制)。
根据微地址40执行R0→MAR(R0中的数据作为写内存地址)。 PC中的内容经取指过程中加1操作已变为06,所以地址寄存器中存入了06,然后将内存中地址为03的数据传送至R1→RAM 下一步为PC→MAR存入的为06。下一个微指令为JP无条件转移,地址由微指令的高八位给出,高八位为0000 0000,所以微地址转向00,再次进行取指令。
至此MOV1 MOV2 ADD MOV3 均执行完毕完成了两个数的相加操作。如果是07+02=09那么内存的07号地址中就存放了相加结果09。
- 3 -