ISA – instruction set architecture 指令集架构
date: April 10, 2023 8:33 PM
Content: Notes
Category: Computer, ComputerOrganization
tags: The Essentials of Computer Organization and Architecture
Link: https://herbidog.cc/isp/
Completion: 100
Blog: To be posted
Status: Done
指令格式
小端 vs. 大端
小端存储:低位放在低地址
大端存储:高位放在低地址
换字节顺序 而不是数字位
大端易于读取十六进制数(用于位图bitmap和网络) 小端易于快速实现高精度算数运算
小端在字节对齐的情况下存储方式更高效
字节对齐
一个字节存储两位十六进制数
数据的存储位置需要考虑以字节为单位进行对齐 可能是多个字节一对齐 方便一次取多个字节的数据
可以确保数据对象在内存上连续
指令长度
指令集所代表的计算模型
MARIE是累加器型架构
GPR
Most systems today are GPR systems
逆波兰式
堆栈架构使用 (后缀表达式)RPN reverse polish notation
波兰式(前缀表达式)
算数优先级顺序 先乘除后加减 但仍然要从左到右 看好顺序一步步来
指令:push, pop. mult, add, sub,div, store
扩展操作码
注意关注指令字长是多少
指令字长为8bit时:
- 先计算各种指令的数目 判断
- 列编码 写出中间的转义操作码是哪些个
寻址方式
- ⽴即寻址(Immediate Addressing)
- 直接寻址(Direct Addressing)
- 间接寻址(Indirect Addressing)
- 变址寻址(Indexed Addressing)
- 基址寻址(Based Addressing)
- 堆栈寻址(Stack Addressing)
指令流水线
ILP – Instruction Level Parallelism 指令集并行
指令流水线用于实现ILP
每一个步骤是一个流水线阶段
k个阶段 n条指令 ⇒ 共需时钟周期k+n-1个
不是所有的指令都要经过流水线的每一阶段 如操作数少的情况
流水线冲突:
- 资源冲突(结构冒险):同时读写内存
- 数据依赖:前一个执行结果没产生时就被取为下一条指令的操作数
Show Comments