计算机组成原理与汇编语言

上传人:正** 文档编号:44673711 上传时间:2018-06-14 格式:PDF 页数:16 大小:1.02MB
返回 下载 相关 举报
计算机组成原理与汇编语言_第1页
第1页 / 共16页
计算机组成原理与汇编语言_第2页
第2页 / 共16页
计算机组成原理与汇编语言_第3页
第3页 / 共16页
计算机组成原理与汇编语言_第4页
第4页 / 共16页
计算机组成原理与汇编语言_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《计算机组成原理与汇编语言》由会员分享,可在线阅读,更多相关《计算机组成原理与汇编语言(16页珍藏版)》请在金锄头文库上搜索。

1、计算计算机机组成原理与组成原理与汇编语言汇编语言 (2008级)北航计算机学院北航计算机学院 刘旭东刘旭东 、熊桂喜、熊桂喜 Tel Tel :8231628582316285 MailMail: 2第四部分:指令系统一一 指令格式指令格式1.指令指令系统概述系统概述2.指令格式指令格式3.寻址方式寻址方式 二二 典型指令系统介绍典型指令系统介绍1.80X86指令系统指令系统2.MIPS指令系统指令系统3.CISC与与RISC对比对比 三三 指令系统指令系统设计设计31.1 指令系统概述指令系统的基本问题指令系统的基本问题操作类型:应该提供哪些(操作类型:应该提供哪些(多少多少)操作?)操作?

