198-计算机组成原理与汇编语言(2008级).ppt
《198-计算机组成原理与汇编语言(2008级).ppt》由会员分享,可在线阅读,更多相关《198-计算机组成原理与汇编语言(2008级).ppt(47页珍藏版)》请在三一文库上搜索。
1、计算机组成原理与汇编语言 (2008级),北航计算机学院 刘旭东 、熊桂喜 Tel :82316285 Mail: ,1.1 指令系统概述,指令系统的基本问题 操作类型:应该提供哪些(多少)操作? 用LD/ST/INC/BRN已经足够编写任何计算程序,但不实用,程序太长。 操作对象:如何表示?可以表示多少? 大多数是双值运算(如AB+C) 存在单值运算(如AB) 指令格式:如何将这些内容编码成一致的格式? 指令长度、字段、编码等问题,1.1 指令系统概述,机器指令的要素 操作码(Operation Code):指明进行的何种操作(如 ADD, MOV,I/O) 源操作数地址(Source Op
2、erand Reference):参加操作的操作数的地址,可能有多个。 目的操作数地址(Destination Operand Reference):保存操作结果的地址。 下条指令的地址(Next Instruction Reference):指明下一条要运行的指令的位置,一般指令是按顺序依次执行的,所以绝大多数指令中并不显式的指明下一条指令的地址,也就是说,指令格式中并不包含这部分信息。只有少数指令需要显示指明下一条指令的地址。,1.1 指令系统概述,操作数的位置 存储器(存储器地址) 寄存器(寄存器地址) 输入输出端口(输入输出端口地址) 操作数的存储方式 大端(big-endian)次序
3、:最高有效字节存储在地址最小位置 小端(little-endian)次序:最低有效字节存储在地址最小位置 例: Int a; /0x12345678,12,34,56,78,值,地址,a+0,a+1,a+2,a+3,78,56,34,12,值,地址,a+0,a+1,a+2,a+3,大端次序,小端次序,1.1 指令系统概述,Applications,OS,Compiler,Instruction Set Architecture (ISA),Instruction Processing,Input/ Output,Hardware layers for design abstraction,Da
4、tapath & Control,Digital Design,Circuit Design,Software layers of abstraction,指令集系统结构(ISA),1.1 指令系统概述,指令集系统结构(ISA)种类 大部分ISA都可归类为通用寄存器系统结构 Register-Memory式ISA(如80X86) 多种指令可以访问内存; 存在寄存器操作数和内存操作数直接运行的指令; Load-Store式ISA(如MIPS) 只有装载(LOAD)和存储(STORE)指令可以访问内存 运算指令操作数全部为寄存器操作数; Load-Store是ISA的一种趋势,1.2 指令格式,指
5、令的表示 机器表示:二进制代码形式 符号化表示:助记符,如 MOV AX,BX 操作数地址的数目 三地址: Des (Sur1) OP (Sur2) 双地址: Des (Sur) OP (Des) 单地址:累加器作为默认操作数的双操作数型,或单操作数型 无地址:隐含操作数型,或无操作数型,OP,1.2 指令格式,操作码结构 固定长度操作码:操作码长度(占二进制位数)固定不变。 硬件设计简单 指令译码时间开销较小 指令空间效率较低 可变长度操作码:操作码长度随指令地址数目的不同而不同。 硬件设计相对复杂 指令译码时间开销较大 指令空间利用率较高 指令长度 定长指令系统 变长指令系统:一般为字节的
6、整数倍,1.3 寻址方式,形式地址与有效地址 形式地址:指令中直接给出的地址编码。 有效地址:根据形式地址和寻址方式计算出来的操作数在内存单元中的地址。 寻址:根据形式地址查找到操作数的过程 寻址方式 指令中每一个地址字段均有其寻址方式编码(或隐含寻址方式),1.3 寻址方式,常用寻址方式 立即寻址:思考立即数存放在什么地方?存储器 or 寄存器 寄存器直接寻址 寄存器间接寻址 存储器直接寻址 基址寻址 变址寻址 相对寻址:基址寻址的特例,程序计数器PC作为基址寄存器 堆栈寻址,2.1 8086/8088指令系统,80868088CPU寄存器结构,2.1 8086/8088指令系统,存储器及其
7、存储器地址结构 主存容量为1M(220),可直接访问的主存物理地址为20位。超过1M的存储空间通过其他方式访问。 80868088机器字长16位,所有寄存器长度为16位,数据总线16位。 主存采用分段的结构 主存存储单元的地址构成:段基址(16 bits): 段内偏移(16 bits) 可执行程序(.EXE)的存储结构:代码段(Code Segment),数据段(Data Segment),堆栈段(Stack Segment),扩展数据段(可选) 命令程序(.COM)的存储结构:代码段,数据段和堆栈段必须是同一个段。所以命令程序最大为64KB存储空间。,2.1 8086/8088指令系统,存储
8、器地址结构与计算,2.1 8086/8088指令系统,存储器单元结构 按字节单元编址,字节单元 (2000H)20H (2001H)10H,字单元 (2000H)1020H (2004H)5060H,双字单元 (2000H)30401020H,2.1 8086/8088指令系统,通用寄存器:数据寄存器(Data Register) AX,BX,CX,DX(16位); AH,AL,BH,BL,CH,CL,DH,DL(8位) 注:各寄存器原则上没有固定的应用 AX:累加器 BX:基址寄存器 CX:计数器 DX:数据寄存器,2.1 8086/8088指令系统,通用寄存器:指针寄存器(Pointer
9、Register) 堆栈指针:SP(16 位) 基址指针:BP(16位),默认指向堆栈段,通用寄存器:变址寄存器(Index Register) SI,DI:16位 一般情况下,二者使用上无差异,在串操作中,SI 对应源操作数,DI对应目的操作数,2.1 8086/8088指令系统,通用寄存器:段寄存器(Segment Register) 代码段(Code Segment),数据段(Data Segment),堆栈段(Stack Segment),扩展数据段(Extend data Segment) 代码段寄存器:CS(16 bits) 数据段寄存器:DS (16 bits) 堆栈段寄存器:S
10、S (16 bits) 扩展段寄存器:ES (16 bits),2.1 8086/8088指令系统,指令指针IP(Instruction Pointer) IP(16 bits)指向代码段中下一条要执行的指令。 CS:IP 形成下一次要执行的指令的内存地址。,标志寄存器FLAGS(Flags Register) 16位,记录当前CPU运行程序的各种状态 进位标志位 CF(Carry Flag) 奇偶标志位 PF(Parity Flag) 辅助进位标志位 AF(Auxitiary Flag) 零值标志位 ZF(Zero Flag) 符号标志位 SF(Sign Flag) 溢出标志位 OF(Ove
11、rflow Flag) 单步跟踪标志位 TF(Trace Flag) 中断允许标志位 IF(Interrupt-enable Flag) 方向标志位 DF(Direction Flag),2.1 8086/8088指令系统,寻址方式 立即寻址 寄存器直接寻址 基址(变址)寻址 串操作寻址 I/O寻址,MOV AX, 1000HBX (指令代码:8B870001H) 等价于 MOV AX, DS:BX1000H EA = DS: (BX)+1000H,2.1 8086/8088指令系统,一般双操作数指令格式与编码 RR型或RS型,必有一个操作数在寄存器中(寄存器直接寻址) 长度26个字节(前2个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 198 计算机 组成 原理 汇编语言 2008
链接地址:https://www.31doc.com/p-3404682.html