8位二进制cpu的设计和制作(一)

一、软件 Logic Circuit(逻辑电路) 中的基本元件

数字电路逻辑符号和逻辑图形符号

1、非门

在这里插入图片描述

2、三态门

在这里插入图片描述
在这里插入图片描述
此电路有3个状态:
a.E=0,A和B不通, 呈高阻态。
b.E=1,A=1时, B=1。
c.E=1,A=0时, B=0。

3、与门

输入全为1,输出才为1。
输入有个0,输出才为0。
在这里插入图片描述
在这里插入图片描述

4、与非门(数据A,B先与后非)

输入全为1,输出才为0。
输入有个0,输出才为1。
在这里插入图片描述
在这里插入图片描述

5、或门

输入全为0,输出才为0。
输入有个1,输出才为1。
在这里插入图片描述
在这里插入图片描述

6、或非门(数据A,B先或后非)

输入全为0,输出才为1。
输入有个0,输出才为0。
在这里插入图片描述
在这里插入图片描述

7、异或门(a⊕b = (¬a ∧ b) ∨ (a ∧¬b))

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

8、同或门(a⊙b=ab+a’b’)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、基本元件的组合物

1、半加器(同或门+与门)

在这里插入图片描述

2、全加器(半加器+或门)

在这里插入图片描述

3、8位二进制加法器+减法用补码(减一个数,即加这个负数的补码)

(1)正数的补码:与原码相同。
例如,+9的补码是00001001。
(2)负数的补码:符号位为1,其余位为该数绝对值的原码按位取反;然后整个数加1。
例如,-7的补码:因为是负数,则符号位为“1”,整个为;其余7位为-7的绝对值+7的原码
0000111按位取反为1111000;再加1,所以-7的补码是。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

4、七段十六进制数码管

在这里插入图片描述
在这里插入图片描述
七段十进制数码管与七段十六进制数码管差不多

5、RS触发器

在这里插入图片描述

在这里插入图片描述

6、D触发器

在这里插入图片描述
en输入端,作为锁存的开关

7、D边沿触发器

在这里插入图片描述

8、T触发器和行波计数器

T触发器的T的意思是Toggle,即翻转,如果说D边沿触发器是一个周期做一个动作,T触发器就是一个周期翻转一次状态(具体的动作),原理就是把输出的非再接入到输入。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

9、从存储器到寄存器

在这里插入图片描述
在这里插入图片描述
一字节的寄存器
在这里插入图片描述
在这里插入图片描述

8字节存储器
在这里插入图片描述

10、三八译码器

三八译码器,顾名思义,就是三位向八位的一个译码器,其真值表如下:
在这里插入图片描述
三八译码器的逻辑电路
在这里插入图片描述

11、存储器扩展和读写

存储器扩展=一二译码器+寄存器
在这里插入图片描述
分路器即串转并或并转串
在这里插入图片描述
字节交叉编址方式是按照字节编址,每个内存单元的地址,称为线性地址

存储器读写依靠数据输出端和数据输入端

地址总线输入的不同,一二编码器的输出端输出不同,选择的一字节存储器也不同
当然,也不能同时使能读数据和写数据

12、自动加法器(计数器+8位二进制加法器+存储器)

半自动加法器
在这里插入图片描述
全自动加法器(其实也是半自动加法器)
在这里插入图片描述

三、笔记

在这里插入图片描述

引脚标识的一般含义
A: 8位二进制加法器的8位输入
B: 8位二进制加法器的8位输入
O:8位二进制加法器的8位结果输出端(需要使能位使能)
S:8位二进制加法器的8位结果输出端(不需要使能位使能)
CO:8位二进制加法器的输出进位值
CI:8位二进制加法器的输入进位值

OP:取反器的使能(信号)按钮
CP:D边沿触发器的上升沿触发(信号)按钮

DI:一字节存储器的数据输入端
DO:一字节存储器的数据输出端
Clear:一字节存储器的清零(信号)按钮
Pre:一字节存储器的预设输入端
DO:一字节存储器的的数据输出端
EN:一字节存储器的允许触发(信号)按钮

CL:一字节的寄存器的清零(信号)按钮
W:一字节的寄存器的读模式设置(信号)按钮
R:一字节的寄存器的数据输出使能(信号)按钮(前提已经按动了寄存器的读模式(信号)按钮)
WE:一字节的寄存器读写模式的选择(信号)按钮
CS:cs信号等于1时,一字节的寄存器能被触发;cs信号等于0时,一字节的寄存器不能被触发
IO:一字节的寄存器读写模式控制端,将2位数据,一位输送给WE,另一位输送给CS,
-----最终低位为1时,寄存器为写模式;此时高位必须为1,以允许时钟触发写入数据
-----------------为0时,寄存器为读模式;此时高位必须为1,以允许输出数据
即11写,10读

W:16位的高位交叉编址存储器的数据输入使能(信号)按钮
R:16位的高位交叉编址存储器的数据输出使能(信号)按钮
A:16位的高位交叉编址存储器的地址总线

