8位CPU设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计
算
机
组
成
原
理
论
文
姓名:某某
班级:计科一班学号:
8位CPU的设计与实现论文
CPU 的主要功能是执行指令,控制完成计算机的各项操作,包括运算操作、传送操作、输入/输出操作等。作为模型计算机设计,将重点放在寄存器组,采取较简单的组成模式,以尽量简洁的设计帮助读者掌握CPU 的基本原理。
此次设计CPU就是为了了解CPU运行的原理,从而完成从指令系统到CPU 的设计,并且通过仿真对CPU设计进行正确性评定。
关键词:CPU,设计指标,电路原理图,运算部件,寄存器组,模型
机指令系统,微命令序列,数据通路
1. 设计的任务与要求
1.1设计指标
1. 能实现IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、
JMP(无条件转移)这五种指令;
2. 整个系统能正常稳定工作。
1.2 设计要求
1. 画出电路原理图;
2.写出设计的全过程,附上有关资料和图纸(也可直接写在相关章节中),
有心得体会。
2. 方案论证与选择
2.1 CPU的系统方案
CPU 主要由算术逻辑单元ALU,数据暂存寄存器DR1、DR2,数据寄存器R0~R2,程序计数器PC,地址寄存器AR,程序/数据存储器MEMORAY,指令寄存器IR,微控制器uC,输入单元INPUT 和输出单元OUTPUT 所组成。图中虚线框内部分包括运算器、控制器、程序存储器、数据存储器和微程序存储器等,实测时,它们都可以在单片FPGA 中实现。虚线框外部分主要是输入/输出装置,包括键盘、数码管、LCD 显示器等,用于向CPU 输入数据,或CPU 向外输出数据,以及观察CPU 内部工作情况及运算结果。
1.运算部件
运算部件的任务是对操作数进行加工处理。主要由三部分组成:
(1)输入逻辑。(2)算术/逻辑运算部件ALU。(3)输出逻辑
2.寄存器组
计算机工作时,CPU 需要处理大量的控制信息和数据信息。例如对指令信息进行译码,以便产生相应控制命令对操作数进行算术或逻辑运算加工,并且根据运算结果决定后续操作等。因此,在CPU 中需要设置若干寄存器,暂时存放这些信息。在模型CPU中,寄存器组由R0、R1、R2 所组成。
3.指令寄存器指令寄存器(IR)
指令寄存器指令寄存器(IR)用来存放当前正在执行的指令,它的输出包括操作码信息、地址信息等,是产生微命令的主要逻辑依据。
4.程序计数器程序计数器(PC)
程序计数器程序计数器也称指令指针,用来指示指令在存储器中的存放位置。当程序顺序执行时,每次从主存取出一条指令,PC 内容就增量计数,指向下一条指令的地址。增量值取决于现行指令所占的存储单元数。如果现行指令只占一个存储单元,则PC 内容加1;若现行指令占了两个存储单元,那么PC 内容就要加2。当程序需要转移时,将转移地址送入PC,使PC 指向新的指令地址。因此,当现行指令执行完,PC 中存放的总是后续指令的地址;将该地址送往主存的地址寄存器AR,便可从存储器读取下一条指令。
5.地址寄存器
CPU 访问存储器,首先要找到需要访问的存储单元,因此设置地址寄存器(AR)来存放被访单元的地址。当需要读取指令时,CPU 先将PC 的内容送入AR,再由AR将指令地址送往存储器。当需要读取或存放数据时,也要先将该数据的有效地址送入AR,再对存储器进行读写操作。
6.标志寄存器
标志寄存器F是用来记录现行程序的运行状态和指示程序的工作方式的,标志位则用来反映当前程序的执行状态。一条指令执行后,CPU 根据执行结果设置相应特征位,作为决定程序流向的判断依据。例如,当特征位的状态与转移条件符合时,程序就进行转移;如果不符合,则顺序执行。在后面将要介绍的较复杂模型计算机设计中设置了两个标志位:进位Fc、零位Fz。
7.微指令产生部件
实现信息传送要靠微命令的控制,因此在CPU 中设置微命令产生部
件,根据控制信息产生微命令序列,对指令功能所要求的数据传送进行控
制,同时在数据传送至运算部件时控制完成运算处理。
微命令产生部件可由若干组合逻辑电路组成,也可以由专门的存储逻辑组成。产生微命令的方式可分为组合逻辑控制方式和微程序控制方式两种。在本章所介绍的8 位模型CPU 设计中,采用微程序控制方式通过微程序控制器和微指令
存储器产生微命令,因此此CPU 属于复杂指令CISC CPU。
8.时序系统
计算机的工作常常是分步执行的,那么就需要有一种时间信号作为
分步执行的标志,如周期、节拍等。节拍是执行一个单步操作所需的时
间,一个周期可能包含几个节拍。这样,一条指令在执行过程中,根据
不同的周期、节拍信号,就能在不同的时间发出不同的微命令完成不同
的微操作。周期、节拍、脉冲等信号称为时序信号,产生时序信号的部
件称为时序发生器或时序系统,它由一组触发器组成。由石英晶体振荡
器输出频率稳定的脉冲信号,也称时钟脉冲,为CPU 提供时钟基准。时
钟脉冲经过一系列计数分频,产生所需的节拍(时钟周期)信号。时钟
脉冲与周期、节拍信号和有关控制条件相结合,可以产生所需的各种工
作脉冲。
2.2模型机指令系统
一条指令必须包含下列信息:
操作码、操作数的地址、操作结果的存储地址、下一条指令的地址。
指令的基本格式
op-code 为操作码,rs为源寄存器,rd 为目的寄存器
寄存器操作数
模型机指令系统,及其指令编码形式
设模型机指令系统中包含有五条基本指令,分为算术运算指令、存取指令和控制转移指令等三种类型。五条机器指令分别是:IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移)。IN 为单字长(8 位二进制),其余为双字长指令,XX H 为addr对应的十六进制地址码。
2.3 拟定指令流程和微命令序列(计算机设计中最关键步骤)
1.微程序控制概念
(1)微命令和微操作
一条机器指令可以分解成一个微操作序列,这些微操作是计算机中最基