计算机科学速成课随笔

发布时间 2023-04-28 22:16:52作者: 脑子没脑子
#

 ALU(算数逻辑单元)计算机数学的大脑

负责运算的单元

第一个ALU 英特尔 74181(4位输入)

ALU有两个单元,一个是算术单元,另一个就是逻辑单元

 算术单元,负责计算操作(增量运算。。。)运用逻辑门

计算机中1 代表true, 0 代表false

XOR(异或)的逻辑门刚刚好可以满足大部分的0,1相加

但是计算的过程中还有进位的运算,这个时候就需要一个and(并且)逻辑门来管理进位

下面的电路就叫做半加器

 

半加器提供了进位和当前位数的数字,但是当想运算超过1+1的运算的时候,这个时候就需要全加器

半加器提供了进位可以将这个进位当作一个数字加入半加器

 

此时可以将半加器抽象作为一个组件,来组成机全加器

可以将全加器作为一个组件再进行一次抽象来制作“8位行波进位加法器”

 但是因为每一位都有进位的可能但是这个加法器只可以容纳8位,当第八位有进位时却没有第九位去容纳他,就会产生“溢出”

在简单的ALU中,没有乘法和除法,只有加减法

逻辑单元

简单的and和or逻辑门组合可以进行一些的判断

 

由于一些软件工程师不会在意这些底层硬件方面的事情,所以讲ALU抽象成为了

 这个图中,有两个八位的输入数字,和一个四位的操作码,经过翻译操作码,讲输入数据经行运算,这个ALU还会经行一些标志的产生(FLAGS)来进行一些事项(溢出,是否相等)的提示

最后输出运算之后的八位数据

 #寄存器和内存

  为了可以保存数据,而不是随着电流的消失,和储存的数据say bye bye

通过制造一个回路和逻辑门的应用发明了AND-OR锁存器

 

两个输入:“设置”和“复位”,当两者都是0时,电路会输出最后存入的内容

也就是存入了数字

放入数据的动作叫做“写入”,拿出数据的动作叫“读取”

此时加入一个允许写入线和一些逻辑门

就出现了 门锁!

 看不懂逻辑?没关系(我也,咳

可以将这个门锁抽象为一个组件,只需关心数据输入和允许写入线的数据

当允许写入线为0时,无论数据输入是几都无法储存

反之为1时,可已经存入的数据改变

迈入高阶。。。

一个门锁只能储存1bit的数据用处不道

但是很多门锁组合就可以储存很多数据,所以寄存器的概念出现了

寄存器就是一组这样的门锁,存入的数字的位数,叫做“位宽”

而今,寄存器的位数越来越高,为了精准的找到每一个门锁经行数据锁定

就运用了矩阵的思想,当行列两条电线同时为1时,允许写入线才为1(AND),此时经行数据的更改

但是矩阵的思想需要行和列的数据,为了将地址转为行和列

我们需要“多路复用器”

图中是两个多路复用器,行一个列一个

 

 复杂啦,那就进行抽象

 

但是一个不够用,就出现了(我也没看懂,先记上,就不多表达自己的拙见了咳咳

简化为-》

 内存的一个重要特性是:可以随时访问任何位置,因此叫做“随机存取储存器”,简称RAM

 综上,为SRAM(静态随机存取存储器)本质就是矩阵层层嵌套