计算机组成原理课程设计_第1页
计算机组成原理课程设计_第2页
计算机组成原理课程设计_第3页
计算机组成原理课程设计_第4页
计算机组成原理课程设计_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、“计算机组成原理”课程设计报告微程序控制器的设计一、设计思路按照要求设计指令系统,该指令系统能够实现数据传送,进行加、减 运算和无条件转移,具有累加器寻址、寄存器寻址、寄存器间接寻址、存 储器直接寻址、立即数寻址等五种寻址方式。从而可以想到如下指令:(1) 24位控制位分别介绍如下:XRD :外部设备读信号,当给出了外设的地址后,输出此信号,从指 定外设读数据。EMWR :程序存储器EM写信号。EMRD :程序存储器EM读信号。PCOE :将程序计数器PC的值送到地址总线ABUS上。EMEN : 将程序存储器EM与数据总线DBUS接通,由EMWR和EMRD决定 是将DBUS数据写到EM中,还是

2、从EM读出数据送到DBUS。IREN :将程序存储器EM读出的数据打入指令寄存器IR和微指令计数 器 uPC。EINT :中断返回时清除中断响应和中断请求标志,便于下次中断。ELP : PC打入允许,与指令寄存器的IR3、IR2位结合,控制程序跳 转。MAREN :将数据总线DBUS上数据打入地址寄存器MAR。MAROE :将地址寄存器MAR的值送到地址总线ABUS上。OUTEN :将数据总线DBUS上数据送到输出端口寄存器OUT里。STEN :将数据总线DBUS上数据存入堆栈寄存器ST中。RRD :读寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。RWR :写寄存器组R0-R3,寄

3、存器R?的选择由指令的最低两位决定。CN :决定运算器是否带进位移位,CN=1带进位,CN=0不带进位。FEN :将标志位存入ALU内部的标志寄存器。X2 : X2、XI、X0三位组合来译码选择将数据送到 DBUS上的寄存器。X1 :见16页表。X0 :WEN :将数据总线DBUS的值打入工作寄存器W中。AEN :将数据总线DBUS的值打入累加器A中。S2 : S2、S1、S0三位组合决定ALU做何种运算。助记符INADDaddrSTAaddrOUTaddrJMPaddr机器指令码 0000 0000 0001 0000 0010 0000 0011 00000100 0000本实验还需用到的

4、五条机器指令:IN (输入)、ADD (二进制加法)、STA (存 数)、OUT (输出)、JMP (无条件转移),其指令格式如下:说明“INPUT DEVICE ”中的开关状态分R0XXXXR0+addr分R0XXXXR0 分addrXXXX addr分BUSXXXXaddr 分 PC其中IN为单字长(8位),其余为双字长指令,XXXXXXXX为addr 对应的二进制地址码。为了向RAM写入、读出机器指令,并能启动程序执行,还须设计三个控制 台操作微程序。存储器读(KRD):拨动总清开关CLR后,控制台开关SWB、SWA为“0 0” 时,按START微动开关,可对RAM连续手动读操作。存储器

5、写(KWE):拨动总清开关CLR后,控制台开关SWB、SWA为“0 1” 时,按START微动开关,可对RAM连续手动写操作。启动程序(RP):拨动总清开关CLR后,控制台开关SWB、SWA为“1 1”时, 按START微动开关,即可转入到第01号“取址”微指令,启动程序运行。上述三条控制台指令用两个开关SWB、SWA的状态来设置,其定义如下:SWBSWA控制台指令00读内存(KRD)01写内存(KWE)11启动程序(RP)(二)在实验中使用的模型机的微指令格式如下表给定,长度共24位。2423222120191817161514131211109 8 7654321S3S2SISOMCnWE

6、A9A8ABCuA5uA4uA3uA2uAluAO其中最后六位uA0uA5为6位的下一条微指令的地址,前面几位为直接控 制字段,直接与相应的控制门连接,A,B,C为3个译码字段,分别由三个控制位 译码出多位。其含义如下:A字段B字段C字段151413选择121110选择987选择000000000001LDRi001RS-B001P(1)010LDDR1010010011LDDR2011011100LDIR100100P(4)101LOAD101ALU-B101110LDAR110PC-B110LDPC控制位含义微程序控制器的结构与微指令的格式密切相关。微程序控制器由控制存储器、微地址寄存器、

