版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、机组成原论文姓名:某某班级:计科一班学号:8位CPU勺设计与实现论文CPU 的主要功能是执行指令,控制完成计算机的各项操作,包括运算操作、传送 操作、输入 /输出操作等。作为模型计算机设计,将重点放在寄存器组,采取较简单勺 组成模式,以尽量简洁勺设计帮助读者掌握 CPU 勺基本原理。此次设计CPU就是为了了解CPL运行的原理,从而完成从指令系统到 CPU勺设计,并且通过仿真对CPU设计进行正确性评定关键词:CPU设计指标,电路原理图,运算部件,寄存器组,模型机指令系统,微命令序列,数据通路1. 设计的任务与要求1.1 设计指标1. 能实现IN(输入)、ADD(二进制加法)、STA(存数)、OU
2、T(输出)、JMP(无条件转移)这五种指令;2. 整个系统能正常稳定工作。1.2 设计要求1. 画出电路原理图;2. 写出设计的全过程,附上有关资料和图纸 (也可直接写在相关章节中 ),有心得体会。2. 方案论证与选择2.1 CPU 的系统方案CPU主要由算术逻辑单元ALU,数据暂存寄存器DR1、DR2,数据寄存器R0 R2,程序计数器PC,地址寄存器AR,程序/数据存储器MEMORAY,指令寄存器IR, 微控制器uC,输入单元INPUT和输出单元OUTPUT所组成。图中虚线框内部分包括 运算器、控制器、程序存储器、数据存储器和微程序存储器等,实测时,它们都可以 在单片FPGA中实现。虚线框外
3、部分主要是输入/输出装置,包括键盘、数码管、LCD 显示器等,用于向 CPU 输入数据,或 CPU 向外输出数据,以及观察 CPU 内部工作情 况及运算结果。1 运算部件 运算部件的任务是对操作数进行加工处理。主要由三部分组成:(1)输入逻辑。(2)算术/逻辑运算部件ALU。( 3)输出逻辑 2寄存器组计算机工作时,CPU需要处理大量的控制信息和数据信息。例如对指令信息进行译 码,以便产生相应控制命令对操作数进行算术或逻辑运算加工,并且根据运算结果决 定后续操作等。因此,在CPU中需要设置若干寄存器,暂时存放这些信息。在模型 CPU 中,寄存器组由 R0、 R1、 R2 所组成。3指令寄存器指
4、令寄存器( IR)指令寄存器指令寄存器(IR)用来存放当前正在执行的指令,它的输出包括操作码 信息、地址信息等,是产生微命令的主要逻辑依据。4程序计数器程序计数器( PC) 程序计数器程序计数器也称指令指针,用来指示指令在存储器中的存放位置。当程 序顺序执行时,每次从主存取出一条指令, PC 内容就增量计数,指向下一条指令的地址。增量值取决于现行指令所占的存储单元数。如果现行指令只占一个存储单元,则 PC 内容加1;若现行指令占了两个存储单元,那么 PC 内容就要加 2。当程序需要转移 时,将转移地址送入PC,使PC指向新的指令地址。因此,当现行指令执行完,PC中存放的总是后续指令的地址;将该
5、地址送往主存的地址寄存器 AR便可从存储器读取 下一条指令。5地址寄存器CPU访问存储器,首先要找到需要访问的存储单元,因此设置地址寄存器( AR来 存放被访单元的地址。当需要读取指令时,CPU先将PC的内容送入AR再由AF将指令 地址送往存储器。当需要读取或存放数据时,也要先将该数据的有效地址送入 AR再 对存储器进行读写操作。6标志寄存器标志寄存器F是用来记录现行程序的运行状态和指示程序的工作方式的,标志位则 用来反映当前程序的执行状态。一条指令执行后,CPU根据执行结果设置相应特征位, 作为决定程序流向的判断依据。例如,当特征位的状态与转移条件符合时,程序就进 行转移;如果不符合,则顺序
6、执行。在后面将要介绍的较复杂模型计算机设计中设置 了两个标志位:进位Fc、零位Fz。7. 微指令产生部件实现信息传送要靠微命令的控制,因此在 CPU中设置微命令产生部件,根据 控制信息产生微命令序列,对指令功能所要求的数据传送进行控制,同时在数 据传送至运算部件时控制完成运算处理。 微命令产生部件可由若干组合逻辑电路组成,也可以由专门的存储逻辑组成。产生微 命令的方式可分为组合逻辑控制方式和微程序控制方式两种。在本章所介绍的 8 位模 型CPU设计中,采用微程序控制方式通过微程序控制器和微指令存储器产生微命令, 因此此 CPU 属于复杂指令 CISC CPU。8. 时序系统计算机的工作常常是分
7、步执行的,那么就需要有一种时间信号作为分步执行 的标志,如周期、节拍等。节拍是执行一个单步操作所需的时间,一个周期可 能包含几个节拍。这样,一条指令在执行过程中,根据不同的周期、节拍信号, 就能在不同的时间发出不同的微命令完成不同的微操作。周期、节拍、脉冲等 信号称为时序信号,产生时序信号的部件称为时序发生器或时序系统,它由一 组触发器组成。由石英晶体振荡器输出频率稳定的脉冲信号,也称时钟脉冲, 为CPU提供时钟基准。时钟脉冲经过一系列计数分频,产生所需的节拍(时钟 周期)信号。时钟脉冲与周期、节拍信号和有关控制条件相结合,可以产生所 需的各种工作脉冲。2.2 模型机指令系统一条指令必须包含下
8、列信息: 操作码、操作数的地址、操作结果的存储地址、下一条指令的地址。 指令的基本格式op-code 为操作码, rs 为源寄存器, rd 为目的寄存器 寄存器操作数 模型机指令系统,及其指令编码形式 设模型机指令系统中包含有五条基本指令,分为算术运算指令、存取指令和控制转移 指令等三种类型。五条机器指令分别是:IN (输入)、ADD(二进制加法)、STA(存 数)、OUT(输出)、JMP(无条件转移)。IN为单字长(8位二进制),其余为双字 长指令,XX H为addr对应的十六进制地址码。2.3 拟定指令流程和微命令序列(计算机设计中最关键步骤) 1微程序控制概念( 1)微命令和微操作 一条
9、机器指令可以分解成一个微操作序列,这些微操作是计算机中最基本的, 不可再分解的操作。 在微程序控制的计算机中, 将控制部件向执行部件发出的各种 控制命令叫做微命令, 它是构成控制序列的最小单位。 因此,微命令是控制计算机 各部件完成某个基本微操作的命令。 微命令和微操作是一一对应的。微命令是微操作的控制信号,微操作是微命令的操作 过程。微命令有兼容性和互斥性之分。兼容性微命令是指那些可以同时产生,共同完 成某一些微操作的微命令;而互斥性微命令是指在机器中不允许同时出现的微命令。 兼容和互斥都是相对的,一个微命令可以和一些微命令兼容,和另一些微命令互斥。 对于单独一个微命令,就无所谓兼容性或互斥
10、性了。( 2)微指令、微地址 微指令是指控制存储器中的一个单元的内容,即控制字,是若干个微命令 的集合,存放控制字的控制存储器的单元地址就称为微地址。一条微指令通常 至少包含两大部分信息: 微操作码字段,又称操作控制字段,该字段指出微指令执行的微操作; 微地址码字段,又称顺序控制字段,指出下一条要执行的微指令的地址。( 3)微周期 所谓微周期是指从控存中读取出一条微指令并执行规定的相应操作所需的时间。( 4)微程序 一系列微指令的有序集合就是微程序。若干条有序的微指令构成了微程序。微程 序可以控制实现一条机器指令的功能。或者说一条机器指令可以分解为特定的微指令 序列。一旦机器的指令系统确定以后
11、,每条指令所对应的微程序被设计好并且存入控 存后,控存总是处于只读的工作状态,所以控存一般采用只读存储器(ROM存放。重新设计控存内容就能增加、删除、修改机器指令系统。在 FPGA中通常采用嵌入式阵列 块构成的LPM_R0作为控存,存放微指令。2. 微指令格式( 1)水平型微指令 一次能定义并执行多个并行操作微命令的微指令。 按照操作控制字段的编码方法不同, 水平型微命令又分为三种: 第一种是全水平型 (不 译码法)微指令,第二种是字段译码法水平型微指令,第三种是直接和字段译码相混 合的水平型微指令。( 2)垂直型微指令 垂直型微指令中设置操作码字段,由微操作码规定微指令的功能。 垂直型微指令
12、的结构类似于机器指令的结构。在一条微指令中只存一二个微命令,每 条微指令的功能比较简单。因此,实现一条机器指令的微程序要比水平型微指令编写 的微程序长得多,它是采用较长的微程序结构去换取较短的微指令结构。3. 模型机的微指令uA5- uAO:微程序控制器的微地址输出信号,是下一条要执行的微指令的微地址。 S3、 S2、Sl、SO:由微程序控制器输出的ALU操作选择信号,以控制执行16种算术操作或 16 种逻辑操作中的某一种操作。M微程序控制输出的ALU操作方式选择信号。M= 0执行算术操作;M= I执行逻辑操 作。Cn:微程序控制器输出的进位标志信号,Cn= 0表示ALU运算时最低位有进位;
13、Cn= 1则表示无进位。WE微程序控制器输出的RAM控制信号。当CE= 0时,如W昌0,为存储器读;如W昌 1,为存储器写。A9、A8:译码后产生CS0 CS1 CS2信号,分别作为SW_B RAM LED 的选通控制信号。A字段(15、14、13):译码后产生与总线相连接的各单元的输入选通信号。B字段(12、11、10):译码后产生与总线相连接的各单元的输出选通信号。C字段(9、& 7):译码后产生分支判断测试信号P (1) P( 4)和LDPC信号皐宇段1字段C字-15213逸择12111098/0O0Ut)00000D1LDHi0IRS-B001pDiaLDDR1010010p ( Gr
14、 o 1iLDDR20 111KJ B011p 3)1oQLm.10000p 3101LOAD10IALU-E101LDAR110LJjAR110PC-BT10WPC4. 微指令的执行方式执行一条微指令的过程类似于机器指令的执行过程。首先,将微指令从控存 CM中取出,称为取微指令。对于垂直型微指令还应包括微操作码的译码时间。 然后,执行微指令所规定的各个微操作。根据微指令的执行方式可分为串行执行 和并行执行两种。5. 时序安排由于CPU的工作是分步进行的,而且需要严格定时控制,因此设置时序信号,以便 在不同的时间发出不同的微命令,控制完成不同的操作。组合逻辑控制方式和微程序 控制方式在时序安排
15、上有区别,前者多采用三级时序划分,而后者往往采用两级时序。6. 拟定指令流程和微命令序列这是设计中最关键的步骤,这是由于需要根据这一步的设计结果形成最后 的控制逻辑。拟定指令流程是将指令执行过程中的每步传送操作(寄存器之间 的信息传送),用流程图的形式描述出来,拟定微命令序列是用操作时间表列 出每步操作所需的微命令及其产生条件。7. 形成控制逻辑设计的最后一步。采用组合逻辑控制方式或采用程序控制方式,有各自不同的设 计方法。在组合逻辑控制方式中,将产生微命令的条件进行综合、化简,形成逻辑式, 从而构成控制器的核心逻辑电路。在微程序控制方式中,则是根据微命令来编写微指 令,组成微程序,从而构成以
16、控制存储器为核心的控制逻辑。2.4微程序设计1. IN指令为了执行输入指令,CPU要做两件事情。首先,由INPUT输入装置的数据开关SV输 入数据送到数据总线上;其次,通过数据总线将输入的数据写入寄存器R0中。2. AD指令 R0JR0+(MEM)存储单元的地址是存放在紧跟在操作码后的字节中的,因此,首先要以该字节的内 容为地址,即将该单元内容送地址寄存器 AR然后,从AR所指向的RAM存储单元取出 操作数送给DR2由于在取指令操作码时,PC已经自动加1,指向下一字节,该地址就 是存放操作数的存储单元的地址。3. STA旨令向存储器RAM写数据操作STA以紧跟在操作码后的字节作为存放操作数地址
17、,将R0中的数据存入该地址单元。首先将紧跟在操作码后的字节的内容送给 地址寄存器 AR。4. OUT指令ARPC PC- PC+1以PC勺内容作为存数据的地址BUS-RAM AR-BUS AR旨向存放操作数的RA单元BUS-RAM, DR1-BUSOUT- DR15. JMP旨令AF PC PC- PC+1 ;以PC勺内容作为取数据的地址BUS- RAM PC- BUS ;将RAM内容送PC实现程序转移3. CPU设计及微代码3.1 原理图模版3.2取旨令和旨令1. 取旨令阶段取旨令阶段完成的任务是将现行旨令从主存中取出来并送至旨令寄存器中。 具体的操作如下:(1)将程序计数器(PC)中的内容
18、送至存储器地址寄存器(AR),并送往地址总 线( AB )。(2)PC 的内容递增,为取下一条旨令做好准备。(3)由控制单元(CU)经控制总线(CB)向存储器发读命令。(4)从主存中取出的指令通过数据总线(DB)送到指令寄存器(IR)中。 以上这些操作对任何一条旨令来说都是必须要执行的操作,所以称为公共操作。完成 取旨阶段任务的时间称为取旨周期。 取出旨令后,旨令译码器 ID 可识别和区分出不同 的旨令类型。此时计算机进入分析取数阶段,以获取操作数。由于各条旨令功能不同, 寻址方式也不同,所以分析取数阶段的操作是各不相同的。(5)指令寄存器(IR)中的内容送指令译码器(ID)进行指令译码。(6
19、)指令译码器(ID)的内容送操作控制器。(7)操作控制器产生执行指令的微控制。2. 分析取数阶段 对于无操作数指令,只要识别出是哪条具体的指令,即可以直接转至执行阶段,所以不需进入分析取数阶段。而对于带操作数指令,为读取操作数首先要计算出操作数 的有效地址。如果操作数在通用寄存器内,则不需要再访问主存;如果操作数在主存 中,则要到主存中去取数。对于不同的寻址方式,有效地址的计算方法是不同的,有 时要多次访问主存才能取出操作数(间接寻址)。对于无操作数指令,只要识别出是 哪条具体的指令,即可以直接转至执行阶段,所以不需进入分析取数阶段。而对于带 操作数指令,为读取操作数首先要计算出操作数的有效地
20、址。如果操作数在通用寄存 器内,则不需要再访问主存;如果操作数在主存中,则要到主存中去取数。对于不同 的寻址方式, 有效地址的计算方法是不同的, 有时要多次访问主存才能取出操作数 (间 接寻址)。另外对于单操作数指令和双操作数指令,由于需要的操作数的个数不同, 分析取数阶段的操作也不同。3. 执行阶段执行指令阶段完成指令规定的各种操作。执行阶段完成任务的时间称为执行周期 计算机的基本操作过程就是取指令、取操作数、执行指令,然后再取下一条指令 如此周而复始,直至遇到停机指令或外来的干预为止。3.3设计微代码表微程序流程图是根据每条指令的微操作流程所绘制的,操作框内给出的是该微操 作要执行的动作。
21、当拟定“取指”微指令时,该微指令的判别测试字段为P (1)测试,根据P (1)的测试结果将出现多路分支。由于操作码的位数已确定为 4位,所以可直 接将操作码与微地址码的部分对应。本模型机用指令寄存器(IR7IR0)的高4位 (IR7IR4)与微地址码的后4位对应。模型机的微地址码共有六位,微地址码的高三位已固定为 001,低三位从000111 共有八种状态,现设计了五条指令,需要五个分支入口,因此,将低三位中的 000B 100B这五个地址分配给这五条指令,就得到五个分支入口微地址。这五个分支入口(以八进制表示)分别是10、11、12、13和14,占用五个固定的微地 址单元。其余的微操作单元的微地址设置,可以将还未使用的微地址按照从小到大的 顺序依次分配给这些微操作单元,微地址的分配情况见图 5-4。微地址标注在每个微操 作框的左上角,右上角标注的是微指令码。3.4建立数据通路ALU为运算器;DR0和DR1为其输入端的两个暂存寄存器;R0是数据寄存器,用 来保存数据和运算结果;PC为程序计数器;IR和ID分别为指令寄存器和指令译码器; AR和MOMERY分别为存储地址寄存器和存储数据寄存器;I
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版口腔科常见病症状及护理技巧
- 车厘子品牌介绍
- 奇马特技术介绍
- 高血压病治疗方案分享
- 网络五层协议书
- 如何签订意定监护协议书
- 协议书市长夫人
- 2025-2026学年北京市东城区高三数学上册期中考试试卷及答案
- 西师版初一物理上册月考考试试题及答案
- 鱼骨分析法讲方法
- 高中英语完形填空高频词汇与短语
- T-CCASC 0041-2024 产品碳足迹 产品种类规则 烧碱
- 矿山运营成本控制-洞察及研究
- 社区网格员安全培训课件
- 港口工程重大危险源辨识及监控措施
- 抑郁药中毒课件
- 2025年银行声誉风险应急演练报告范文
- 机动车检验检测机构质量管理体系指导手册
- 小儿静脉输液课件
- 2025年四川省事业单位考试公共基础知识真题及答案解析
- 小学信息技术第一课课件
评论
0/150
提交评论