精华内容
下载资源
问答
  • 在顺序执行指令的情况下(存储器按字节编址,指令字长32位),每执行一条指令,使程序计数器自动加(3)。算术逻辑运算的结果通常放在(4)中。空白(3)处应选择()(单选题)在计算机中,保存当前正在执行的指令的寄存器为(1)...

    (单选题)

    在计算机中,保存当前正在执行的指令的寄存器为(1),存放当前指令地址的寄存器叫(2)。在顺序执行指令的情况下(存储器按字节编址,指令字长32位),每执行一条指令,使程序计数器自动加(3)。算术逻辑运算的结果通常放在(4)中。空白(3)处应选择()

    (单选题)

    在计算机中,保存当前正在执行的指令的寄存器为(1),存放当前指令地址的寄存器叫(2)。在顺序执行指令的情况下(存储器按字节编址,指令字长32位),每执行一条指令,使程序计数器自动加(3)。算术逻辑运算的结果通常放在(4)中。空白(1)处应选择()

    (单选题)

    在计算机中,保存当前正在执行的指令的寄存器为(1),存放当前指令地址的寄存器叫(2)。在顺序执行指令的情况下(存储器按字节编址,指令字长32位),每执行一条指令,使程序计数器自动加(3)。算术逻辑运算的结果通常放在(4)中。空白(4)处应选择()

    (单选题)

    在高速计算机中,广泛采用流水线技术。例如,可以将指令执行分成取指令、分析指令和执行指令3个阶段,不同指令的不同阶段可以(1)执行;各阶段的执行时间最好(2);否则在流水线运行时,每个阶段的执行时间应取(3)。空白(1)处应选择()

    (单选题)

    在高速计算机中,广泛采用流水线技术。例如,可以将指令执行分成取指令、分析指令和执行指令3个阶段,不同指令的不同阶段可以(1)执行;各阶段的执行时间最好(2);否则在流水线运行时,每个阶段的执行时间应取(3)。空白(2)处应选择()

    (单选题)

    在高速计算机中,广泛采用流水线技术。例如,可以将指令执行分成取指令、分析指令和执行指令3个阶段,不同指令的不同阶段可以(1)执行;各阶段的执行时间最好(2);否则在流水线运行时,每个阶段的执行时间应取(3)。空白(3)处应选择()

    (单选题)

    某寄存器中的值有时是数值,有时又是地址,这只有计算机的()才能识别它。

    (单选题)

    在CPU的寄存器中,PSW用来存放()。

    (单选题)

    从第一台计算机诞生到现在,计算机按采用的电子元器件来划分,一共经历了(1)代,当前使用的计算机其电子元器件多为(2)。计算机最早应用的领域为(3)。空白(2)处应选择()

    (单选题)

    从第一台计算机诞生到现在,计算机按采用的电子元器件来划分,一共经历了(1)代,当前使用的计算机其电子元器件多为(2)。计算机最早应用的领域为(3)。空白(1)处应选择()

    (单选题)

    从第一台计算机诞生到现在,计算机按采用的电子元器件来划分,一共经历了(1)代,当前使用的计算机其电子元器件多为(2)。计算机最早应用的领域为(3)。空白(3)处应选择()

    (单选题)

    单地址指令中为了完成两个数的算术运算,除地址码指明的一个操作数外,另一个数常需采用()。

    (单选题)

    若计算机系统中的进程在就绪、运行和等待3种状态之间转换,进程不可能出现()的状态转换。

    (单选题)

    指令周期是指()。

    展开全文
  • 指令寄存器

    千次阅读 2020-12-28 19:49:18
    指令寄存器(Instructions Register,IR )用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存取到数据寄存器(DR)中,然后再传送至IR。指令划分为操作码和地址码字段,由二进制数字组成。为了执行...

    指令寄存器(Instructions Register,IR )用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存取到数据寄存器(DR)中,然后再传送至IR。指令划分为操作码和地址码字段,由二进制数字组成。为了执行任何给定的指令,必须对操作码进行测试,以便识别所要求的操作。 指令译码器就是做这项工作的。指令寄存器中操作码字段的输出就是指令译码器的输入。操作码一经译码后,即可向操作控制器发出具体操作的特定信号。

    指令寄存器对用户是完全透明的

    展开全文
  • 寄存器执行指令过程

    2021-08-30 19:29:59
    8086有14个寄存器,其中AX BX CX DX通常存放一般数据,可以简单认为他们就是变量。例如:mov ax,4E20H就是将数据存入AX。add ax,1406H就是将数据加到原有的值上。 8086的寄存器有16个比特位,他可以当作两个8比特位...

    http://orangelsk.zone/

    文章中涉及的机器默认为8086CPU8086PC机

    寄存器

    8086有14个寄存器,其中AX BX CX DX通常存放一般数据,可以简单认为他们就是变量。例如:mov ax,4E20H就是将数据存入AX。add ax,1406H就是将数据加到原有的值上。

    8086的寄存器有16个比特位,他可以当作两个8比特位的寄存器使用。这两个寄存器分别叫AL,AH(我猜测是low和high的缩写)。mov al,78H就是将78存入低位字节中。当使用al、ah时,ax就被视为分离的寄存器,al、ah之间独立不相互影响,比如al存入的数值过大,就将多余的比特忽略,而不是进位到ah中。

    在汇编语言中,不区分大小写。

    CPU获取物理地址

    8086CPU是16位结构,有16根数据线,也就是说该CPU的运算器、寄存器、控制器一次性只能处理两个字节的数据。

    8086CPU的地址总线宽度为20,也就是内存寻址大小为2^20=1MB。那么CPU在和内存交互的时候,比如CPU读取内存数据,寄存器保存内存物理地址,但是只能保存16位,那怎么凑出20位呢?

    基于这个问题,8086自身设计了物理地址 = 段地址 * 16 + 偏移地址的方式,将段寄存器中保存的段地址,传输到CPU中的地址加法器,在加法器中,段地址左移4位(这样就完成了20位的匹配)变为基础地址,再加上一个偏移地址,最终得到物理地址。偏移地址同样是16位比特组成,最大寻址范围为2^16=64KB。

    例如:段寄存器中提供段地址为1230H,偏移地址为00C8H,那么物理地址为12300H + C8H = 123C8H。

    CS 和 IP

    8086中的段寄存器有CS DS SS ES,这里只拿CS进行介绍。

    段地址放在CS中,偏移地址放在IP中,IP在8086中叫做指令指针寄存器。或许你听说过,有一个指针指向被执行的汇编指令,当指令被执行后,该指针自动下移至下一条命令开始位置。没错,这个指针就是IP。

    在内存中,一段连续的空间可以称为段,比如从20000H到2000AH,如图这段空间内存放的是汇编指令(二进制化的汇编指令),我们可以称这个段为代码段。

    那么要想读取20000H到20001H这段空间,单纯用段寄存器中的2000H无法做到,必须将其乘16,变为基础地址。然后通过偏移量IP指针的移动,读取指向的内存单元。

    所以你现在可以明白,偏移量最大为2^16,那么指针可移动的范围为64KB,这意味着一段就是64KB。

    综上,8086CPU的工作过程:

    1. 从CS:IP指向的内存单元读取到指令a,指令a进入指令缓冲器
    2. IP=IP+数据长度,从而IP指向下一条指令b
    3. 执行指令a,重复步骤1

    补充说明

    怎么区分内存中存储的二进制是“数据“还是“指令“?

    我们知道,存储于机器中的只有0和1,那么有的01组成的是一段常量,比如00111001011(瞎写的)就单纯的表示常量3.14;比如1110111011就表示指令mov。计算机是如何区分指令和普通数据的呢?

    答案很简单,被CS:IP指向的内存空间,其中的01就表示指令。某一段信息被CPU执行过,那么它一定被CS:IP指向过。

    怎么修改CS,IP中的值?

    jmp命令可以修改。如果想同时修改CS和IP的值,可以使用jmp 2AE3:3,这样CS中的值就为2AE3H,IP中的值就为3H,CPU将从2AE33H中读取数据。

    如果只想修改IP中的数值,可以使用jmp <某个合法寄存器>,比如现有一寄存器ax=1000H,CS=2000H,IP=0003H。执行jmp ax后,ax=1000H,CS=2000H,IP=1000H。jmp ax就好比mov IP,ax

    展开全文
  • 当执行一条指令时,首先需要根据PC中存放的指令地址,将指令由内存取到指令寄存器中,此过程称,为“取指令”。与此同时,PC中的地址或自动加1或由转移指针给出下一条指令的地址。此后经过分析指令,执行指令。完成...

    程序计数器(PC,Program counter),用于存放指令的地址。为了保证程序(在操作系统中理解为进程)能够连续地执行下去,CPU必须具有某些手段来确定下一条指令的地址。当执行一条指令时,首先需要根据PC中存放的指令地址,将指令由内存取到指令寄存器中,此过程称,为“取指令”。与此同时,PC中的地址或自动加1或由转移指针给出下一条指令的地址。此后经过分析指令,执行指令。完成第一条指令的执行,而后根据PC取出第二条指令的地址,如此循环,执行每一条指令。


    指令寄存器(IR,Instruction Register),用来保存当前正在执行的一条指令。是临时放置从内存里面取得的程序指令的寄存器,用于存放当前从主存储器读出的正在执行的一条指令。当执行一条指令时,先把它从内存取到数据寄存器(DR,Data Register)中,然后再传送至IR。指令划分为操作码和地址码字段,由二进制数字组成。为了执行任何给定的指令,必须对操作码进行测试,以便识别所要求的操作。指令译码器就是做这项工作的。指令寄存器中操作码字段的输出就是指令译码器的输入。操作码一经译码后,即可向操作控制器发出具体操作的特定信号。
    通用寄存器(GR,General register)通用寄存器可用于传送和暂存数据,也可参与算术逻辑运算,并保存运算结果。除此之外,它们还各自具有一些特殊功能。通用寄存器的长度取决于机器字长,汇编语言程序员必须熟悉每个寄存器的一般用途和特殊用途,只有这样,才能在程序中做到正确、合理地使用它们。
    16位cpu通用寄存器共有8个:AX(累加器(Accumulator Register)),BX(基地址寄存器(Base Register)),CX(计数寄存器(Count Register)),DX(数据寄存器(Data Register)),BP(基址指针寄存器(Base Pointer)),SP(堆栈指针寄存器(Stack Pointer)),SI(源变址寄存器 (Source Index)),DI(目的变址寄存器(Destination Index)).八个寄存器都可以作为普通的数据寄存器使用。
    1. 寄存器AX通常称为累加器(Accumulator);用累加器进行的操作可能需要更少时间。累加器可用于乘、除、输入/输出等操作,它们的使用频率很高;

    2. 寄存器BX称为基地址寄存器(Base Register):它可作为存储器指针来使用;

    3. 寄存器CX称为计数寄存器(Count Register):在循环和字符串操作时,要用它来控制循环次数;在位操作中,当移多位时,要用CL来指明移位的位数;

    4. 寄存器DX称为数据寄存器(Data Register):在进行乘、除运算时,它可作为默认的操作数参与运算,也可用于存放I/O的端口地址。

    5. 指针寄存器 EBP, ESP,(Pointer Register),指针寄存器主要用于存放堆栈内存储单元的偏移量,用它们可实现多种存储器操作数的寻址方式,为以不同的地址形式访问存储单元提供方便。指针寄存器不可分割成8位寄存器。作为通用寄存器,也可存储算术逻辑运算的操作数和运算结果。寄存器BP称为基址指针寄存器(Base Pointer);寄存器SP称为堆栈指针寄存器(Stack Pointer)。

    6. 变址寄存器 ESI, EDI , 变址寄存器主要用于存放存储单元在段内的偏移量,用它们可实现多种存储器操作数的寻址方式,为以不同的地址形式访问存储单元提供方便。 变址寄存器不可分割成8位寄存器。作为通用寄存器,也可存储算术逻辑运算的操作数和运算结果。

    7. 寄存器SI称为源变址寄存器 (Source Index);

    8. 寄存器DI称为目的变址寄存器(Destination Index)。
      16位cpu通用寄存器共有 8 个: AX, BX, CX, DX, BP, SP, SI, DI.
      32位cpu通用寄存器共有 8 个: EAX, EBX , ECX, EDX, EBP, ESP, ESI, EDI


    程序状态字PSW(PSW,Program Status Word)包括的状态位有进位标志位(CF)、结果为零标志位(ZF)、符号标志位(SF)、溢出标志位(OF)、陷阱标志位(TF)、中断使能(中断屏蔽)标志位(IF)、虚拟中断标志位(VIF)、虚拟中断待决标志位(VIP)、I0特权级别(IOPL)。


    状态寄存器又名条件码寄存器(SR,Status register),它是计算机系统的核心部件——运算器的一部分,状态寄存器用来存放两类信息:一类是体现当前指令执行结果的各种状态信息(条件码),如有无进位(CF位)、有无溢出(OF位)、结果正负(SF位)、结果是否为零(ZF位)、奇偶标志位(P位)等;另一类是存放控制信息(PSW:程序状态字寄存器),如允许中断(IF位)、跟踪标志(TF位)等。有些机器中将PSW称为标志寄存器FR(Flag Register)。

    展开全文
  • 计算机中用于存放下一条要执行指令的地址的部件是程序计数器;程序计数器是用于存放下一条指令所在单元的地址的地方;程序计数器是计算机处理器中的寄存器,它包含当前正在执行的指令的地址,当每个指令被获取,程序...
  • 指令指针寄存器

    2021-03-22 21:38:27
    EIP:CPU下一次将要执行的代码的地址
  • 2.CPU体系架构-寄存器

    2021-03-18 14:55:35
    CPU通用寄存器作为CPU体系架构的一部分,不可或缺。通用寄存器是CPU的算术逻辑运算操作最直接,频繁的位置。对于RISC体系的CPU,算术逻辑运算甚至只能够操作CPU通用寄存器中的数据。我们的目的不在于详尽的说明每一...
  • 字在寄存器中的存储2.1 两个单位2.2 基础的汇编指令2.2.1 MOV指令2.2.2 ADD指令2.2.3 传送运算规范3. 相关练习题 前言 本篇文章所涉及的CPU为8086CPU 在CPU内部有许多的器件,这些器件相互配合,共同实现CPU的功能...
  • 2002.10计算机组成原理§1控制器的基本概念⑵指令寄存器IR指令.ppt第七章 在一个计算机系统中,中央处理器(CPU)是由两个主要部分──运算器和控制器组成的。有关运算器部分我们已在前面进行了详细的讨论。因此本章...
  • 基于栈的指令集与基于寄存器指令集详细比对: 这次来学习一些新的概念:关于Java字节码的解释执行的一种方式,当然啦是一些纯理论的东东,但很重要,在之后会有详细的实验来对理论进行巩固滴,下面来了解一下: ...
  • PC:程序计数器,用来存放当前欲执行指令的地址,而且具有计数功能。 IR:指令寄存器存放当前指令。 存储器:用来存放数据和程序。它内部各部分用途如下: MAR:存放欲访问的存储但愿和地址。 MDR:存放从存储体...
  • 一条指令执行过程??实验报告学号????????????姓名??????????? ???????班级:??? ?????????实验时间:? ????年??月??日??实验报告表4-1???一条指令执行过程记录表步骤1???用户指定两个加数加数1,加数2?PC中存储的...
  • cpu执行指令的过程详解

    千次阅读 2021-07-21 03:57:09
    cpu执行指令的过程详解计算机每执行一条指令都可分为三个阶段进行。即取指令-----分析指令-----执行指令。取指令的任务是:根据程序计数器PC中的值从程序存储器读出现行指令,送到指令寄存器。分析指令阶段的任务是...
  • 寄存器,寄存器是什么意思

    千次阅读 2021-07-28 06:43:33
    在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC)。在中央处理器的算术及逻辑部件中,包含的寄存器有累加器(ACC)。寄存器是内存阶层中的最顶端,也是系统获得操作资料的最快速途径。寄存器...
  • PC寄存器

    2021-03-14 18:13:53
    PC 寄存器介绍JVM中的程序计数寄存器(Program Counter Register)中,Register的命名源于CPU的寄存器寄存器存储指令相关的现场信息。CPU只有把数据装载到寄存器才能够运行。JVM中的PC寄存器是对物理PC寄存器的一种...
  • AX BX CX DX是CPU内部的四个16bit的通用寄存器,常用于存储数据,也叫数据寄存器,一般用于存放参与运算的数据或运算的结果。 为了兼容更古老的CPU,他们的16bit可以分为高八位和第八位,如AH,AL。这种灵活的使用...
  • 状态寄存器CPSRARM64约定常见指令MOVADDSUBMULSIDV, UDIVANDORREORSTRLDRSTPLDPSCVTF, FCVTZS比较指令位移指令跳转指令问题1 ARM 寄存器 1. 通用寄存器 31个通用寄存器(R0~R30),每个寄存器可以存取一个64位大小的...
  • 包括所有的load和store指令、立即数指令、分支指令寄存器跳转JR指令.ppt区别不同指令集结构的主要因素 CPU中用来存储操作数的存储单元的类型 CPU中用来存储操作数的存储单元的主要类型 堆栈 累加器 通用寄存器组 ...
  • 计算机组成原理试卷

    2021-07-24 02:33:44
    计算机组成原理试卷计算机组成原理一、选择题(共40分,每题2分)1.直接、间接、立即三种寻址方式指令的执行速度,由快至慢的排序是______。...存放执行指令寄存器是______。A.MAR; B.PC; C.MDR ...
  • 局部变量存放在栈空间 数据段 编译器把字符默认存放在数据段,但是不一定放在数据段,也可以放在栈空间 idata 代码区 rdata 常量区 data 数据区–全局变量放在数据段 数据存放地址在: 0x7A7B30 存放在rdata常量区...
  • 寄存器是什么 寄存器是CPU的一部分,所以寄存器与CPU的数据传输是最快的,但是也...常用的汇编指令 功能快捷键 撤销:Ctrl/Command + Z 重做:Ctrl/Command + Y 加粗:Ctrl/Command + B 斜体:Ctrl/Command + I 标题:C
  • 注意:0号是地址单元,1是高地址单元(上是低地址,下面是高地址)(1) 2地址单元中存放的 字节型 数据是 12H(2)2地址单元的存放法 字型 数据是0012H (字型要2个字节)(3) 1地址单元的存放的 字型 数据是 124EH结论:...
  • 什么是指令: 程序代码的本质就是一条一条的指令,我们需要通过编码的方式让CPU知道我们需要它干什么,最后由译码器翻译成一条条的机器指令。...PC寄存器(程序计数器):用于存放下一条需要执行指令地址信息,注.
  • BOOTBLOCK运行完就是要运行用户自己写的启动代码了,而启动代码中最重要的就是异常向量表,这个表是放在FLASH的头部首先执行的,而异常向量表中要处理多方面的事情,包括复位、未定义指令、软中断、预取指中止、...
  • 这里写目录标题数据处理两类寄存器bx si di bp数据长度div除法指令指令dddup操作符转移指令offset操作符jmp指令目的地址在指令中目的地址在寄存器中目的地址在数据中jcxz指令loop指令 数据处理 两类寄存器 寄存器...
  • 1、代码段寄存器CS,用于存放当前正在运行的程序代码所在段。 2、数据段寄存器DS,用于存放数据段。 3、堆栈段寄存器SS,存放堆栈段。 4、附加段寄存器ES,存放当前程序使用附加数据段。 汇编标志位: OF...
  • 对于8086CPU中14个寄存器:AX、BX、CX、DX、SI、DI、SP、BP、IP、CS、SS、DS、ES、PSW(标志寄存器);进行了详尽的介绍!
  • 什么是寄存器

    2021-01-17 12:41:56
    一、芯片结构ICode:Instruction 指令单元,程序存储在FLASH中,CPU通过ICode总线从FLASH读取程序进行执行4个主动单元:DCode:Data指的数据,程序中常量放在FLASH中,变量在SRAM中,内核取数据通过DCode数据总线...
  • 这篇文章记录一下,8086CPU读取指令执行的过程。 CPU当前的状态如下图所示: CS中的内容为2000H,IP为0000H;在内存中20000H-20009H的内存单元中。 假如CPU要执行上面内存单元中的汇编指令执行过程如下: 第一步...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 102,738
精华内容 41,095
关键字:

存放将要执行指令的寄存器是