2、 用用LD/ST/INC/BRN已经足够编写任何计算程序,但不实用,已经足够编写任何计算程序,但不实用, 程序太长。程序太长。操作对象:如何表示?可以表示多少?操作对象:如何表示?可以表示多少? 大多数是双值运算(如大多数是双值运算(如AB+C) 存在单值运算(如存在单值运算(如AB)指令格式:如何将这些内容编码成一致的格式?指令格式:如何将这些内容编码成一致的格式? 指令长度、字段、编码等问题指令长度、字段、编码等问题41.1 指令系统概述机器指令的要素机器指令的要素 操作码操作码(Operation Code):指明进行的何种操作(如指明进行的何种操作(如 ADD, MOV,I/O) 源操

3、作数地址源操作数地址(Source Operand Reference):参加操作参加操作 的操作数的地址,可能有多个。的操作数的地址,可能有多个。 目的操作数地址目的操作数地址(Destination Operand Reference):保保 存操作结果的地址。存操作结果的地址。 下条下条指令的地址指令的地址(Next Instruction Reference):指明下指明下 一条要运行的指令的位置,一般指令是按顺序依次执一条要运行的指令的位置,一般指令是按顺序依次执 行的,所以绝大多数指令中并不显式的指明下一条指行的,所以绝大多数指令中并不显式的指明下一条指 令的地址,也就是说,指令格

4、式中并不包含这部分信令的地址,也就是说,指令格式中并不包含这部分信 息。只有少数指令需要显示指明下一条指令的地址。息。只有少数指令需要显示指明下一条指令的地址。51.1 指令系统概述操作数的位置操作数的位置存储器(存储器地址)存储器(存储器地址) 寄存器(寄存器地址)寄存器(寄存器地址) 输入输出端口(输入输出端口地址输入输出端口(输入输出端口地址) 操作数的存储方式操作数的存储方式大端大端(big-endian)次序:次序:最高最高有效字节存储在地址有效字节存储在地址最小最小位置位置 小端小端(little-endian)次序:)次序:最低最低有效字节有效字节存储在地址存储在地址最小最小位置

5、位置例:例: Inta; /0x12345678 12 34 56 78值值地址地址 a+0 a+1 a+2 a+378 56 34 12值值地址地址 a+0 a+1 a+2 a+3 大端次序大端次序小小端次序端次序61.1 指令系统概述ApplicationsOS CompilerInstruction Set Architecture (ISA)Instruction ProcessingInput/ OutputHardware layers for design abstractionDatapath & ControlDigital DesignCircuit DesignSoftw

6、are layers of abstraction指令集系统结构指令集系统结构(ISA)71.1 指令系统概述指令集系统结构(指令集系统结构(ISA)种类)种类大部分大部分ISA都可归类为通用寄存器系统结构都可归类为通用寄存器系统结构Register-Memory式式ISA(如(如80X86) 多种指令可以访问内存;多种指令可以访问内存; 存在寄存器操作数和内存操作数直接运行的指令;存在寄存器操作数和内存操作数直接运行的指令;Load-Store式式ISA(如(如MIPS) 只有装载(只有装载(LOAD)和存储()和存储(STORE)指令可以访问内存)指令可以访问内存 运算指令操作数全部为寄存

7、器操作数;运算指令操作数全部为寄存器操作数;Load-Store是是ISA的一种趋势的一种趋势81.2 指令格式指令的表示指令的表示机器表示:二进制代码形式机器表示:二进制代码形式符号化表示:助记符,如符号化表示:助记符,如MOV AX,BX 操作数地址的数目操作数地址的数目三地址:三地址: Des (Sur1) OP (Sur2)双地址:双地址: Des (Sur) OP (Des)单地址:单地址:累加器作为默认操作数的双操作数型,或单操作数型累加器作为默认操作数的双操作数型,或单操作数型无地址:无地址:隐含操作数型,或无操作数型隐含操作数型,或无操作数型OPDes AddSur1 AddS

8、ur2 AddOPDes AddSur AddOPAddOP91.2 指令格式操作码结构操作码结构固定长度操作码:操作码长度(占二进制位数)固定不变。固定长度操作码:操作码长度(占二进制位数)固定不变。 硬件设计简单硬件设计简单 指令译码时间开销较小指令译码时间开销较小 指令空间效率较低指令空间效率较低 可变长度操作码:操作码长度随指令地址数目的不同而不同。可变长度操作码:操作码长度随指令地址数目的不同而不同。 硬件设计相对复杂硬件设计相对复杂 指令译码时间开销较大指令译码时间开销较大 指令空间利用率较高指令空间利用率较高指令长度指令长度定长指令系统定长指令系统 变长指令系统:一般为字节的整数

9、倍变长指令系统:一般为字节的整数倍101.3 寻址方式形式地址与有效地址形式地址与有效地址形式地址:指令中直接给出的地址编码。形式地址:指令中直接给出的地址编码。 有效地址:根据形式地址和寻址方式计算出来的操作数在内存单元中有效地址:根据形式地址和寻址方式计算出来的操作数在内存单元中 的地址。的地址。 寻址:根据形式地址查找到操作数的过程寻址:根据形式地址查找到操作数的过程 寻址方式寻址方式指令中每一个地址字段均有其寻址方式编码(或隐含寻址方式)指令中每一个地址字段均有其寻址方式编码(或隐含寻址方式)OP目的地址目的地址源地址源地址目的操作数寻址方式目的操作数寻址方式Add.目的地址目的地址源

10、操作数寻址方式源操作数寻址方式Add源地址源地址111.3 寻址方式常用寻址方式常用寻址方式立即寻址:立即寻址:思考立即数存放在什么地方?存储器思考立即数存放在什么地方?存储器 or 寄存器寄存器寄存器直接寻址寄存器直接寻址寄存器间接寻址寄存器间接寻址存储器直接寻址存储器直接寻址基址寻址基址寻址变址寻址变址寻址相对寻址:相对寻址:基址寻址的特例,程序计数器基址寻址的特例,程序计数器PC作为基址寄存器作为基址寄存器堆栈寻址堆栈寻址12第四部分:指令系统一一 指令格式指令格式1.指令指令系统概述系统概述2.指令格式指令格式3.寻址方式寻址方式 二二 典型指令系统介绍典型指令系统介绍1.80X86指

11、令系统指令系统2.MIPS指令系统指令系统3.CISC与与RISC对比对比 三三 指令系统指令系统设计设计132.1 8086/8088指令系统80868088CPU寄存器结构寄存器结构ALU内部总线AHAL BHBL CHCL DHDL SP BP SI DIFLAGS142.1 8086/8088指令系统存储器及其存储器地址结构存储器及其存储器地址结构主存容量为主存容量为1M(220),),可直接访问的主存物理地址为可直接访问的主存物理地址为20位。超位。超 过过1M的存储空间通过其他方式访问。的存储空间通过其他方式访问。80868088机器字长机器字长16位,所有寄存器长度为位,所有寄存

12、器长度为16位,数据总线位,数据总线 16位。位。主存采用分段的结构主存采用分段的结构主存存储单元的地址构成:段基址(主存存储单元的地址构成:段基址(16 bits): 段内偏移(段内偏移(16 bits)可执行程序(可执行程序(.EXE)的存储结构:代码段的存储结构:代码段(Code Segment),数数 据段据段(Data Segment),堆栈段堆栈段(Stack Segment),扩展数据段(扩展数据段( 可选)可选)命令程序(命令程序(.COM)的存储结构:代码段,数据段和堆栈段必须是的存储结构:代码段,数据段和堆栈段必须是 同一个段。所以命令程序最大为同一个段。所以命令程序最大为

13、64KB存储空间。存储空间。152.1 8086/8088指令系统存储器地址结构与计算存储器地址结构与计算16位段基址16位段基址 (2010H)16位段内偏移量16位段内偏移量 (0240H)20100H左移4位左移4位+20位物理地址位物理地址 (20340H)162.1 8086/8088指令系统 存储器单元结构存储器单元结构按字节单元编址按字节单元编址10H20H30H40H50H60H70H80H2000H2002H2004H2006H存储器高字节高字节低字节低字节字节单元字节单元(2000H)20H (2001H)10H字单元字单元(2000H)1020H (2004H)5060H

14、双字单元双字单元(2000H)30401020H172.1 8086/8088指令系统通用寄存器:数据寄存器通用寄存器:数据寄存器(Data Register)AX,BX,CX,DX(16位);位); AH,AL,BH,BL,CH,CL,DH,DL(8位)位) 注:各寄存器原则上没有固定的应用注:各寄存器原则上没有固定的应用 AX:累加器累加器 BX:基址寄存器基址寄存器 CX:计数器计数器 DX:数据寄存器数据寄存器AHALBHBLCHCLDHDLAXBXCXDX通用寄存器8 bits8 bits182.1 8086/8088指令系统通用寄存器:指针寄存器通用寄存器:指针寄存器(Pointe

15、r Register)堆栈指针:堆栈指针:SP(16 位)位) 基址指针:基址指针:BP(16位),默认指向堆栈段位),默认指向堆栈段通用寄存器SPBPSIDI16 bits 通用寄存器:变址寄存器通用寄存器:变址寄存器(Index Register) SI,DI:16位位 一般情况下,二者使用上无差异,在串操作中,一般情况下,二者使用上无差异,在串操作中,SI 对应对应 源操作数,源操作数,DI对应目的操作数对应目的操作数192.1 8086/8088指令系统通用寄存器:段寄存器通用寄存器:段寄存器(Segment Register)代码段代码段(Code Segment),数据段(数据段(Data Segment),),堆栈段(堆栈段(Stack Segment),),扩展数据段(扩展数据段(Extend data Segment) 代码段寄存器:代码段寄存器:CS(16 bits) 数据段寄存器:数据段寄存器:DS (16 bits) 堆栈段寄存器:堆栈段寄存器:SS (16 bits) 扩展段寄存器:扩展段寄存器:ES (16 bits)段寄存器CSDSS

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 工程造价

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号