首页 计算机组成原理课程设计---基本模型机的设计与实现

计算机组成原理课程设计---基本模型机的设计与实现

举报
开通vip

计算机组成原理课程设计---基本模型机的设计与实现计算机组成原理课程设计---基本模型机的设计与实现 ******************* 实践教学 ******************* 计算机与通信学院 2011年春季学期 计算机组成原理课程设计 题 目: 模型机设计—5 专业班级: 08级计算机科学与技术(5)班 姓 名: 学 号: 08240539 指导教师: 成 绩: 前 言 通过对计算机组成原理及实验的学习,设计14条机器指令,并编写相应的微程序,完成由基本单元电路构成一台基本模型机,再经过调试指令和模型机使其在微程序的控制下自动产...

计算机组成原理课程设计---基本模型机的设计与实现
计算机组成原理课程设计---基本模型机的设计与实现 ******************* 实践教学 ******************* 计算机与通信学院 2011年春季学期 计算机组成原理课程设计 题 目: 模型机设计—5 专业班级: 08级计算机科学与技术(5)班 姓 名: 学 号: 08240539 指导教师: 成 绩: 前 言 通过对计算机组成原理及实验的学习,设计14条机器指令,并编写相应的微程序,完成由基本单元电路构成一台基本模型机,再经过调试指令和模型机使其在微程序的控制下自动产生各部件单元的正常工作控制信号。 在设计基本模型机5的实验过程中,个别部件单元的控制信号是人为模拟产生的,而本课程设计将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期,全部由微指令组成的序列来完成,即一条机器指令对应一条微程序。 本课程设计以DVCC计算机组成原理教学实验系统为平台设计完成。 1、 根据任务要求设计整机系统的 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 。 2、 存储系统:使用模型机的存储模块,说明存储器的输入输出时序, 模块连接方式等。 3、 运算器:使用模型机的器件,组成带有片间串行进位8位移位运算 功能的运算器。 4、 微程序控制器模块:使用教学机的系统,设计微程序控制器。 5、 设计模型机指令系统:(含设计微指令 格式 pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载 、微程序 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 图,每条指 令所对应的微程序等)。 6、 了解并说明教学模型机的输入输出模块。 7、 在自己设计的指令系统基础上,编制一个汇编语言小程序并进行调 试通过。 、 整机设计分模块进行,说明模块中数据和控制信号的来源、去向、8 功能、时序,以及模块间数据和控制信号的来源、去向、功能、时序等。 本设计的规定项目采用14条机器指令:IN.OUT.STA.LDA.JMP.BZC.CLR.MOV. CMP.SUB.DEC.HLT.RRC.RLC。 2 摘 要 本次课程设计课题是基本模型机的设计与实现,该设计要求根据计算机组成原理课程所学知识,设计、开发一套简单的模型计算机。通过对一个简单计算机的设计,以达到对计算机的基本组成、部件的功能与设计、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,加深对理论课程的理解。通过模型机的设计和调试,连贯运用计算机组成原理课程学到的知识,建立计算机整机概念,加深计算机时间和空间概念的理解。 部件实验过程中,本课程设计将能在微程序控制下自动产生各部件单元的控制信号,实现特定指令的功能,通过设计流程图,编写机器指令,微指令和控制信号程序。首先向存储器中装入数据和程序,然后检查写入是否正确,启动程序执行,并将实验结果显示输出。 关键词:模型机 运算器 存储系统 指令系统 微程序指令 3 目录 工贸企业有限空间作业目录特种设备作业人员作业种类与目录特种设备作业人员目录1类医疗器械目录高值医用耗材参考目录 前 言 ....................................................................................... 2 摘 要 ......................................................................................... 3 一 设计的目的及设计原理 ..................................................... 5 1 设计的目的 ............................................................... 5 2 设计的原理 ................................................................. 5 二 总体设计 ........................................................................... 10 三 详细设计 ........................................................................... 12 1 运算器的物理结构 ................................................. 12 2 存储器的组成与说明 ............................................ 14 3 指令系统的设计与格式 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 ................................... 15 4 微程序控制器的逻辑机构及功能 ........................... 24 5 微程序的设计与实现 ............................................... 26 四.系统调试报告 ................................................................... 32 五 设计总结 ........................................................................... 35 六 设计(论文)的主要参考文献 ........................................ 36 七 致谢 ................................................................................. 37 4 一 设计的目的及设计原理 1 设计的目的 计算机组成原理课程设计是“计算机组成原理”课程的后续设计性课程,通过设计一台模型计算机,可更好地理解计算机组成原理课程的基本内容,掌握模型计算机设计与实现的基本方法,培养实验动手能力和创新意识,为以后进行计算机应用系统的设计与开发奠定基础。 设计一个8位模型计算机系统,包括运算器,微程序控制器,存储器,简单输入,输出接口和设备,时序和启停控制等电路。定义一套简单的指令系统,制定系统的设计方案和实现方法,画出所设计的模型机系统的电路原理图。 在计算机组成原理与系统结构实验系统上搭建模型计算机系统,完成微程序控制器的实验调试过程,并用所设计的指令系统编写一个实现简单功能的程序,在搭建的模型机系统上输入、调试和运行程序。最后总结实验结果,完善所设计的模型机系统方案和电路图,写出设计报告。 2 设计的原理 (1)基本模型机的设计与实现 部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次实验将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。 此基本模型机的设计主要包括存储器、运算器、输入/输出设备、微控器和指令系统五个模块组成。其中运算器主要由运算器U3、U4(74LS181)、暂存器U1、U2(74LS273)、输出缓冲器U5(74LS245)、移位器(74LS299)以及进位控制和判零标志控制电路等构成。存储器存储该主存储器采用一级cache-存储 5 器结构。输入/输出设备主要有两种外部I/O设备,一种是键盘,它作为输入设备INPUT;另一种是字符显示块,它作为输出设备OUTPUT。控制器它主要由控制存储器、微指令寄存器和地址转移逻辑三大部分组成,其中微指令寄存器分为微地址寄存器和微命令寄存器两部分。一台计算机中所有机器指令的集合,成为这台计算机的指令系统,它是计算机系统设计的一个核心问题,它不仅与计算机的硬件结构紧密相关,而且直接关系到用户的使用需要。 指令从内存中读出,首先放到IR指令寄存器中,再送入到微控器中进行译码,再由微控器输出各种控制信号给各功能部件,执行相应的操作。指令和数据统统放在内存中,从形式上看,它们都是二进制代码,。一般来讲,取值周期从内存中读出的信息流是指令流,它指向控制器;而在执行周期中从内存中读出的信息流是数据流,它由内存流向运算器。指令从存储器中得到,送到指令寄存器中。由指令得到相应的控制信号,从控制器输出控制信号来控制计算机的运行。(2)各模块功能为: a.存储器 存储器的功能是保存或“记忆”各种数据。在存放到存储器以前,他们全部变成0或1表示的二进制代码。采用半导体器件来存放大量的0,1.一个半导体触发器由于有0和1两种状态,可以记忆一个二进制代码。一个数据假定用8位二进制代码来表示,那么就需要8各触发器来保存这些代码。通常,在存储器中保存一个数的8个触发器称为一个存储单元。存储器是由许多存储单元组成的,每一个存储单元都有编号,称为地址。存储器的所有存储单元的总数称为存储器的存储容量。 b.运算器 运算器就好像是一个由电子线路构成的算盘,它的主要功能就是进行加、减、乘、除等运算。还可以进行逻辑运算。电子器件的特性,计算机中通常采用二进制数。其运算规律非常简单。0+0+0,0+1=1,1+0=1,1+1=10,0×0=0,0×1=0,1×0=0,1×1=1。 该模块中算术运算是由2片74LS181构成,是运算器的核心。74LS181功能表如表1-1所示 6 表1-1 74LS181功能表 M,0(算术运算) M,1 S3 S2 S1 S0 (逻辑运算) Cn=1 无进位 Cn=0 有进位 F,A F,A加1 F,/A L L L L F,A+B F,(A+B)加1 F,/(A+B) L L L H F,A+/B F,(A+/B)加1 F,/A*B L L H L F,2的补 F,0 F,0 L L H H F,A加(A*/B) F,A加(A*/B)加1 F,/(A*B) L H L L F,(A+B)加F,(A+B)加(A*/B)F,/B 4位 L H L H (A*/B) 加1 F,(A B) ALU L H H L F,A减B减1 F,A减B F,(A*/B) L H H H F,(A*/B)减1 F,(A*/B) F,/A+B H L L L F,A加A*B F,A加AB加1 F,/(A B) H L L H F,A加B F,A加B加1 F,B H L H L F,(A+/B)加F,(A+/B)加A*B加F,AB H L H H A*B 1 F=1 H H L L F,A*B减1 F,AB F,A加A F,A加A加1 进位输入信号来自于两个方面:其一对运算器74LS181的进位输出/CN+4进位倒相所得CN4;其二由移位寄存器74LS299的选择参数S0、S1、AQ0、AQ7决定所得,移位寄存器74LS299主要用于带进位左、右移位操作。 c.控制器 控制器是计算机中发号施令的部件,它控制计算机的各部件有条不紊的进行工作。更具体地讲,控制器的任务就是从内存中取出解题步骤加以分析,然后执行某种操作。 d.输入/输出设备 本系统有两种外部I/O设备,一种是键盘,它作为输入设备INPUT;另一种是字符显示块,它作为输出设备OUTPUT。 7 e.指令系统 指令系统控制计算机系统有条不紊的工作 f.寄存器介绍 ?指令寄存器用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存取到缓冲寄存器中,然后再传送到指令寄存器。指令划分为操作码和地址码字段,由二进制构成,为了执行任何一条给定的指令,必须对操作码进行测试P(1),通过节拍脉冲T4的控制以便识别所要求的操作。“指令译码器”根据指令中的操作码进行译码,强置微控器单元的微地址,使下一条微指令指向相应的微程序首地址。 ?数据寄存器用来存放从内存中读出的数据或是从输入设备输入的数据,然后将数据送到运算器等功能部件,起了暂存的作用。 ?PC为指令指针计数寄存器,用来存放下一条将要执行指令的地址。 ?SP为堆栈指针计数寄存器,用来在堆栈寻址方式中指示栈顶指针的位置。 (3)带移位运算的模型机的设计与实现 在基本模型机的基础上搭接移位控制电路,实现移位控制运算。实验中新增4条移位运算指令:RL(左环移)、RLC(带进位左环移)、RR(右环移)、RRC(带进位右环移),其指令格式如下: 操作码 RR 01010000 RRC 01100000 RL 01110000 RLC 10000000 以上4条指令都为单字长(8位)。 RR为将R0寄存器中的内容循环右移1位。 RRC为将R0寄存器中的内容带进位右移1位,它将R0寄存器中的数 8 据右边第1位移入进位,同时将进位寄存器的数移至R0寄存器的最左位。 RL为将R0寄存器中的数据循环左移1位。 RLC为将R0寄存器中的数据带进位循环左移1位。 为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还设计了3个控制台操作微程序。 存储器读操作(KRD):拨动总清开关CLR后,控制台开关SWB,SWA为“00”时,按START启动纽,可对RAM连续手动读操作。 存储器写操作(KWE):拨动总清开关CLR后,控制台开关SWB,SWA置为“01”时,按动START启动纽可对RAM进行连续手动写入。 启动程序:拨动总清开关CLR后控制台开关SWB,SWA置为“11”时,按动启动键,即可转入到第01号“取址”微指令 上述三条控制台指令用两个开关SWB、SWA的状态来设置,其定义如下表1-2: 表1-2 SWB SWA 控制台指令 0 0 读内存(KRD) 0 1 写内存(KWE) 1 1 启动程序(RP) 9 二 总体设计 本次实验将能在微程序控制下自动产生各部件单元的控制信号,实验特定指令的功能。在制定设计方案的时候,首先要理解所设计的模拟机各个部件的作用及功效,弄清楚他们可以干什么,怎么样去干。这样才能更好的完成设计达到我们设计的目的和通过实验所要继续深化的知识点。 计算机数据通路的控制是由微程序控制器来实现的,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。而每一条微指令都是由我们自己根据CPU要完成的功能设计的。总体设计框图如下: 实验仪的总体结构框图(图1-1) (1)控制信号说明: 1(S3,S2,S1,S0 有微程序控制器输出的ALU操作选择信号,以控制执行16种算术操作或16种逻辑操作中的一种操作。 2(M 微程序控制器输出的ALU操作方式选择信号端,M,0执行算术操作; 10 M,1执行逻辑操作。 3(/CN 微程序控制器输出的进位标志信号。/CN,0表示ALU运算时最低位加进位1;/CN,1则表示无进位。 4(ALU,BUS 微程序控制器的输出信号,控制运算器的运算结果是否送到总线BUS,低电平有效。 5(LDDR1 微程序控制器的输出信号,控制把总线上的数据打入运算暂存器DR1。 6(LDDR2 微程序控制器的输出信号,控制把总线上的数据打入运算暂存器DR2。 7(R,BUS 微程序控制器的输出信号,控制寄存器R0的内容是否送到总线BUS,低电平有效。 8(LDR 微程序控制器的输出信号,控制把总线上的数据打入寄存器R0。 9(PC,BUS 微程序控制器的输出信号,控制程序计数器的内容是否送到总线BUS,低电平有效。 10(LDPC 微程序控制器的输出信号,控制PC加1。 11(LDAR 微程序控制器的输入信号,将程序计数器的内容打入到地址寄存器AR中,产生RAM的地址。 12(LDIR 微程序控制器的输出信号,控制把总线上的数据(指令)输入到指令寄存器IR中。 13(SW,BUS 微程序控制器的输出信号,控制8位数据开关SW7,SW0的开关量是否送到总线,低电平有效。 14(OUT 微程序控制器的输出信号,控制和数据总线上的数据是否送到发光二极管上,低电平有效。 (2)框图部件概述: 1.运算器(使用可编程器件74LS181实现):运算器是用来完成各种运算的部件,通常将运算分成算术运算和逻辑运算两大类:算术运算是指需要考虑进位的加、减、乘、除运算。逻辑运算是指位对位的运算。运算器中除了包含一个能完成算术和逻辑运算功能的算术逻辑运算单元(ALU)之外,还要有可存放参加运算的操作数和运算结果的寄存器,以及在它们 11 之间传送数据的通道。 2.微程序控制器:控制器是整个系统的指挥中心,由它向系统内的各个部件发出各种控制命令,使系统构成一个有机的整体。通常将运算器和控制器合起来称之为“中央处理器”简称CPU。 3.存储器:存储器主要由6116芯片及相应的缓冲芯片和控制线路实现的。存储器是用来存放各类信息的部件,所有能在机内运行的程序和所需的数据都要存放在存储器中,通常被称作主存储器或内存储器。一般说来,主存储器的容量越大,计算机功能越强。通常将CPU和主存储器合起来称之为计算机的“主机”。 4.简单输入,输出设备:输入由铅笔开关实现,输出由发光晶体管组成。输入设备是用来完成输入功能的部件。所有需要输入到机内的程序或数据,都是经输入设备输入的。输出设备是用来完成输出功能的部件,所有需要从计算机内输出的运算结果或在机内运行的程序、数据均可通过输出设备输出。 三 详细设计 1 运算器的物理结构 运算器模块主要由运算器U31、U32(74LS181)、暂存器U29、U30(74LS273)、输出缓冲器U33(74LS245)以及进位控制和判零标志控制电路等构成。 12 运算器物理结构(图3-1) 下面以8位机为例说明运算器模块的工作原理:该模块中算术运算是由2片74LS181(U31、U32)构成,它是运算器的核心。它可以对两个8 13 位的二进制数进行多种算术或逻辑运算,具体由74LS181的功能控制条件M、CN、S3、S2、S1、S0来决定,详见表1—1。两个参加运算的数分别来自于暂存器U29和U30,运算结果直接输出到输出缓冲器U33,由输出缓冲器发送到系统的数据总线上,以便进行移位操作或参加下一次运算。 运算器是在 ALU UNIT 单元电路上进行 ,控制信号、数据、时序信号由实验仪的逻辑开关电路和时序发生器提供。 SW7,SW0 八个逻辑开关用于产生数据,由BUSSW?控制发送到总线上。DR1,DR2 为运算暂存器 ,LDDR1,LDDR2为运算暂存器的输入控制信号,将总线上的数据输入到暂存器 DRl,DR2;通过 S3、S2、Sl、S0、M、/Cn 的选择,可实现对 ALU 算术操作和逻辑操作。在BUSALU?控制信号作用下将运算结果送到总线 BUS上。 S3、S2、S1、S0、M、/Cn、LDDR1、 LDDR2、BUSALU?信号、BUSSW?信号,本次实验中这些控制信号与对应逻辑开关都已接好,由逻辑开关模拟这些控制信号 。 LDDR1、LDDR2由T4 信号进行定时。当T4信号上升沿到来时 LDDR1、LDDR2 才起作用。 2 存储器的组成与说明 主存储器单元电路主要用于存放实验机指令,它的数据总线挂在外部数据总线EXD0,EXD7上。它的地址总线由地址寄存器单元的地址寄存器74LS245(U37)给出,地址值由8个LED灯LAD0,LAD7显示,高电平亮,低电平灭;在手动方式下,输入数据由8位数据开关KD0,KD7提供,并进一三态门74LS245(U51)连至外部数据总线EXD0,EXD7,实验时将外部数据总线的EXD0,EXD7用8芯排线练到内部数据总线BUSD0,BUSD7,分时给出地址和数据。它的读信号直接就地;它的写信号和片选信号由写入方式确定。该存储器中机器指令的读写分别控制CPU的P1.2提供,片选信号由控制CPU的P1.1提供。 由于地址寄存器为8位,故接入6264的地址为A0,A7,而高4位A8,A12接地,所以其实际使用容量为256字节。6264有控制线:CS1 第一片选线,CS2第二片选线,OE 读线,WE 写线。CS1 片选线由W/R控制,CS2直接+5V. 14 信号线LDAR由开关LDAR提供,手动方式实验时,跳线器LDAR拨在左边,脉冲信号T3由实验机上时序电路模式TS3提供,实验时只需J22跳线器连上即可,T3的脉冲宽度可调。原理图如下: (图3-2) 存储器原理图 3 指令系统的设计与格式分析 1 指令系统的设计与格式: (1)数据格式 模型机规定采用定点补码表示法表示数据,且字长为8位,其格式如下: 表3-1 D7 D6 ,, D0 符号 尾数 其中第7位为符号位,数值表示范围是:,1?X,1。 (2)指令格式 本模型机共有13条基本指令,其中算术运算类指令4条(ADD、SUB、MOVE、CLR),访问内存指令和程序控制指令4条(STA、LDA、JMP、BZC),I / O指令2条(IN、OUT),位操作指令3条(AND、OR、XOR),各指令格式如下所示。 1) 算术逻辑指令 设计4条算术运算指令(ADD、SUB、MOVE、CLR)并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下: 表3-2 D7 , D4 D3 D2 D1 D0 15 OP-CODE RS RD 其中,OP—CODE为操作码,RS为源寄存器,RD为目的寄存器,并规定: 表3-3 RS或RD 选定的寄存器 00 R0 01 R1 10 R2 2) 访问内存指令和程序控制指令 模型机设计访问内存指令和程序控制指令4条(存数STA、取数LDA、无条件转移JMP、有进位转移指令BZC)。指令格式为: 表3-4 D7 D6 D5 D4 D3 D2 D1 D0 0 0 M OP-CODE RD D 其中,OP—CODE 为操作码,RD为目的寄存器地址(LDA、STA 指令使用)。D为位移量(正负均可),M为寻址模式,其定义如下: 表3-5 M 有效地址 说明 00 E=D 直接寻址 01 E=(D) 间接寻址 10 E=(RI)+D RI变址寻址 11 E=(PC)+D 相对寻址 本模型机规定变址RI指定为寄存器R2。 3) I / O指令 输入IN和输出OUT指令采用单字节指令,其格式如下: 16 表3-6 D7 , D4 D3 D2 D1 D0 OP-CODE Addr RD addr=01时,选中键盘作为输入设备; addr=10时,选中字符显示器作为输出设备。 (3)预设指令: A: IN为单字节长指令,含义是将输入设备输入的数据放入R0中 指令格式: IN R0, INPUTDEVICE 指令功能:“INPUTDEVICE”->R0 B: OUT为单字节长指令,含义是根据指令提供的地址,将内存中的数据取出由数码管进行显示。 指令格式:OUT Bus,(ADD) 指令功能:将内存中的ADD为地址的数据读到总线上。 C:STA为双字节长指令,第二个字节是要存放的地址,含义是将R0中的内容存储到第二字为地址的内存单元中。 指令格式:STA(ADD),R0 指令功能:将R0寄存器的内容存到以ADD为地址的内存单元中。 D:LDA为双字节指令,含义是将内存单元的地址存储于R0中。 指令格式:LDA 指令功能:RAM->R0 E: JMP为双字节长指令,含义是使程序跳转到指定的地址执行。 指令格式:JMP (jmp) 指令功能:RAM->PC F:BZC为单字长指令,其中M为寻址模式字段,D为偏移地址。 指令格式:BZC M,D 指令功能:当CY=1或ZI=1,E->PC G:CLR系统总清开关,低电平有效。 指令格式:CLR R0 17 指令功能:R0=0 H:MOV是双字节长指令,第二字节是要存放的间接地址,含义是将R0中的内容存储到第二字为间接地址的内存单元中。 指令格式:MOV AX,R0 指令功能:(AX)=R0 I:CMP比较指令,与SUB指令一样执行减法操作,但不保存结果,只是根据结果设置条件标志位。 指令格式:CMP OPR1,OPR2 指令功能:(OPR1)-(OPR2) J:SUB指令(subtract byte or word)字节或字相减. 指令格式:SUB DST,SRC 指令功能:(DST)–(SRC)=(DST) 将内存中的DST为地址单元内数与SRC的内容相减结果送DST。 K:DEC减1指令。 指令格式:DEC OPR 指令功能:(OPR)-1=(OPR) L:HLT为空转指令,保持执行结束状态,并不在执行任何操作。 M:RL是左移指令,参加左移的数是8个位。 指令格式:RL AL,CL 指令功能:将AL中的数左移(CL)位 N:RLC是带进位位的左移,参加左移的共有9个位 指令格式:RLC AL,CL 指令功能:将AL中的数带进位左移(CL)位 (4)指令系统是设计计算机的依据 ,拟订指令系统将涉及基本字长、指令格式、指令种类、寻址方式等内容。 基本字长:程序设计平台中配置的存储器容量为256*8,可知道基本字长定为8位。 指令格式:指令格式可有单字长和双字长指令两种,在双字长格式中,第二字节一般定义为操作数或操作数地址。 14条指令用单字节表示,寻址方式采用寄存器直接寻址,其格式如表3-7 18 所示: 表3-7 算数逻辑指令格式 D7 D6 D5 D4 D3 D2 D1 D0 OP-CODE RS RD 对于预设指令可设计操作码如下: 表3-8 指令格式和功能 指令类型 汇编符号 指令格式 功能 1 1 M 0 1 rd STA M,D,rd rd?E D 1 1 M 1 0 rd LDA M,D,rd E?rd 访问指令及 D 转移指令 0 0 M 1 0 rd JMP M,D E?PC D 0 1 M 1 1 rd 当CY=1时 BZC M,D E?PC D 0000 01 rd IN addr,rd addr?rd I / O指令 OUT addr,rd rd?addr 1111 10 rd RL rs,rd 0111 rs rd RL rs,rd 移位操作指令 RLC rs,rd 1110 rd rd RLC rs,rd CMP rs,rd 0100 rs rd CMP rs,rd SUB rs,rd 0011 rs rd SUB rs,rd 算术运算 MOV rs,rd 1001 rs rd MOV rs,rd 指令 CLR rd 0110 00 rd CLR rd DEC rd 1000 00 rd SUB rd,1 (5)微指令流程图: 19 运行: 01 PC->AR PC+1 02 RAM->BUS BUS->IR 10 P(1) IN OUT STA LDA JMP BZC 10 11 12 13 14 15 RD->AR SW->BUS PC->AR PC->AR PC->AR PC->AR BUS->RD PC+1 PC+1 PC+1 PC+1 RAM->BUS RAM->BUS RAM->BUS RAM->BUS 01 01 BUS->AR BUS->AR BUS->AR BUS->PC 01 R0->BUS RAM->BUS RAM->BUS BUS->RAM BUS->R0 BUS->DR1 01 01 DR1->M 01 20 CLR MOV CMP SUB DEC HLT 16 17 18 19 20 21 RD->BUS 0->R0 RD->BUS PC->AR STOP R0->BUS PC+1 BUS->DR2BUS->DR1 BUS->RA 2 M 01 01 RD->BUS DR1-1->R0 RAM->B US BUS->DR2 BUS->AR R0->BUS DR1-DR2->R0->DR1 BUS->DRR0 2 R0->DR1 R0->DR1 DR1->LE D 01 DR1-DR2->DR1->LE R0 D 01 01 21 RL RLC 22 23 R0->299 R0->299 带进位循环不带进位 左移 左移 299-->R0 299-->R0 R0->DR1 R0->DR1 DR1->LED DR1->LED 01 01 2指令格式分析: (1)微指令格式表 表3-9:微指令格式表 23 22 21 20 19 18 17 16 15 14 13 12 11 S3 S2 S1 S0 M /CN LOAD CE WE LDRO LDDR1 LDDR2 LDIR 选择运算器运算模式 打入RAM RAM写 打入打入打入打入 PC 片选 R0 DR1 DR2 IR 10 9 8 7 6 5 4 3 2 1 0 LDPC LDAR ALU?PC?R0?SW?P(1) UA UA UA UA UA BUS BUS BUS BUS 4 3 2 1 0 PC,1 打入运算器PC内R0内容开关内容判别字 下一微指令地址 AR 结果送容送总送总线 送总线 总线 线 24位代码的含义: S3,S2,S1,S0,M,Cn: 为运算器74LS181芯片的控制信号,详见74LS181功能表1-1。 22 WE :为W/R信号对RAM和OUT进行写操作,高电平为写有效。 B1,B0 : 为对外部设备(RAM,OUTPUT,INPUT)地址进行译码,B1B0=00时,INPUT(即SWB)选中;B1B0=01时,RAM(即CE)选中;B1B0=10时, OUTPUT(即LEDB)选中,B1B0=11时,外部设备都不选中。 A字段: 表3-10 15 14 13 选择 0 0 0 0 0 1 LDRi 0 1 0 LDDR1 0 1 1 LDDR2 1 0 0 LDIR 1 0 1 LOAD 1 1 0 LDAR LDRi:寄存器输入选中,具体选择同指令寄存器(IR)的最低2位(I1,I0)配合,当I1,I0=00时为输入到R0寄存器;I1,I0=01时为R1;I1,I0=10时为R2。 LDDR1:暂存器DR1选中。 LDDR2:暂存器DR2选中。 LDIR:指令寄存器IR选中。 LOAD:总线数据直接装载到PC计数器。 LDAR:地址寄存器AR选中。 B字段: 表3-11 12 11 10 选择 0 0 0 0 0 1 RS-B 0 1 0 RD-B 0 1 1 RI-B 1 0 0 299-B 1 0 1 ALU-B 1 1 0 PC-B RS-B:为源寄存器输出选中。具体选择同指令寄存器(IR)的3,4位(I3,I2)配合,当I3,I2=00时为输入到R0寄存器;I3,I2=01时为R1;I3,I2=10时为R2。 23 RD-B:为目的寄存器输出选中。具体选择同指令寄存器(IR)的最低2位(I1,I0)配合,当I1,I0=00时为输入到R0寄存器;I1,I0=01时为R1;I1,I0=10时为R2。 RI-B:为变址寄存器选中。本机定固定为R2 。 299-B:移位寄存器输出选中。 ALU-B:逻辑运算单元结果输出。 PC-B :PC计数器输出。 C字段: 表3-12 9 8 7 选择 0 0 0 0 0 1 P(1) 0 1 0 P(2) 0 1 1 P(3) 1 0 0 P(4) 1 0 1 AR 1 1 0 LDPC P(1):分支判断1,和指令寄存器(IR)的高四位(IR7-IR4)作为测试条件。可分16个分支。 P(2):分支判断2,和指令寄存器(IR)的三四位(IR3,IR2)作为测试条件,有4个分支。 P(3):分支判断3,和CY或ZI作为测试条件,有两个分支。 P(4):分支判断4,和开关SWB,SBA作为测试条件,有4个分支。用于控制台控制区 (读程序,写程序,和运行程序) AR:进行算术运算时是否影响进位和判零标志的控制位。 选中时进行带进位运算。 LDPC:为PC计数信号选中。 UA5„„UA0: 为下一步微地址。 4 微程序控制器的逻辑机构及功能 (1)逻辑结构: 24 采用微程序控制方式的控制器称为微程序控制器。所谓微程序控制方式是指微命令不是由组合逻辑电路产生的,而是由微指令译码产生。一条机器指令往往分成几步执行,将每一步操作所需的若干位命令以代码形式编写在一条微指令中,若干条微指令组成一端微程序,对应一条及其指令。在设计CPU时,根据指令系统的需要,事先编制好各段微程序 ,且将它们存入一个专用存储器中。微程序控制器由指令寄存器IR、程序计数器PC、程序状态字寄存器PSW、时序系统、控制存储器CM、微指令寄存器以及微地址形成电路。微地址寄存器等部件组成。执行指令时,从控制存储器中找到相应的微程序段,逐次取出微指令,送入微指令寄存器,译码后产生所需微命令,控制各步操作完成。微控制器结构框图如下:它由控制存储器、微地址寄存器、微命令寄存器和地址转移逻辑几部分组成。微地址寄存器和微命令寄存器两者的总长度即为一条微指令的长 度,二者合在一起称为微指令寄存器。 图3-3 微程序控制器原理图 (2)微程序控制器功能: A控制存储器(ROM): ROM中存放微程序,也就是全部的微指令。ROM的容量取决于微指令的总数。假如控 制器需要128条微指令,则微地址寄存器长度为7位。ROM的字长取决于微指令长度。 如 2果微指令为32位,则ROM的字长就是32位。实际应用中ROM可采用EPROM或EPROM、 EAROM, 用户写入和修改微程序比较方便。 B微命令寄存器: 25 微命令寄存器暂存由控制存储器中读出的当前微指令中控制字段与测试判别字段信 息可由8D寄存器组成。 C微地址寄存器: 微地址寄存器暂存由控制存储器读出的当前微指令的下址字段信息。它可由带R、 DS强置端的D触发器组成。其中时钟端和D端配合用做ROM的读出打入,用S进行下 DD址修改。 D地址转移逻辑: 微指令由ROM读出后直接给出下一条微指令的地址,这个地址就放在微地址寄存器中。 当 微程序出现分支时通过地址转移逻辑去修改微地址寄存器内容,并按修改好的微地址读出 下条 微指令。地址转移逻辑是一个组合逻辑电路,其输入是当前微指令的判别测试字段P、 执行部i件反馈的“状态条件”及时间因素T。 4 E控制时序信号: 上图中标明了一个基本机器周期中的控制时序信号。例如用上一周期的T时间按微 4地址寄存器内容从ROM中读一条微指令,经过一段时间后被读出,用当前周期的T时间 1打入到微指令寄存器。T、T时间用来控制执行部件进行操作。T时间修改微地址寄存器 234 内容并读出下一条微指令。 5 微程序的设计与实现 (1)微程序流程图: 26 运行 01 PC->AR PC+1 02 RAM->BUS BUS->IR 10 P(1) IN ADD STA OUT JMP 10 11 12 13 14 SW->R0 PC->AR PC->AR PC->AR PC->AR PC+1 PC+1 PC+1 PC+1 03 07 19 1C 01 RAM->BUS RAM->BUS RAM->BUS RAM->BUS BUS->DR2 BUS->AR BUS->AR BUS->PC 04 0F 1A 01 R0->DR1 R0->BUS RAM->BUS BUS->RAM BUS->DR1 05 1B 01 DR1+DR2->DR1->LED R0 06 01 DR1->LED 01 27 RR RRC RL RLC 15 16 17 18 R0->299 R0->299 R0->299 R0->299 1D 1F 21 23 带进位循环带进位循环不带进位 不带进位 右环移 左环移 右环移 左环移 1E 20 22 24 299-->R0 299->R0 299->R0 299->R0 01 01 01 01 控制台: 00 08 P4 WRITE(01) READ(00) RUN(11) 09 08 0B PC—>AR PC—>AR PC+1 PC+1 0C 0A 01 RAM—>BUS RAM—>BUS BUS—>DR1 BUS—>DR1 0D 0E DR1—>RAM DR1—>RAM 微程序流程图3-4 28 (2)微指令代码 表3-13 微指令代码表 微地址 十六进制 S3 S2 S1 S0 M CN WE B1 B0 A B C UA5„UA0 00 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 088105 01 0 0 0 0 0 1 0 1 1 1 1 0 1 1 0 1 1 0 0 0 0 0 1 0 82ED05 02 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0 50C004 03 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 04E004 04 0 0 0 0 0 1 0 1 1 1 1 0 1 1 0 1 1 0 0 1 0 1 1 1 05B004 05 0 0 0 0 0 1 0 1 1 1 1 0 1 1 0 1 1 0 0 1 1 0 1 0 06A205 06 0 0 0 0 0 1 0 1 1 1 1 0 1 1 0 1 1 0 0 1 1 1 1 0 019A95 07 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0FE004 08 0 0 0 0 0 1 0 1 1 1 1 0 1 1 0 1 1 0 0 0 1 0 1 0 8AED05 09 0 0 0 0 0 1 0 1 1 1 1 0 1 1 0 1 1 0 0 0 1 1 1 0 8CED05 0A 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0EA004 0B 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 018005 0C 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 1 0D2004 0D 0 0 0 0 0 1 1 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 1 098A06 0E 0 0 0 0 0 1 1 1 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 080A07 0F 0 0 1 1 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 018206 10 0 0 0 0 0 1 0 1 1 1 1 0 1 1 0 1 1 0 1 0 0 0 1 0 011004 11 0 0 0 0 0 1 0 1 1 1 1 0 1 1 0 1 1 0 1 0 0 1 0 0 83ED05 12 0 0 0 0 0 1 0 1 1 1 1 0 1 1 0 1 1 0 1 0 0 1 0 1 87ED05 13 0 0 0 0 0 1 0 1 1 1 1 0 1 1 0 1 1 0 1 0 0 1 1 1 99ED05 14 0 0 0 0 0 1 0 1 1 1 1 0 1 1 0 1 1 0 1 0 1 0 1 0 9CED05 15 0 0 0 0 0 1 0 1 1 1 1 0 1 1 0 1 1 0 1 0 1 1 0 1 1D8253 16 0 0 0 0 0 1 0 1 1 1 1 0 1 1 0 1 1 0 1 1 0 0 0 0 1F8253 17 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 218253 18 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 238253 19 0 0 0 0 0 1 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 1AE004 1A 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 1 1 0 1 1 1BA004 1B 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 1 1 1 0 0 010A07 1C 0 0 0 0 0 1 0 1 1 0 1 0 0 0 1 0 0 0 0 1 1 1 0 1 81D104 1D 1 0 0 1 0 1 0 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 1 1E8825 1E 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 019805 1F 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 20882D 29 20 0 0 0 0 0 1 0 1 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 019805 21 0 1 1 0 0 0 0 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 1 228815 22 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 1 1 019805 23 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 24881D 24 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 1 0 1 019805 (3)微程序设计: 监控软件详细说明如下: 地址 内容 助记符 0000 0000 0000 0000 IN R0 ;输入R0 0000 0001 0001 0000 ADD[0DH] ;R0[0DH]->[40H] 0000 0010 0000 1101 0000 0011 1000 0000 RLC 0000 0100 0000 0000 IN 0000 0101 0110 0000 RRC 0000 0110 0111 0000 RL 0000 0111 0010 0000 STA[0EH] 0000 1000 0000 11110 0000 1001 0011 0000 OUT[0EH] 0000 1010 0000 1110 0000 1011 0100 0000 JMP 00H 0000 1100 0000 0001 0000 1101 0100 0000 0000 1110 ;结束存放单元 监控程序的16进制文件格式: 程序: $P0000 $P0110 $P020D $P0380 $P0400 $P0560 $P0670 $P0720 $P080E $P0930 $P0A0E $P0B40 30 $P0C00 $P0D40 微程序: $M00088105 $M0182ED05 $M0250C004 $M0304E004 $M0405B004 $M0506A205 $M06019A95 $M070FE004 $M088AED05 $M098CED05 $M0A0EA004 $M0B018004 $M0C0D2004 $M0D098A06 $M0E080A07 $M0F018206 $M10011004 $M1183ED01 $M1287ED05 $M1399ED05 $M149CED05 $M151D8235 $M161F8235 $M17218235 $M18238235 $M191AE004 $M1A1BA004 $M1B010A07 31 $M1C81D104 $M1D1E8825 $M1E019805 $M1F20882D $M20019805 $M21228815 $M22019805 $M2324881D $M24019805 四.系统调试报告 (1)调试接线 详细的接线方法如下: a、跳线器J1-J12全部拨在右边(自动工作方式); b、跳线器J16、J18、J23、J24全部拨在左边; c、跳线器J13-J15、J19、J25全部拨在右边; d、跳线器J20-J22、J26、J27连上短路片; e、UJ1连UJ2,JSE1连JSE2,SJ1连SJ2; f、MBUS连BUS2; g、REGBUS连BUS5; h、PCBUS连EXJ2; i、ALUBUS连EXJ3; j、ALUO1连BUS1; k、EXJ1连BUS3 l、ALUO2连BUS4。 (2)运行实现: ?.单步运行程序 A 使编程开关处于“运行”的状态,“运行方式”开关置为“单步”状 态,“运行控制”开关置为“运行”状态。 32 B 拨动总清开关 (0->1),即单步运行一条指令。PC计数器清零,程序首地址为00H。 C 按动“启动运行”开关,即单步运行一条微指令。对照程序流程图,观察位地址显示灯是否和流程一致。 ?.连续运行程序 A “编程开关”置“运行”状态,“运行方式”开关置“连续”状态,“运行控制”开关置“运行”状态。 B 拨动总清开关,清微地址及程序计数器,然后按动“启动”开关,系统连续运行程序,如果要停止程序的运行,只需将“运行控制”开关置为“停止”状态,系统就停机。 C 停机后,可检查存数单元0BH中的结果是否正确。 (3)运行以上程序,调试可得结果如下: PC=01->AR=00->RAM=00 RAM=00->IR=00->微控器 INPUT=02->R0=02 PC=02->AR=01->RAM=10 RAM=10->IR=10->微控器 PC=03->AR=02->RAM=0D RAM=0D->AR=0D->RAM=40 RAM=40->DR2=40->ALU=FF RO=02->DR1=02->ALU=FF ALU=FF->RO=FE PC=04->AR=03->RAM=80 RAM=80->IR=80->微控器 RO=FE->299=FE 299=FC->RO->FC PC=05->AR=04->RAM=00 RAM=00->IR=00->微控器 INPUT=02->RO=02 R0=01->RAM=01 PC=06->AR=05->RAM=60 RAM=60->IR=60->微控器 RO=02->299=02 33 299=81->RO=81 PC=07->AR=06->RAM=70 RAM=70->IR=70->微控器 RO=81->299=81 299=03->RO=03 PC=08->AR=07->RAM=20 RAM=20->IR=20->微控器 PC=09->AR=08->RAM=0E RAM=0E->AR=OE->RAM=FF RO=03->RAM=03 PC=0A->AR=09->RAM=30 RAM=30->IR=30->微控器 PC=0B->AR=0A->RAM=0E RAM=0E->AR=0E->RAM=03 RAM=03->DR1=03->ALU=FF ALU=FF->OUTPUT=FF PC=0C->AR=0B->RAM=40 RAM=40->IR=40->微控器 PC=0D->AR=0C->RAM=00 RAM=00->PC=00 (4)结果分析: 运行以上指令,即数的输入(IN)、数的相加(ADD)、从数的传送(STA)、 数的输出(OUT)、伪指令的程序跳转(JMP)、 右环移(RR)、带进位右环移 (RRL)、左环移(RL)、带进位左环移(RLC)单步运行,通过对照程序流程 图看指令运行,可以看到程序的执行与设想的一致。解决调试中遇到的问题 ?微程序准确录入,校验。 ?排线的线路出问题,更换排线后得以解决。 ?准确记录程序执行过程。 34 五 设计总结 经过这次课程设计,我体会到自己所学的东西太少了,很多都不知道。在这次课程设计的过程,有些很基本的知识出现记混淆的现象,通过查书及询问同学,最终明白了。 本次课程设计我们要设计一台微程序控制的模型机,以对计算机能有一个整机的概念,完成对计算机组成原理这门课程的综合应用,达到学习本书的作用。作为一个计算机系学生这是必需掌握的,使我们对数据选择器,移位器,加法器,运算器,存储器和微程序控制器,有了比较彻底的认识。 由于计算机设计的部件较多,结构原理较复杂,对于我们这样的初设计者来说感到无从下手,所以我们在整个过程中采取由浅入深,由简单到复杂的放法,通过这次设计,使我们能清楚地了解计算机的基本组成,基本原理和设计步骤,设计思路和调试步骤,最终能清晰的建立起整机概念,为独立完成计算机设计奠定了基础。 在此次的设计中,感谢老师对我们的帮助和指导。 35 六 设计(论文)的主要参考文献 1白中英,计算机组成原理. 科学术出版社,2006.8 2白中英,计算机组成原理题解、题库、实验. 科学术出版社,2006.8 3王爱英,计算机组成与结构.清华大学出版社,1999 4王诚,计算机组成与结构.清华大学出版社,1999清华大学出版社,1999 5唐朔飞,计算机组成原理.高等教育出版社,1993 36 七 致谢 本次课设我学到了很多东西,一部分来自于老师,一部分来自同学,还有通过各种参考资料获得。老师为我顺利完成课设奠定了牢固的基础,所以在这儿我要特别感谢我的计算机组成原理的授课老师和课设指导老师张红老师,除了给了我了知识基础,还给了我解决问题的思想。课设过程中我遇到了很多实际性的问题,都是她为我提出了具有指导性的解决方案,使我顺利的完成课设。还有我身边的同学也给了我很多的帮助在此也一并感谢。 37
本文档为【计算机组成原理课程设计---基本模型机的设计与实现】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_751406
暂无简介~
格式:doc
大小:149KB
软件:Word
页数:37
分类:生活休闲
上传时间:2017-09-30
浏览量:254