《RE4B》读书笔记——第一章CPU简介

第 1 章 CPU简介

  CPU是执行程序机器码的硬件单元

名词解释:

​  指令(Instructio):用于控制CPU的指令,CPU受理的底层命令,典型底层命令:操作寄存器数据、操作内存、计算运算等

​  机器码(Machine Code):通过CPU直接执行的代码,通常一条指令会被翻译成几个字节长度的机器码。

​  汇编语言(Assembly Language):为了避免机器码难读难记而创造出来的方便程序员编程的语言

​  CPU寄存器(Register):寄存器是CPU存储数据的特定存储单元,常见的是通用寄存器(General Purpose Registers),简称GPR。

1.1 指令集架构

​  目前已存在的指令架构有如下四种:

​  复杂指令集运算(Complex Instruction Set Computing,CISC) :X86和X86-64

​  精简指令集运算(Reduced Instruction Set Computing,RISC):ARM、MIPS、IBM 的PowerPC、SUN 的 Ultra SPARC

​  显式并行指令集运算(Explicitly Parallel Instruction Computing,EPIC)

​  超长指令字指令集运算(VLIW)

​  目前流行的是CISC、RISC指令集。CISC各条指令是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的。顺序执行的优点是控制 简单,但计算机各部分的利用率不高,执行速度慢;RISC的指令格式统一,种类比较少,寻址方式也比复杂指令集少,它只要求硬件执行很有限且最常用的那部分执令,大部分复杂的操作则使用成熟的编译技术,由简单指令合成。

​  在 x86 的指令集里,各 OpCode(汇编指令对应的机器码)的长度不尽相同。出于兼容性的考虑,后来问世的 64 位 CPU 指令集架构也没有大刀阔斧地摒弃原有指令集架构。很多面向早期 16 位8086 CPU 的指令,不仅被 x86 的指令集继承,而且被当前最新的 CPU 指令集继续沿用。

​  ARM属于RISC架构,它的指令集在设计之初就力图保持各opcode的长度一致。最初的时候,所有ARM指令的机器码都被封装在 4 个字节里,提高执行效率。但这种模式并不划算。在实际的应用程序中,绝大多数的CPU指令很少用满4个字节。因此又发明了一种长度为2字节的“Thumb模式”指令,Thumb模式和ARM模式指令可以共存。在64为的ARM处理器中,固定使用长度为4个字节的opcode,不支持Thumb模式指令。

posted @ 2021-08-04 15:48  i1tao  阅读(389)  评论(0编辑  收藏  举报