xxxxx课程设计报告学院机电信息学院课程课程设计专业计算机科学与技术班级xxxxx姓名xxxxxxx x学号xxxxxxxxxx指导教师xxxxxx日期201x年x月x日目录1.概述 02.总体设计 03.详细设计 (2)3.1 运算器 (2)3.2 存储器 (3)3.3 微控制器 (5)3.4 基本模型机设计与实现 (8)4. 总结 (10)参考文献 (11)8位模型机的设计与仿真1.概述在掌握部件单元电路设计与仿真的基础上,进一步将其组成系统构造一台8位模型机。
字长是8位纯整型,包含基本的五大件:运算器、存储器、控制器、I/O设备。
它的结构框图如下图1-1所示.这基本的五大件通过数据总线连接,实现数据的处理和控制。
部件实验过程中,各部件单元的控制信号是人为模拟产生的,而综合实验将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。
这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。
2.总体设计模型机主要由运算器、控制器、存储器、数据总线、输入输出和时序产生器组成,模型机的结构图如图2-1所示。
图2-1 模型机结构图在图2-1中T1、T2、T3和T4等控制信号都是由时序产生器生产,时序产生器由时序电路实现如图2-2所示,时序产生器一个周期中产生四个脉冲信号T1~T4,这四个脉冲信号用于控制组件的执行顺序,组件在这些信号的控制下有序的执行,一个周期中完成一条微指令的执行。
图2-2 时序产生器模型机的工作过程可以归纳如下:(1)控制器把PC中的指令地址送往地址寄存器AR,并发出读命令。
存储器按给定的地址读出指令,经由存储器数据寄存器MDR送往控制器,保存在指令寄存器IR中。
(2)指令译码器ID对指令寄存器IR中的指令进行译码,分析指令的操作性质,并由控制电路向存储器、运算器等有关部件发出指令所需要的微命令。
(3) 当需要由存储器向运算器提供数据时,控制器根据指令的地址部分,形成数据所在的存储单元地址,并送往地址寄存器AR,然后向存储器发出读命令,从存储器中读出的数据经由存储器数据寄存器MDR送往运算器。
(4) 当需要由运算器向存储器写入数据时,控制器根据指令的地址部分,形成数据所在的存储单元地址,并送往存储器地址寄存器AR,再将欲写的数据存入存储器数据寄存器MDR,最后向存储器发出写命令,MDR中的数据即被写入由MAR指示地址的存储单元中。
(5) 一条指令执行完毕后,控制器就要接着执行下一条指令。
为了把下一条指令从存储器中取出,通常控制器把PC的内容加上一个数值,形成下一条指令的地址,但在遇到“转移”指令时,控制器则把“转移地址”送入PC。
控制器不断重复上述过程的(1)到(5),每重复一次,就执行了一条指令,直到整个程序执行完毕。
3.详细设计3.1 运算器运算器(arithmetic unit)是计算机中执行各种算术和逻辑运算操作的部件。
运算器的基本操作包括加、减、乘、除四则运算,与、或、非、异或等逻辑操作,以及移位、比较和传送等操作,亦称算术逻辑部件(ALU)。
计算机运行时,运算器的操作和操作种类由控制器决定。
运算器处理的数据来自存储器;处理后的结果数据通常送回存储器,或暂时寄存在运算器中。
本次8位模型机实验中,运算器是由两片74LS181芯片构成。
74LS181是一个四位的ALU单元,它是由一个四位全加器以及进位电路构成。
正逻辑74LS181的逻辑图3-1所示.图3-1运算器原理图74LS181运算功能发生器能进行16种算术运算和逻辑运算。
功能表如下:设计步骤:(1) 按图3-2连接实验电路,并检查无误。
图中将用户需要连接的信号用圆圈标明(其它实验相同)。
图3-2 实验接线图(2) 将时序与操作台单元的开关KK2置为‘单拍’档,开关KK1、KK3置为‘运行’档。
(3) 打开电源开关,如果听到有‘嘀’报警声,说明有总线竞争现象,应立即关闭电源,重新检查接线,直到错误排除。
然后按动CON单元的CLR按钮,将运算器的A、B和FC、FZ清零。
(4) 用输入开关向暂存器A置数。
①拨动CON单元的SD27…SD20数据开关,形成二进制数01100101(或其它数值),数据显示亮为‘1’,灭为‘0’。
②置LDA=1,LDB=0,连续按动时序单元的ST按钮,产生一个T4上沿,则将二进制数01100101置入暂存器A中,暂存器A的值通过ALU单元的A7…A0八位LED灯显示。
(5) 用输入开关向暂存器B置数。
①拨动CON单元的SD27…②置入暂存器B中,暂存器B的值通过ALU单元的B7…B0八位LED灯显示。
(6) 改变运算器的功能设置,观察运算器的输出。
置ALU_B=0、LDA=0、LDB=0,然后按表1-1-1置S3、S2、S1、S0和Cn的数值,并观察数据总线LED显示灯显示的结果。
如置S3、S2、S1、S0为0010,运算器作逻辑与运算,置S3、S2、S1、S0为1001,运算器作加法运算。
如果实验箱和PC联机操作,则可通过软件中的数据通路图来观测实验结果(软件使用说明请看附录一),方法是:打开软件,选择联机软件的“【实验】—【运算器实验】”,打开运算器实验的数据通路图,如图3-3所示。
进行上面的手动操作,每按动一次ST按钮,数据通路图会有数据的流动,反映当前运算器所做的操作,或在软件中选择“【调试】—【单节拍】”,其作用相当于将时序单元的状态开关KK2置为‘单拍’档后按动了一次ST 按钮,数据通路图也会反映当前运算器所做的操作。
重复上述操作,然后改变A 、B 的值,验证FC 、FZ 的锁存功能。
图3-3 数据通路图3.2 存储器存储器的主要功能是存储程序和各种数据,并能在计算机运行过程中高速、自动地完成程序或数据的存取。
存储器是具有”记忆”功能的设备,它采用具有两种稳定状态的物理器件来存储信息。
这些器件也被称为记忆元件。
在计算机中采用只有两个数码”0”和”1”的二进制来表示数据。
本次实验所采用的半导体静态存储器电路原理如图3-4所示。
实验中的静态存储器由一片6116(2k*8)构成,其数据线接至数据总线,地址总线由地址锁存器(74LS273)给出,地址灯AD0`AD7与地址线相连,显示地址内容。
数据开关经三态门(74LS245)连至数据总线,分时给出地址和数据。
图3-4 存储器电路原理图因为地址寄存器为8位,接入6116的地址为A7~A0,而高三位A8~A10接地,所以其实际容量为256字节。
6116有三个控制线:CE(片选线)、OE(读线)、CE(写线)。
当片选线有效(CE=0)时,OE=0时进行读操作,WE=0时进行写操作,其写时间与T3脉冲宽度一致。
操作时将T3脉冲接至 实验板上时序电路模块的TS3相应插孔中,其脉冲宽度可调,其他电平控制信号由“SWITCH UNIT ”单元的二进制开关模拟,其中SW-B 为低电平有效,LDAR 为高电平有效。
设计步骤:l. 实验接线如下: ⑴ MBUS 连BUS2; ⑵ EXJ1连BUS3;⑶ 跳线器J22的T3连TS3; ⑷ 跳线器J16的SP 连H23;⑸ 跳线器SWB 、CE 、WE 、LDAR 拨在左边(手动位置)。
2.连接实验线路,仔细查线无误后接通电源。
形成时钟脉冲信号T3,方法如下:在时序电路模块中有两个二进制开关“运行控制”和“运行方式”。
将“运行控制”开关置为“运行”状态、“运行方式”验中“运行方式”开关置为“单步”状态,每按动一次“启动运行”开关,则T3输出一个正单脉冲,其脉冲宽度与连续方式相同。
3.如果要对其它地址单元写入内容,方法同上,只是输入的地址和内容不同。
CE=1SWB=0 LDAR=1 SWB=0CE=0 WE=1(4) 读出刚才写入00地址单元的内容,观察内容是否与写入的一致。
具体操作步骤如下:4.1)根据存储器的读写原理,填写表3-1。
2按照前面介绍的实验步骤向存储器地址为00H , 01H ,02H ,03H ,04H ,05H 的单元分别写入数据:55H ,33H ,44H ,66H ,08H ,F0H 。
3)写出读出存储器单元内容的操作过程并记录以下地址单元读出的内容。
表3-2 存储器单元内容读出记录4)根据电路图分析向存储器置数和从存储器读数的工作原理。
飞易失性存储器,易失性存储器中的数据在关电后就不复存在,非易失性存储器的数据在关电后不会丢失。
易失性存储器又可以分为动态存储器和静态存储器,动态存储器保存信息的时间只有2ms ,工作时需要不断更新,既不断刷新数据静态存储器只有不断电,信息是不会丢失的。
CE=1 SWB=0 SWB=13.3 微控制器控制器(Control Unit)是整个CPU的指挥控制中心,由寄存器IR,程序计数器PC和操作控制器OC三个部件组成,对协调整个电脑有序工作极为重要。
有两种由于设计方法不同因而结构也不同的控制器:硬布线控制器和微程序控制器。
在本次课设中我们采用的是微程序控制器。
微控制器是将微型计算机的主要部分集成在一个芯片上的单芯片微型计算机。
微控制器诞生于20世纪70年代中期,经过30多年的发展,其成本越来越低,而性能越来越强大,这使其应用已经无处不在,遍及各个领域。
微控制器的电路图如下图3-5.图3-5 微控制器电路原理图设计步骤:(1)将全部微程序按微指令格式变成二进制代码,可得到表3-3的二进制代码表。
表3-3(2)按图3-6连接实验线路,仔细查线无误后接通电源。
图3-6 微控制器实验接线图(3)观察微程序控制器的工作原理:1. 将微程序输入控制存储器中①.将编程开关MJ20置为PROM(编程)状态。
②.将实验板上“STATE UNIT”中的“STEP”置为“STEP”,“STOP”置为“RUN”状态。
③.用二进制模拟开关uA0~~uA5输入当前微地址MA5——MA0。
④.在MK24~~MK1开关上置微指令代码,24位开关对应24位显示灯,开关量为“0”时灯亮,开关量为“l”时灯灭。
⑤.启动时序电路(按动启动按钮“START”),即将微代码写入到E2PROM 2816的相应地址对应的单元中。
⑥.重复③—⑥步骤,将表1的微指令代码写入E2PROM2816中。
2.校验①.将编程开关MJ20设置为READ(校验)状态。
②.将实验板的“STEP”开关置为“STEP”状态,“STOP”开关置为“RUN”状态。
③.用二进制模拟开关uA0~~uA5置好微地址MA5——MA0。
④.按动“START”键,启动时序电路,读出微代码。
观察显示灯MD24——MD1的状态(灯亮为“0”,灭为“l”),检查读出的微代码是否与写入的相同。