基于微程序控制器的简单计算机系统设计与实现.doc
《基于微程序控制器的简单计算机系统设计与实现.doc》由会员分享,可在线阅读,更多相关《基于微程序控制器的简单计算机系统设计与实现.doc(41页珍藏版)》请在沃文网上搜索。
1、 目录1 课程设计概述11.1 课设目的11.2 设计任务11.3 设计要求12 实验原理与环境22.1 实验原理结构图22.1.1 功能结构图22.1.2 中央处理器的功能22.1.3 中央处理器的组成32.2 实验环境43 模块设计方案53.1 实验分析53.2 数据通路图53.3 模块设计63.2.1 主存储器63.2.3 控制存储器73.2.3 运算器和寄存器93.2.4 程序计数器113.2.5 总体设计124 微指令设计144.1 机器指令设计144.2 微指令设计144.3 微程序设计144.4 指令流程图154.4.1 取指公操作164.4.2 立即数加174.4.3 直接寻址
2、加174.4.4 直接寻址减184.4.5 回存194.4.6 无条件跳转204.4.7 有条件跳转204.4.8 非214.4.9 与224.4.10 异或224.4.11 SHL244.4.12 LOAD244.5 芯片控点设计255 实验过程与调试275.1 主要故障与调试275.1.1 395载入失败275.1.2 6116中存储数据被改变275.1.3 2816中存储数据被改变275.1.4 193计数器跳转出问题285.1.5 193自加时的毛刺285.2 功能测试285.3 实验流程306 设计总结与心得316.1 课设总结316.1.1 方案总结316.1.2 功能总结316.
3、1.3 未实现功能总结316.2 课设心得31参考文献33附录 部分芯片介绍3421 课程设计概述1.1 课设目的计算机组成原理是计算机专业的核心基础课。本课程力图以“培养学生现代计算机系统设计能力”为目标,贯彻“强调软/硬件关联与协同、以CPU设计为核心/层次化系统设计的组织思路,有效地增强对学生的计算机系统设计能力的培养”。课程设计是学完该课程并进行多个单元实验后,综合利用所学的理论知识,并结合在单元实验中所积累的计算机部件设计和调试方法,设计出一台具有自己指令系统的简单计算机系统。所设计的系统能在基于EDA的实验平台上运行一段程序,通过检查程序结果的正确性来判断所设计计算机系统正确性。课
4、程设计属于设计型实验,不仅锻炼学生简单计算机系统的设计能力,而且通过进行主机系统底层电路的实现、故障分析与定位、系统调式等环节的锻炼,进一步提高了学生分析和解决问题的能力。1.2 设计任务课程设计的主要任务是设计一台简单的计算机系统,并调试通过。本组所选用的计算机系统结构是基于微程序控制器的简单计算机系统设计与实现。 1) 完成数据通路设计并验证数据通路功能确定CPU 的基本结构是采用总线方式还是采用专用通路方式;2) 完成指定功能的各指令周期流程图(表)和所需要的控制信号。把所有指令的状态进行综合,并归纳成最终需要的若干个状态,画出指令流程的状态图,根据状态图设计状态机;3) 完成时序列电路
5、设计。通过画出带控制信号的多周期数据通路图,列出 指令译码表,设计控制译码器。最后将控制译码器信号与多周期数据通路图上的控制信号对应相连;主要技术指标如下:1) 支持算术运算、逻辑运算、存储器读写、寄存器间数据传送等几类指令。2) 支持立即数寻址、直接寻址、隐含寻址、寄存器寻址等几种基本的数据寻址方式和顺序寻址、跳跃寻址两种指令的寻址方式。3) 支持10条以上的指令。4) 能运行由自己所是设计的指令系统构成的一段程序,程序执行功能正确。1.3 设计要求1) 根据课程设计指导书的要求,制定出设计方案;2) 画出自己所设计计算机系统的原理框图和器件连接图,分析器件连接图中各器件不同引脚的功能,哪些
6、可以固定连接,哪些需要通过微程序来控制,及这些控制信号的有效形式;3) 画出各指令的指令周期流程图和所需要的控制信号;4) 设计出实现指令功能的微程序控制器或硬布线控制器;5) 布线、调试、验收;6) 课程设计报告和总结。2 实验原理与环境2.1 实验原理结构图2.1.1 功能结构图组成原理课程设计CPU功能结构图如图2.1所示。图2.1 CPU功能结构图2.1.2 中央处理器的功能CPU作为运行指令的部件,从保证程序功能正确的角度看,CPU应该具有以下几方面的功能:1)指令执行顺序的控制。即控制程序中的指令按事先规定的顺序自动执行,从而保证程序执行过程中,指令在逻辑上的相互关系不被改变。2)
7、指令的操作控制。即产生指令执行过程中所需要的信号,以控制执行部件按指令规定的操作运行。3)时间控制。即对每个控制信号进行定时,一边按规定的时间顺序启动各操作。对于任何一条指令而言,如果操作控制信号的时间不正确,则指令的功能也就不能正确的实现。4)数据加工处理。即对数据进行算术、逻辑运算,或将数据在相关的部件之间传输。5)异常和中断处理。即处理运算中的异常及处理外部设备的中断服务请求等。2.1.3 中央处理器的组成中央处理器主要由控制器和运算器两部分构成。控制器的主要功能包括:取指令、计算下一条指令的地址、对指令译码、产生相应的操作控制信号、控制指令执行的步骤和数据流动的方向。运算器是执行部件,
8、有算术逻辑单元和各种寄存器组成。运算器接受控制器的命令执行算术运算、逻辑运算即逻辑测试。许多中央处理器中具有多个运算功能单元,这些功能单元能够进行并行运算。中央处理器的功能与其结构紧密相关,任何一种功能都依赖相应的硬件去实现。如图2.1是一种能实现上述功能的CPU基本组成。下面对图2.1的各部分功能进行简要分析。a.CPU内常用的寄存器1)PC(程序计数器)PC保存将要执行的指令地址,又称指令地址寄存器。CPU取指令时,将PC的内容送到主存地址寄存器,然后修改PC的值形成下一条要执行的指令地址,有以下两种修改PC内容的方法:(1)程序顺序执行是,可利用程序计数器本身的递增功能来实现,若程序无此
9、功能,则通过加法器实现;(2)转移时,用转移指令提供的地址修改PC的值。2)IR(指令寄存器)IR用于保存指令。从主存储器取出的指令存放在IR中,直到新的指令从主存中取出为止。IR中对应于指令操作码的部分输出送到指令译码器。IR中指令的操作码字段内容经指令译码器,送到微操作信号形成不见;指令的地址码字段根据寻址方式的不同可能送入程序计数器、地址寄存器或运算部件。有的机器指令操作码中包含寻址方式,因此不单独设计寻址方式字段;有的机器将寻址方式字段和操作码一并送入指令译码器;有的机器将操作码字段和地址码字段送入地址形成部件,以决定地址码的作用。3)AR(地址寄存器)AR用来保存当前CPU所要访问的
10、主存单元地址,无论CPU是取指令还是存取数据,都必须先将要访问的主存单元地址送AR,知道读写操作完成。4)DR(数据缓冲寄存器):DR作为CPU和主存之间的数据缓冲寄存器用于存放操作数、运算结果或 中间结果以减少访问主存的次数;也可以存放从主存中读出的数据,或准备写入的数据。b.指令译码器、地址形成部件和微操作产生部件1) 指令译码器(ID)指令译码器对指令的操作码进行译码,它的输出送到微操作产生部件。2) 地址形成部件地址形成部件对指令的寻址方式字段、地址字段进行译码,计算操作数的地址信息。3)微操作产生部件微操作产生部件接收指令译码器送来的信息,与时序信号、条件及状态信息进行组合,形成各种
11、具有时间标志的控制信号(即微操作控制序列)并发送到计算机的各个部件。微操作产生部件是控制决策机构。信息流的控制就是把操作产生部件的微操作控制序列(即微操作控制信号),送到各个部件的控制门、触发器或锁存器,去打开或关闭某些特定的门电路,使数据信息按完成指令功能所需要经过的路径,从一个功能部件传送到另一个功能部件,实现对数据加工处理的控制。根据设计方法不同,微操作产生部件的结构有三种不同的类型:组合逻辑型、存储逻辑型即前两者的结合型。它们分别对应三中不同的控制器组成方式:组合逻辑控制器、微程序控制器及组合逻辑与存储逻辑混合型控制器。c.时序控制部件指令执行过程中所有操作都必须按照一定的次序完成,而
12、且每个操作在什么时刻执行,执行多长时间都有严格的规定,不能有任何差错。例如执行加法 指令,必须先将操作数送到ALU的输入端,然后再给出ALU执行加法的操作控制信号,待加法操作完成后,才能将结果送往目的地。不仅次序有规定,而且对什么时刻送操作数、什么时刻执行加法操作、什么时刻送出结果也有规定。因此,需要时序概念。图2.1中时序控制部件的作用就是产生一组时序信号,即一系列电位与脉冲,送到微操作产生部件,对各种操作信号进行时序控制。2.2 实验环境JZYL型计算机组成原理实验仪一台。导线若干。涉及芯片类型及数量如表2.1所示。表2.1 所需芯片类型及数量芯片编号芯片名称所需数量74LS193二进制同
13、步可逆计数器174LS181四位运算器274LS244三态8位缓冲器274LS157四位2选1数据选择器474LS373八D锁存器7611616K CMOS静态RAM(2048*8)12816AEEPROM存储器(2048*8)274LS395四位寄存器174LS08二输入四与门274LS04六门反相器174LS32二输入四或门13 模块设计方案3.1 实验分析分析本次课程设计中对简易CPU的要求,需要设计的功能部件有主存储器、控制存储器、运算器、寄存器、计数器等。由于课程设计提供的芯片种类有限,我们选取了其中的74LS373、181、6116、2816A、74LS244、74LS193、74
14、LS157、74LS395等芯片实现相应的功能。我们设计的机器指令长度为8为,其中前4位为操作码,后四位为操作数。在设计方案时,我们先将总体方案分解为多个小的模块,分别进行设计,然后再将各个模块拼接在一起,实现最终需要的功能。分解的模块包括主存储器、控制存储器、运算器、寄存器、计数器。下面将逐个分析各个模块的设计思路。3.2 数据通路图图3.1 数据通路图课程设计的数据通路图如图3.1所示。图中标明了计算机系统中的各个部件,包括内存、程序计数器、运算器、寄存器、控制存储器、指令寄存器、数据寄存器、微指令寄存器等等功能部件。同时,也注明了不同部件的芯片组成,以及控制信号。控制信号是由微程序中的信
15、号(见4.3 微程序设计)和时序节拍通过组合逻辑的方式形成。3.3 模块设计3.2.1 主存储器主存储器相当于计算机系统中的主存。我们选择一片6116作为主存储器。我们设计的机器指令长度为8位,低4位为操作数,所以,我们只选用了6116的低四位地址,其他地址位均接低电平。换言之,我们能手动写入的内存只有16位,分别从0000到1111。在写入6116时,使用了一片74LS244作为缓冲器。因为在总体电路中,6116的输入可能会有多个,为了避免冲突,使用一片244可以方便后面输入端的选择。6116的地址通过一片74LS157后输入。选择74LS157的原因是,6116的地址选择有多种情况。第一种
16、情况是手动输入地址,这种情况发生在程序执行前,需往6116中写入程序,此时的地址由操作人员手动选择;第二种情况是程序自动选择,这种情况发生在程序连续执行过程中,由PC自动选择内存地址,取出操作指令或者指令的实现方式为直接寻址时,选择数据的地址。主存储器的结构图如3.2所示。图3.2 主存储器结构图6116芯片的功能如表3.1所示。我们选择的写模式为=L,=L,=L。我们选择的读模式为=L,=H,=L。其中,需要控制的只有,另外两个输入保持不变。6116是RAM芯片,断电后,芯片内的信息将会丢失。表3.1 6116芯片功能表输入I/O工作方式DIDOHhigh-z非选择LHLhigh-zDO读L
17、LHDIhigh-z写LLLDIhigh-z写LHHhigh-z选择74LS244芯片的功能如表3.2所示。表3.2 74LS244芯片功能表输入输出LLLLLLLHLHHHHH高阻高阻74LS157芯片的功能如表3.3所示。表3.3 74LS157芯片功能表使能端输入控制数据输入输出HLLHLLLHHHLLLLLLHH3.2.3 控制存储器控制存储器是整个课程设计中最重要的一个模块,这一部分设计起来没有太大难度。但是,由于微程序设计中的微指令是从控制存储器中取出的,这一部分的设计尤为重要。我们选择两片2816作为控制存储器。我们设计的微指令中,一共有13位有效信号。由于2816是8位的,所以
18、,需要两片2816存储需要的微指令。我们设计的机器指令长度为8位,高4位为操作指令,所以,只选用了2816的低四位地址,其他地址位均接低电平。换言之,我们能写入的控制信号只有16位,分别从0000到1111。实际上,我们设计的指令只有12条,16个内存已能满足需求。在写入2816时,使用了一片74LS244作为缓冲器。写入完成后,去掉74LS244。因为2816中的信息是确定的,每一个8位(两个2816应是16位)都对应着一条微指令,只要一次正确写入后,以后都不需要更改。由于2816是ROM芯片,断电后,信息不会丢失。但是,写入数据时,需要使用一片74LS244,作为缓冲器。2816的微指令信
19、号输出后,将会锁存到373中,避免在指令执行周期,控制信号发生改变。与2816相连的两片373的功能相当于计算机系统中的IR(微指令寄存器)。与2816相连的74LS395的作用是,在执行周期结束后,395清零(也可能是结束前,只要对结果不产生干扰就可以),系统进入取值周期。与74LS395相连的74LS373相当于计算机系统中的IR(指令寄存器)。其中,高4位为操作指令,这4位将会作为74LS395的输入,选择2816中的微指令,进而锁存在微指令寄存器中。控制存储器的结构图如图3.3所示。结构图中没有标明写入2816时用到的缓冲器74LS244,因为它只在写入时使用,写入成功之后,244将没
20、有其他的作用,可以去掉。图3.3 控制存储器结构图2816的芯片功能如表3.4所示。表3.4 2816芯片功能表引脚输入/输出读出LLH数据出闲置L高阻字节擦除LHL数据入=H字节写入LHL数据入整片擦除L+1015VL数据入=H不工作LHH高阻禁写HHL高阻74LS373芯片功能如表3.5所示。表4.6 74LS373功能表输出控制使能GD输出QLHHHLHLLLLQ0HZ74LS395芯片功能如表3.6所示。表3.6 74LS395芯片功能表功能输入输出PEDsDnQn总清LL装入HHLLHHHH3.2.3 运算器和寄存器运算器是CPU可以实现运算操作的基本部件,所使用的芯片本身只能实现最
21、基本的加减算术运算和亦或、非与等基本逻辑运算。但是,通过基本运算的组合,可以实现及其复杂的运算,如积分,甚至傅里叶变换。现代计算机可以显示各种我们需要的功能,但是,如果把每条指令分解来看,可以发现,它可以做到的事情实际上再简单不过。唯快不破,它通过将处理速度做到极致,即使它做的事情异常简单,但是,它能做到的事情却可以改变整个世界。由于提供的芯片中,能显示运算操作的芯片只有74LS181。所以,181芯片是实现运算器的不二选择。由于设计的数据位数为8位,而181只能实现4为的逻辑运算和算术运算,所以,我们需要两片74LS181来实现8位数据操作。181的B输入通过了74LS157,原因是,由于寻
22、址方式有立即数和直接寻址,所以,通过157来选择不同的寻址方式。157中的数据有两种情况,一种是立即数,这时高四位为0(由于指令位数的限制,立即数只能有4位);另一种是直接寻址,这时181中的8位数据全部来自于主存6116。74LS181的运算结果输入后,锁存在74LS373中,这样,可以防止运算结果被下一条运算操作改变。与这个373相连的是另外一个74LS373,它的作用相当于一个寄存器。181中的A输入来自于这个373(寄存器)。74LS157的其中一个输入来自一个74LS373,它的作用相当于计算机系统中的数据寄存器(DR)。直接寻址时,数据从主存6116中读出,锁存在这个373中,进行
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 微程序 控制器 简单 计算机系统 设计 实现