计算机原理课程设计(含实验报告).doc_第1页
计算机原理课程设计(含实验报告).doc_第2页
计算机原理课程设计(含实验报告).doc_第3页
计算机原理课程设计(含实验报告).doc_第4页
计算机原理课程设计(含实验报告).doc_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

计算机原理课程设计指导书课 程 号:10022101适用专业:计算机制 定 人: 于秀丽教 研 室:计算机科学与技术教研室计算机科学与信息工程学院2007 年5 月33前言计算机组成原理是计算机系本科生的一门重要的专业核心必修课,在多门硬件课程中占有举足轻重的地位,在先导课和后记课之间起者承上启下、继往开来的作用。从计算机所授内容看,计算机组成原理属于工程性、技术性和实践性都特别强的一门课,课堂教学应该与实践环节紧密结合。在开展好课堂教学的同时,必须对实践教学环节给予足够的重视,要向学生传授单台计算机的基本组成和运行原理的基础知识,包括计算机的硬件设计和运行维护等多方面的技能,还要训练一定的动手能力。让学生对计算机的组成有充分的认识。目前,我们重新编写了课程设计指导书,加大了实践力度。希望同学们能够充分利用实验条件,认真完成实验,从实验中得到应有的锻炼和培养。设计要求计算机组成原理是计算机系本科生的主干基础课,是硬件学习的核心课程。通过提供模块化的实验系统,学生可通过一系列积木式实验,对CPU内部的运算功能、控制功能、总线结构、指令系统的设计和微指令的实现以及CPU内部如何工作有直观、深刻的认识,所有总线信息(数据总线、地址总线、控制总线)都有指示灯显示,以便学生实时观察每条指令及微指令的执行情况,从而对计算机的原理、结构,从部件到系统,直到整机有一个形象的、生动的、本质的认识。总之,通过上述实验设计环节,使学生加深了解和更好地掌握计算机组成原理课程教学大纲要求的内容。在计算机组成原理的课程设计过程中,要求学生做到:(1)复习实验指导书有关部分,在深化计算机各功能部件实验的同时,加强对计算机整机硬件系统组成与运行原理的思考和分析。(2)对课程设计所授内容积极学习,提前完成指令系统中各个指令流程的编写。(3)认真书写课程设计报告。设计报告包括设计的题目;设计的目的、内容和步骤;写出程序设计说明,给出源程序框图和清单;设计中所涉及的流程、连线图和设计格式等内容。 (4)遵守机房纪律,服从辅导教师指挥,爱护实验设备。(5)实验课程不迟到。如有事不能出席,所缺实验一般不补。实验的验收将分为两个部分。第一部分是上机操作,包括检查程序运行和即时提问。第二部分是提交书面的设计报告。设计时间在两周内完成,如不能完成,不会延长设计时间,希望同学们抓紧时间,合理安排,认真完成。目 录第一部分 计算机组成原理实验部分实验一 微控制器实验1实验二 基本模型机的设计与实现7实验三 带移位运算的模型机的设计与实现14实验四 复杂模型机的设计与实现21第二部分 计算机组成原理课程设计部分设计一 复杂模型机的指令系统设计与实现30实验一 微控制器实验 【实验目的】(1)掌握时序产生器的组成原理。(2)掌握微程序控制器的组成原理。 (3)掌握微程序的编写、写入,观察微程序的运行。【实验设备】TDN-CM+计算机组成原理教学实验系统一台。【实验原理】微程序控制器的组成见图1-1,其中控制存储器采用3片2816的EEPROM,具有掉电保护功能,微命令寄存器18位,用两片8D触发器(273)和一片4D(175)触发器组成。微地址寄存器6位,用三片正沿触发的双D触发器(74)组成,它们带有清零端和预置端。 在该实验电路中设有一个编程开关(位于实验板右上方),它具有三种状态:PROM(编程)、READ(校验)、RUN(运行)。当处于“编程状态”时,学生可根据微地址和微指令格式将微指令二进制代码写入到控制存储器2816中。当处于“校验状态”时,可以对写入控制存储器中的二进制代码进行验证,从而可以判断写入的二进制代码是否正确。当处于“运行状态”时,只要给出微程序的入口微地址,则可根据微程序流程图自动执行微程序。图中微地址寄存器输出端增加了一组三态门,目的是隔离触发器的输出,增加抗干扰能力,并用力驱动微地址显示灯。微指令字长共24位,其控制位顺序如下:表1-1 微指令格式242322212019181716151413121110 9 8 7654321S3S2S1S0MCnWEA9A8ABCuA5uA4uA3uA2uA1uA0B字段121110选择000001RS-B0 10RD-B011RI-B100299-B101ALU-B110PC-BA字段151413选择000001LDRi0 10LDDR1011LDDR2100LDIR101LOAD110LDARC字段151413选择000001P(1)0 10P(2)011P(3)100P(4)101AR110LDPC其中UA5-UA0为6位的后继微地址,A、B、C为三个译码字段,分别由三个控制位译码出多位,C字段中的P(1)P(4)是四个测试字位。其功能是根据机器指令及相应微代码进行译码,使微程序转入相应的微地址入口,从而实现微程序的顺序、分支、循环运行,其原理如图1-2所示。图中I7I2为指令寄存器的第72位输出,SE5SE1为微控制器单元微地址锁存器的强置端输出,AR为算术运算是否影响进位及判零标志控制位,其为零图 1-1 微控制器实验原理图有效。B字段中的RS-B、RD-B、RI-B分别为源寄存器选通信号、目的就存器选通信号及变址寄存器选题信号,其功能是根据机器指令来进行三个工作寄存器R0、R1、R2的选通译码,其原理如图1-3,图中I0I4为指令寄存器的第04位,LDRI为打入工作寄存器信号的译码器使能控制位。 图1-2 指令译码器图 1-3 寄存器选通译码电路【实验步骤】(1)图1-4为几条机器指令对应的参考微程序流程图,将全部微程序按微指令格式变成二进制代码,可得到表1-2的二进制代码表。图 1-4 微程序流程图表 1-2 二进制代码表微地址S3 S2 S1 S0 M CN WE A9 A8ABCUA5UA00 00 0 0 0 0 0 0 1 10 0 00 0 0 1 0 00 1 0 0 0 00 10 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 0 0 1 00 20 0 0 0 0 0 0 0 110 00 0 0 00 10 0 1 0 0 00 30 0 0 0 0 0 0 0 11 1 00 0 0 0 0 00 0 0 1 0 00 40 0 0 0 0 0 0 0 10 1 10 0 0 0 0 00 0 0 1 0 10 50 0 0 0 0 0 0 1 10 1 00 0 1 1 0 00 0 0 1 1 00 61 0 0 1 0 1 0 1 10 0 11 0 10 0 00 0 0 0 0 10 70 0 0 0 0 0 0 0 11 1 00 0 0 0 0 00 0 1 1 0 11 00 0 0 0 0 0 0 0 00 0 10 0 0 0 0 00 0 0 0 0 11 10 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 0 0 1 11 2 0 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 0 1 1 11 30 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 1 1 1 01 40 0 0 0 0 0 0 1 11 101 101 1 00 1 0 1 1 01 50 0 0 0 0 0 1 0 10 0 00 0 10 0 00 0 0 0 0 11 60 0 0 0 0 0 0 0 11 1 00 0 0 0 0 00 0 1 1 1 11 70 0 0 0 0 0 0 0 10 1 00 0 0 0 0 00 1 0 1 0 1 2 00 0 0 0 0 0 0 1 11 1 01 1 01 1 00 1 0 0 1 02 1 0 0 0 0 0 0 0 1 11 1 01 1 01 1 00 1 0 1 0 02 20 0 0 0 0 0 0 0 10 1 00 0 0 0 0 0 0 1 0 1 1 12 30 0 0 0 0 0 0 1 10 0 00 0 0 0 0 0 0 0 0 0 0 12 4 0 0 0 0 0 0 0 0 00 100 0 0 0 0 0 0 1 1 0 0 02 50 0 0 0 0 1 1 1 00 0 01 0 1 0 0 00 0 0 0 0 12 60 0 0 0 0 0 0 0 11 0 10 0 0 1 1 0 0 0 0 0 0 12 70 0 0 0 0 1 1 1 00 0 01 0 1 0 0 0 0 1 0 0 0 03 00 0 0 0 0 1 1 0 10 0 01 0 1 0 0 0 0 1 0 0 0 1图 1-5 实验连线图(2)按图1-5连接实验线路,仔细查线无误后接通电源。 (3)观察微程序控制器的工作原理:1)编程A将编程开关置为PROM(编程)状态。B将实验板上“STATE UNIT”中的“STEP”置为“STEP”,“STOP”置为“RUN”状态。C用二进制模拟开关置微地址MA5-MA0 D在MK24-MK1开关上置微代码,24位开关对应24位显示灯,开关量为“0”时灯亮,开关量为“1”时灯灭。E启动时序电路(按动启动按钮“START”),即将微代码写入到EEPROM 2816的相应地址对应的单元中。F重复C-F步骤,将表1-2的微代码写入2816。2)校验A将编程开关置为READ(校验)状态。B将实验板的“STEP”置为“STEP”,“STOP”置为“RUN”状态。C用二进制模拟开关置好微地址MA5-MA0 D按动“START”键,启动时序电路,读出微代码,观察显示灯MD24-MD1的状态(灯亮为“0”,灭时为“1”),检查读出的微代码是否与写入的相同,如果不同,则将开关置于PROM编程状态,重新执行1)即可。3)单步运行 A将编程开关置为“RUN”状态,“STEP”及“STOP”开关保持原态。B拨动总清开关CLR,使开关CLR信号为101,微地址寄存器MA5MA0清零, C按动“START”键,启动时序电路,则每按动一次START键,读出一条微指令后停机,此时实验台上的微地址显示灯和微命令显示灯将显示所读出的一条指令。注意:在当前条件下,可将“MICROCONTROLLER”单元的SE6SE1接到“SWITCH UNIT”中的S3Cn对应二进制开关上,可通过强制置端SE6SE1人为设置分支地址。将SE6SE1对应二进制开关置为“1”,当需要人为设置分支地址时,将某个或某几个二进制开关置“0”,相应的微地址位即被强制置为“1”,从而改变下一条微指令的地址。(二进制开关置为“0”,相应的微地址被强制置为“1”)4)连续运行A将编程开关置为“RUN”状态,使“STATE UNIT”中的“STEP”置为“ECEX”状态。B拨动总清开关CLR,使开关CLR信号为101,此时,微地址寄存器清零,从而给出取指微指令的入口地址为000000(二进制)。C启动时序电路,则可连续读出微指令。实验二 基本模型机的设计与实现 【实验目的】(1)在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台基本模型计算机。(2)为其定义五条机器指令,并编写相应的微程序,具体上机调试掌握整机概念。【实验设备】TDN-CM+计算机组成原理教学实验系统一台,排线若干。【实验原理】部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次实验将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。本实验采用五条机器指令:IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移),其指令格式如下(前四位为操作码): 助记符 机器指令码 说明IN 0000 0000 “INPUT DEVICE”中的开关状态R0ADDaddr0001 0000 XXXXXXXX R0+STA addr0010 0000 XXXXXXXX R0addrOUT addr0011 0000 XXXXXXXX BUSJMP addr 0100 0000 XXXXXXXX addrPC其中IN为单字长(8位),其余为双字长指令,XXXXXXXX为addr对应的二进制地址码。为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序:存储器读操作(KRD):拨动总清开关CLR后,控制台开关SWB、SWA为“00”时,按START启动纽,可对RAM连续手动读操作。存储器写操作(KWE):拨动总清开关CLR后,控制台开关SWB、SWA为“01”时,按START启动纽,可对RAM进行连续手动写入。启动程序:拨动总清开关CLR后,控制台开关SWB、SWA为“11”时,按START启动纽,即可转入到第01号“取址”微指令。上述三条控制台指令用两个开关SWB、SWA的状态来设置,其定义如下:SWBSWA控制台指令0011011读内存(KRD)写内存(KWE)启动程序(RP)根据以上要求设计数据通路框图,如图2-1,微代码定义如表2-1所示。 图 2-1 数据通路框图表2-1 微指令格式24232221201918171615 14 1312 11 10 9 8 7654321S3S2S1S0MCnWEA9A8ABCuA5uA4uA3uA2uA1uA0B字段121110选择000001RS-B0 10011100101ALU-B110PC-BA字段151413选择000001LDRi0 10LDDR1011LDDR2100LDIR101LOAD110LDARC字段151413选择000001P(1)0 10011100P(4)101110LDPC系统涉及到的微程序流程见图2-2,当拟定“取指”微指令时,该微指令的判别测试字段为P(1)测试。由于“取指”微指令是所有微程序都使用的公用微指令,因此P(1)的测试结果出现多路分支。本机用指令寄存器的前4位(IR7-IR4)作为测试条件,出现5路分支,占用5个固定微地址单元。 控制台操作为P(4)测试,它以控制台开关SWB、SWA作为测试条件,出现了3路分支,占用3个固定微地址单元,当分支微地址单元固定后,剩下的其它地方就可以一条微指令占用控存一个微地址单元随意填写。注意:微程序流程图上的单元地址为八进制。当全部微程序设计完毕后,应将每条微指令代码化,表2-2即为将图2-2的微程序流程图按微指令格式转化而成的“二进制微代码表”。 表 2-2 二进制代码表微地址S3 S2 S1 S0 M CN WE A9 A8ABCUA5UA00 00 0 0 0 0 0 0 1 10 0 00 0 0 1 0 00 1 0 0 0 00 10 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 0 0 1 00 20 0 0 0 0 0 0 0 110 00 0 0 00 10 0 1 0 0 00 30 0 0 0 0 0 0 0 11 1 00 0 0 0 0 00 0 0 1 0 00 40 0 0 0 0 0 0 0 10 1 10 0 0 0 0 00 0 0 1 0 10 50 0 0 0 0 0 0 1 10 1 00 0 1 1 0 00 0 0 1 1 00 61 0 0 1 0 1 0 1 10 0 11 0 10 0 00 0 0 0 0 10 70 0 0 0 0 0 0 0 11 1 00 0 0 0 0 00 0 1 1 0 11 00 0 0 0 0 0 0 0 00 0 10 0 0 0 0 00 0 0 0 0 11 10 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 0 0 1 11 2 0 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 0 1 1 11 30 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 1 1 1 01 40 0 0 0 0 0 0 1 11 101 101 1 00 1 0 1 1 01 50 0 0 0 0 0 1 0 10 0 00 0 10 0 00 0 0 0 0 11 60 0 0 0 0 0 0 0 11 1 00 0 0 0 0 00 0 1 1 1 11 70 0 0 0 0 0 0 0 10 1 00 0 0 0 0 00 1 0 1 0 1 2 00 0 0 0 0 0 0 1 11 1 01 1 01 1 00 1 0 0 1 02 1 0 0 0 0 0 0 0 1 11 1 01 1 01 1 00 1 0 1 0 02 20 0 0 0 0 0 0 0 10 1 00 0 0 0 0 0 0 1 0 1 1 12 30 0 0 0 0 0 0 1 10 0 00 0 0 0 0 0 0 0 0 0 0 12 4 0 0 0 0 0 0 0 0 00 100 0 0 0 0 0 0 1 1 0 0 02 50 0 0 0 0 1 1 1 00 0 01 0 1 0 0 00 0 0 0 0 12 60 0 0 0 0 0 0 0 11 0 10 0 0 1 1 0 0 0 0 0 0 12 70 0 0 0 0 1 1 1 00 0 01 0 1 0 0 0 0 1 0 0 0 03 00 0 0 0 0 1 1 0 10 0 01 0 1 0 0 0 0 1 0 0 0 1图 2-2 微程序流程图下面介绍指令寄存器(IR):指令寄存器用来保存当前正在执行的一条指令,当执行一条指令时,先把它从内存取到缓冲寄存器中,然后再传送至指令寄存器,指令划分为操作码和地址码字段,由二进制数构成,为了执行任何给定的指令,必须对操作码进行测试P(1),通过节拍脉冲T4的控制以便识别所要求的操作。“指令译码器”(实验板上标有“INS DECODE”的芯片)根据指令中的操作码译码强置微控器的单元的微地址,使下一条微指令指向相应的微程序首地址。本系统有两种外部I/O设备,一种是二进制代码开关,它作为输入设备(INPUT DEVICE);另一种是数码块,它作为输出设备(OUTPUT DEVICE)。例如:输入时,二进制开关数据直接经过三态门送到总线上,只要开关状态不变,输入的信息也不变。输出时,将输出数据送到数据总线上,当写信号(W/R)有效时,将数据打入输出锁存器,驱动数码块显示。本实验设计机器指令程序如下:地址(二进制) 内存(二进制) 助记符 说明【实验步骤】(1)按图2-3连接实验线路,仔细查线无误后接通电源。(2)写程序方法一:手动写入1)先将机器指令对应的微代码正确地写入2816中,由于在实验三微程序控制实验中已将微代码写入EEPROM芯片中,对照表5-2校验正确后就可使用。2)使用控制台KWE和KRD微程序进行机器指令程序的装入和检查。A将编程开关置为“RUN”,“STEP”置为“STEP”,“STOP”置为“RUN”状态。B拨动总清开关CLR(01),微地址寄存器清零,程序计数器清零,然后控制台SWBSWA开关置为“01”,按动一次启动开关START,微地址显示灯显示“010001”,再按动一次START,微地址显示灯显示“010100”,此时数据开关的内容置为要写入的机器指令,按动两次START键后,即完成该条指令的写入。若仔细阅读KWE的流程,就不难发现,机器指令的首地址总清后为零,以后每个循环PC自动加1,所以,每次按动START,只有在微地址灯显示“010100”时,才设置内容,直到所有机器指令写完。C写完程序后须进行校验,拨动总清开关CLR(01)后,微地址清零。PC程序计数器清零,然后控制台SWBSWA开关置为“00”,按动启动开关START,微地址显示灯显示“010000”,再按动一次START,微地址显示灯显示“010010”,第三次按动START,微地址显示灯显示“010111”,再按START键后,此时输出单元的数码管显示为该首地址中的内容,不断按动START,以后每个循环PC会自动加1,可检查后续单元内容,每次在微地址灯显示为“010000”时,是将当前地址中的机器指令写入到输出设备中显示。方法二:联机读/写程序按照规定格式,将机器指令及表2-2微指令编辑成十六进制的如下格式文件。微指令格式中的微指令代码为将表2-2中的24位微代码按从左到右分成三个8位,将此三个8位二进制代码化为相应的十六进制即可。用联机软件的传送文件功能(F4)将该格式文件传入实验系统即可。程 序机器指令格式说明:$PX X X X机器指令代码十六进制地址$P0000$P0110$P020A$P0320$P040B$P0530$P060B$P0740$P0800$P0A01微指令格式说明:$M X X X X X X X X微指令代码十六进制地址微程序$M00018110$M0101ED82$M0200C048$M0300E004$M0400B005$M0501A206$M06959A01$M0700E00D$M08001001$M0901ED83$M0A01ED87$M0B01ED8E$M0C01ED96$M0D028201$M0E00E00F$M0F00A015$M1001ED92$M1101ED94$M1200A017$M13018001$M14002018$M15070A01$M1600D181$M17070A10$M18068A11(3)运行程序1)单步运行程序A将编程开关置为“RUN”,“STEP”置为“STEP”,“STOP”置为“RUN”状态。B拨动总清开关CLR(01),微地址寄存器清零,程序计数器清零,程序首址为00H。C单步运行一条微指令,每按动一次START键,即单步运行一条微指令。对照微程序流程图,观察微地址显示灯是否和流程一致。D当运行结束后,可检查存数单元(0BH)中的结果是否和理论值一致。2)连续运行程序A使“STATE UNIT”中的“STEP”置为“ECEX”,“STOP”置为“RUN”状态。B拨动总清开关CLR(01),微地址寄存器清零,程序计数器清零,然后按动START,系统连续运行程序,稍后将STOP拨至“STOP”时,系统停机。C停机后,可检查存数单元(0BH)中的结果是否正确。3)若联机运行程序时,进入DEBUG调试界面,总清开关CLR(01)清零后,程序首地址为00H,按相应功能键即可联机运行、调试程序。 实验三 带移位运算的模型机的设计与实现 【实验目的】(1)熟悉用微程序控制器控制模型机的数据通路。(2)学习设计与调试计算机的基本步骤及方法。【实验设备】TDN-CM+计算机组成原理教学实验系统一台,排线若干。【实验原理】本实验是在实验五中的基本模型机的基础上搭接移位控制电路,实现移位控制运算。实验中新增4条移位运算指令:RL(左环移)、RLC(带进位左环移)、RR(右环移)、RRC(带进位右环移),其指令格式如下: 操作码RR 01010000RRC 01100000RL 01110000RLC 10000000以上4条指令都为单字长(8位)RR 为将R0寄存器中的内容循环右移一位。RRC为将R0寄存器中的内容带进位右移一位,它将R0寄存器中的数据右边第一位移入进位,同时将进位寄存器的数移到R0寄存器的最左位。RL 为将R0寄存器中的内容循环一位。RLC为将R0寄存器中的内容带进位循环左移一位。为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还设计了三个控制台操作微程序:存储器读操作(KRD):拨动总清开关CLR后,控制台开关SWB、SWA为“00”时,按START启动纽,可对RAM连续手动读操作。存储器写操作(KWE):拨动总清开关CLR后,控制台开关SWB、SWA为“01”时,按START启动纽,可对RAM进行连续手动写入。启动程序:拨动总清开关CLR后,控制台开关SWB、SWA为“11”时,按START启动纽,即可转入到第01号“取址”微指令。上述三条控制台指令用两个开关SWB、SWA的状态来设置,其定义如下:SWBSWA控制台指令0011011读内存(KRD)写内存(KWE)启动程序(RP)实验数据通路框图如图3-1,编写微程序流程图及确定微地址如图3-2。 图 6-1 带移位运算的模型机的数据通路框图图 3-2 微程序流程图本实验设计机器指令程序如下:地址(二进制) 内存(二进制) 助记符 说明将微代码流程图代码化,本实验给出将微程序二进制代码转换成十六进制格式文件。机器指令及微程序按照规定格式编写成十六进制格式文件,具体内容如下:微程序程序 微程序 微程序【实验步骤】(1)按图3-3连接实验线路,仔细查线无误后接通电源。图3-3 实验连线图(2)写微程序与PC联机,将实验微程序装入CM+机中或脱机时手动将本实验微程序写入CM+中,手动写入的具体方法如下:1)编程A将编程开关置为PROM(编程)状态。B将实验板上“STATE UNIT”中的“STEP”置为“STEP”,“STOP”置为“RUN”状态。C用二进制模拟开关置微地址MA5-MA0 D在MK24-MK1开关上置微代码,24位开关对应24位显示灯,开关量为“0”时灯亮,开关量为“1”时灯灭。E启动时序电路(按动启动按钮“START”),即将微代码写入到EEPROM 2816的相应地址对应的单元中。F重复C-F步骤,将本实验给出的十六进制 格式文件转换的二进制代码写入2816。2)校验A将编程开关置为READ(校验)状态。B将实验板的“STEP”置为“STEP”,“STOP”置为“RUN”状态。C用二进制模拟开关置好微地址MA5-MA0 D按动“START”键,启动时序电路,读出微代码,观察显示灯MD24-MD1的状态(灯亮为“0”,灭时为“1”),检查读出的微代码是否与写入的相同,如果不同,则将开关置于PROM编程状态,重新执行1)即可。(3)写程序方法一:手动写入使用控制台KWE和KRD微程序进行机器指令程序的装入和检查。A将编程开关置为“RUN”,“STEP”置为“STEP”,“STOP”置为“RUN”状态。B拨动总清开关CLR(01),微地址寄存器清零,程序计数器清零,然后控制台SWBSWA开关置为“01”,按动一次启动开关START,微地址显示灯显示“001001”,再按动一次START,微地址显示灯显示“001100”,此时数据开关的内容置为要写入的机器指令,按动两次START键后,即完成该条指令的写入。若仔细阅读KWE的流程,就不难发现,机器指令的首地址总清后为00H,以后每个循环PC自动加1,所以,每次按动START,只有在微地址灯显示“001100”时,才设置内容,直到所有机器指令写完。C写完程序后须进行校验,拨动总清开关CLR(01)后,微地址清零。PC程序计数器清零,然后控制台SWBSWA开关置为“00”,按动启动开关START,微地址显示灯显示“001000”,再按动一次START,微地址显示灯显示“001010”,第三次按动START,微地址显示灯显示“001110”,再按START键后,此时输出单元的数码管显示为该首地址中的内容,不断按动START,以后每个循环PC会自动加1,可检查后续单元内容,每次在微地址灯显示为“001000”时,是将当前地址中的机器指令写入到输出设备中显示。方法二:联机读/写程序使用软件中的F4-LOAD功能装入机器指令格式文件或F2-R/W PR功能逐条写入。(4)运行程序1)单步运行程序A将编程开关置为“RUN”,“STEP”置为“STEP”,“STOP”置为“RUN”状态。B拨动总清开关CLR(01),微地址寄存器清零,程序计数器清零,程序首址为00H。C单步运行一条微指令,每按动一次START键,即单步运行一条微指令。对照微程序流程图,观察微地址显示灯是否和流程一致。D当运行结束后,可检查存数单元(0EH)中的结果是否和理论值一致。2)连续运行程序A使“STATE UNIT”中的“STEP”置为“ECEX”,“STOP”置为“RUN”状态。B拨动总清开关CLR(01),微地址寄存器清零,程序计数器清零,然后按动START,系统连续运行程序,稍后将STOP拨至“STOP”时,系统停机。C停机后,可检查存数单元(0EH)中的结果是否正确。3)若联机运行程序时,进入DEBUG调试界面,总清开关CLR(01)清零后,程序首地址为00H,按相应功能键即可联机运行、调试程序。 4)存放机器指令的RAM中0DH单元自定,0EH单元存放结果。参照机器指令及微程序流程图,将实验现象与理论分析比较。实验四 复杂模型机的设计与实现 【实验目的】综合运用所学计算机原理知识,设计并实现较为完整的计算机。【实验设备】TDN-CM+计算机组成原理教学实验系统一台,排线若干。【实验原理】1 数据格式模型机规定采用定点补码表示法表示数据,且字长为8位,其格式如下:7 6 5 4 3 2 1 0符号尾 数其中第7位为符号位,数值表示范围是:-1X1。2指令格式模型机设计四大类指令共16条,其中包括算术逻辑指令、I/O指令、访问及转移指令和停机指令。(1) 算术逻辑指令设计9条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:7 6 5 4 3 2 1 0OP-CODE rs rd其中,OP-CODE为操作码,rs为源寄存器,rd为目的寄存器,并规定:rs或rd 选定的寄存器000110R0R1R29条算术逻辑指令的名称、功能和具体格式见表4-1。(2) 访问指令及转移指令模型机设计2条访问指令,即存放(STA)、取数(LDA)、2条转移指令,即无条件转移(JMP)、结果为零或有进位转移指令(BZC),指令格式为:7 65 4 3 2 1 000MOP-CODErdD其中, OP-CODE为操作码,rd为目的寄存器地址(LDA、STA指令使用),D为偏移量(正负均可),M为寻址模式,其定义如下:寻址模式M 有效地址E 说 明 00011011E=DE=(D)E=(RI)+DE=(PC)+D直接寻址间接寻址RI变址寻址相对寻址本模型机规定变址寄存器RI指定为寄存器R2。(3) I/O指令输入(IN)和输出(OUT)指令采用单字节指令,其格式如下:7 6 5 4 3 2 1 0OP-CODEAddr rd其中,addr=01时,选中“INPUT DEVICE”中的开关组作为输入设备,addr=10时,选中“OUTPUT DEVICE”中的数码块作为输出设备。(4) 停机指令 指令格式如下:7 6 5 43 21 0OP-CODE0000HALT指令,用于实现停机操作。3指令系统本模型机共有16条基本指令,其中算术逻辑指令7条,访问内存指令和程序控制指令4条,输入输出指令2条,其他指令1条。表4-1列出了各条指令的格式,汇编符号,指令功能。表4-1 指令格式说明助记符指令格式功能CLR rdMOV rs,rdADD rs , rdSBC rs, rd011100rd 1000rsrd 1001rsrd 1010rsrd 00rdrsrdrs+ rd rdrs-rd-cyrdINC rdAND rs,rdCOM rdRRC rs , rdRLC rs, rd1011rsrd 1100rsrd 1101rsrd 1110rsrd 1111rsrd rd+1rdrsrdrsrdrsrdcyrsrsrdcyrsLDA M,D,rdSTA M,D,rdJMP M,DBZC M,D00M00 rdD 00M01 rdD00M10 00D00M11 00DErdrdEEPC当CY=1或Z=1时,EPC IN addr,rdOUT addr,rd 010001rd 010110rd addrrdrdaddrHLT 01100000停机【总体设计】本模型机的数据框图如图4-1,根据机器指令系统要求,设计微程序流程图及确定微地址,如图4-2。图 4-1 数据通路框图图4-2 微程序流程图按照系统建议的微指令格式,参照微指令流程图,将每条微指令代码化,译成二进制代码表,并将二进制代码表转换为联机操作时的十六进制格式文件。242322212019181716151413121110 9 8 7654321S3S2S1S0MCnWEA9A8ABCuA5uA4uA3uA2uA1uA0B字段121110选择000001RS-B0 10RD-B011RI-B100299-B101ALU-B110PC-BA字段151413选择000001LDRi0 10LDDR1011LDDR2100LDIR101LOAD110LDARC字段151413选择000001P(1)0 10P(2)011P(3)100P(4)101AR110LDPC微程序$M0F95EA25$M1001ED83$M1101ED85$M1201ED8D$M1301EDA6$M14001001$M15030401$M16018016$M173D9A01$M18019201$M1901A22A$M1A01B22C$M1B01A

温馨提示

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

评论

0/150

提交评论