docWord格式.doc
《docWord格式.doc》由会员分享,可在线阅读,更多相关《docWord格式.doc(24页珍藏版)》请在冰点文库上搜索。
2.1模型机数据通路图
复杂模型机的数据通路图如图2-1所示。
图2-1模型机数据通路图
2.2模型机微程序流程图
微程序流程图如图2-2所示。
由于完整图形过大无法显示,因此这里只画出了其中的10条指令流程图,剩余3条于此基本相同。
图2-2微程序流程图
第三章详细设计
3.1运算器的物理结构
3.1.1运算器功能:
加工信息包括算术运算和逻辑运算。
3.1.2运算器的物理结构如图3-1所示。
图3-1运算器物理结构图
3.1.3设计带有片间串行进位16位算数逻辑运算功能的运算器
此次设计的16位运算器由四片74LS181以并/串形成16位字长的ALU构成。
低8位运算器的输出经过一个三态门74LS245(U33)到ALUO1插座,实验时用8芯排线和内部数据总线BUSD0~D7插座BUS1~6中的任一个相连,低8位数据总线通过LZD0~LZD7显示灯显示;
高8位运算器的输出经过一个三态门74LS245(U33`)到ALUO1`插座,实验时用8芯排线和高8位数据总线BUSD8~D15插座KBUS1或KBUS2相连,高8位数据总线通过LZD8~LZD15显示灯显示;
参与运算的四个数据输入端分别由四个锁存器74LS273(U29、U30、U29`、U30、)锁存,实验时四个锁存器的输入并联后用8芯排线连至外部数据总线EXD0~D7插座EXJ1~EXJ3中的任一个;
参与运算的数据源来自于8位数据开并KD0~KD7,并经过一三态门74LS245(U51)直接连至外部数据总线EXD0~EXD7,输入的数据通过LD0~LD7显示。
3.2存储器系统的组成与说明
3.2.1存储器相关知识
功能:
存储信息。
组成(主存储器):
见图3-2存储器原理图
存储体:
存放信息的实体。
寻址系统:
对地址码译码,选择存储单元。
读/写线路和数据寄存器:
完成读/写操作,暂存读/写数据。
控制线路:
产生读/写时序,控制读/写操作。
3.2.2存储器原理图如图3-2所示。
图3-2存储器原理图
3.2.3存储器输入输出时序
形成时钟脉冲信号T3的方法如下:
在时序电路模块中有两个二进制开关“运行控制”和“运行方式”。
将“运行控制”开关置为“运行”状态、“运行方式”开关置为“连续”状态时,按动“运行启动”开关,则T3有连续的方波信号输出,此时调节电位器W1,用示波器观察,使T3输出实验要求的脉冲信号;
本实验中“运行方式”开关置为“单步”状态,每按动一次“启动运行”开关,则T3输出一个正单脉冲,其脉冲宽度与连续方式相同。
3.3指令系统的设计与指令格式分析
3.3.1指令分析
该模型机有13条机器指令,所以设计的指令格式中至少需要有4位做为操作码。
且大多数指令设计成一个字节,只有LDA、STA、JMP、BZC这四条指令因为设计到内存地址,被设计成两个字节。
且这四条指令可以使用的寻址方式有四种,这通过在第一个字节中加入一个2位的M字段来区分。
在设计微程序流程的时候,注意到经过p1测试需要产生13个分支,故取指微指令的第二条微指令的下址要设计成最后4位均为0的情况。
在这里,我们选择40。
在寻址方式的区分上,指定机器指令的操作码中的M=00时,为直接寻址,M=01时做间接寻址,M=10时,变址寻址(在此系统中,已指定R2作为固定的变址寄存器),当M=11时为相对寻址。
在p1测试时,对于单字节指令,就直接根据操作码找到相应的微程序段执行。
但是,对于双字节指令,经过p1测试,只区分其是哪一种寻址方式,然后获得此种寻址方式下的物理地址,再进入p2测试进一步区分是哪一条指令。
在设计好微程序流程之后,再为控制台设计一个微程序流程。
以实现程序的储存于校验。
3.3.2数据格式
模型机规定采用定点补码表示法表示数据,且字长为8位,其格式如下:
7
6543210
符号
尾数
其中第7位为符号位,数值表示范围是:
-27≤X≤27-1。
3.3.3指令格式
模型机设计指令共13条,其中包括算术逻辑指令、I/O指令、访问和转移指令。
(1)算术逻辑指令
设计5条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:
7654
32
10
OP-CODErs
rd
其中,OP-CODE为操作码,RS为源寄存器,RD为目的寄存器,并规定:
RS或RD
选定的寄存器
00
01
10
R0
R1
R2
6条算术逻辑指令的名称、功能和具体格式如表3-1所示。
(2)访问指令及转移指令
模型机设计2条访问指令,即存数(STA)、取数(LDA),2条转移指令,即无条件转移(JMP)、结果为零或有进位转移指令(BZC),指令格式为:
76
54
32
10
00
M
OP-CODE
RD
D
其中,OP-CODE为操作码,RD为目的寄存器地址(LDA、STA指令使用)。
D为位移量(正负均可),M为寻址模式,其定义如下:
寻址模式M
有效地址E
说明
11
E=D
E=(D)
E=(RI)+D
E=(PC)+D
直接寻址
间接寻址
RI变址寻址
相对寻址
本模型机规定变址寄存器RI指定为寄存器R2。
(3)I/0指令
输入(IN)和输出(OUT)指令采用单字节指令,其格式如下:
7654
32
ADDR
其中,addr=01时,选中“INPUTDEVICE”中的开关组作为输入设备,addr=10时,选中“OUTPUTDEVICE”中的数码块作为输出设备。
3.3.4指令系统
本模型机共有13条基本指令,其中算术逻辑指令6条,访问内存指令和程序控制指令4条,输入输出指令2条,其它指令1条。
表3-1出了各条指令的格式、汇编符号、指令功能。
表3-1指令格式
助记符号
指令格式
功能
CLRrd
MOVrs,rd
ADDrs,rd
SUBrs,rd
ANDrs,rd
ORrs,rd
XOR
0111
1000
rs
1001
1010
1100
1101
1110
0→rd
rs→rd
rs+rd→rd
rs-rd→rd
rs∧rd→rd
rs∨rd→rd
rs⊕rd→rd
LDAM,D,rd
STAM,D,rd
JMPM,D
BZCM,D
E→rs
rd→E
E→PC
CY=1或
Z=1,E→PC
INaddr,rd
OUTaddr,rd
0100
0101
addr→rd
rd→addr
3.4微程序控制器的逻辑结构及功能
3.4.1微控制器逻辑结构
微控制器逻辑结构如图3-3所示。
图3-3微控制器逻辑结构图
3.4.2微控制器功能:
产生控制命令(微命令),控制全机操作。
微命令产生方式(指令执行控制方式):
组合逻辑控制方式:
由组合逻辑电路产生微命令。
微程序控制方式:
由微指令产生微命令。
3.4.3时序信号
用双踪示波器(或用PC示波器功能)观察方波信号源的输出。
方法如下:
将“运行控制”开关置为“运行”、“运行方式”开关置为“连续”。
按动“启动运行”开关,从示波器上可观察到TS1(J20)、TS2(J21)、TS3(J22)、TS4(J23)各点的波形,画出其波形如下图3-4所示,并标注测量所得的脉冲宽度。
图3-4时序信号图
3.5微程序的设计与实现
3.5.1设计复杂模型机的监控软件
监控程序详细如下:
$P0044 IN01R0
$P0046 IN01R1
$P0298 ADDR0,R1
$P0381 MOVR0,R1
$P04F5 CLRR1
$P050C BZC00,00
$P0600
按照表3-2系统建议的微指令格式,参照微指令流程图,设计微指令,并译成二进制代码表。
表3-2微代码定义
24
23
21
20
19
18
17
16
15
14
13
12
9
8
6
5
4
3
2
1
S3
S2
S1
S0
CN
WE
A9
A8
A
B
C
uA5
uA4
uA3
uA2
uA1
uA0
A字段B字段C字段
选择
P
(1)
P
(2)
P(3)
P(4)
AR
LDPC
LDRi
LDDR1
LDDR2
LDIR
LOAD
LDAR
RS-B
RD-B
RI-B
299-B
ALU-B
PC-B
其中uA5~uA0为6位的后续微地址,A、B、C为三个译码字段,分别由三个控制位译码出多位。
C字段中的P1~P4是四个测试字位,其功能是根据机器指令及相应微代码进行译码,使微程序转入相应的为地址入口,从而实现微程序的顺序、分支、循环运行。
具体来说,P1测试用于“取指令”微指令,它用下址低四位(uA3~uA0)与指令寄存器高四位(IR7~IR4)相或得到各路分支;
P2测试用下址低2位(uA1~uA0)与指令寄存器的IR3、IR2相或得到各路分支;
P3测试用于条件转移,它用下址的uA4与(ZI+CY)相或得到各路分支;
P4测试用于控制台操作,它用下址低2位(uA1~uA0)与SWB、SWA相或得到各路分支。
在上述各测试下址中未用到的位均直接保留。
AR为算术运算是否影响进位及判零标志控制位,其为零有效。
B字段中的RS-B、RD-B、RI-B分别为源寄存器选通信号,目的寄存器选通信号及变址寄存器选通信号,其功能是根据机器指令来进行三个工作寄存器R0、R1及R2的选通译码。
三字段中的其他位类似与此,均是某芯片的选通信号,它们的功能都是根据机器指令来进行相应芯片的选通译码。
二进制代码表如表3-3所示。
表3-3二进制代码表
微地址
S3~CN
M17M16
P
uA5~uA0
000000
000
100
010000
110
000010
02
001
100000
35
010
011110
36
000100
37
110000
60
110001
61
54
011101
55
011111
56
110010
000001
011000
62
110011
63
011
110100
64
100101
101
111100
000011
000101
001101
57
110101
51
52
46
100110
40
001111
41
42
111010
43
44
45
001110
53
111011
47
001100
011010
50
011011
05
04
07
06
001001
74
65
110111
67
111000
70
111001
71
72
001010
03
011001
010101
25
31
101110
73
32
001011
33
000110
27
30
010001
(3)将二进制表转换为联机操作时的十六进制格式文件(保存文件名为test)
程序:
$P0044
$P0146
$P0298
$P0381
$P04F5
$P050C
$P0600
微程序:
$M00088105
$M0182ED05
$M0250C004
$M0304A004
$M04A0E004
$M0506E004
$M0607A004
$M07A0E004
$M088AED05
$M098CED05
$M0A3BA004
$M0B018005
$M0C3C2004
$M0D0EA004
$M0E0FB605
$M0F25EA95
$M1083ED05
$M1185ED05
$M128DED05
$M13A6ED05
$M14011004
$M15010407
$M16168005
$M17019A3D
$M18019205
$M192AA205
$M1A2CB205
$M1B32A205
$M1C33A205
$M1D36A205
$M1E378235
$M1F398235
$M20019004
$M21018406
$M2281DB05
$M23E48005
$M24018005
$M25A0AA95
$M2627A004
$M2728BC05
$M2829EA95
$M29A0AA95
$M2A2BB405
$M2B419B95
$M2C2DA405
$M2D6EAB05
$M2E2FAA0D
$M2F30AA05
$M3071810D
$M31419B95
$M32019A05
$M3335B405
$M3481DB05
$M35419BBD
$M36019A0D
$M3738882D
$M38019805
$M393A881D