ALU:算术逻辑单元的与,或,异或,非的四选一的结果输出端
PWS:算术逻辑单元计算前后溢出位,奇偶校验位,奇偶标志位的值的输出端,共4位最高位恒为0
OP:算术逻辑单元用于与,或,异或,非的四选一的输入数据端
CL:清零算术逻辑单元计算前后溢出位,奇偶校验位,奇偶标志位的值
CP:触发更新算术逻辑单元计算前后溢出位,奇偶校验位,奇偶标志位的值

PC或EN:程序计数器的3位输入,这3位输入可以决定读写模式选择和开启关闭循环累加:
-----------1)是否启动用程序计数器,程序计数器会用DI端的值更新计数器的当前计数值,再每个时钟加1(2位)
-----------2)控制对当前计数值的读写(0~1位)
例子:a、PC或EN=111(B)就是开启计数器的当前计数值,处于写模式,计数器的加1计算器开启,即加1计算器可以用时钟触发加1

b、
磁盘RAM计数器EN端的三位输入位为010,高位0代表计数器关闭循环累加,低2位10代表计数器读写模式选择读,低2位是PC的寄存器的两位读写控制位(11写,10读),高1位是选择PC输入数据到PC寄存器,还是选择PC加法器输出数据到PC寄存器(1输出,0输入)。
磁盘RAM计数器EN端的三位输入位为011,高位0代表计数器关闭循环累加,低2位11代表计数器读写模式选择写
磁盘RAM计数器EN端的三位输入位为111,高位1代表计数器开启循环累加,低2位11代表计数器读写模式选择写

I1:CPU控制器的–输入:指令寄存器的8位输出
I2:CPU控制器的–输入:目的操作寄存器的8位输出
I3:CPU控制器的–输入:源操作寄存器的8位输出
SYC:CPU控制器的32位微指令中的4位地址位
A:CPU控制器的–输出:输出:指令寄存器的8位输出+恒为0位,溢出位,奇偶校验位,奇偶标志位+程序计数器的低4位
D:CPU控制器的–输入:内存的某个32位存储单元
HLT:CPU控制器的–输出:控制时钟信号的打开和关闭

8位二进制CPU的设计和实现CPU基本电路的实现1
8位二进制CPU的设计和实现CPU微机架构的实现2
8位二进制CPU的设计和实现3

1. 深入掌握CPU的工作原理,包括ALU、控制器、寄存器、存储器等部件的工作原理; 2. 熟悉和掌握指令系统的设计方法,并设计简单的指令系统; 3. 理解和掌握小型计算机的工作原理,以系统的方法建立起整机概念; 4. 理解和掌握基于VHDL语言和TEC-CA硬件平台设计模型机的方法。 二、设计要求   参考所给的16位实验CPU设计与实现,体会其整体设计思路,并理解该CPU的工作原理。在此基础上,对该16位的实验CPU(称为参考CPU)进行改造,以设计得到一个8位CPU。总的要求是将原来16位的数据通路,改成8位的数据通路,总的要求如下: 将原来8位的OP码,改成4位的OP码; 将原来8位的地址码(包含2个操作数),改成4位的地址码(包含2个操作数)。   在上述总要求的基础上,对实验CPU的指令系统、ALU、控制器、寄存器、存储器进行相应的改造。具体要求如下: 修改指令格式,将原来指令长为16位的指令格式改成8位的指令长格式; 设计总共16条指令的指令系统。此指令系统可以是参考CPU指令系统的子集,但参考CPU指令系统中A组和B组中的指令至少都要选用2条。此外,常见的算术逻辑运算、跳转等指令要纳入所设计的指令系统; 设计8位的寄存器,每个寄存器有1个输入端口和2个输出端口。寄存器的数量受控于每一个操作数的位数,具体要看指令格式如何设计设计8位的ALU,具体要实现哪些功能与指令系统有关。设计时,不直接修改参考CPU的VHDL代码,而是改用类似之前基础实验时设计ALU的方式设计设计8位的控制逻辑部件,具体结合指令功能、硬布线逻辑进行修改; 设计8位的地址寄存器IR、程序计数器PC、地址寄存器AR; 设计8位的存储器读写部件。由于改用了8位的数据通路,不能直接采用DEC-CA平台上的2片16位的存储芯片,需要按照基础实验3的方法设计存储器。此种方法不能通过DebugController下载测试指令,因此测试指令如何置入到存储器中是一个难点。设计时,可以考虑简单点地把指令写死在存储器中(可用于验证指令的执行),然后用只读方式读出来;或者考虑在reset的那一节拍里,实现存储器中待测试指令的置入; (可选项)设计8位的数据寄存器DR; (可选项)不直接设计存储器RAM,而是采用DEC-CA平台上的2片16位的存储芯片.在实现了第9个要求的基础上,实现由Debugcontroller置入待测试指令; (可选项)顶层实体,不是由BDF方式画图实现,而是用类似基础实验4(通用寄存器组)中设计顶层实体的方式,用VHDL语言来实现。 (可选项)自己设想   利用设计好的指令系统,编写汇编代码,以便测试所有设计的指令及指令涉及的相关功能。设计好测试用的汇编代码后,然后利用Quartus II软件附带的DebugController编写汇编编译规则。接着,利用DebugController软件把汇编编译之后的二进制代码置入到所采用的存储器中,并对设计好的8位CPU进行测试。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值