存储器实验报告6Word文档格式.docx
- 文档编号:22446164
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:42
- 大小:965.14KB
存储器实验报告6Word文档格式.docx
《存储器实验报告6Word文档格式.docx》由会员分享,可在线阅读,更多相关《存储器实验报告6Word文档格式.docx(42页珍藏版)》请在冰豆网上搜索。
/ALU-B
LDPC
/PC-B
/R0-B
/R1-B
/R2-B
LDR0
LDR1
LDR2
LDIR
f0
1
上述控制信号的预置选取了时钟信号f0(250KHz),设置了单步操作方式,关闭了一些与本次实验无关的信号。
2、实验步骤按表2进行。
实验对表中的开关进行置1或置0,即对有关控制信号置l或置0,对应的二极管为亮或熄灭。
表格中有↑处即是按一次P0键。
表一运算器实验步骤及显示结果表
注意:
表中列出的总线显示D7~DO及地址显示A7~A0,显示情况是:
在写入RAM地址时,由SW1开关量地址送至D7~D0,总线显示的是开关量,而A7~A0则显示上一个地址,在按P0后,地址才进入RAMAR寄存器,即在单次脉冲(T3)作用后,A7~A0同D7~D0才显示一样
五、实验小结
芯片的一些功能在上面已经提了,在这儿就不讲了,不过在实验的过程中要特别注意,对于6116芯片不要掉电,因为6116为静态随机存储器,如果掉电,所存的数据全部丢失!
,这一点在实验的过程中我们都深有体会。
实验二数据通道实验
一、实验目的
1、了解运算器模块与存储器模块如何连接。
2、掌握计算机数据通道的工作原理。
二、实验电路及所用芯片作用<
见图1>
图1数据通道电路图
图1-2(a)6116管脚分配图1-2(b)6116功能
6116是一种2K*8位的高速静态CMOS随机存取存储器,其基本特征是
(1)高速度------存取时间为100ns/120ns/150ns/200ns(分别以6116-10、6116-12、6116-15、6116-20为标志)。
(2)低功耗
(3)与TTL兼容。
(4)管脚收出与标准的2K*8b的芯片(例如,2716芯片兼容)。
(5)完全静态——无须时钟脉冲与定时选通脉冲。
(6)HM6116有11条地址线、8条数据线、1条电源线、1条接地线GND和3条控制线,运算的结果是被送到6116芯片。
74LS273是一种带清除功能的8D触发器,D0~D7为数据输入端,1Q~8Q为数据输出端,正脉冲触发,低电平清除,常用作数据锁存器,地址锁存器。
第一脚WR:
主清除端,低电平触发,即当为低电平时,芯片被清除,输出全为0(低电平);
CP(CLK):
触发端,上升沿触发,即当CP从低到高电平时,D0~D7的数据通过芯片,为0时将数据锁存,D0~D7的数据不变。
74LS138就是38译码器,是TTL系列的,也就是74系列,有三个输入端A0,A1,A2,其中A2是高位,输出是八个低电平输出Y0~Y7。
数据通路实验是将前面进行过的运算器实验模块和存储器实验模块两部分
电路连在一起组成的。
原理图见图一。
实验中,除T4、T3信号来自单脉冲P0,所有控制信号为电位控制信号,这些信号由逻辑开关来模拟,其信号的含义与前两个实验相同。
1.预置下表的逻辑按键状态
上述取了时钟信号f0,实验在单步方式下进行,关闭一些与本实验无关的控制信号。
2.实验操作按表二进行
表二
表二中,列出了数据通路组成实验的一部分实验步骤,其它部分同表中的实验步骤类似,只是实验的数据及存储单元不同。
表中带X的内容是随机状态,它的电平不影响实验结果。
表中带↑的地方表示按单次脉冲P0,无↑的地方不要按单次脉冲P0。
在实验的过程中特别应该注意,A7~A0所接的地址显示灯显示情况是在单次脉冲P0后,A7~A0的显示才与表中相同,否则显示的是上一个地址。
实验三微程序控制器的设计
深入学懂计算机各种指令的设计和执行过程,掌握微程序设计的概念
二、设计思路(原理等)
设计的指令系统,必须能够实现数据传送,进行加、减运算和无条件转移,而寻址方式方式又有:
累加器寻址、寄存器寻址、寄存器间接寻址、存储器直接寻址、立即数五种,进而想到如下指令:
(1)24位控制位分别介绍如下:
XRD:
外部设备读信号,当给出了外设的地址后,输出此信号,从指定外设读数据。
EMWR:
程序存储器EM写信号。
EMRD:
程序存储器EM读信号。
PCOE:
将程序计数器PC的值送到地址总线ABUS上。
EMEN:
将程序存储器EM与数据总线DBUS接通,由EMWR和EMRD决定是将DBUS数据写到EM中,还是从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,寄存器R?
CN:
决定运算器是否带进位移位,CN=1带进位,CN=0不带进位。
FEN:
将标志位存入ALU内部的标志寄存器。
X2:
X2、X1、X0三位组合来译码选择将数据送到DBUS上的寄存器。
X1:
见16页表。
X0:
WEN:
将数据总线DBUS的值打入工作寄存器W中。
AEN:
将数据总线DBUS的值打入累加器A中。
S2:
S2、S1、S0三位组合决定ALU做何种运算。
本实验采用五条机器指令,根据上面所说的工作原理,设计参考实验程序如下:
地址(二进制)机器指令(二进制)助记符说明
0000000000000000IN“数据输入电路”中的开关状态R0
0000000100010000ADDR0+[0AH]R0
0000001000001010[OAH]
0000001100100000STAR0[0BH]
0000010000001011[0BH]
0000010100110000OUT[0BH]BUS
0000011000001011[0BH]
0000011101000000JMP00HPC
0000100000000000[00H]
0000100100000000
0000101000000001[0A]单元的加数任意自定此处为01H
0000101100000001[0BH]求和结果
其中IN为单字长8位其余为双字长指令,其余为双字长指令,×
×
为addr对应的二进制地址码。
为了向RAM写入、读出机器指令,并能启动程序执行,还须设计三个控制台操作微程序。
存储器读(KRD):
拨动总清开关CLR后,控制台开关SWB、SWA为“00”时,按START微动开关,可对RAM连续手动读操作。
存储器写(KWE):
拨动总清开关CLR后,控制台开关SWB、SWA为“01”时,按START微动开关,可对RAM连续手动写操作。
启动程序(RP):
拨动总清开关CLR后,控制台开关SWB、SWA为“11”时,按START微动开关,即可转入到第01号“取址”微指令,启动程序运行。
上述三条控制台指令用两个开关SWB、SWA的状态来设置,其定义如下:
SWB
SWA
控制台指令
读内存(KRD)
写内存(KWE)
启动程序(RP)
(二)在实验中使用的模型机的微指令格式如下表给定,长度共24位。
微指令译码电路如图1:
图1微指令译码电路
图中MS24—MS16对应于微指令的第24—16位,S3S2S1S0MCn为运算器的方式控制;
WE为外部器件的读写信号,‘1’表示写,‘0’表示读;
1A、1B用于选通外部器件,通常接至底板IO控制电路的1A1B端,四个输出Y0Y1Y2Y3接外部器件的片选端。
MS15—MS13对应于微指令中的F1,经锁存译码后产生6个输出信号:
LRi、LDR1、LDR2、LDIR、LOAD、LAR。
其中LDR1、LDR2为运算器的两个锁存控制;
LDIR为指令寄存器的锁存控制(见系统介绍中指令寄存器电路);
LRi为寄存器堆的写控制,它与指令寄存器的第0位和第1位共同决定对哪个寄存器进行写操作(见系统介绍中寄存器堆电路和图2);
LOAD为程序计数器的置数控制,LAR为地址寄存器的锁存控制(见系统介绍中程序计数器和地址寄存器电路)。
以上6个输出信号均为‘1’有效。
图1中MS12—MS10对应于微指令中的F2,经锁存译码后产生6个输出信号:
RAG、RBG、RCG、299-G、ALU-G、PC-G。
其中RAG、RBG、RCG分别为寄存器Ax、Bx、Cx的输出控制(见系统介绍中寄存器堆电路);
299-G为移位寄存器的输出控制;
ALU-G为运算器的输出控制;
PC-G为程序计数器的输出控制(见系统介绍中程序计数器和地址寄存器电路)。
以上信号均为‘0’有效。
图5—3中MS9—MS9对应于微指令中的F3,经锁存译码后产生6个输出信号:
P1、P2、P3、P4、AR、LPC。
其中P1、P2、P3、P4位测试字,其功能是对机器指令进行译码,使微程序转入相应的微地址入口,从而实现微程序的顺序、分支和循环运行(AR为运算器的进位输出控制;
LPC为程序计数器的时钟控制(见系统介绍中程序计数器电路)。
以上信均为1的时候有效。
图2指令译码器电路
微指令中的uA5-uA0为6位的后续微地址,前面几位为直接控制字段,直接与相应的控制门连接,F1,F2,F3为3个译码字段,分别由三个控制位译码出多位。
其含义如下:
F1、F2、F3三个字段的编码方案如表1-1:
表1-1
微程序控制器的结构与微指令的格式密切相关。
微程序控制器由控制存储器、微地址寄存器、微命令寄存器和地址转移逻辑几部分组成。
微地址寄存器和微命令寄存器两者的总长度即为一条微指令的长度,二者合在一起称为微指令寄存器。
●控制存储器(ROM)
ROM中存放微程序,也就是全部的微指令。
ROM的容量取决于微指令的总数。
假如控制器需要128条微指令,则微地址寄存器长度为7位。
ROM的字长取决于微指令长度。
如果微指令为32位,则ROM的字长就是32位。
实际应用中ROM可采用EPROM或E2PROM、EAROM,用户写入和修改微程序比较方便。
●微命令寄存器
微命令寄存器暂存由控制存储器中读出的当前微指令中控制字段与测试判别字段信息,可由8D寄存器组成。
●微地址寄存器
微地址寄存器暂存由控制存储器读出的当前微指令的下址字段信息。
它可由带RD、SD强置端的D触发器组成。
其中时钟端和D端配合用做ROM的读出打入,用SD进行下址修改。
●地址转移逻辑
微指令由ROM读出后直接给出下一条微指令的地址,这个地址就放在微地址寄存器中。
当微程序出现分支时通过地址转移逻辑去修改微地址寄存器内容,并按修改好的微地址读出下条微指令。
地址转移逻辑是一个组合逻辑电路,其输入是当前微指令的判别测试字段Pi、执行部件反馈的“状态条件”及时间因素T4。
●控制时序信号
上图中标明了一个基本机器周期中的控制时序信号。
例如用上一周期的T4时间按微地址寄存器内容从ROM中读一条微指令,经过一段时间后被读出,用当前周期的T1时间打入到微指令寄存器。
T2、T3时间用来控制执行部件进行操作。
T4时间修改微地址寄存器内容并读出下一条微指令。
三、设计步骤:
(一)、拟订指令系统
指令系统是设计计算机的依据,拟订指令系统将涉及基本字长、指令格式、指令种类、寻址方式等内容。
基本字长:
程序设计平台中配置的存储器容量为256*8,可知道基本字长定为8位。
指令格式:
指令格式可有单字长和双字长指令两种,在双字长格式中,第二字节一般定义为操作数或操作数地址。
指令格式为:
操作码OP
源操作数
目的操作数
指令类型:
模型机有单操作数指令、双操作数指令和无操作数指令。
操作码OP共四位,最多可定义16条指令。
数据的传送单位为8位
数据的传送范围R—>
RR—>
RAMRAM—>
R
寻址方式:
由于指令较短,操作数字段仅两位,为了简化硬件设计,将操作数字段和目的操作数字段的寻址定义为不同的含义。
源操作数字段寻址方式目的操作数寻址方式
00R000R1
01(R0)01(R1)
10I10I
11D11D
Ri表示操作数就在寄存器中
(Ri)表示操作数地址在寄存器中
I指令的第二个字节为操作数或称立即寻址
(D)指令的第二个字节为操作数的地址
源操作数使用R0寻址
目的操作数R1寻址
(二)、确定总体结构
根据要求设计数据通路框图2-1:
图2-1数据通路结构框图
2.1流程图
图2-2微程序流程图
当拟定“取指”微指令时,该微指令的判别测试字段为P
(1)测试。
由于“取指”微指令是所有微指令都使用的公用微指令,因此P
(1)的测试结果会出现多路分支。
我们使用指令寄存器的前4位(IR7-IR4)作为测试条件,出现5路分支,占用5个固定微地址单元。
控制台命令的微程序流程,01为取指令微指令的地址:
图2-3控制台流程图
控制台操作作为P(4)测试,它以控制开关SWB,SWA作为测试条件,出现了3路分支,占用3个固定微地址单元。
当分支微地址单元固定后,剩下的其他地方就可以一条微指令占用控存一个微地址单元随意填写。
2.2微代码表
当全部微程序设计完毕后,将每条微指令代码化,把流程图按微指令格式转化成“二进制微代码表”,如表2-2:
表2-2二进制微代码表
2.3确定连线图
根据各部件的功能,确定好电路各个芯片的连接,如下:
图2-4接线图
连线时应按如下方法:
对于横排座,应使排线插头上的箭头面向自己插在横排座上,对于竖排座,应使排线插头上的箭头面向左边插在竖排座上。
各部件功能:
指令寄存器(IR):
指令寄存器用来保存当前正在执行的一条指令。
当执行一行指令时。
先把它从内存取到缓冲寄存器中,然后在传至指令寄存器。
指令划分为操作码和地址码字段,由二进制数构成,执行任何给定的指令,必须对操作码进行测试[P
(1)],通过节拍脉冲T4的控制以便识别所要求的操作。
指令译码器(ID):
根据指令中的操作码译码强制微控器单元的微地址,使下一条微指令指向相应的微程序首地址。
输入设备(INPUTDEVTICE):
是一种二进制代码开关,实现数据输入。
输入时,二进制开关数据直接经过三态门送到总线上,只要开关状态不变,输入的信息也不变。
输出设备(OUTPUTDEVICE):
是一种数码块,完成数据输出。
输出时,匠输出数据送到数据总线上,当写信号(W/R)有效时,将数据打入输出锁存器,驱动数据块显示。
(三)设置情况
1、寄存器的设置:
R0,R1为通用寄存器,8位。
IR为指令寄存器,8位。
PC程序寄存器,8位。
MAR为地址寄存器,8位。
2、加法器的设置:
采用8位带串行进位并行加法器。
3、选择器的设置:
连入A选择器的数据来源是RAM的读出数据和R0寄存器的数据。
连入B选择器的数据来源是PC的数据和R1的数据。
4、数据通路:
数据通路的设计,在总体结构中是最重要的一个问题,模型机的数据通路是以总线为基础,以CPU为核心的。
信息的传送路径:
取指令
MACPIR
RAM—>
选择器A—>
Σ—>
BUS—>
IR
送指令地址
PBCPMAR
PC—>
选择器B—>
MAR
指令计数器+1
PBC0CPPC
PC
R0—>
R1
RACRR1
R1—>
RAM
RBWR
(四)逻辑设计:
总体结构设计之后,便开始总体结构中各部件的逻辑设计和部件之间的连接。
1、加法器的逻辑设计:
如附图2所示,模型机中的加法器是由八个一位全加器构成,全加器之间采用简单的串行进位。
全加器逻辑原理如附图3所示:
附图3如下
2、选择器的设计:
选择器A和选择器B的结构形式一样,如附图4所示,在控制电位EN0和EN1的控制下,分别选择R0的或R1的数据通过选择器,进入加法器。
EN0和EN1是互斥的,高电平有效。
3、寄存器的设计:
不带复位的寄存器:
结构中R0,R1通用寄存器,可存入操作数或结果、中间结果,每个寄存器均由8个D触发器构成。
在CPRi的作用下接收总线的数据送入寄存器,输出连入选择器。
结构如附图5所示。
指令寄存器IR其结构同通用寄存器。
带复位的寄存器:
结构中MAR地址寄存器是一个带复位的寄存器,带复位是指当有复位信号时,MAR清零。
逻辑图如附图6所示。
程序计数器的设计:
程序计数器结构如附图6所示。
PC加1是通过加法器实现的。
复位信号RET的作用是有复位信号时,计数器PC清零。
部件之间的连接:
由系统结构可看出,部位之间的连接是采用以CPU为中心的总线连接方式。
加法器的输出通过总线BUS连接到所有寄存器和存储器的输入端,除指令寄存器IR和地址寄存器MAR的输出端外,其他部件的输出端分别送入选择器A和选择器B。
连线图如附图1所示。
(五)、确定控制方式
控制命令是确定信息的流向,不同的数据通路需要不同的控制指令。
即组合逻辑方式和微程序方式,模型机采用微程序方式。
微程序的执行方式采用增量、垂直方式。
1、微程序控制器的结构:
微程序控制器的部件由设计平台提供。
2、微程序控制器的时序:
微程序控制器的时序如图所示:
P脉冲的低电平用做控制存储器读命令µ
RD
P脉冲的上升边沿将读出的微指令µ
负脉冲P的上升边沿将形成的后继地址送微程序计数器µ
PC,同时将运算结果(总线的数据)送指定的寄存器。
3、微指令格式:
微指令格式由三部分组成,既微指令字段定义,微命令形成逻辑和后继微地址产生逻辑。
后继微地址产生逻辑:
为简单起见只选三种后继微地址生成方式即增量方式、无条件转移方式、按操作码转移方式。
当EN=1时,微程序计数执行加1操作
当EN=0且JP=1时,无条件转移
当EN=0且QJP=1时,按操作码转移
4、微程序编写:
(1)程序
MOV105#,R0
MOV201#,R1
ADDR0,R1
MOV3R1,(R0)
(2)操作码二进制代码
MOV1:
0001
MOV2:
0010
ADD:
0011
MOV3:
0100
(3)微程序入口(16进制代码)
取指令入口:
00H
MOV1入口:
10H
MOV2入口:
20H
ADD入口:
30H
MOV3入口:
40H
(4)指令执行流程图:
指令流程:
00
RAMIR
PC+1PC
10203040
PCMARPCMARR0+R1R1R0MAR
PC+1PCPC+1PCPCMARR1RAM
RAMR0RAMR1JPPCMAR
PCMARPCMARJP
JPJP
(5)编制微程序
根据指令流程跟微指令格式开始编制微程序。
二-四译码器逻辑原理如附图3所示。
三-八译码器逻辑原理如附图8所示。
全部微程序如表1所示。
(六)分调
将模式开关至于分调
1、伟福系统
平台上的所有开关和发光二极管均随意编制用做数据输入和状态显示
典型部件如下:
选择器A
带复位的寄存器MAR
不带复位的寄存器R0
程序计数器PC
在部件设计无错、连线无错、1032E的管脚定义无错时可生成下载文件下载到1032E中。
2、单片机系统
微程序经过检查无误后,将模式开关至分调后通过键盘写入响应的单元中。
(七)统调
将模式开关置于统调,此时平台上的开关及发光二极管的设置情况如下:
开关K15--K0无效,不可编程使用
L15--L0用于显示IR15--IR0的状态,不能作他用
LED15--LED8用于显示从存储器读出的内容和数据总线BUS的内容不能再作他用
LED7--LED0可编程到任意观测点,以显示系统运行的状态
(1)按复位健RET
使MAR清洗、指令计数器清洗,保证从存储器0号单元取指令。
使微程序计数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 存储器 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)