汇编在计算机系统结构中的定位、指令系统概念及分类
# 汇编在计算机系统结构中的定位、指令系统概念及分类
# 汇编在计算机系统结构中的定位
- 汇编语言程序设计与计算机组成原理作为软硬件界面起到“承上启下”的作用
课程结构图
# 各种编程语言的特点
机器语言
- 依赖于机器的低级语言,书写格式为二进制
- 速度快,效率高
- 编写、阅读、调试困难
汇编语言
- 与机器语言一一对应的符号语言,相当于指令集的助记符
- 面向机器编程,“时间”与“空间”效率高
高级语言
- 面向人的语言,便于阅读,不涉及硬件,具有通用性
- 代码冗长,效率低,不能对硬件进行某些操作
编程语言是针对目标计算机系统结构的一种“抽象”
不同编程语言体现了对于系统结构的不同层面的“视角”
# 计算机系统结构
狭义定义
系统软件开发人员看到的计算机系统的功能行为和概念结构
广义范围
- 指令系统 (Instruction set architecture, ISA)
- 机器语言
- 微体系系统 (Micro-architecture)
- 如何实现指令集
- 处理器的内部实现,包括流水线、处理部件、缓存等内容
- 计算机系统
- 其它硬件,包括总线、交换开关(Switch)、内存控制器、DMA(Direct Memory Access)控制器等
- 其他内容
- 虚拟化、计算机集群、NUMA(Non Uniform Memory Access, 非统一内存访问)
# 指令系统
特点
- 处理器对外提供的主要接口与规格
- 软硬件的分界
- 系统程序员看到的计算机的主要属性
指令系统可分为 CISC 和 RISC
# CISC
复杂指令系统, Complex Set Instruction Computer
- 面向高级语言,缩小机器指令系统与高级语言语义差距
- 指令条数多,寻址方式多变
- 单条指令可完成多个操作
代表:X86
# RISC
精简指令系统 Reduced Set Instruction Computer
- 通常只支持常用的,能在一个周期内完成的操作
- 指令条数相对较少,依赖编码器产生高效的代码
- 微体系结构相对简单,运行频率高
- 代码密度较低
- 简单而统一格式的指令格式与译码
- 只有 LOAD 和 STORE 可以访问存储器,简单的寻址方式
- 较多的寄存器
代表: MIPS/PowerPC
CISC 与 RISC 有走向融合的趋势
# ARM 指令集
特点
- 复杂程序介于经典的 RISC 和 CISC 之间
- 注重代码密度,降低功耗
- 浮点较弱,可逐步扩展强化
编辑 (opens new window)