计算机小白必看,速通“计算机科学”,快速入门计算机科学【P5~P8】


前言

本文意在从高层次总览一系列计算机话题,帮助“计算机小白”快速入门计算机科学。

相关课程链接如下:(配合课程,使用效果更佳!!)

Youtube 原视频:https://www.youtube.com/playlist?list=PL8dPuuaLjXtNlUrzyH5r6jN9ulI

Bilibili(特别鸣谢CrashCourse字幕组的辛苦付出,你们是真正的共产主义者):https://www.bilibili.com/video/BV1EW411u7th?spm_id_from=333.337.search-card.all.click

(可不可以点个赞呢,支持下博主,爱你哟,顺着评论区回访!!!)

五、算术逻辑单元

1、什么是算术逻辑单元

1 命名:简称 ALU,Arithmetic&Logic Unit
2 组成:ALU 有 2 个单元,1 个算术单元和 1 个逻辑单元(Arithmetic Unit 和 Logic Unit)
3 作用:计算机中负责运算的组件,处理数字/逻辑运算的最基本单元

2、算术单元

1)基本组件:由半加器、全加器组成
半加器、全加器由 AND、OR、NOT、XOR 门组成

2)加法运算
1 组件:AND、OR、NOT、XOR 门
2 元素:输入 A,输入 B,输出(均为 1 个 bit,即 0 或 1)

3 半加器:
作用:用于计算个位的数字加减。
输入:A,B
输出:总和
在这里插入图片描述

在这里插入图片描述
sum:总和 carry:进位

4 全加器:
作用:用于计算超过 1 位的加法(ex:1+1+1),由于涉及进位,因此有 3 个输入(C 充当进位)。

原理图示:在这里插入图片描述

在这里插入图片描述

3)如何用半加器与全加器做 8 位数的加法
说明:以 8 位行波加法器为例

用半加器处理第 1 位数(个位)的加法,得到的和为结果的第 1 位。
将输出的进位,输入到第 2 位用的全加器的输入 C 中。
将第 2 位的 2 个数用全加器计算,得到的和为结果的第 2 位(sum)。
将第 2 位计算的进位连接到百位的全加器输入 C 中。
在第 3-8 位上,循环第 3-4 步的操作。
在这里插入图片描述

注:*现在电脑使用的加法器叫“超前进位加法器

4)算术单元支持的其他运算
在这里插入图片描述

3、溢出的概念

内容:在有限的空间内,无法存储位数过大的数,则称为溢出。

说明:第 8 位的进位如果为 1,则无法存储,此时容易引发错误,所以应该尽量避免溢出。

4、逻辑单元

作用:执行逻辑操作,如 NOT、AND、OR 等操作,以及做简单的数值测试。

5、ALU 的抽象

1)作用:ALU 的抽象让工程师不再考虑逻辑门层面的组成,简化工作。
2)图示:像一个大“V”。
在这里插入图片描述

3)说明:在这里插入图片描述

图示内容包括:
输入 A,B
输出标志:溢出、零、负数

六、 寄存器与内存

1、概念梳理

锁存器:锁存器是利用 AND、OR、NOT 逻辑门,实现存储 1 位数字的器件。
寄存器1 组并排的锁存器矩阵:以矩阵的方式来存放锁存器的组合件,n*n 门锁矩阵可存放 n^2 个锁存器,但同一时间只能写入/读取 1 个数字。(早期为 16x16 矩阵)
位址:锁存器在矩阵中的行数与列数。eg.12 行 8 列
多路复用器:一组电线,输入 2 进制的行址&列址,可启用矩阵中某个锁存器
内存(RAM):随机存取存储器,由一系列矩阵以及电路组成的器件,可根据地址来写入、读取数据。类似于人类的短期记忆,记录当前在做什么事情。

2、锁存器

作用:存储 1 位数字。
图示:
在这里插入图片描述

2.5、门锁

锁存器需要同时输入 2 个数字,不太方便。
为了使用更方便,只用 1 根电线控制数据输入,发展了门锁这个器件。
另外,用另一根电线来控制整个结构的开关。(和复位作用不同)

在这里插入图片描述

3、寄存器

作用:并排使用门锁,存储多位数字
图示:

在这里插入图片描述

4、门锁矩阵