7、微命令寄存器和地址转 移逻辑几部分组成。微地址寄存器和微命令寄存器两者的总长度即为一条 微指令的长度,二者合在一起称为微指令寄存器。控制存储器(ROM)ROM中存放微程序,也就是全部的微指令。ROM的容量取决于微指令的 总数。假如控制器需要128条微指令,则微地址寄存器长度为 7位。ROM 的字长取决于微指令长度。如果微指令为 32位,则ROM的字长就是32位。 实际应用中ROM可采用EPROM或E2PROM、EAROM,用户写入和修改微程序比 较方便。微命令寄存器微命令寄存器暂存由控制存储器中读出的当前微指令中控制字段与测 试判别字段信息,可由8D寄存器组成。微地址寄存器微地址寄存器暂存由控

8、制存储器读出的当前微指令的下址字段信息。 它可由带RD、SD强置端的D触发器组成。其中时钟端和D端配合用做ROM 的读出打入,用SD进行下址修改。地址转移逻辑微指令由ROM读出后直接给出下一条微指令的地址,这个地址就放在 微地址寄存器中。当微程序出现分支时通过地址转移逻辑去修改微地址寄 存器内容,并按修改好的微地址读出下条微指令。地址转移逻辑是一个组 合逻辑电路,其输入是当前微指令的判别测试字段 Pi、执行部件反馈的“状 态条件”及时间因素T4。控制时序信号上图中标明了一个基本机器周期中的控制时序信号。例如用上一周期 的T4时间按微地址寄存器内容从ROM中读一条微指令,经过一段时间后被 读出,

9、用当前周期的T1时间打入到微指令寄存器。T2、T3时间用来控制执 行部件进行操作。T4时间修改微地址寄存器内容并读出下一条微指令。二、设计步骤:(一)、拟订指令系统指令系统是设计计算机的依据,拟订指令系统将涉及基本字长、指令格式、 指令种类、寻址方式等内容。基本字长:程序设计平台中配置的存储器容量为256*8,可知道基本字长定为8位。指令格式:指令格式可有单字长和双字长指令两种,在双字长格式中,第二字节一般定 义为操作数或操作数地址。指令格式为:操作码OP| 源操作数 | 目的操作数指令类型:模型机有单操作数指令、双操作数指令和无操作数指令。操作码OP共四位,最多可定义16条指令。数据的传送单

10、位为8位数据的传送范围RR RRAM RAMR寻址方式:由于指令较短,操作数字段仅两位,为了简化硬件设计,将操作数字段和目的操作数字段的寻址定义为不同的含义。源操作数字段寻址方式目的操作数寻址方式00R000R101(R0)01(R1)10I10I11D11DRi表示操作数就在寄存器中(Ri)表示操作数地址在寄存器中I指令的第二个字节为操作数或称立即寻址(D)指令的第二个字节为操作数的地址源操作数使用R0寻址目的操作数R1寻址、确定总体结构根据要求设计数据通路框图:图2-1数据通路结构框图2.1流程图图2-2微程序流程图当拟定“取指”微指令时,该微指令的判别测试字段为P (1)测试。由于 “取

11、指”微指令是所有微指令都使用的公用微指令,因此P(1)的测试结果会 出现多路分支。我们使用指令寄存器的前4位(IR7IR4)作为测试条件,出现 5路分支,占用5个固定微地址单元。控制台命令的微程序流程,01为取指令微指令的地址:图2-3控制台流程图控制台操作作为P (4)测试,它以控制开关SWB, SWA作为测试条件, 出现了3路分支,占用3个固定微地址单元。当分支微地址单元固定后,剩下的 其他地方就可以一条微指令占用控存一个微地址单元随意填写。2.2微代码表当全部微程序设计完毕后,将每条微指令代码化,把流程图按微指令格式转 化成“二进制微代码表”,如下:微地址S3S2S1S0MCNWEA9A

12、8ABCUA5UA000000000011000000100010000010000000111101101100000100200000000110000000100100003000000001000000001000100040000000010110000000001010500000001101010100000011006100101011001101000000001070000000011100000000011011000000000000100000000000111000000011110110110000011120000000111101101100001111300

13、000001111011011000111014000000011110110110010110150000001010000010000000011600000000111000000000111117000000001010000000010101200000000111101101100100102100000001111011011001010022000000001010000000010111230000000110000000000000024000000000010000000011000250000011100001010000000012600000000110100011

