We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
花了五天的时间,又把这本书看了一遍。与第一遍相比,这次看的更加的细致,并写了不少的笔记,还第一时间基于笔记做了些总结,并记录在此。
在过去,电报站在长距离信息通信的场景中,过于长的电线会具有很大的电阻,于是就有了继电器,用来放大所接收到的信号。
后来发现可以基于继电器构建各种「逻辑门」,如下是基于继电器构建的与门和或门的示意图:
可以理解为「非门」,高电平输入低电平输出,低电平输入高电平输出,可用于求二进制的补位。
如下电路图,有两个输入位,四个输出位,其本质就是用两位二进制数来表示四种可能性,类似的还有 3-8、4-16 译码器。
由一个异或门和一个与门组合而成,其中两个输入位,对应需要求和的两个数,两个输出位,分别是「加和输出」和「进位输出」。
示意图:
由两个半加器和一个或门组合而成,三个输入位其中包括一个进位输入,然后是一个进位输出和加和输出。
简化示意图:
振荡器是一种特殊的继电器,能够周期性的输出高低电平,又被称为「时钟」。
首先,触发器是基于振荡器的原理而组成的一种电路,具备保存信息的功能。
D型触发器有两个输入位,分别是: 数据输入位和保持位,当保持位为0时,数据输入位的变化不会影响输出的结果,当保持位为1时,输出的结果Q与数据位的输入值相等,如果之后把保持位再改成0,就达到了保存数据的效果。
D 型触发器的真值表如下:
将上述D型触发器的控制位改成时钟输入变成了一个「锁存器」。
上图是一个一位锁存器,可以用8个一位锁存器组合成一个八位锁存器。用来保存一个字节的数据。
在上述锁存器的基础上增加一个「边沿触发时钟(edge-triggered clock)」就成了一个寄存器。
边沿触发时钟: 普通的触发器在保持位等于1的时候数据位的输入决定了最终的输出,而边沿触发时钟在时钟信号从0变成1的时候才会将数据输入位的数据输出。
选择器有两部分的输入位,选择输入位和数据输入位,其中选择输入位又叫做地址输入位,其原理就是地址输入为的每一种排列组合与每一个输入数据一一对应,通过控制地址位来选择输出哪一个数据。选择器与译码器对应。
2-1选择器有一个地址位两个数据输入位,输出一位数据。8-1选择器有三个地址位8个数据位,输出一位数据。
实现二进制加法器核心在于:
下面是两个八位二进制数相加的电路图和示意图:
减法器的核心在于:
所以减法器只需要在加法器的基础上加上一个反相器(用于计算减数的补数)即可。
这个装置的英文是 RAM(Random Access Memory),之所以称为随机访问存储器,是因为这个存储器的读写操作非常的自由,可以通过控制地址位的输入就可以对指定的数据进行操作。
书中出现了 8x1RAM、16x1RAM、1024x8RAM 和 64Kx8RAM 等多种规格的 RAM,命名中的第一个数字表示可存储的最大空间并且它从侧面还表示了这个存储器地址位的个数,比如 64Kx8RAM 就有16 个地址位因为2的16次幂等于64K,第二个数字表示操作数据的位数。
RAM 包含三种输入位:
下图是一个8x1RAM的电路图:
这一章引入了「指令」的概念,将指令存放到内存当中用来控制部分组件的控制信号,比如控制计数器和锁存器的时钟和清零信号。如此,我们就可以通过输入指令来实现相应的自动化操作。下面是自动加减法的电路图。
为了理解如何实现自动化,需要主要如下几点:
其次,过程中会涉及到三个指令:
The text was updated successfully, but these errors were encountered:
No branches or pull requests
1、涉及到的名词
1.1 继电器(Relay)
在过去,电报站在长距离信息通信的场景中,过于长的电线会具有很大的电阻,于是就有了继电器,用来放大所接收到的信号。
![image](https://user-images.githubusercontent.com/17445018/73352978-5204da00-42cd-11ea-954e-ce87d99bcd12.png)
后来发现可以基于继电器构建各种「逻辑门」,如下是基于继电器构建的与门和或门的示意图:
1.2 反相器(Inverter)
可以理解为「非门」,高电平输入低电平输出,低电平输入高电平输出,可用于求二进制的补位。
1.3 2-4译码器(2-Line-to-4-Line Decoder)
如下电路图,有两个输入位,四个输出位,其本质就是用两位二进制数来表示四种可能性,类似的还有 3-8、4-16 译码器。
1.4 半加器(Half Adder)
由一个异或门和一个与门组合而成,其中两个输入位,对应需要求和的两个数,两个输出位,分别是「加和输出」和「进位输出」。
示意图:
1.5 全加器(Full Adder)
由两个半加器和一个或门组合而成,三个输入位其中包括一个进位输入,然后是一个进位输出和加和输出。
简化示意图:
1.6 振荡器(Oscillator)
振荡器是一种特殊的继电器,能够周期性的输出高低电平,又被称为「时钟」。
示意图:
1.7 D 型触发器(D-type Flip-Flop)
首先,触发器是基于振荡器的原理而组成的一种电路,具备保存信息的功能。
D型触发器有两个输入位,分别是: 数据输入位和保持位,当保持位为0时,数据输入位的变化不会影响输出的结果,当保持位为1时,输出的结果Q与数据位的输入值相等,如果之后把保持位再改成0,就达到了保存数据的效果。
D 型触发器的真值表如下:
1.8 锁存器(Latch)
将上述D型触发器的控制位改成时钟输入变成了一个「锁存器」。
上图是一个一位锁存器,可以用8个一位锁存器组合成一个八位锁存器。用来保存一个字节的数据。
1.9 寄存器(Register)
在上述锁存器的基础上增加一个「边沿触发时钟(edge-triggered clock)」就成了一个寄存器。
边沿触发时钟: 普通的触发器在保持位等于1的时候数据位的输入决定了最终的输出,而边沿触发时钟在时钟信号从0变成1的时候才会将数据输入位的数据输出。
1.10 选择器(Selector)
选择器有两部分的输入位,选择输入位和数据输入位,其中选择输入位又叫做地址输入位,其原理就是地址输入为的每一种排列组合与每一个输入数据一一对应,通过控制地址位来选择输出哪一个数据。选择器与译码器对应。
2-1选择器有一个地址位两个数据输入位,输出一位数据。8-1选择器有三个地址位8个数据位,输出一位数据。
2、二进制加法器的实现
实现二进制加法器核心在于:
下面是两个八位二进制数相加的电路图和示意图:
3、二进制减法器的实现
减法器的核心在于:
所以减法器只需要在加法器的基础上加上一个反相器(用于计算减数的补数)即可。
4、随机访问存储器的实现
这个装置的英文是 RAM(Random Access Memory),之所以称为随机访问存储器,是因为这个存储器的读写操作非常的自由,可以通过控制地址位的输入就可以对指定的数据进行操作。
书中出现了 8x1RAM、16x1RAM、1024x8RAM 和 64Kx8RAM 等多种规格的 RAM,命名中的第一个数字表示可存储的最大空间并且它从侧面还表示了这个存储器地址位的个数,比如 64Kx8RAM 就有16 个地址位因为2的16次幂等于64K,第二个数字表示操作数据的位数。
RAM 包含三种输入位:
下图是一个8x1RAM的电路图:
5、如何实现自动化操作
这一章引入了「指令」的概念,将指令存放到内存当中用来控制部分组件的控制信号,比如控制计数器和锁存器的时钟和清零信号。如此,我们就可以通过输入指令来实现相应的自动化操作。下面是自动加减法的电路图。
为了理解如何实现自动化,需要主要如下几点:
其次,过程中会涉及到三个指令:
The text was updated successfully, but these errors were encountered: