主页
文章
分类
系列
标签
简历
【计算机组成原理与体系架构01】指令系统设计
发布于: 2023-1-15   更新于: 2023-1-15   收录于: 计算机组成原理与体系架构
文章字数: 46   阅读时间: 1 分钟   阅读量:

指令系统介绍

Pasted image 20230619163712|1000

指令系统设计原则

Pasted image 20230619163832|1000

指令系统的发展历程

指令内容的演变

Pasted image 20230619163945|1000

存储管理的演变

Pasted image 20230619164108|1000

运行级别的演变

Pasted image 20230619164140|1000

系统指令的组成

指令系统由若⼲条指令及其操作对象组成。 每条指令都是对⼀个操作的描述, 主要包括操作码和操作数。操作码规定指令功能, 例如加减法; 操作数指示操作对象, 包含数据类型、 访存地址、 寻址方式等内容的定义。

地址空间

Pasted image 20230619164740|1000

操作数

Pasted image 20230619164916|1000

指令操作和编码

Pasted image 20230619165032|1000

补充

早期,1980s年代,x86⼀般指当时的处理器8088和80286,不过这两个处理器都是16位的。如今, x86通常指32位指令集架构的处理器,比如80386。 80386处理器是intel在1985年实现的第一款32位指令集架构的处理器,又叫i386, Intel Architecture, 32-bit,缩写为IA-32,现在, IA-32一般又能引喻成所有的支持32位计算的x86架构。按照发展历史看, x86应该是指令集概念,⼀般用于个人PC系统如8086,286,386。 IA-32是intel首推的32位架构。 x86-64/x64/amd64/Intel64。在1999年, AMD公司⾸先在IA-32基础上,增加了64位寄存器,兼容早期的16位和32位软件系统,推出了x86-64的64位微处理器,后来命名为AMD64,实现了超车。然后intel公司也接受了该方案,叫做Intel64。 x86-64应该只算是x86指令集的64位扩展,并不是⼀种全新的64位架构。由于amd64和intel64本质上是⼀样的,叫法也是很多。 AMD通常叫它x86-64、 x86_64,微软和sun等软件公司叫它x64,操作系统厂商则通常用AMD64或者amd64来指代AMD64和Intel64。IA-64是Intel推出的用于Itanium处理器(安腾处理器)的自己的Intel Architecture 64位指令集,一般用于服务器。尽管Intel64也是64位处理器,但这两者完全不是⼀回事。 IA-64软件不能直接运行于Intel64处理器上。 x86-64是IA-32指令集的扩展,⽽IA-64则是完完全全没有⼀点IA-32影子的独立处理器架构。 IA-64需要通过模拟器才能运行IA-32,但是性能大大受影响。
市面上处理器如何区分AMD64和IA-64呢?市面上买的Intel 64-bit的cpu其实都属于amd64分类,intel64和amd64其实都应该叫做x86_64。IA64则指Itaniums系统cpu,并不是x86架构的,一般都是用于服务器,不是个⼈桌面产品,价格昂贵。
ARM64/AArch64:ARM是精简指令集RISC下的处理器架构。ARMv3⾄ARMv7⽀持32位寻址空间。 ARMv8-A 开始支持64位寻址空间。 AArch64和ARM64都是指64位的ARM架构。


[1] 《计算机组成原理与体系架构(第3版)》胡伟武等