【学习笔记】 计算机系统结构-2.1
2021-03-20 本文已影响0人
陈成_Adam
指令系统
基本概念
指令系统(ISA)是一台计算机能够直接识别并执行的机器指令的集合。
指令系统是软硬件的分界面,
软件:应用程序
软件:编程(语言)
软件:操作系统/虚拟机
--指令系统(ISA)--
硬件:微体系结构
硬件:功能部件
硬件:元器件及电路
分类
主要分为X86、ARM和MIPS。
使用同一指令系统的计算机硬件实现可以不同,如:Intel和AMD都采用X86指令系统。
使用相同指令系统的软件是可以兼容的。
设计原则
- 可编程性(Programmability) -- 软件
- 简单、高效的编程
- 程序员、编译器
- 可实现性(Implementability) -- 硬件
- 容易设计出高性能计算机
- 架构师
- 低功耗、高可靠、低成本
- 兼容性(Compatibility) -- 用户
- 兼容性包括向上(向前)与向下(向后)兼容
设计要素
- 指令格式
- 定长:指令规整,控制简单
- 变长:节省指令空间,控制复杂
- 编码
- 操作数存储位置、类型、长度、个数
- 寻址方式
- 操作数
- 立即数
- 间接寻址
- 操作类型
- add、sub、mul、move、compare...
结构分类
- 主存
add A, B, C // mem[A] = mem[B] + mem[C]
- 累加器
load B // ACC = mem[B]
add C // ACC = ACC + mem[C]
store A // mem[A] = ACC
- 堆栈
push B // stk[TOS++] = mem[B]
add // stk[TOS++] = stk[--TOS] + stk[--TOS]
pop A // mem[A] = stk[--TOPS]
- 通用寄存器组
- 寄存器-存储器结构(RM)
load B, R1 // R1 = mem[B]
add C, R1 // R1 = R1 + mem[C]
- 寄存器-寄存器结构(RR)
store R1, A // mem[A] = R1
load B, R1 // R1 = mem[B]