14、00000012700000111000010100001000030000001101000101000010001表2-5二进制微代码表2.3确定连线图根据各部件的功能,确定好电路各个芯片的连接,如下:LOG UNIToU LDintnsB5&oQ-E7 LDROD;EJL RO ESQB0 REG UNIT广fUJS!UXTLDDR1LDDRWALU-B I,DDR ILDDK2(1ALU-B P口胳;SI(;NAI.UNITI MICRO CQNTKOLL%LINKLOADPC B D。OI .DAK I.OAI)选择器 A BUSIR送指令地址PBCPMARPC选择器 B BUSMA

15、R指令计数器+1PB C0CPPCPC选择器 BZ BUSPCR0R1RACRR1R0选择器 AE BUSR1R1RAM RBWRR1选择器 BE BUSRAM(四)逻辑设计:总体结构设计之后,便开始总体结构中各部件的逻辑设计和部件之间的连 接。1、加法器的逻辑设计:如附图2所示,模型机中的加法器是由八个一位全加器构成,全加器之间采 用简单的串行进位。全加器逻辑原理如附图3所示:附图3如下I60Z3z2z02、选择器的设计:选择器A和选择器B的结构形式一样,如附图4所示,在控制电位EN 0和EN1的 控制下,分别选择R0的或R1的数据通过选择器,进入加法器EN 0和印是互斥的, 高电平有效。3

16、、寄存器的设计:不带复位的寄存器:结构中R0,R1通用寄存器,可存入操作数或结果、中间结果,每个寄存器 均由8个D触发器构成。在CPRi的作用下接收总线的数据送入寄存器,输出连 入选择器。结构如附图5所示。指令寄存器IR其结构同通用寄存器。带复位的寄存器:结构中MAR地址寄存器是一个带复位的寄存器,带复位是指当有复位信号 时,MAR清零。逻辑图如附图6所示。程序计数器的设计:程序计数器结构如附图6所示。PC加1是通过加法器实现的。复位信号RET的作用是有复位信号时,计数器PC清零。部件之间的连接:由系统结构可看出,部位之间的连接是采用以CPU为中心的总线连接方式。 加法器的输出通过总线BUS连

17、接到所有寄存器和存储器的输入端,除指令寄存 器IR和地址寄存器MAR的输出端外,其他部件的输出端分别送入选择器A和选 择器B。连线图如附图1所示。(五)、确定控制方式控制命令是确定信息的流向,不同的数据通路需要不同的控制指令。即组合 逻辑方式和微程序方式,模型机采用微程序方式。微程序的执行方式采用增量、 垂直方式。1、微程序控制器的结构:微程序控制器的部件由设计平台提供。2、微程序控制器的时序:微程序控制器的时序如图所示:P脉冲的低电平用做控制存储器读命令MDP脉冲的上升边沿将读出的微指令WR负脉冲P的上升边沿将形成的后继地址送微程序计数器呻C,同时将运算结果(总线的数据)送指定的寄存器。3、

18、微指令格式:微指令格式由三部分组成,既微指令字段定义,微命令形成逻辑和后继微地 址产生逻辑。后继微地址产生逻辑:为简单起见只选三种后继微地址生成方式即增量方式、无条件转移方式、按操 作码转移方式。当EN=1时,微程序计数执行加1操作当EN=0且JP=1时,无条件转移当EN=0且QJP= 1时,按操作码转移4、微程序编写:程序MOV1 05#,R0MOV2 01#,R1ADD R0,R1MOV3 R1,(R0)操作码二进制代码MOV1:0001MOV2:0010ADD:0011MOV3:0100微程序入口(16进制代码)取指令入口 :00HMOV 1入 口 :10HMOV2入 口 :20H入。入

19、 口 :30HMOV3 入口:40H指令执行流程图:指令流程:00RAM IRyPC+1PC-MARV20】PCr-MARr30 -40 +R0VR0+R1J1I-PCPC+11一 PCIPC T - marR1 1RAM R1PCJP10PC - MARPC+1RAMRAM R0MARPC ARJPjP(5)编制微程序根据指令流程跟微指令格式开始编制微程序。四译码器逻辑原理如附图3所示。八译码器逻辑原理如附图8所示。全部微程序如表1所示。(六)分调将模式开关至于分调1、伟福系统平台上的所有开关和发光二极管均随意编制用做数据输入和状态显示典型部件如下:选择器A带复位的寄存器MAR不带复位的寄存

20、器R0程序计数器PC在部件设计无错、连线无错、1032E的管脚定义无错时可生成下载文件下载到1032E中。2、单片机系统微程序经过检查无误后,将模式开关全分调后通过键盘写入响应的单元中。(七)统调将模式开关置于统调,此时平台上的开关及发光二极管的设置情况如下:开关K15-K0无效,不可编程使用L15-L0用于显示IR15-IR0的状态,不能作他用LED15-LED8用于显示从存储器读出的内容和数据总线BUS的内容不能再 作他用LED7-LED0可编程到任意观测点,以显示系统运行的状态(1)按复位健RET使MAR清洗、指令计数器清洗,保证从存储器0号单元取指令。使微程序计数器PC清洗,保证从而2

21、#ROM,1# ROM的0#单元取指令微 程序的第一条微指令。(2) 执行微程序按复位健后,PC、MAR为00号单元的内容是一条指令,指令代码读出后,在MA的作用下,进入加法 器全总线。此时,总线上的内容点亮LED15-8,查看是否正确。注意的是:在没有按下次脉冲键前,数据通路的内容一直不变。按一次脉冲键又产生一负脉冲。该负脉冲反相后的上升沿产生CPIR,将上 条微指令读出的指令代码送IR,同时上升沿还将PC+1。该负脉冲的低电平用以 读出PC指示的第二条微指令。这样一一取出微指令并执行微指令就会读出并执行存放在MAR中的程序。三、测试流程与结果3.1连接线路按照图用排线连接好电路3.2写程序

22、方法一:手动写入先将机器指令对应的微代码正确的写入2816中。使用控制台KWE和KRD 微程序进行机器指令程序的装入和检查。使编程开关处于“RUN”,STEP为“STEP”状态,STOP为“RUN”状态。拨动总清开关CLR (0-1),微地址寄存器清零,程序计数器清零。然后使 控制台SWB、SWA开关置为“01”,按动一次启动开关START,微地址显示指示 灯显示“010001”,再按动一次START,微地址灯显示“010100”,此时数据开关 的内容置为要写入的机器指令,按动两次START键后,完成该条指令的写入。写完程序后须进行校验。拨动总清开关CLR (0-1)后,微地址清零。PC程 序

23、计数器清零,然后使控制台开关SWB、SWA为“00”,按动启动START,微地址 灯将显示“010000”,再按START,微地址灯显示为“010010”,第三次按START, 微地址灯显示为“010111”,再按START后,此时输出单元的数码管显示为该首 地址中的内容。不断按动START,以后每个循环PC会自动加1,可检查后续单元 内容。每次在微地址灯显示为“010000”时,是将当前地址中的机器指令写入到 输出设备中显示。方法二:联机读/写程序按照规定格式,将机器指令及微指令二进制表编辑成十六进制的如下格式文 件。微指令中的微代码为24位微代码按从左到右分成3个8位,将此3个8位 二进制

24、代码化为相应的十六进制数即可。并将该格式文件用联机软件的传输文件 功能传入实验系统。机器指令格式说明:$PXX YYXX十六进制地址YY机器指令代码程序:$P4000$P4110$P420A$P4320$P440B$P4530$P460B$P4740$P4800$P4A01微指令格式说明:$M XX YYYYYYXX十六进制地址YYYYYY微指令代码微程序:$M00018110$M0101ED82$M0200C048$M0300E004$M0400B005$M0501A206$M06959A01$M0700E00D$M08001001$M0901ED83$M0A01ED87$M0B01ED8E

25、$M0C01Ed96$M0D028201$M0E00E00F$M0F00A015$M1001ED92$M1101Ed94$M1200A017$M13018001$M14002018$M15070A01$M1600D181$M17070A10$M18068A113.3运行程序单步运行程序:使编程开关处于“RUN”状态,STEP为“STEP”状态,STOP为“RUN” 状态。拨动总清开关CLR (0-1),微地址清零,程序计数器清零。程序首址 为 00H。单步运行一条微指令,每按动一次START键,即单步运行一条微指令。 对照微指令流程图,观察微地址显示灯是否和流程一致。单步运行结束后,检查存数单

26、元(0BH )中的结果是否和理论值一致。连续运行程序:使“STATE UNIT”中的STEP开关置为“ECEX”状态。STOP开关置 为“RUN”状态拨动CLR开关,清微地址及程序计数器,然后拨动START系统连续运 行程序,稍后将STOP拨至“STOP”时,系统停机。停机后,检查存数单元(0BH )结果是否正确。3.4测试验证此次测试验证的内容为FEH验证程序的内存映象(装入起始地址00H)如下:地址(二进 制)内容(二进制)助记符说明0000 00000000 0000IN将输入数据送R0奇存 器0000 00010001 0000ADD OAH0000 00100000 1010RO+0AHR00000 00110010 0000STA 0BH0000 01000000 1011R00BH0000 01010011 0000OUT 0BH0000 01100000 10110BHLED0000 01110100 0000JMP 010000

温馨提示

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

评论

0/150

提交评论