收藏 分销(赏)

组成原理课程设计优秀实验报告.doc

上传人:仙人****88 文档编号:11721974 上传时间:2025-08-09 格式:DOC 页数:14 大小:1.57MB 下载积分:10 金币
下载 相关 举报
组成原理课程设计优秀实验报告.doc_第1页
第1页 / 共14页
组成原理课程设计优秀实验报告.doc_第2页
第2页 / 共14页


点击查看更多>>
资源描述
西安科技大学 计算机组成原理课程设计 设计说明书 题 目 模型计算机设计 院、系(部) 计算机学院计算机科学与技术系 专业及班级 计算机科学与技术专业0803班 姓名、学号 杨宇 0808030316 姓名、学号 熊健 0808030312 实 验 箱号 4001830 指 导 教师 薛 萍 日 期 2010年12月30号 一、模型计算机设计任务 1.1 设计目的 建立清晰完整的整机概念; 学习设计与调试计算机的基本方法与步骤; 培养严谨的科研作风和独立工作能力。 1.2 设计任务 综合运用所学计算机原理知识,按给定的指令系统和数据格式,在所提供设备的范围内,设计一台字长八位的由微程序控制器来控制的模型计算机。设计并实现较为完整的八位模型计算机。设计微程序控制器的逻辑原理图;设计微地址转移的逻辑电路图;设计微程序流程图;设计说明书。 1.3 设计指标 字长八位; 时钟源MF=QB=1us;内存容量不得小于28; 指令系统不得小于十四条。要求算术逻辑指令七条,访问内存和程序控制指令四条,输入输出指令两条,其他指令一条。 1.4 实验类型 设计型实验 1.5 实验设备 CM++实验仪一台; 计算机一台; 集成电路芯片及排线若干。 二、模型计算机系统指令设计 2.1 数据格式 数据采用定点整数补码表示,字长为八位,其格式如下: 7 6 5 4 3 2 1 0 符号 尾数 1、算术逻辑指令 算术逻辑指令用单字节表示,寻址方式采用计算器直接寻址,其格式如下: 7 6 5 4 3 2 1 0 OP-CODE RS RD 其中,OP-CODE为操作码,RS为源寄存器,RD为目的寄存器,并规定: RS或RD 选定的寄存器 00 01 10 R0 R1 R2 2、访问指令及转移指令 模型机设计两条访问指令,即存数(STA)、取数(LDA),两条转移指令,即无条件转移(JMP),结果为零或有进位转移(BZC),指令格式如下: 7 6 5 4 3 2 1 0 00 M OP-CODE RD D 其中OP-CODE为操作码,RD为目的寄存器地址(LDA、STA指令使用)。D为位移量(正负均可),M为寻址方式,并规定: M 寻址方式 00 01 10 11 直接寻址 间接寻址 变址寻址 相对寻址 并规定变址寄存器RI指定为寄存器R2。 3、I/O指令 输入(IN)和输出(OUT)指令采用单字节指令,其格式如下: 7 6 5 4 3 2 1 0 OP-CODE addr RD 其中addr=01时选中“INPUT DEVICE”中的开关组作为输入设备,addr=11时选中“OUTPUT DEVICE”中的数码快作为输出设备。 4、控制台指令 为方便调试,且能写入数据和程序,以及显示内存中的数据,本模型机设计了两条控制台指令,它们由两个开关SWA,SWB的状态来定义,规定: SWA SWB 控制台指令 0 0 KRE(读内存) 1 0 KWE(写内存) 1 1 RP(启动主程序) (1)KWE写内存:其功能是把控制台数据开关的内容作为程序或数据写入由地址灯指示的内存单元。 (2)KRE读内存:其功能是把控制台数据开关的内容作为程序地址,送入地址寄存器,然后以该单元为起始地址,连续读出所有单元的内容。内存单元以及该单元的数据由控制台上的数据灯给出。 (3)RP启动程序:其功能是将数据开关的内容作为程序地址送入PC,然后转入公操作。 5、停机指令 停机指令格式如下: 7 6 5 4 3 2 1 0 OP-CODE 00 00 HALT指令,用于实现停机操作。 2.2 系统指令设计 本模型机共设计有十六条基本指令。其中算术逻辑指令七条,位移指令两条,访问内存和程序控制指令四条,输入/输出指令两条,其他指令一条。下表列出各条指令的格式、助记符及功能: 助 记 符 指 令 格 式 功 能 CLR RD MOV RS, RD ADC RS, RD SBC RS, RD INC RD AND RS, RD COM RD RRC RS, RD RLC RS, RD 0111 00 RD 1000 RS RD 1001 RS RD 1010 RS RD 1011 RD 1100 RS RD 1101 RD 1110 RS RD 1111 RS RD 0→RD RS→RD RS+RD+CY→RD RS-RD-CY→RD RD+1→RD RS∧RD→RD RD→RD RS通CY循环右移后→RD RS通CY循环左移后→RD LDA M, D, RD STA M, D, RD JMP M, D BZC M, D 00 M 00 RD D 00 M 01 RD D 00 M 10 D 00 M 11 D (E)→RD RD→(E) E→PC 当CY=1或Z=1时 E→PC IN addr, RD 0100 01 RD (addr)→RD OUT addr, RD 0101 10 RD RD→ (addr) HALT 0110 00 00 停机 三、模型计算机总体设计 3.1 系统简介 本系统是一台八位模型计算机,它由微程序控制器,数据通路,时序发生器等三大部分组成。它有十六条基本指令,其中算术逻辑指令七条,位移指令两条,访问内存指令和程序控制指令四条,输入/输出指令及停机指令。采用二进制代码开关作为输入设备,实现人机对话。 3.2 主要部件工作原理 本次设计的核心是微程序控制器的设计。对一台数字计算机基本上可以分为两大部分,即控制部件和执行部件。微程序控制器就是控制部件,而其它设备相对来讲则是执行部件。控制部件通过控制线向执行部件发出各种控制命令并且通过反馈线香控制部件反馈情况,以便使用控制部件根据执行部件的状态来发出新的命令,保证机器的正常运行。 微程序控制器的基本思想是把操作控制信号编成微指令,存放在E2PROM中,当机器运行时,一条一条的读出这些微指令,从而产生全机所需的各种操作控制信号,使相应部分执行所规定的操作。在计算机系统中,微程序技术就是利用软件的方法来设计硬件的一门技术,这也是该模型机设计中最关键的部分。 3.3 微指令格式设计 在微指令设计中,分为水平微型指令设计及垂直型微指令设计两种。水平型微指令在一个CPU周期内,一次能定义并执行多个并行操作微命令。垂直型微指令在一个CPU周期中一次只能使控制信号从某一个源部件到执行部件。 在设计中,为缩短微程序长度,采用水平型微指令,即后继地址采用断定方式,在这种方式中,后继地址可任意设计。当微程序不出现分支时,后继地址直接由微指令的顺序控制字段中的下地址字段给出;当微程序出现分支时,后继地址按顺序字段中的“判别标志”和执行部件的“状态条件”反馈信息通过地址转移逻辑给出。这种方式能以较短的顺序控制字段实现多路转移灵活性能较好。 微程序控制器的设计关键在于先确定数据通路。数据通路中的各个功能部件上的各种控制信号就是微程序控制器设计的主要依据。用这些控制信号来控制数据通路中的数据流向。另外为了使模型机实现自动停机操作,因此在微指令中必须有一个自动停机指令。设计中共有59条微指令,故对控制存储器采用6位地址。所以在微指令设计中,总共要产生33个控制信号。为了减少指令长度,设计中采用直接编码和译码相结合的混合编码方式。将一组相斥性的微命令信号组成一个小组,然后将这一个小组(A字段、B字段、C字段)信号通过译码器对每一个微命令信号进行译码,将译码输出作为本次设计的控制信号。其格式如下: A字段 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 B字段 15 14 13 选择 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 C字段 15 14 13 选择 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 微指令格式: 24 23 22 21 20 19 18 17 16 151413 121110 987 6 5 4 3 2 1 S3 S2 S1 S0 M Cn WE A9 A8 A B C uA5 uA4 uA3 uA2 uA1 uA0 微指令长24位,其中顺序控制部分9位,即直接地址6位,判别位3位,后者采用字段译码法可译出P(1)—P(4) 4种判别测试标志位。操作控制字段18位:其中字段A、B、C均采用3-8译码器,可译出LDIR、PC-BUS、WE、LDDRi、RS-BUS等微命令。其他微命令均采用直接控制的方式。 3.4 微程序设计 将机器的全部指令系统采用微指令序列实现的过程叫做微程序设计。一条机器指令对应一条微程序,本模型机设计有16条机器指令,故应设计16条微程序。微程序是由微指令解释执行的。一条机器指令对应一个指令周期,而一条微指令对应一个CPU周期。微程序的设计包括横向设计和纵向设计。横向设计指的是正确的选择数据通路,保证一条微指令在一个CPU周期没完成而不发生数据冲突。纵向设计是正确的确定后继地址。微程序设计的关键在于纵向设计。由于后继地址采用判定方式,故首先确定微程序分支处的为地址,然后再确定其他地址。 此次设计中确定后继地址的具体方法是: 当拟定“取指”微指令时,该微指令的判别测试指明为P(1)测试,由于取指是所有微程序使用的公用微指令,因此P(1)测试的结果将出现14个分支,设计中采用IR7-IR4作为测试条件,分配地址为20-37(8进制)。其中20-23是4条访内指令的功用微指令,在这些指令下面通过P(2)测试(测试条件为IR3,IR2),可以转移到相应的4条访内指令。同时对BZC指令通过P(3)(测试条件为C,E),若C或E=1则转入P(4)公操作。通过P(2)P(3)测试者4条访内指令,其分配地址分别为40,41,42,43(8进制)。对于开关指令,经过其公操作,用P(4)测试,测试条件为SWA,SWB,即指令寄存器中的IR0,IR1。可以转移到4条开关指令中去。其分配地址分别为60, 61,62,63(8进制)。 微地址确定后,在微地址表中填入相应微地址单元,最后根据微程序流程图填写相应微命令及微指令代码。 为了向RAM装入程序和数据,检查写入是否正确,并能启动程序执行,还设计了三个控制台操作微程序。 存储器读操作(KRD):拨动总清开关CLC后,当控制台开关SWB、SWA置为“00”时,按START微动开关,可以对RAM进行连续手动读出。 存储器读操作(KWE):拨动总清开关CLC后,当控制台开关SWB、SWA置为“01”时,按START微动开关,可以对RAM进行连续写入。 启动程序:拨动总清开关CLC后,当控制台开关SWB、SWA置为“11”时,按START微动开关,即可转入到第13、01号微地址“取消”微指令,启动程序运行。 上述三条控制台指令用两个开关SWB、SEA的状态来设置,其定义如下: SWA SWB 控制台指令 0 0 KRE(读内存) 1 0 KWE(写内存) 1 1 RP(启动主程序) 微指令代码表: 微地址 二进制代码 八进制代码 S3 S2 S1 S0 M Cn WE A9 A8 A B C uA5-uA0 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 1 1 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 1 0 1 0 1 1 1 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 1 1 1 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 1 1 0 1 1 0 0 1 0 1 1 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1 0 1 1 1 0 0 1 1 0 0 0 0 1 0 0 1 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 0 1 000 110 100 010 110 110 010 110 110 110 010 000 010 010 011 110 110 110 110 110 001 000 000 001 001 010 011 010 010 010 000 000 001 000 101 000 000 010 010 011 110 010 011 001 010 010 001 001 011 101 001 001 000 001 000 001 000 000 000 110 000 000 000 000 000 000 110 110 000 000 000 000 011 101 110 110 110 110 000 010 000 010 001 001 001 010 001 010 001 001 000 010 101 000 000 101 000 110 101 101 010 101 010 101 101 101 010 101 101 101 000 100 000 100 101 101 100 110 010 000 010 000 000 010 110 110 000 000 000 000 000 000 110 110 110 110 000 000 000 000 000 000 000 000 000 000 000 000 000 000 110 011 000 010 000 000 000 010 000 000 000 101 000 000 000 110 000 000 000 000 000 000 000 000 001000 000010 010000 000100 100000 000110 000111 100000 001010 001100 111000 000001 111001 001110 001111 100101 000011 000101 001101 100110 000001 000001 010110 000001 000001 101010 101100 101111 110000 110011 110100 110110 000001 000001 000001 100100 000001 100000 100111 101000 101001 100000 101011 000001 101101 101110 000001 000001 110010 000001 000001 000001 110101 000001 110111 000001 001000 001001 018108 01ED82 00C050 00A004 00E0A0 00E006 00A007 00E0A0 01ED8A 01ED8C 00A038 018001 002039 00A00E 01B60F 95EA25 01ED83 01ED85 01ED8D 01EDA6 001001 030401 018016 399A01 019201 01A22A 01B22C 01A42F 01A230 01A433 398224 398236 009001 028401 01DB81 0180E4 018234 95AAE0 00A027 01BC28 95EA29 95AAA0 01B42B 959A01 01A04D 65AB6E 099A01 019A01 01B432 01DB81 B99A01 099A01 2C0035 019801 1C0037 019801 070A08 068A09 模型机数据通路总框图: 模型机数据通路总框图 3.5 微地址转移逻辑设计 1、微地址转移逻辑设计 微地址为6位,用三片双D正沿触发器(74LS74)组成,并带有预置端和清零端,在不判别测试情况下,微地址寄存器的内容为下条微指令的地址。当P(1)、P(2)、P(3)、P(4)及FC、FZ发生时,转移逻辑输出脉冲通过触发器的预置端或清零端将触发器原来的“0”改为“1”或将“1”改为“0”来修改微地址,从而按修改了的微地址读下一条指令。其执行下表所示的逻辑功能: 测试字段 功能 P(1) 用指令寄存器中的IR7-IR4取代微地址的低4位 P(2) P(3) 当P(2)=1时,用IR3、IR4取代原微地址第1位,第0位 当P(3)=1时,用FC或FZ取代原微地址第4位,若CVE=1,则将第0位置1,第1位置0,即转入公操作。 P(4) 用SWA,SWB取代原微地址中的第1位,第0位 在微地址转移逻辑中还要加入必须的时序控制,其中微地址的修改信号为T4,经过约500ns的延时用T4的上升沿将修改好的微地址打入微地址寄存器中,根据控制要求设计出如下地址转移逻辑电路图: 地址转移逻辑电路图 注:该图IR的排列顺序为I7、I6、I5、I3、I4、I2,FC为进位标志CY,FZ为全零标志ZI 2、微程序控制器设计 由于此次设计的模型机微指令字长24位,故采用三片E2PROM(2816)并联,从而使微指令寄存器长度为24位。指令寄存器由2片74LS273和1片74LS175构成,用来暂存18位微命令,而微地址寄存器用74LS175构成,用来暂存6位微地址,当地址出现子啊E2PROM地址线上时,只要CE有效,那么就将地址所指示单元的内容在T2的上升沿读入微地址寄存器。E2PROM控制存储器,用来存放实现全部指令系统的所有微程序。微命令寄存器存放当前执行指令的微命令,通过这些微命令控制全机的正常运行。转移逻辑用来修改微地址。 根据控制要求设计出如下微程序控制逻辑电路图: 微程序控制逻辑电路图 四、模型计算机组装与调试 4.1 模型机组装 在试验箱中按前述要求将各个器件用排线连接。 4.2 模拟机调试 1、分调。按功能模块将每个微程序分别输入计算机的调试软件进行调试。分调的重点放在调控制台喝微程序控制器部分。根据调试软件上显示的数据流向及返回的结果判定该微程序是否正确。但不执行调通所有微指令后,用连续方法调试整个微程序。 2、总调。将所有微程序输入调试软件,单步运行微程序跑流程图,再用连续方法调试,观察执行结果。最后编写一段演示程序观察结果是否正确。以上结果均正确,则这次设计成功。 4.3 调试程序 该程序功能是完成从1加到5,即1+2+3+4+5;结果为0F。 地址 助记符 硬指令(十六进制) 注释 01 JMP 00,05 08 无条件转移指令,直接寻址 02 05 强制转移到05地址后继续执行 03 01 代码段,存数01 04 02 代码段,存数02 05 03 代码段,存数03 06 CLR R0 70 将R0清零 07 CLR R1 71 将R1清零 08 CLR R2 72 将R2清零 09 LDA 00,03,R0 00 直接寻址将03地址的数01存入R0 0A 03 直接寻址的地址 0B LDA 10,04,R1 21 变址寻址,变址寄存器R2的值00加04 0C 04 后得到新的地址,将该地址的值放入R1。 即将04地址的数02放入R1。 0D MOV R1,R2 86 将R1的值放入R2。此时R2值为02 0E INC R2 B2 R2+1后放回R3。此时R2值为03 0F ADC R1,R0 94 R1+R0的值放回R0。此时R0值为03 10 ADC R0,R2 92 R0+R2的值放回R2。此时R2值为06 11 RLC R1,R0 F4 将R1的值02左移一位后放到R2。 执行完后此时R0的值为04 12 LDA 01,05,R1 11 间接寻址,先以05为地址找到数03, 13 05 然后以03为地址找到数01后放入R1 14 ADC R0,R1 91 R0+R1放入R1,此时R1值为05 15 ADC R0,R1 91 R0+R1放入R1,此时R1值为09 16 ADC R1,R2 96 R1+R2放入R2,此时R2值为0F 17 STA 11,05,R2 36 相对寻址,将R2的值0F存到内存地址 18 03 为当前PC值18+05即地址1B处。 19 OUT R2 5A 将R2的值OF输出显示 1A HALT 60 程序结束,停机 五、附录 附录1: 8位数据原理总图 附录2: 模拟机工作时序波形图 附录3: 寄存器译码电路图 附录4: 微程序流程图 - 14 -
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服