5-8(计算机导论)

5.算数逻辑单元

ALU(算数逻辑单元) 由一个算术单元和一个逻辑单元构成

算术单元:负责计算机的所有数字操作

半加器

全加器

溢出:两个数字的和太大了,超过用来表示的数位(导致错误)

避免溢出可以加更多的全加器 需要更多逻辑门 时间会延长一点(电子移动需要时间但电子移动速度快

逻辑单元

6.寄存器&内存

寄存器锁存器构成

锁存,就是把信号暂存以维持某种电平状态。锁存器的最主要作用是缓存,其次完成高速的控制器与慢速的外设的不同步问题,再其次是解决驱动的问题,最后是解决一个 I/O 口既能输出也能输入的问题。

存1电路

存0电路

门锁

多路复用器:将地址转换成行和列

内存(RAM):可以随时访问任何位置

7.中央处理器CPU

ALURAM组成CPU

CPU 取指令->解码->执行

CPU的状态切换速度也叫做时钟速度(单位用赫兹来表示)

时钟:负责管理 CPU 的节奏,以精确的间隔 触发电信号,控制单元会用这个信号,推进 CPU 的内部操作,确保一切按步骤进行

取指令阶段:负责拿到指令。

解码阶段:通过操作码和地址码解码

执行阶段:执行命令

8.指令和程序

指令表

指令寄存器中保存的是00101110。

前四位0010为操作码,通过指令表可知这个指令是LOAD A指令,就是将RAM中的值保存在寄存器A中。

后四位1110保存的是RAM地址,转成十进制就是14。

所以指令00101110的意思就是将RAM中第14位的数据(一共16个)保存到寄存器A中。

对于十进制的17似乎没办法用四位的二进制保存

可以继续往后延申 以至于出现16位 32位

解码:1000 是 ADD 指令,0100 不是 RAM 地址,而是 2 位 + 2 位分别代表 2 个寄存器

<1>2 位可以表示 4 个值,所以足够表示 4 个寄存器

<2>第一个地址是 01, 代表寄存器 B

<3>第二个地址是 00, 代表寄存器 A

执行程序

其需要注意到的地方类似于Python语言中的break和continue

Jump便是其一

Halt立即结束

可是ADDRESS_4 Jump指令跳到了ADDRESS_2以至于永远无法到达Halt结束

也就相当于一个循环与Python中的for while循环可以作出比较

posted @ 2023-02-04 16:27  x1aochen  阅读(60)  评论(0编辑  收藏  举报