如何熟悉CPU的工作原理?

Linux基础

1 基本概念

1.1 CPU指令

1.1.1 指令的构成
CPU指令可分为两部分,包含,
– 操作符
– 操作数
1.1.2 指令的范例

Mov AX 5678H

整行指令中,
“Mov AX”为操作符,指定操作AX寄存器
“5678H”为操作数
1.1.3 操作符
1.1.3.1 操作符的作用
指定指令进行什么性质的操作
1.1.4 操作数
1.1.4.1 操作数的作用
指出指令执行的操作所需数据来源
1.1.5 操作码
1.1.5.1 操作码的概念
操作指令的地址编码的简称,即指令的序列号
1.1.5.2 操作码的作用
告诉CPU需要执行那一条指令
1.1.6 代码段
1.1.6.1 代码段的概念
存放程序执行代码的内存区块

2 CPU的工作流程简介

CPU的工作流程类似于工厂的产品生产过程,
– 工厂的原材料(程序指令)由物资分配部门(控制单元)调度分配
– 原料被送往生产线(逻辑运算单元)加工
– 得到产品(处理后的数据)后存储到仓库(存储单元)
– 产品从仓库取出送到市场上销售(交付给应用程序使用)
注:以上体现,
– 控制器负责调度
– 逻辑运算单元负责运算处理
– 存储单元负责数据存储

3 CPU的内部结构

3.1 控制单元(Control Unit)

3.1.1 作用
– CPU的指挥中心
– 控制电脑有序工作
3.1.2 组成部件
– 指令寄存器(IR,Instruction Register)
– 指令译码器(ID,Instruction Decoder)
– 操作控制器(OC,Operation Controller)
注:操作控制器包括,
– 节拍脉冲发生器
– 控制矩阵
– 时钟脉冲发生器
– 复位电路
– 启停电路
– 其他控制逻辑
3.1.3 工作过程
– 根据用户的程序,依次从存储器(内存)中取出各条指令
– 指令按确定的时序向相应的部件发出微操作控制信号

3.2 算术逻辑单元(ALU,Arithmetic Logic Unit)

3.2.1 作用
– 加减乘除四则运算
– 各种逻辑运算
3.2.2 电路组成
– 全加器
– 移位寄存器
– 控制逻辑
注:以上组成合成电路

3.3 寄存器组(RS,Register Set或Register)

3.3.1 作用
– 存放CPU数据(待处理或已处理)
– 加速(减少CPU访问内存的次数)
3.3.2 分类
– 专用寄存器(有固定的作用,如PC程序计数器,累加器)
– 通用寄存器(由程序员规定具体用途)
3.3.3 PC程序计数器(指令计数器)
3.3.3.1 存储器类型
属于专用寄存器(程序员可修改)
3.3.3.2 功能
– 用于计数与存储指令信息(保存要执行的下一条指令地址)
– 执行时修改PC内容,确保PC内容指向下一条指令地址
3.3.4 累加器
3.3.4.1 存储器类型
属于专用寄存器
3.3.4.2 功能
– 存放算术或逻辑运算的操作数和运算结果(即进行加、减、读出、移位、循环移位和求补等操作)
3.3.5 指令寄存器(IR)
3.3.5.1 寄存器类型
属于专用寄存器
3.3.5.2 IR的功能
– 保存当前执行的指令
注:
指令进入IR前,会先从内存中取指令到缓冲寄存器DR,再送入IR暂存
指令译码器会根据IR的内容产生微操作指令

3.4 总线(Bus)

3.4.1 作用
– 连通各个部件
3.4.2 分类
– 局部总线
— 数据总线(DB,Data Bus),传送数据信号
— 地址总线(AB,Address Bus),传送CPU发出的地址信息
— 控制总线(CB,Control Bus),传送控制信号、时序信号和状态信号

4 CPU的工作过程

4.1 取指令

– 根据程序计数器的PC值
– 控制器从内存读取一条指令放入指令寄存器(mov,add,jmp等汇编语言操作符号)

4.2 分析指令

– 指令寄存器的指令经过译码(指定的操作和操作那里,即使操作码和操作数地址)

4.3 执行指令

– 取操作数并进行运算
– 修改指令计数器(PC决定下一条指令的地址)

5 CPU的寻址方式

5.1 直接寻址

5.1.1 基本概念
指令格式的地址字段中直接指出操作数在内存中的地址
注:由于操作数的地址直接给出而无需经过某种变换,故称直接寻址

5.2 立刻寻址

5.1.1 基本概念
操作数紧跟操作码后面

6 CPU的指令集

6.1 复杂指令集(CISC,Complex Instruction Set Computer)

6.1.1 执行方式
– 程序的各条指令顺序串行执行
– 每条指令各个操作也是顺序执行
6.1.2 指令集优缺点
– 控制简单
– 兼容性各类旧程序
– 计算机各部件利用率低,执行慢

6.2 精简指令集(RISC,Reduced Instruction Set Computing)

6.2.1 执行方式
– 精简为常用指令
– 采用超标量和超流水线结构
6.2.2 指令集优缺点
– 并行处理能力强
– 指令格式统一
– 指令种类少
– 处理速度高
6.2.3 应用场景
– 中高档服务器采用

参阅资料:
=================
基本概念:
——————-
https://baike.baidu.com/item/%E6%93%8D%E4%BD%9C%E7%AC%A6
https://baike.baidu.com/item/%E6%93%8D%E4%BD%9C%E6%95%B0/7658270
https://baike.baidu.com/item/%E7%9B%B4%E6%8E%A5%E5%AF%BB%E5%9D%80/302009
https://baike.baidu.com/item/%E6%93%8D%E4%BD%9C%E7%A0%81
http://m.elecfans.com/article/645277.html

CPU工作原理:
——————
https://zhidao.baidu.com/question/31167317.html

寄存器:
——————-
https://blog.csdn.net/u012493828/article/details/53439226

没有评论

发表评论

Linux基础
如何二进制部署Metabase?

1 基础知识 1.1 Metabase的简介 – Metabase是一款简单、开源商业智 …

Linux基础
如何熟悉跨站点攻击CSRF?

1 CSRF的概念 – CSRF是英文“Cross-site request forge …

Linux基础
如何安装配置Oracle客户端?

1 前言 一个问题,一篇文章,一出故事。 笔者生产环境有一台服务器需要连接Oracle数据库,于是整 …