IA-32汇编语言笔记—— 基础概念

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IA-32汇编语言笔记—— 基础概念相关的知识,希望对你有一定的参考价值。


  • 记录汇编语言课笔记,可能有不正确的地方,欢迎指出
  • 教材《新概念汇编语言》—— 杨季文
  • 这篇文章仅介绍一些基础概念

一、CISC和RISC

  • 指令集:CPU能直接识别并执行的指令叫机器指令,一款CPU能执行的全部指令的集合称为这款CPU的指令集
  • CISC和RISC都是指令集

1、CSIC

全称

Complex Instruction-set computer 复杂指令集CPU

设计理念

CISC体系的设计理念是用最少的指令(注意说的是指令而不是指令集)来完成任务(譬如计算乘法只需要一条MUL指令即可),因此CISC的CPU本身设计复杂、工艺复杂,但好处是编程器好设计。CISC出现较早,至今Intel还一直采用CISC设计。

功能拓展

CPU功能拓展依赖于指令集的拓展,实质是CPU内组合逻辑电路的拓展。

2、RSIC

全称

Reduced Instruction-set Computer 精简指令集CPU

设计理念

RISC的设计理念是让软件来完成具体的任务,CPU本身只提供基本功能指令集。因为RISC CPU 的指令集只有很少的指令,这种设计相对于CISC,CPU的设计和工艺简单了,但是编译器的设计变难了。

功能拓展

CPU仅仅提供基础功能指令(譬如内存与寄存器通信指令,基本运算与判断指令符等),功能拓展由使用CPU的人利用基础架构来灵活实现。

3、小结

  • 可以这样理解:CSIC指令很多,根据28定律,20%的指令出现频率为80%,所以把这 20%拿出来变成RSIC,其他指令由这些拿出来的指令组合实现

二、MIPS、IA-32、IA-64、X86

  • 处理器架构:CPU架构是CPU厂商给属于同一系列的CPU产品定的一个规范,是对CPU硬件组成结构的一个描述
  • IA-32架构为了保持向前兼容,架构设计相比MIPS落后,比如其CPU中只有8个寄存器,而MPIS架构CPU中有32个寄存器
  1. MIPS:
  • 一种采取精简指令集(RISC)的处理器架构
  1. IA-32:
  • 一种采取复杂指令集(CISC)的处理器架构
  1. X86:
  • X86是一个intel通用计算机系列的编号,也标识一套通用的计算机指令集合,代表intel从16位微处理器8086开始一直 到奔腾系列的整个CPU芯片系列,包括了16位和32位CPU,所有产品都保持了指令集的兼容。
  • IA32是属于X86体系结构的32位版本,即具有32位内存地址和32位数据操作数的处理器体系结构,可以认为就是x86或者x86-32
  • X86-64就是IA32的64位拓展,是x86指令集的超集。x86-64是AMD发明的,也叫AMD64,Intel克隆了一把,叫做Intel 64,也叫EM64T
  1. IA-64
  • 就是所谓的安腾(Itanium)(IPF),Intel跟HP联合折腾的一种64-bits全新架构,与x86系列不兼容,号称采用了很多非常好的体系结构方面的技术。


以上是关于IA-32汇编语言笔记—— 基础概念的主要内容,如果未能解决你的问题,请参考以下文章

IA-32汇编语言笔记—— 分支程序设计

IA-32汇编语言笔记——堆栈的作用

计算机系统之汇编---IA32处理器数据格式及数据操作

《逆向工程核心原理》读书笔记——第4章 IA-32寄存器基本讲解

计算机系统基础:程序的执行和存储访问---学习心得

从有符号/无符号字符到无符号/有符号整数类型转换的 IA32 汇编代码