作用:
n*n 的矩阵有 n^2 个位址,则可以存储 n^2 个数。但 1 个矩阵只可记录 1 位数字,n 个矩阵组合在一起,才可记录 n 位数。如 1 个 8 位数,会按位数分成 8 个数,分别存储在 8 个矩阵的同一个位址中。
eg:8 个16x16矩阵,则可以记录 256 个 8 位数字。

原因:
16*16 的门锁矩阵虽然有 256 个位置,但每次只能存/取其中 1 个位置的数字。因此,要表示 8 位数字,就需要同时调用 8 个门锁矩阵。

5、内存(RAM)

粗略定义:
将一堆独立的存储模块和电路看做 1 个单元,组成内存方块,
n 个内存方块组成内存模块。
在一个电路板上所有的内存方块统称为内存(RAM)

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

七、中央处理器(CPU)

1、概念梳理

CPU(Central Processing Unit):中央处理单元,负责执行程序。通常由寄存器/控制单元/ALU/时钟组成。与 RAM 配合,执行计算机程序。CPU 和 RAM 之间用“地址线”、“数据线”和“允许读/写线”进行通信。

指令:指示计算机要做什么,多条指令共同组成程序。如数学指令,内存指令。
时钟:负责管理 CPU 运行的节奏,以精确地间隔,触发电信号,控制单元用这个信号,推动 CPU 的内部操作。

时钟速度:CPU 执行“取指令→解码→执行”中每一步的速度叫做“时钟速度”,单位赫兹Hz,表示频率。

超频/降频
超频,修改时钟速度,加快 CPU 的速度,超频过多会让 CPU 过热或产生乱码。
降频,降低时钟速度,达到省电的效果,对笔记本/手机很重要。

微体系框架:以高层次视角看计算机,如当我们用一条线链接 2 个组件时,这条线只是所有必须线路的抽象。

2、CPU 工作原理

1)必要组件

指令表:给 CPU 支持的所有指令分配 ID
控制单元:像指挥部,有序的控制指令的读取、运行与写入。
指令地址寄存器:类似于银行取号。该器件只按顺序通报地址,让 RAM 按顺序将指令交给指令寄存器。
指令寄存器:存储具体的指令代码。

在这里插入图片描述
2)过程

取指令:指令地址寄存器发地址给 RAM→RAM发该地址内的数据给指令寄存器→指令寄存器接受数据

解码:指令寄存器根据数据发送指令给控制单元 →控制单元解码(逻辑门确认操作码)

执行阶段:控制单元执行指令(→涉及计算时→调用所需寄存器→传输入&操作码给ALU执行)→调用RAM特定地址的数据→RAM将结果传入寄存器→指令地址寄存器+1

3)图示

第一个 CPU

在这里插入图片描述

八、指令和程序

1、概念梳理

指令:指示计算机要做什么的代码(机器码),多条指令共同组成程序。如数学指令,内存指令。
注:指令和数据都是存在同一个内存里的。

指令集:记录指令名称、用法、操作码以及所需 RAM 地址位数的表格。

在这里插入图片描述

2、指令的执行

原则
RAM 每一个地址中,都存放 0 或 1 个数据。
特定的数字组合,就表示为一个指令,否则表示一个值。

LOAD 指令
计算机会按地址的顺序,读取 RAM 中所记录的指令/数据。
计算机接受到指令后,如 LOAD_A,则通过数据线将数据传至寄存器 A。

在这里插入图片描述
ADD 指令
ADD B A 指令告诉 ALU,把寄存器 B 和寄存器中的数字加起来,存到寄存器 A 中。

JUMP 指令
遇到 JUMP 指令,程序会跳转至对应的 RAM 地址读取数据。
JUMP 指令可以有条件跳转(如 JUMP-negative),也可以无条件跳转。

3、计算机指令长度

由于早期计算机每个字只有 8 位,指令只占 4 位,意味着只能有 16 个指令,这远远不够。

现代计算机有两种方式解决指令不够用的问题
最直接的是用更多位来表示指令,如 32 位或 64 位。
采用“可变指令长度”,令不同的指令的长度不同,尽量节约位数
假设 1 个字为 16 位,如果某指令不需要操作内存,则可以省去寻址的位数。
该情况下,部分指令后面需要跟数据,如 JUMP,称为立即值

最后

本篇博客为P5~P8部分

后续博主将持续更新,各位看官莫急呀。

欢迎各位大可爱小可爱的点赞评论加关注!!

  • 15
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值