版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、沈阳理工大学课程设计专用纸目录一实验计算机设计11.整机逻辑框图设计12.指令系统的设计23微操作控制部件的设计54设计组装实验计算机接线表135编写调试程序14二实验计算机的组装14三实验计算机的调试151.调试前准备152.程序调试过程163.程序调试结果164.出错和故障分析16四心得体会17五参考文献17题目 研制一台多累加器的计算机一 实验计算机设计1.整机逻辑框图设计此模型机是由运算器,控制器,存储器,输入设备,输出设备五大部分组成。1.运算器又是有299,74ls181完成控制信号功能的算逻部件,暂存器ldr1,ldr2,及三个通用寄存器r0,r1,r2等组成。2.控制器由程序计
2、数器pc、指令寄存器、地址寄存器、时序电路、控制存储器及相应的译码电路组成。3.存储器ram是通过ce和w/r两个微命令来完成数据和程序的的存放功能的。4输入设备是由置数开关sw控制完成的。5.输出设备有两位led数码管和w/r控制完成的lr0 lr1 lr2寄存器ax bx cxr0-g r1-g r2-g数据总线(d_bus)alu-galum cns3s2s1s0暂存器lt1暂存器lt2ldr1ldr2移位寄存器m s1 s0g-299输入设备dij-g微控器脉冲源及时序指令寄存器ldir图中所有控制信号lpcpc-g程序计数器loadlar地址寄存器存储器 6116cewe输出设备d-
3、gw/rcpu 图 1 整机的逻辑框图图1-1中运算器alu由u7-u10四片74ls181构成,暂存器1由u3、u4两片74ls273构成,暂存器2由u5、u6两片74ls273构成。微控器部分控存由u13-u15三片2816构成。除此之外,cpu的其他部分都由ep1k10集成。存储器部分由两片6116构成16位存储器,地址总线只有低八位有效,因而其存储空间为00h-ffh。输出设备由底板上的四个led数码管及其译码、驱动构成,当d-g和w/r均为低电平时将数据总线的数据送入数码管显示。在开关方式下,输入设备由16位电平开关及两个三态缓冲芯片74ls244构成,当dij-g为低电平时将16位
4、开关状态送上数据总线。在键盘方式或联机方式下,数据可由键盘或上位机输入,然后由监控程序直接送上数据总线,因而外加的数据输入电路可以不用。本系统的数据总线为16位,指令、地址和程序计数器均为8位。当数据总线上的数据打入指令寄存器、地址寄存器和程序计数器时,只有低八位有效。2.指令系统的设计2.1数据格式 数据格式:采用定点补码表示法表示数据,字长为8位,格式如下:表1补码表示表76 5 4 3 2 1 符 号 尾 数其中第7位符号位,数值表示范围是:-1x12.2指令格式:(1)算术逻辑指令 设计9条单字长算术逻辑指令,寻址方式采用寄存器直接寻址。其格式如下: 表2寻址方式7 6 5 43 21
5、 0op-codersrd其中op-code为操作码,rs为源寄存器,rd为目的寄存器,并规定: 表3寄存器表rs或rd选定寄存器00r001r110r2 9条算术逻辑指令的名称、功能和具体格式见表9。(2)存储器访问及转移指令 设计的2条访问指令,即存数(sta),取数(lda),2条转移指令,即无条件转移(jmp),结果为零或有进位转移指令(bzc),指令格式如下:表4 存储器的访问表7 65 43 21 000mop-coderdd其中op-code为操作码,rd为寄存器。m为寻址模式,d为位移量,d随m的不同其定义也不相同,寻址定义如下:表5寻址模式表寻址模式m有效地址e说 明00e=
6、d直接寻址01e=(d)间接寻址10e=(r1)+dr1变址寻址11e=(pc)+d相对寻址 注:本机规定变址寄存器r1指定为寄存器r2。(3)i/o指令 输入(in)和输出(out)指令采用单字节指令,格式如下表6 i/o操作码表7 6 5 43 21 0op-codeaddrrd其中,当op-code=0100且addr=10时,从“数据输入电路”中的开关组输入数据;当op-code=0100且addr=01时,将数据送到“输出显示电路”中的数码管显示。 2.3指令系统本实验共有7条基本指令,其中算术逻辑指令9条,访问内存指令和程序控制指令2条。输入输出指令2条。下面列出了各条指令的格式、
7、汇编符号和指令功能。表7访问及转移指令格式汇编符号指令格式功能lda m,d,rd00 m 00 rd derssta m,d,rd00 m 01 rd drdejmp m,d00 m 10 00 depcbzc m,d00 m 11 00 d当cy=1或z=1时epc表8九条算数逻辑指令格式汇编符号指令的格式功能clr rd0111 00 rd0rdmov rs,rd1000 rs rdrsrdadc rs,rd1001 rs rdrs+rd+cyrdsbc rs,rd1010 rs rdrs-rd-cyrdinc rd1011 rs rdrd+1rdand rs,rd1100 rs rdr
8、srdrdcom rd1101 rs rdrdrdrrc rs,rd1110 rs rdcyrsrsrdrlc rs,rd1111 rs rdcyrsrsrd表9输入输出指令格式汇编符号指令格式功能in addr ,rd0100 01 rdaddrrdout addr ,rd0101 10 rdrdaddr停机指令指令格式如下:7 6 5 43 21 0op-code0000用于实现停机操作。停机指令名称,功能和具体的格式见下表:表10停机指令汇编符号指令格式功能halt停机3微操作控制部件的设计。3.1微指令编码的格式设计设计三个控制操作微程序:存储器读操作(mrd):拨动清零开关clr对地
9、址、指令寄存器清零后,指令译码输入ca1、ca2为“00”时,按“单步”键,可对ram连续读操作。存储器写操作(mwe):拨动清零开关clr对地址、指令寄存器清零后,指令译码输入ca1、ca2为“10”时,按“单步”键,可对ram连续写操作。启动程序(run):拨动清零开关clr对地址、指令寄存器清零后,指令译码输入ca1、ca2为“11”时,按“单步”键,即可转入到第01号“取指”微指令,启动程序运行表11 本系统的微程序字长共24位,其控制顺序24232221201918171615 14 1312 11 109 8 7654321s3s2s1s0mcnwe1a1bf1f2f3ua5ua4
10、ua3ua2ua1ua0其中ua5-ua0为6位后续地址,f1,f2,f3为三个译码字段,分别由三个控制位译出多位,。3.2微操作控制信号设计微指令中个控制位的含义如下:s3、s2、s1、s0、m、cn是控制运算器的逻辑和算术运算的微命令。we是写内存的微命令,状态“1”有效。1a、1b是输入电路选通、内存ram选通、输出led选通控制微命令,分别对应状态“11”、“10”、“01”。 状态“00”为无效。f1、f2、f3为三个译码字段,分别由三个控制位经指令译码电路74138译码输出8种状态,前7种状态分别对应一组互斥性微命令中的一个,状态“111”为无效。f3字段包含p1- p4四个测试字
11、位。其功能是根据机器指令代码及相应微指令代码进行译码测试,使微程序转入相应的微地址入囗,从而实现微程序的顺序、分支、循环运行。表12 、三个字段的编码方案f1字段f2字段f3字段15 14 13选择12 11 10选择9 8 7选择0 0 0ldri0 0 0rag0 0 0p10 0 1load0 0 1alu-g0 0 1ar0 1 0ldr20 1 0rcg0 1 0p30 1 1自定义0 1 1自定义0 1 1自定义1 0 0ldr11 0 0rbg1 0 0p21 0 1lar1 0 1pc-g1 0 1lpc1 1 0ldir1 1 0299-g1 1 0p 41 1 1无操作1
12、1 1无操作1 1 1无操作控制操作为p4测试,它以ca1、ca2作为测试条件,出现了写机器指令、读机器指令和运行机器指令3路分支,占用3个固定微地址单元。当分支微地址单元固定后,剩下的其它地方就可以一条微指令占用控存一个微地址单元随意填写。机器指令的执行过程如下:首先将指令在外存储器的地址送上地址总线,然后将该地址上的指令传送至指令寄存器,这就是“取指”过程。之后必须对操作码进行p1测试,根据指令的译码将后续微地址中的某几位强制置位,使下一条微指令指向相应的微程序首地址,这就是“译码”过程。然后才顺序执行该段微程序,这是真正的指令执行过程。在所有机器指令的执行过程中,“取指”和“译码”是必不
13、可少的,而且微指令执行的操作也是相同的,这些微指令称为公用微指令。3.3微程序顺序控制方式设计3.3.1微程序控制部件组成原理1 运算器单元(alu uint)运算器单元由以下部分构成:两片74ls181构成了并串型8位alu;两个8位寄存器dr1和dr2为暂存工作寄存器,保存参数或中间运算结果。alu的s0s3为运算控制端,cn为最低进位输入,m为状态控制端。alu的输出通过三态门74ls245连到数据总线上,由alu-b控制该三态门。2 寄存器堆单元(reg unit)该部分由3片8位寄存器r0、r1、r2组成,它们用来保存操作数用中间运算结构等。三个寄存器的输入输出均以连入数据总线,由l
14、dri和rs-b根据机器指令进行选通。3 指令寄存器单元(ins unit)指令寄存器单元中指令寄存器(ir)构成模型机时用它作为指令译码电路的输入,实现程序的跳转,由ldir控制其选通。4 时序电路单元(state unit)用于输出连续或单个方波信号,来控制机器的运行。5 微控器电路单元(microcontroller unit)微控器主要用来完成接受机器指令译码器送来的代码,使控制转向相应机器指令对应的首条微代码程序,对该条机器指令的功能进行解释或执行的工作。由输入的w/r信号控制微代码的输出锁存。由程序计数器(pc)和地址寄存器(ar)实现程序的取指功能。6 逻辑译码单元(log un
15、it)用来根据机器指令及相应微代码进行译码使微程序转入相应的微地址入口,从而实现微程序的顺序、分支、循环运行,及工作寄存器r0、r1、r2的选通译码。7 主存储器单元(main mem)用于存储实验中的机器指令。8 输入输出单元(input/output device)输入单元使用八个拨动开关作为输入设备,sw-b控制选通信号。输出单元将输入数据置入锁存器后由两个数码管显示其值。指令寄存器ir操作码微地址寄存器地址译码控制存储器地址转移逻辑状态条件微命令寄存器p字段操作控制字段微命令信号指令寄存器ir操作码微地址寄存器地址译码控制存储器地址转移逻辑状态条件微命令寄存器p字段操作控制字段微命令信
16、号 图2微程序控制原理图3.3.2微程序入口地址形成方法由于每条机器指令都需要取指操作,所以将取指操作编制成一段公用微程序,通常安排在控存的0号或特定单元开始的一段控存空间内。每一条机器指令对应着一段微程序,其入口就是初始微地址。首先由“取指令”微程序取出一条机器指令到ir中,然后根据机器指令操作码转换成该指令对应的微程序入口地址。这是一种多分支(或多路转移)的情况,常用三种方式形成微程序入口地址。(1)一级功能转移如果机器指令操作码字段的位数和位置固定,可以直接使操作码与入口地址码的部分位相对应。例如,某计算机有16条机器指令,指令操作码用4位二进制数表示,分别为0000、0001、1111
17、。现以字母q表示操作码,令微程序的入口地址为q11b,例如000011b为mov指令的入口地址,000111b为add指令的入口地址,001011b为sub指令的入口地址。由此可见,相邻两段微程序的入口地址相差4个单元(2)二级功能转移 若各类指令的操作码的位数和位置不固定时,需采用分级转移,第一次先按指令类型标志转移,以区分出指令属于哪一类,如单操作数指令、双操作数指令等。在每一类机器指令中的操作码的位数和位置应当是固定的,第二次即可按操作码区分出具体是哪条指令,以便转移到相应微程序入口。 (3)通过pla电路实现功能转移 可编程逻辑阵列pla实质上是一种译码-编码阵列,具有多个输入和多个输
18、出,pla的输入是机器操作码和其他判别条件,pla的输出就是相应微程序的入口地址,这种方法对于变长度、变位置的操作码的处理更为有效而且转移速度较快。3.3.3控存的下地址确定方法在转移到一条机器指令对应的微程序入口地址后,则开始执行微程序,每条微指令执行完毕时,需根据其中的顺序控制字段的要求形成后继微指令地址。 (1)增量方式(顺序-转移型微地址) 这种方式和机器指令的控制方式相类似,它也有顺序执行、转移和转子之分。顺序执行时,后继微地址就是现行微地址加上一个增量(通常为“1”);转移或转子时,由微指令的顺序控制字段产生转移微地址。因此,微程序控制器中应当有一个微程序计数器(pc)。为了降低成
19、本,一般情况下部是将微地址寄存器ar改为具有计数功能的寄存器以代替pc。在非顺序执行微指令时,用转移微指令实现转移。转移微指令的顺序控制字段分成两部分:转移控制字段(bcf)与转移地址字段(baf) “起始和转移地址发生器”的功能有两个:其一是当一条新的机器指令装入ir时,它就形成机器指令的微程序段的起始地址且装入pc,而且随着节拍电位信号的到来,pc自动地增加一个增量,以便连续地从cm中读出微指令,相应的微操作控制信号按规定顺序发送到cpu的各个部分。第二个功能是当微指令指示其测试状态标志、条件代码或机器指令的某些位时,它就对指定的条件进行测试,若满足转移条件,就把新的转移地址装入pc,实现
20、转移;否则不装入新地址,微程序就顺序执行。所以,每次从cm中取出一条新的微指令时,pc都增加,只有下列情况例外: 遇到end微指令时,就把“取指”微程序的入口地址装入pc,开始取指令周期; 当一条新的指令装入ir时,就把该指令的微程序的入口地址装入pc; 遇到转移微指令且满足转移条件时,就把转移地址装入pc。 增量方式的优点是简单,易于掌握,编制微程序容易,每条机器指令所对应的一段微程序一般安排在cm的连续单元中;其缺点是这种方式不能实现两路以上的并行微程序转移,因而不利于提高微程序的执行速度。 (2)断定方式 断定方式与增量方式不同,它不采用pc,微指令地址由微地址寄存器ar提供。在微指令格
21、式中,设置一个下地址字段,用于指明下一条要执行的微指令地址。当一条微指令被取出时,下一条微指令的地址(即下地址字段)送ar。它相当于每条微指令都具有转移微指令的功能。采用这种方法就不必设置专门的转移微指令,但增加了微指令字的长度。 (3)增量方式与断定方式的结合 这种控制方式中,微地址寄存器ar有计数的功能(断定方式中的微地址寄存器ar无计数功能),但在微指令中仍设置一个顺序控制字段,这是一种增量方式与断定方式相结合的方式。其顺序控制字段一般由两部分组成:顺序地址字段和测试字段。 顺序地址字段。可由设计者指定一般是微地址的高位部分,用来指定后继微地址在cm中的某个区域内。 测试字段。根据有关状
22、态的测试结果确定其地址值,一般对应于微地址的低位部分,相当于在指定区域内确定具体的分支。所依据的测试状态可能是指定的开关状态、指令操作码、状态字等。测试字段如果只有一位,则微地址特产生两路分文;若有两位,则最多可产生四路分支;依此类推,测试字段为n位为最多可产生2n路分支。 若无转移要求,则微地址寄存器计数得到后继微指令的地址。3.3.4微程序在控存中的分布情况3.4微程序设计:3.4.1写出每条指令对应的微程序流程图控制开关 00 p(4)测试 mwe(01) mrd(00) run(11) pc ar,pc+1 11 pc ar,pc+1 10 13 (d_input) d_bus lt1
23、 14 ram d_bus lt1 12 01 lt1 ram 74 lt1 led 73 图3微程序流程图图4 微程序流程图4设计组装实验计算机接线表 图5 单片机键盘实验连线图5编写调试程序:要写出调试程序、每条指令所对应的机器码(16进制编码)、程序在内存中的存放位置。地址 指令 助记符 说明 00h 01000100 in r0 data1r0 01h 01000101 in r1 data2r1 02h 10010001 adc r0,r1 r0+r1r1 03h 00000101 sta r1,34h r134h04h 00110100 05h 10000110 mov r1,r2
24、 r1r2 06h 01011010 out r2 直接寻址方式 07h 01000100 l:in r0 datar0 08h 00000001 lda 34h,r1 34hr1 09h 00110100 0ah 10000001 adc r0,r1 r0+r1r1 0bh 00000101 sta r1,34h r134h 0ch 00110100 0dh 10000110 mov r1,r2 r1r2 0eh 01011010 out r2 直接寻址方式0fh 00001000 jmp l 无条件跳转10h 00000111二实验计算机的组装连接硬件系统,如图5连线图三实验计算机的调试1
25、.调试前准备1、按照实验指导说明书连接硬件系统 2、启动实验软件,打开实验课题菜单,选中实验课题打开实验课题参数对话窗口:微指令操作: 1)写:在编辑框中输入实验指导书中的微指令程序(格式:两位八进制微地址+空格+六位十六进制微代码),或直接打开随机附带的程序ex8.msm,将实验箱上的k4k3k2k1拨至“0010”写状态,然后按写入按钮,微程序写入控制存储器电路; 2)读:将实验箱上的k4k3k2k1拨至“0100”读状态,在“读出微地址”栏中填入两位八进制地址,按读出按钮,则相应的微代码显示在“读出微代码”栏中; 3)保存:按保存按钮,微程序代码保存在一给定文件(*.msm)中; 4)打
26、开:按打开按钮,打开已有的微程序文件,并显示在编辑框中 机器指令操作: 1)写:在编辑框中输入实验指导书中机器指令程序(格式:两位十六进制地址+空格+2位或 4位十六进制代码),或直接打开随机附带的程序ex8.asm,将实验箱上的k4k3k2k1拨至 “0101”运行状态,拨动“clr”开关对地址和微地址清零,然后按写入按钮,机器指令写 入存储器电路;注:对于8位机,十六进制代码为2位;对于16位机,十六进制代码可以是2位,也可以是4位。 2)读:将实验箱上的k4k3k2k1拨至“0101”运行状态,在“读出指令地址”栏中填入两位十六进制地址,拨动“clr”开关对地址和微地址清零,然后按读出按
27、钮,则相应的指令代码显示在“读出指令代码”栏中。 3)保存:按保存按钮,机器指令程序保存在一给定文件(*.asm)中。 4)打开:按打开按钮,打开已有的机器指令程序文件,并显示在编辑框中。 5)单步:在运行状态下运行程序前,先拨动“clr”开关对地址和微地址清零,然后每按一次单步按钮,执行一条微指令。可从实验箱的指示灯和显示led观察单步运行的结果。 6)连续:在连续运行程序前,先拨动“clr”开关对地址和微地址清零,然后按连续按钮,可连续执行程序。可从实验箱的指示灯和显示led观察连续运行的结果。 7)停止:在连续运行程序过程中,可按停止”按钮暂停程序的执行。此时地址和微地址并不复位,仍可以从暂停处单步或连续执行.2.程序调试过程在进行机器指令的操作时,完成对数据的写读之后,保存机器指令后可进行单步运行,也可以进行连续运行。在单步运行状态下运行程序前,先拨动“clr”开关对地址和微地址清零,然后每按一次单步按钮,执行一条微指令。从实验箱显示led观察单步运行的结果。在连续运行程序前,先拨动“clr”开关对地址和微地址清零,然后按连续按钮,可连续执行程序。3.程序调试结果从实验箱显示led观察连续运行的结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版国际金融风险管理合同范本3篇
- 二零二五版建筑工地劳务用工及社会保障服务合同范本3篇
- 二零二五年酒店客房协议价优惠合作合同3篇
- 2024政府采购合同环境与安全监督协议3篇
- 2025年新型城镇化项目水电设施安装施工合同3篇
- 二零二五版板房租赁与租赁期满资产评估与转让合同3篇
- 二零二五年度出租车司机服务规范与客户满意度提升合同3篇
- 二零二五年透水混凝土工程验收与评估合同2篇
- 二零二五年智能交通管理系统采购合同3篇
- 二零二五版房屋代理租赁资产评估合同3篇
- 盖洛普Q12解读和实施完整版
- 2023年Web前端技术试题
- GB/T 20840.8-2007互感器第8部分:电子式电流互感器
- GB/T 14864-2013实心聚乙烯绝缘柔软射频电缆
- 品牌策划与推广-项目5-品牌推广课件
- 信息学奥赛-计算机基础知识(完整版)资料
- 发烟硫酸(CAS:8014-95-7)理化性质及危险特性表
- 数字信号处理(课件)
- 公路自然灾害防治对策课件
- 耳鸣中医临床路径
- 安徽身份证号码前6位
评论
0/150
提交评论