10搭建一台简易的计算机
8位寄存器
WE : Write Enable 写入使能 (1 bit)
OE : Output Enable 输出使能 (1 bit)
Din : Data in 数据输入 (8 bit)
clock : 时钟
Dout : Data out 数据输出 (8 bit)
Stored data : 方便调试使用,实际上是没有的 (8 bit)
驱动器 : 相当于一个继电器开关 (8 bit)
4位寄存器
与8位寄存器完全一致,只需要将Din、Dout、Stored data和驱动器改为4位即可
ALU模块
下面搭建的是只含加法的ALU模块
RegA : 操作数1 (8位)
RegB : 操作数2 (8位)
OE : Output Enable 输出使能 (1 bit)
Dout : Data out 数据输输出 (8 bit)
carry : carray (1 bit)
ALU Result : 方便调试使用,实际上是没有的 (8 bit)
驱动器 : 相当于一个继电器开关 (8 bit)
CPU总架构
下图是一个CPU的简易架构图
手动计算
自动计算
...
09内存
1个地址的内存单元
先写入数据1,然后再读取,其中原件说明如下所示:
ld : load,用于读取数据也有命名为OE(output enable)
str : store,用于写入数据也有命名为WE(write enable)
Din : data in,数据输入
row和column : 地址的行列,要读写数据必须选中这个地址
三角形元件 : 驱动器,类似于继电器其上面的输入为开关决定了驱动器两端是否导通
下拉电阻 : 默认驱动器为断开状态,输出Dout为悬空高阻态,为防止被干扰通过接下拉电阻明确默认情况下这段位低电平
16个地址的内存单元
其中往0000和1111地址写入数据1,并进行读取,效果如下所示:
上述示例中,使用到的元件有:
1位内存单元
分裂器(4→2,2)
解码器(选择为2位)
隧道(用于网络号连接的元件,方便连线)
08时钟
时钟
时钟信号就是周期性的高低电平变化的信号。我们可以用两个普通的寄存器加上一个非门,组成一个带有边缘触发的寄存器。在按钮按下的一瞬间,电压从低电平到高电平的一瞬间,Din的数据被存储起来。
CPU需要clock来同步内部操作,如执行指令、进行数据传输等。Clock提供了精确的时间控制,确保每个内部操作在正确的顺序与速度内执行,从而确保CPU的正常工作。另外,Clock还与CPU的频率相关,通过控制Clock频率,可以控制CPU的速度。
简介
时钟(clock) 是一种用于同步系统中各个组件的信号源,它为计算机中的所有操作提供时间基准。时钟的概念贯穿于计算机系统的各个层面,主要有以下几个方面:
时钟周期与频率:
时钟周期(clock cycle)是时钟信号从一个上升沿(或下降沿)到下一个上升沿所经历的时间。通常以纳秒(ns)为单位。
时钟频率(clock frequency)是每秒钟时钟信号的振荡次数,单位是赫兹(Hz)。1GHz = 10^9 Hz,表示每秒有十亿次振荡或周期。
频率越高,处理器能够在相同时间内处理的指令数量通常也越多,计算机的运行速度也就越快。
...
07寄存器
简介
寄存器(Register)是计算机处理器(CPU)中一小块高速存储器,用于暂时存储数据、指令或其他信息。寄存器是计算机处理器内部最重要的组成部分之一,因为它们比主存(如RAM)快得多,能够在处理数据时提供极高的访问速度。
作用
临时存储 :寄存器用于临时存储在运算过程中需要的数据。例如,在加法运算中,操作数通常会先存储到寄存器中,然后由ALU执行运算。
指令执行 :CPU在执行指令时,寄存器会存储操作数、地址以及指令的结果,方便CPU快速访问和处理。
快速存取 :寄存器的访问速度远远高于主存,因此能大大提高处理器的整体效率。
常见的寄存器
在CPU中有不同类型的寄存器,每种寄存器用于不同的目的。以下是一些常见的寄存器类型:
数据寄存器(Data Registers)
用于存储临时的数据和操作数,例如在加减法等运算过程中使用的操作数。
例子:x86架构中的EAX、EBX、ECX、EDX等。
地址寄存器(Address Registers)
用于存储数据或指令在内存中的地址。常用于内存寻址操作。
例子:x86架构中的EBP(基址指针寄存器)、ESP(堆栈指针寄 ...
06锁存器
锁存器
锁存器(Latch)是一种基本的数字电路元件,用于存储单个位的信息。它是一个双稳态电路,可以在两种状态之间保持,直到输入信号发生变化。锁存器常用于存储数据、控制信号或在时序电路中。
与门可以存储下来0,或门可以存储下来1,我们把与门和或门进行一个组合,就能做出来第一个有用的电路结构。
Din : data in 数据输入
WE : write enable
当WE位高电平的时候,Din的数据可以被存储起来
当WE位低电平的时候,out值不发生变化
工作原理
锁存器通常有两个输入(如数据输入和使能输入)和一个输出。它的工作原理可以分为以下几步:
使能状态 :当使能信号(通常称为“Enable”或“Clock”)为高电平时,锁存器可以接收输入信号,并将其存储。
数据保持状态 :一旦使能信号变为低电平,锁存器将保持当前状态,即锁存器的输出将保持最后一次有效输入的值,直到再次接收到有效输入。
锁存器的类型
常见的锁存器有以下几种:
SR锁存器(Set-Reset Latch):
具有两个输入:Set(S)和 Reset(R)。
当 S 为高时,输出 ...
05补码
简介
补码(Two’s complement)是用于表示有符号整数的一种编码方式。在计算机系统中,补码是负数的常见表示方法。它的优点是可以用同样的硬件电路同时进行加法和减法运算,简化了硬件设计。
补码的计算方式
正数的补码
正数的补码与其二进制原码相同。
例如,对于5
5的二进制原码是00000101
正数的补码等于其原码,所以5的补码就是00000101
负数的补码
负数的补码可以通过以下两步得到:
先将该数的绝对值表示为二进制原码。
然后将二进制按位取反,再加1,得到补码。
例如,对于-5
先计算5的二进制原码,得到00000101。
然后按位取反,得到11111010。
最后加1,得到11111011,这就是-5的补码表示。
补码的优点
加减法统一 :使用补码可以让计算机统一使用加法电路来处理加法和减法。
唯一零表示 :补码系统中,0有唯一的表示,不像一些其他编码系统中有正负0之分。
溢出判断方便 :补码系统中可以方便地判断运算的溢出。
04算数逻辑单元
简介
ALU(Arithmetic Logic Unit)是计算机CPU中的算术逻辑单元,它负责处理计算机中的数学运算和逻辑运算。它可以执行基本的算术运算(加减乘除)和逻辑运算(与或非),并且根据运算结果产生相应的输出。ALU是CPU中最重要的部分之一,负责实现计算机的基本运算功能,
半加器
半加器,只能完成一半功能的加法器,这里说的一半功能就是他不能接收到进位,思考一下两个1位的二进制相加:
0 + 0 = 0 进位是0
1 + 0 = 1 进位是0
0 + 1 = 1 进位是0
1 + 1 = 0 进位是1
通过分析得知我们的和相当于异或门(相同为0,不同为1);进位相当于与门(同1为1)
真值表
A(输入)
B(输入)
SUM(输出)
Carry(进位)
0
0
0
0
1
0
1
0
0
1
1
0
1
1
0
1
Digital仿真电路
全加器
如果一个加法器能接收进位,还能完成加法,那他就是一个全加器,一个全加器由两个半加器组合而成。
真值表
A(输入)
B(输入)
C(输入)
SUM(输出)
Carry( ...
03嘉立创eda绘制门电路
新建嘉立创EDA项目
打开并登录嘉立创个人工作区
点击“新建工程”
完善工程信息
编辑器打开工程,进行原理图的绘制
元件选取
继电器 : C35449
按钮 : C83206
LED : C3097768
电阻 : C714232
电源接头 : C8404
绘制原理图
放置元件
点击“放置”菜单,再点击“符号”菜单,打开元件库弹窗
搜索关键字或元件编号,选择对应的元件即可
原理图
制作PCD
点击“设计”菜单,选择“原理图转PCB”菜单
通过布局传递可以在PCB上准确的定位原理图上的元件;在原理图框选需要的元件,点击“工具”菜单,再点击“布局传递”菜单就可以在PCB上准确的定位原理图正框选的元件
将原件全部排放整齐进行连线,在“设计管理器”中将所有非GND的线进行连接好,GND通过铺铜的方式(未连接的线网络非飘红,可取消勾选GND先将其他线连接好)
添加丝印
铺铜,点击铺铜工具,绘制矩形包围整个PCB板(可绘制在外面大于板子的范围),点击绘制的铺铜矩形可编辑铺铜样式(选择45°铺铜个人感觉更好看而已)
PCB最终效果
2D预览效果
3D预览效果
...
02Digital搭建仿真电路
元件说明
以下电路用到的元件包括:
这些元件都可以在组件菜单的“输入输出”、“导线”、“开关”中找到。
框选元件可复制粘贴操作
元件右键可进行添加标签或旋转等操作
与门电路
与门(AND Gate)是数字电路中最基本的逻辑门之一。它执行逻辑与(AND)运算。与门通常有两个或多个输入和一个输出,其工作原理是:
当且仅当所有输入信号均为1时,输出为1。
如果有任何一个输入为0,输出为0。
与门真值表
输入A
输入B
输出Y
0
0
0
0
1
0
1
0
0
1
1
1
与门的符号:
在电路图中,AND门通常表示为一个D形状的符号,两侧是输入,右侧是输出。
与门广泛应用于各种逻辑运算和计算设备中,如计算机处理器、加法器和控制电路等。
或门电路
或门(OR Gate)是数字电路中另一种基本逻辑门,它执行逻辑或(OR)运算。与门相反,或门在至少有一个输入为1时,输出为1。如果所有输入都是0,输出才会是0。
当任意一个或多个输入为1时,输出为1。
当所有输入均为0时,输出为0。
或门真值表
输入A
输入B
输出 ...
01Digital电路仿真软件的安装
Java环境安装
电路仿真软件Digital是一款用于设计和仿真数字逻辑电路的工具。它可以帮助用户创建、测试和调试各种数字电路,提供可视化的电路编辑环境,使得设计过程更加直观和便捷。
Digital软件是使用Java语言编写的,所以运行时需要有Java环境
Digital安装
首先打开官方网站,这款软件目前已经被开源到了GitHub上,点击链接。
Digital配置
由于Digital的默认配色不好看,可通过菜单(“编辑”→“设置”→“颜色方案”)进行修改。