计算机组成原理:指令集系统
- 指令集体系结构(ISA)
 - ISA定义
 - ISA包含的内容
 - 举个栗子
 
- 指令的基本组成(操作码+地址码)
 - 指令分类:地址码的个数
 - 定长操作码
 - 变长操作码
 - 变长操作码的原则
 - 变长操作码的设计
 
- 指令寻址
 - 寻址方式的目的
 - 寻址方式分类
 - 有效地址直接在指令中给出
 - 有效地址间接给出
 - 有效地址计算得到
 
- 重点解析:无符号数+有符号数
 - 指令设计风格
 - RISC
 - CISC
 - 不同指令风格下的相对寻址
 - CISC风格
 - RISC风格
 
- 标志位生成
 - 有符号数和无符号数加减法电路的统一性
 - 选择题做法
 - 无符号、有符号整数的大于0小于0判断
 
- MIPS基本指令
 - 过程调用
 - 过程调用过程
 
指令集体系结构(ISA)
ISA定义
计算机硬件与软件之间的接口。
 
 可以把ISA视为封装好的函数的函数名;
 软件通过直接使用函数名调用函数,但是并不关心这个函数是怎么具体实现的,不关心其硬件实现细节。
 
 ISA(指令集体系结构)是硬件程序员给软件程序员提供的指令说明书,更像硬件与软件之间的一种约定。

ISA包含的内容
- 包含: 使用指令功能相关的全部信息
首先要告诉你有哪些指令,其次告诉你每条指令都什么含义,每条指令分为哪几个部分,每个部分什么意思。 - 不包含: 指令中的功能如何具体用硬件来实现
事实上,只要涉及到具体什么硬件,应该就不会包含在ISA中。 
举个栗子

ISA包含:整数乘法相关的指令格式,比如可以实现2*3=c
但是不包含:ALU怎么实现的整数乘法,诸如靠加法+循环,或者是补码一位乘法(Booth算法)
 
问题:ISA包不包含指令的长度?包含。
 2025年真题:
 
 16题选择B,其他选项全是硬件相关的。
指令的基本组成(操作码+地址码)
要操作的数一般放在计算机中的哪个位置?
源操作数:计算机寄存器或内存中,或者直接给出(如立即数)
 目的操作数:寄存器或内存
指令分类:地址码的个数
-  
零地址指令 :指令只给出了操作码,没有给出地址码。例如:停机指令

 -  
单地址指令:自增指令,例如i++

该操作数既是源操作数,又是目的操作数。 -  
二地址指令:一个操作码+两个地址码,r1+r2->r1
在二地址指令中,第一个地址默认为目的地址。

 -  
三地址指令:r1+r2->r3

 
定长操作码
指令种类一般是按照操作码的位数而言,先不考虑地址码的多少,只考虑有几种指令操作,确定操作码的位数。
地址码可以定长也可以变长。

变长操作码
在变长操作