精华内容
下载资源
问答
  • 寄存器

    千次阅读 2016-09-04 22:24:52
    8086 有14个16位寄存器,这14个寄存器按其用途可分为(1)通用寄存器、(2)指令指针、(3)标志寄存器和(4)段寄存器等4。 通用寄存器 有8个, 又可以分成2组,一组是数据寄存器(4个),另一组是指针寄存器及...

    8086寄存器

    编辑
    8086 有14个16位 寄存器,这14个寄存器按其用途可分为(1) 通用寄存器、(2)指令指针、(3) 标志寄存器和(4) 段寄存器等4类。

    通用寄存器

    有8个, 又可以分成2组,一组是 数据寄存器(4个),另一组是指针寄存器及 变址寄存器(4个).
    顾名思义, 通用寄存器是那些你可以根据自己的意愿使用的寄存器,修改他们的值通常不会对 计算机的运行造成很大的影响。
    数据寄存器分为:
    AH&AL=AX(accumulator): 累加寄存器,常用于运算;在乘除等 指令中指定用来存放 操作数,另外,所有的 I/O指令都使用这一寄存器与外界设备传送数据。
    BH&BL=BX(base): 基址 寄存器,常用于地址索引
    CH&CL=CX(count):计数 寄存器,常用于计数;常用于保存计算值,如在 移位指令,循环(loop)和串处理指令中用作隐含的计数器.
    寄存器 寄存器
    DH&DL=DX(data): 数据寄存器,常用于数据传递。
    他们的特点是,这4个16位的 寄存器可以分为高8位: AH, BH, CH, DH.以及低八位:AL,BL,CL,DL。这2组8位 寄存器可以分别寻址,并单独使用。
    另一组是 指针 寄存器变址寄存器,包括:
    SP(Stack Pointer): 堆栈指针,与SS配合使用,可指向目前的堆栈位置
    BP(Base Pointer): 基址 指针 寄存器,可用作SS的一个相对基址位置
    SI(Source Index):变址 寄存器,可用来存放相对于DS段之源变址指针
    DI(Destination Index):目的 变址 寄存器,可用来存放相对于ES 段之目的变址 指针
    这4个16位 寄存器只能按16位进行存取操作,主要用来形成 操作数的地址,用于 堆栈操作和 变址运算中计算操作数的 有效地址

    指令指针IP

    指令指针IP是一个16位专用 寄存器,它指向当前需要取出的指令 字节,当BIU从 内存中取出一个指令字节后,IP就自动加(取出该字节的长度,如:BIU从内存中取出的是1个字节,IP就会自动加1,如果BIU从内存中取出的字节数长度为3,IP就自动加3),指向下一个指令字节。注意,IP指向的是 指令地址的段内地址 偏移量,又称 偏移地址(Offset Address)或 有效地址(EA,Effective Address)。

    标志寄存器

    8086有一个16位的标志性 寄存器FR,在FR中有意义的有9位,其中6位是状态位,3位是控制位。 标志寄存器(Flags Register,FR)又称 程序状态字(Program Status Word,PSW)。这是一个存放条件标志、控制 标志寄存器,主要用于反映处理器的状态和运算 结果的某些特征及控制 指令的执行。
    标志寄存器位置图: [4]  
    15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
            OF DF IF TF SF ZF   AF   PF   CF
    OF:溢出标志位OF用于反映有 符号数加减运算所得 结果是否溢出。如果运算 结果超过当前运算位数所能表示的范围,则称为溢出,OF的值被置为1,否则,OF的值被清为0。
    DF:方向标志DF位用来决定在串操作 指令执行时有关指针 寄存器发生调整的方向。
    IF:中断允许标志IF位用来决定CPU是否响应CPU外部的 可屏蔽中断发出的 中断请求。但不管该标志为何值,CPU都必须响应CPU外部的不可屏蔽中断所发出的 中断请求,以及CPU内部产生的 中断请求。具体规定如下:
    (1)、当IF=1时,CPU可以响应CPU外部的 可屏蔽中断发出的 中断请求
    (2)、当IF=0时,CPU不响应CPU外部的 可屏蔽中断发出的中断请求。
    TF:跟踪标志TF。该标志可用于 程序调试。TF标志没有专门的 指令来设置或清除。
    (1)如果TF=1,则CPU处于单步执行 指令的工作方式,此时每执行完一条指令,就显示CPU内各个 寄存器的当前值及CPU将要执行的下一条指令。
    (2)如果TF=0,则处于连续工作模式。
    SF: 符号标志SF用来反映运算 结果的符号位,它与运算结果的最高位相同。在 微机系统中, 有符号数采用补码表示法,所以,SF也就反映运算 结果的正负号。运算 结果为非负数时,SF的值为0,否则其值为1。当运算 结果没有产生溢出时,运算结果等于逻辑结果(即应该得到的正确的结果),此时SF表示的是逻辑结果的正负,当运算结果产生溢出时,运算结果不等于逻辑结果,此时的SF值所表示的正负情况与逻辑结果相反,即:SF=0时,逻辑结果为负,SF=1时,逻辑结果为非负。
    ZF:零标志ZF用来反映运算 结果是否为0。如果运算 结果为0,则其值为1,否则其值为0。在判断运算结果
    寄存器 寄存器
    是否为0时,可使用此标志位。
    AF:( Assistant Carry Flag)下列情况下, 辅助进位标志AF的值被置为1,否则其值为0:
    (1)、在字操作时,发生低 字节向高字节进位或借位时
    (2)、在 字节操作时,发生低4位向高4位进位或借位时。
    PF:奇偶标志PF用于反映运算 结果中“1”的个数的奇偶性。如果“1”的个数为偶数,则PF的值为1,否则其值为0。
    CF:进位标志CF主要用来反映无 符号数运算是否产生进位或借位。如果运算 结果的最高位产生了一个进位或借位,那么,其值为1,否则其值为0。

    段寄存器

    为了运用所有的 内存空间,8086设定了四个 段寄存器,专门用来保存 段地址
    寄存器 寄存器
    CS(Code Segment): 代码段寄存器
    DS(Data Segment):数据 段寄存器
    SS(Stack Segment): 堆栈段 寄存器
    ES(Extra Segment):附加 段寄存器
    当一个程序要执行时,就要决定程序代码、数据和 堆栈各要用到 内存的哪些位置,通过设定 段寄存器CS,DS,SS 来指向这些起始位置。通常是将DS固定,而根据需要修改CS。所以,程序可以在可 寻址空间小于64K的情况下被写成任意大小。所以,程序和其数据组合起来的大小,限制在DS 所指的64K内,这就是COM文件不得大于64K的原因。8086以 内存作为战场,用 寄存器做为军事基地,以加速工作。
    备注:由于所讲的是16位cpu(IP 寄存器的位数为16,即: 偏移地址为16位)2的16次幂就是64K,所以16位 段地址不能超过64K,超过64K会造成64K以上的地址找不到。

    展开全文
  • ARM寄存器分类

    千次阅读 2019-07-19 15:43:42
    ARM处理器共有37个寄存器,所有这些寄存器...(R0 ~ R14),一个或个状态寄存器和程序计数器是可见的。如下表所示,每一列显示在指定处理器模式下 的那些通用寄存器和状态寄存器是可见的。 通用寄存器:通用寄存器...

    ARM处理器共有37个寄存器,所有这些寄存器都是32位的。
    1,31 个通用寄存器,包括一个程序计数器寄存器
    2,6 个状态寄存器
    所有的寄存器编排有重叠的分组,有当前的处理器模式决定使用哪一个分组。在任何时候,15个通用寄存器
    (R0 ~ R14),一个或两个状态寄存器和程序计数器是可见的。如下表所示,每一列显示在指定处理器模式下
    的那些通用寄存器和状态寄存器是可见的。
    在这里插入图片描述
    通用寄存器:通用寄存器(R0 ~ R15)可以分为3组
    1,未分组的寄存器R0 ~ R7
    2,分组的寄存器R8 ~ R14
    3,程序计数器寄存器 PC

    未分组的寄存器R0 ~ R7
    寄存器R0 ~ R7是未分组的寄存器。它们中的每一个在所有的处理器模式下都是相同的32位物理寄存器。它
    们是完全的通用寄存器,没有被处理器架构定义的特殊用途。

    分组的寄存器R8 ~ R14
    分组的寄存器R8 ~ R14,它们中的每一个代表的物理寄存器依赖与当前的处理器模式。当使用一个通用寄存
    器时,几乎所有的指令都可以使用这些分组寄存器。
    寄存器R8 ~ R12中的每一个都有两个分组物理寄存器:一组用于FIQ模式,另一组用于其他处理器模式。第
    一组可以用R8_fiq ~ R14_fiq表示,另一组用R8_usr ~ R14_usr表示。
    寄存器R8 ~ R12在体系中没有任何指定的特殊目的。然而,在简单的中断处理中只需要使用寄存器R8 ~
    R14,FIQ模式下的寄存器允许更快的中断处理。
    寄存器R3和R14都有6个分组物理寄存器,其中一个用在User和SYSTEM模式下,其余的5个用在5种异常模式下,当需要区分时用如下格式命名:
    R13_
    R14_
    注: 是指usr, svc, abt, und, irq和fiq

    寄存器R13通常被用作栈寄指针SP,每一种异常模式都有自己的分组寄存器R13

    寄存器R14(链接寄存器或LR)在体系结构中有两种特殊用途:
    1,在各种模式下,R14用来保存子程序的返回地址。当一条BL或者BLX指令执行子程序调用时,R14设为子
    程序的返回地址。通过复制R14中的地址值到PC中来实现子程序的返回。
    2,当发生异常时,相关异常模式下的R14就设为异常返回地址。异常的返回地址与子程序的返回类似,使用
    指令恢复异常发生前的程序状态。

    寄存器R15:程序计数器
    R15是程序计数器(PC),其内容是处理器要取的下一条指令的地址。在ARM状态下,所有的ARM指令都是4字
    节长,一直都是字对齐的,这意味着PC的最低两位一直是0,因此PC只包含30位可变的位。ARM体系中的
    一些版本也支持其他两种处理器状态。T变种支持Thumb状态,J变种支持Jazelle状态。这些状态下PC可以
    是半字和字节对齐。

    展开全文
  • 寄存器的分类及功能

    千次阅读 2019-05-02 12:04:33
    eax, ebx, ecx, edx, esi, edi, ebp, esp等都是X86 汇编语言中CPU上的通用寄存器的名称,是32位的寄存器。如果用C语言来解释,可以把这些寄存器当作变量看待。 比方说:add eax,-2 ; //可以认为是给变量eax加上-2...

    eax, ebx, ecx, edx, esi, edi, ebp, esp等都是X86 汇编语言中CPU上的通用寄存器的名称,是32位的寄存器。如果用C语言来解释,可以把这些寄存器当作变量看待。

    比方说:add eax,-2 ; //可以认为是给变量eax加上-2这样的一个值。

    这些32位寄存器有多种用途,但每一个都有各自的特别之处。

    EAX:累加寄存器,相对于其他寄存器,在运算方面比较常用。

    EBX:基地址寄存器,作为内存偏移指针使用。

    ECX:计数器,用于特定的技术。

    EDX:作为EAX的溢出寄存器,(除法产生的余数)。

    EIP:存储CPU下次所执行的指令地址(存放指令偏移地址)。

    ESP:指针的寄存器,用于堆栈操作。被形象地称为栈顶指针,堆栈的顶部是地址小的区域,压入堆栈的数据越多,ESP也就越来越小。在32位平台上,ESP每次减少4字节。

    EBP:基址指针,指栈的栈底指针。

    它最经常被用作高级语言函数调用的"框架指针"(frame pointer). 在破解的时候,经常可以看见一个标准的函数起始代码:
      
      push ebp ;保存当前ebp
      mov ebp,esp ;EBP设为当前堆栈指针
      sub esp, xxx ;预留xxx字节给函数临时变量.
      ...
      
      这样一来,EBP 构成了该函数的一个框架, 在EBP上方分别是原来的EBP, 返回地址和参数. EBP下方则是临时变量. 函数返回时作 mov esp,ebp/pop ebp/ret 即可.

    ESI:在内存操作指令中作为“源地址指针”使用。

    EDI:在内存操作指令中作为“目的地址”使用。

    MOV:将源操作数送至目的操作数。

    PUSH:入栈指令,将源操作数指定的字数据压入堆栈栈顶。

    POP:出栈操作,将源操作数指定的字数据压入堆栈栈顶。

    JMP:跳转至指定地址执行。

    LEA:取有效地址(偏移地址)至寄存器。

    CALL:将程序的执行交给其他代码段。

    RET:子程序的返回指令。
    --------------------- 
    作者:stupidzx 
    来源:CSDN 
    原文:https://blog.csdn.net/stupidzx/article/details/78054573 
    版权声明:本文为博主原创文章,转载请附上博文链接!

     

     

    ebp和esp是32位的
    
    SP,BP
    
    
    
    esp是堆栈指针
    
    ebp是基址指针
    
    ESP与SP的关系就象AX与AL,AH的关系.
    
     
    
    32位CPU所含有的寄存器有:
    
    4个数据寄存器(EAX、EBX、ECX和EDX)
    
    2个变址和指针寄存器(ESI和EDI)
    
    2个指针寄存器(ESP和EBP)
    
    6个段寄存器(ES、CS、SS、DS、FS和GS)
    
    1个指令指针寄存器(EIP)
    
    1个标志寄存器(EFlags)
    
     
    
    1、数据寄存器
    
    数据寄存器主要用来保存操作数和运算结果等信息,从而节省读取操作数所需占用总线和访问存储器的时间。
    
    32位CPU有4个32位的通用寄存器EAX、EBX、ECX和EDX。对低16位数据的存取,不会影响高16位的数据。这些低16位寄存器分别命名为:AX、BX、CX和DX,它和先前的CPU中的寄存器相一致。
    
    4个16位寄存器又可分割成8个独立的8位寄存器(AX:AH-AL、BX:BH-BL、CX:CH-CL、DX:DH-DL),每个寄存器都有自己的名称,可独立存取。程序员可利用数据寄存器的这种“可分可合”的特性,灵活地处理字/字节的信息。
    
    寄存器AX和AL通常称为累加器(Accumulator),用累加器进行的操作可能需要更少时间。累加器可用于乘、除、输入/输出等操作,它们的使用频率很高;
    
    寄存器BX称为基地址寄存器(BaseRegister)。它可作为存储器指针来使用;
    
    寄存器CX称为计数寄存器(CountRegister)。在循环和字符串操作时,要用它来控制循环次数;在位操作中,当移多位时,要用CL来指明移位的位数;
    
    寄存器DX称为数据寄存器(DataRegister)。在进行乘、除运算时,它可作为默认的操作数参与运算,也可用于存放I/O的端口地址。
    
    在16位CPU中,AX、BX、CX和DX不能作为基址和变址寄存器来存放存储单元的地址,但在32位CPU中,其32位寄存器EAX、EBX、ECX和EDX不仅可传送数据、暂存数据保存算术逻辑运算结果,而且也可作为指针寄存器,所以,这些32位寄存器更具有通用性。
    
     
    
    2、变址寄存器
    
    32位CPU有2个32位通用寄存器ESI和EDI。其低16位对应先前CPU中的SI和DI,对低16位数据的存取,不影响高16位的数据。
    
    寄存器ESI、EDI、SI和DI称为变址寄存器(IndexRegister),它们主要用于存放存储单元在段内的偏移量,用它们可实现多种存储器操作数的寻址方式,为以不同的地址形式访问存储单元提供方便。
    
    变址寄存器不可分割成8位寄存器。作为通用寄存器,也可存储算术逻辑运算的操作数和运算结果。
    
    它们可作一般的存储器指针使用。在字符串操作指令的执行过程中,对它们有特定的要求,而且还具有特殊的功能。
    
     
    
    3、指针寄存器
    
    32位CPU有2个32位通用寄存器EBP和ESP。其低16位对应先前CPU中的SBP和SP,对低16位数据的存取,不影响高16位的数据。
    
    寄存器EBP、ESP、BP和SP称为指针寄存器(PointerRegister),主要用于存放堆栈内存储单元的偏移量,用它们可实现多种存储器操作数的寻址方式,为以不同的地址形式访问存储单元提供方便。
    
    指针寄存器不可分割成8位寄存器。作为通用寄存器,也可存储算术逻辑运算的操作数和运算结果。
    
    它们主要用于访问堆栈内的存储单元,并且规定:
    
    BP为基指针(BasePointer)寄存器,用它可直接存取堆栈中的数据;
    
    SP为堆栈指针(StackPointer)寄存器,用它只可访问栈顶。
    
     
    
    4、段寄存器
    
    段寄存器是根据内存分段的管理模式而设置的。内存单元的物理地址由段寄存器的值和一个偏移量组合而成的,这样可用两个较少位数的值组合成一个可访问较大物理空间的内存地址。
    
    CPU内部的段寄存器:
    
    CS——代码段寄存器(Code
    
    SegmentRegister),其值为代码段的段值;
    
    DS——数据段寄存器(DataSegmentRegister),其值为数据段的段值;
    
    ES——附加段寄存器(ExtraSegmentRegister),其值为附加数据段的段值;
    
    SS——堆栈段寄存器(StackSegmentRegister),其值为堆栈段的段值;
    
    FS——附加段寄存器(ExtraSegmentRegister),其值为附加数据段的段值;
    
    GS——附加段寄存器(ExtraSegmentRegister),其值为附加数据段的段值。
    
    在16位CPU系统中,它只有4个段寄存器,所以,程序在任何时刻至多有4个正在使用的段可直接访问;在32位微机系统中,它有6个段寄存器,所以,在此环境下开发的程序最多可同时访问6个段。
    
    32位CPU有两个不同的工作方式:实方式和保护方式。在每种方式下,段寄存器的作用是不同的。有关规定简单描述如下:
    
    实方式:
    
    前4个段寄存器CS、DS、ES和SS与先前CPU中的所对应的段寄存器的含义完全一致,内存单元的逻辑地址仍为“段值:偏移量”的形式。为访问某内存段内的数据,必须使用该段寄存器和存储单元的偏移量。
    
    保护方式:
    
    在此方式下,情况要复杂得多,装入段寄存器的不再是段值,而是称为“选择子”(Selector)的某个值。
    
     
    
    5、指令指针寄存器
    
    32位CPU把指令指针扩展到32位,并记作EIP,EIP的低16位与先前CPU中的IP作用相同。
    
    指令指针EIP、IP(InstructionPointer)是存放下次将要执行的指令在代码段的偏移量。在具有预取指令功能的系统中,下次要执行的指令通常已被预取到指令队列中,除非发生转移情况。所以,在理解它们的功能时,不考虑存在指令队列的情况。
    
    在实方式下,由于每个段的最大范围为64K,所以,EIP中的高16位肯定都为0,此时,相当于只用其低16位的IP来反映程序中指令的执行次序。
    
     
    
    6、标志寄存器
    
    一、运算结果标志位
    
    1、进位标志CF(CarryFlag)
    
    进位标志CF主要用来反映运算是否产生进位或借位。如果运算结果的最高位产生了一个进位或借位,那么,其值为1,否则其值为0。
    
    使用该标志位的情况有:多字(字节)数的加减运算,无符号数的大小比较运算,移位操作,字(字节)之间移位,专门改变CF值的指令等。
    
    2、奇偶标志PF(ParityFlag)
    
    奇偶标志PF用于反映运算结果中“1”的个数的奇偶性。如果“1”的个数为偶数,则PF的值为1,否则其值为0。
    
    利用PF可进行奇偶校验检查,或产生奇偶校验位。在数据传送过程中,为了提供传送的可靠性,如果采用奇偶校验的方法,就可使用该标志位。
    
    3、辅助进位标志AF(AuxiliaryCarryFlag)
    
    在发生下列情况时,辅助进位标志AF的值被置为1,否则其值为0:
    
    (1)、在字操作时,发生低字节向高字节进位或借位时;
    
    (2)、在字节操作时,发生低4位向高4位进位或借位时。
    
    对以上6个运算结果标志位,在一般编程情况下,标志位CF、ZF、SF和OF的使用频率较高,而标志位PF和AF的使用频率较低。
    
    4、零标志ZF(ZeroFlag)
    
    零标志ZF用来反映运算结果是否为0。如果运算结果为0,则其值为1,否则其值为0。在判断运算结果是否为0时,可使用此标志位。
    
    5、符号标志SF(SignFlag)
    
    符号标志SF用来反映运算结果的符号位,它与运算结果的最高位相同。在微机系统中,有符号数采用补码表示法,所以,SF也就反映运算结果的正负号。运算结果为正数时,SF的值为0,否则其值为1。
    
    6、溢出标志OF(OverflowFlag)
    
    溢出标志OF用于反映有符号数加减运算所得结果是否溢出。如果运算结果超过当前运算位数所能表示的范围,则称为溢出,OF的值被置为1,否则,OF的值被清为0。
    
    “溢出”和“进位”是两个不同含义的概念,不要混淆。如果不太清楚的话,请查阅《计算机组成原理》课程中的有关章节。
    
     
    
    二、状态控制标志位
    
    状态控制标志位是用来控制CPU操作的,它们要通过专门的指令才能使之发生改变。
    
    1、追踪标志TF(TrapFlag)
    
    当追踪标志TF被置为1时,CPU进入单步执行方式,即每执行一条指令,产生一个单步中断请求。这种方式主要用于程序的调试。
    
    指令系统中没有专门的指令来改变标志位TF的值,但程序员可用其它办法来改变其值。
    
    2、中断允许标志IF(Interrupt-enableFlag)
    
    中断允许标志IF是用来决定CPU是否响应CPU外部的可屏蔽中断发出的中断请求。但不管该标志为何值,CPU都必须响应CPU外部的不可屏蔽中断所发出的中断请求,以及CPU内部产生的中断请求。具体规定如下:
    
    (1)、当IF=1时,CPU可以响应CPU外部的可屏蔽中断发出的中断请求;
    
    (2)、当IF=0时,CPU不响应CPU外部的可屏蔽中断发出的中断请求。
    
    CPU的指令系统中也有专门的指令来改变标志位IF的值。
    
    3、方向标志DF(DirectionFlag)
    
    方向标志DF用来决定在串操作指令执行时有关指针寄存器发生调整的方向。具体规定在第5.2.11节——字符串操作指令——中给出。在微机的指令系统中,还提供了专门的指令来改变标志位DF的值。
    
     
    
    三、32位标志寄存器增加的标志位
    
    1、I/O特权标志IOPL(I/OPrivilegeLevel)
    
    I/O特权标志用两位二进制位来表示,也称为I/O特权级字段。该字段指定了要求执行I/O指令的特权级。如果当前的特权级别在数值上小于等于IOPL的值,那么,该I/O指令可执行,否则将发生一个保护异常。
    
    2、嵌套任务标志NT(NestedTask)
    
    嵌套任务标志NT用来控制中断返回指令IRET的执行。具体规定如下:
    
    (1)、当NT=0,用堆栈中保存的值恢复EFLAGS、CS和EIP,执行常规的中断返回操作;
    
    (2)、当NT=1,通过任务转换实现中断返回。
    
    3、重启动标志RF(RestartFlag)
    
    重启动标志RF用来控制是否接受调试故障。规定:RF=0时,表示“接受”调试故障,否则拒绝之。在成功执行完一条指令后,处理机把RF置为0,当接受到一个非调试故障时,处理机就把它置为1。
    
    4、虚拟8086方式标志VM(Virtual8086Mode)
    

    如果该标志的值为1,则表示处理机处于虚拟的8086方式下的工作状态,否则,处理机处于一般保护方式下的工作状态

    展开全文
  • 一、前言 接着上次第一章的题库,这次记录一下中国大学MOOC哈工大课程第三章...按连接部件不同可以对总线分为大类,其中不属于这三类的是___ A. 通信总线 B. 片内总线 C. 存储总线 D.系统总线 正确答案:C 解析: ...

    一、前言

    接着上次第一章的题库,这次记录一下中国大学MOOC哈工大课程第三章的题库,由于整理起来比较繁琐,单选题中有一些重复选项,希望小伙伴们不要介意,哈哈。如果小伙伴们有补充,可以在评论区里评论我没有记录的题目,让题库更完善。

    二、题库

    单选

    1. 按连接部件不同可以对总线分为三大类,其中不属于这三类的是___
      A. 通信总线
      B. 片内总线
      C. 存储总线
      D.系统总线
      正确答案:C
      解析: C、片内总线、系统总线和通信总线为按连接部件不同对总线的分类。存储总线为在单总线基础上又开辟出的一条CPU与主存之间的总线。

    2. 相对于单总线结构,多总线结构解决了___速度不匹配的问题。
      得分/总分
      A. I/O设备间
      B. 地址总线与数据总线
      C. 寄存器与ALU
      D.CPU、主存与I/O设备间
      正确答案:D
      解析: D、当总线上的设备,如高速视频显示器、网络传输接口等,其数据量很大和传输速度要求相当高的时候,单总线结构则不能满足系统工作的需要。多总线结构可以解决CPU、主存和I/设备之间传输速率的不匹配问题。

    3. DMA总线用于___之间交换信息
      A. 主存与I/O设备
      B. CPU与I/O设备
      C. CPU与主存
      D. I/O设备间
      正确答案:A
      解析: A、DMA总线用于高速I/O设备与主存之间直接交换信息

    4. 下列不属于片内总线连接的是___
      A. 寄存器与算逻单元之间
      B. CPU与内存间
      C.寄存器与寄存器间
      D. CPU芯片内部
      正确答案:B

    5. 在计算机的总线中,不同信号在同一条信号线上分时传输的方式称为___
      A.并行或串行传输
      B. 并行传输
      C. 串行传输
      D.总线复用
      正确答案:D
      解析: D、总线复用,指的是数据和地址在同一个总线上传输的方式。既同一条信号线上分时传输不同的信号。

    6. 连接CPU内各寄存器、控制器及算数逻辑运算单元等部件的总线统称为___
      A. 数据总线
      B. 片内总线
      C. 系统总线
      D.控制总线
      正确答案:B
      解析: B、片内总线指的是芯片内部的总线。

    7. 假设某系统总线在一个总线周期中并行传输8字节信息,一个总线周期占用4个时钟周期,总线时钟频率为10MHz,则总线带宽是___
      A. 10MB/s
      B. 20MB/s
      C.30MB/s
      D.40MB/s
      正确答案:B
      解析: B、1个时钟周期的时间为1/10MHz,每个时钟周期传输的字节数为8/4=2,则总线带宽为2/(1/10MHz)=20MB/s。

    8. 在各种异步通信方式中, 速度最快。
      A. 都一样
      B.全互锁
      C.不互锁
      D.半互锁
      正确答案:C
      解析: C、除不互锁方式以外,其他两种一部通信都需要等待请求或应答信号的到达才能继续通信。

    9. 在异步传输系统中,若字符格式为:1位起始位、8位数据位、1位奇偶校验位、1位终止位,假设波特率为1200bps,则比特率为 .
      A1320bps
      B. 872.72bps
      C.981.81bps
      D.1200bps
      正确答案:B
      解析: B、有效数据为为8位,则比特率为1200*(8/11)=872.72bps

    10. 计算机系统的五大部件之间两种互联方式为___
      A.分散连接和芯片连接
      B. 总线连接和分散连接
      C.分散连接和聚集连接
      D.总线连接和聚集连接
      正确答案:B
      解析: B、计算机系统的五大部件之间的互联方式有两种,一种是各部件之间使用单独的连线,成为分散连接;另一种是将各部件连到一组公共信息传输线上成为总线连接。

    11. 衡量总线本身所能达到最高传输速率的重要指标是___
      A.信号线数
      B. 总线宽度
      C.总线带宽
      D. 总线复用
      正确答案:C
      解析: C、总线性能包括总线宽度、总线带宽、时钟同步/异步、总线复用、信号线数、总线控制方式及负载能力等。其中总线带宽衡量总线本身所能达到的最高传输速率。

    12. 连接CPU内各寄存器、控制器及算数逻辑运算单元等部件的总线统称为___
      A.控制总线
      B.系统总线
      C.数据总线
      D. 片内总线
      正确答案:D
      解析: D、片内总线指的是芯片内部的总线。

    13. 在计数器定时查询方式下,若每次计数都是从0开始,则___
      A. 无法确定设备优先级
      B. 设备号越大优先级越高
      C.设备号越小优先级越高
      D. 每个设备的优先级相同
      正确答案:C
      解析: C、因为每次计数都从0开始,所以优先查找设备号小的设备,因此设备号越小优先级越高。

    14. 在三种集中式总线控制中, 方式对电路故障最敏感。
      A.计数器式定时查询
      B.都一样
      C.独立请求
      D.链式查询
      正确答案:D
      解析: D、链式查询只需要很少几根线就能按一定优先次序实现总线控制,但是所有设备使用一套BR和BG,因此对电路故障很敏感。

    15. 在各种异步通信方式中, 速度最快。
      A. 全互锁
      B. 都一样
      C.不互锁
      D. 半互锁
      正确答案:C
      解析: C、除不互锁方式以外,其他两种一部通信都需要等待请求或应答信号的到达才能继续通信。

    16. 总线复用方式可以___。
      A.提高总线的传输带宽
      B.实现并行传输
      C.增加总线的功能
      D.减少总线中信号线的数量
      正确答案:D
      解析: D、总线复用就是为了减少总线的数量而提出的。

    17. 总线通信控制主要解决通信双方如何获知传输开始和传输结束,以及通信双方如何协调如何配合。
      通常有四种方式:同步通信、异步通信、半同步通信和分离式通信。同步通信中,通信双方由统一时标控制数据传送。下图表示了某输入设备向CPU传输数据的同步通信过程。图中总线传输周期是连接在总线上的两个部件完成一次完整且可靠地信息传输时间,它包含4个时钟周期T1 、T2 、T3 、T4 。在上图所示读命令中,T3时钟周期执行的操作是____
      在这里插入图片描述
      A.主模块发出地址
      B.主模块发读命令
      C. 主模块撤销读命令,从模块撤销数据
      D.从模块提供数据
      正确答案:D
      解析: D、同步通信在系统总线设计时,对T1 、T2 、T3 、T4都有明确、唯一的规定。对于读命令,其传输周期如下:T1 主模块发出地址。 T2 主模块发读命令, T3 从模块提供数据 ,T4 主模块撤销读命令,从模块撤销数据

    18. 总线宽度又成总线位宽,它是总线上同时能够传输的数据位数,通常是指____的根数
      A. 数据总线
      B.地址总线
      C. 数据总线+控制总线+地址总线
      D.控制总线
      正确答案:A

    19. 以下几种总线判优控制方式中,响应速度快,优先次序控制灵活,但控制线数量多,总线控制更为复杂的是___
      A.链式查询方式
      B.都可以
      C.独立请求方式
      D.计时器定时查询方式
      正确答案:C
      解析: C、链式查询方式和计时器定时查询方式其优先次序是固定的,设计时可以更改,设计完成后则不能更改。独立请求方式使用排队电路来判优,可通过编程来改变优先次序。

    20. 通常将完成一次总线操作的时间称为总线周期,可以分为4个阶段。1)申请分配阶段。2)寻址阶段 3)传数阶段4)结束阶段,一个总线周期各阶段执行的优先次序是___
      A.申请分配阶段à寻址阶段à传数阶段-à结束阶段
      B. 申请分配阶段à传数阶段à寻址阶段-à结束阶段
      C.寻址阶段à申请分配阶段à传数阶段-à结束阶段
      D.寻址阶段à申请分配阶段à传数阶段-à结束阶段
      正确答案:A

    21. 总线宽度又成总线位宽,它是总线上同时能够传输的数据位数,通常是指____的根数
      A. 数据总线+控制总线+地址总线
      B.控制总线
      C.数据总线
      D.地址总线
      正确答案:C

    多选

    1. 系统总线是连接计算机内各大部件的信息传输线,该总线按传输内容的不同又分为___
      A.数据总线
      B.存储总线
      C.地址总线
      D.控制总线
      正确答案:A、C、D,这是全部正确选项,选项不同的情况找有这三个中的哪几个

    2. 下列选项中的英文缩写均为总线标准的是___
      A.MIPS
      B.CPI
      C.PCI
      D.USB
      正确答案:C、D,以下是所有总线标准:
      在这里插入图片描述

    3. 按连接部件不同,总线通常可分为以下哪些种 。
      A. 地址线
      B.系统总线
      C.片内总线
      D.通信总线
      正确答案:B、C、D
      解析: B、按连接部件不同,总线通常可分为片内总线、系统总线和通信总线;计算机系统的三总线结构是指I/O总线、主存总线和DMA总线。 C、按连接部件不同,总线通常可分为片内总线、系统总线和通信总线;计算机系统的三总线结构是指I/O总线、主存总线和DMA总线。

    4. 总线特性包括___
      A. 功能特性
      B.信号特性
      C.控制特性
      D.电气特性
      正确答案:A、D

    5. 一个总线传输周期包括____几个阶段
      A.握手阶段
      B. 寻址阶段
      C. 传输阶段
      D.申请分配阶段
      正确答案:B、C、D,还有一个结束阶段

    展开全文
  • 华中科技大学计算机组成原理慕课答案

    万次阅读 多人点赞 2020-01-26 00:09:18
    一、单项选择题 ...2、完整的计算机系统通常包括( A ) A.硬件系统与软件系统 B.运算器、控制器、存储器 C.主机、外部设备 D.主机和应用软件 3、CPU地址线数量与下列哪项指标密切相关( ...
  • 计算机寄存器分类

    千次阅读 2012-04-04 12:40:10
    计算机寄存器分类简介:32位CPU所含有的寄存器有:4个数据寄存器(EAX、EBX、ECX和EDX)2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP) 6个段寄存器(ES、CS、SS、DS、FS和GS)1个指令指针寄存器(EIP) 1个标志...
  • ARM寄存器介绍

    千次阅读 2018-07-17 21:37:26
    ARM处理器共有37个寄存器。其中包括:31个通用寄存器,包括...任意时刻(也就是任意的处理器模式下),可见的寄存器包括15个通用寄存器(R0~R14)、一个或个状态寄存器及程序计数器(PC)。在所有的寄存器中,有些是...
  • 计算机组成原理

    万次阅读 多人点赞 2019-06-02 14:13:55
    为了解决容量、高速度、低成本的均衡,所以才将存储系统分为各个层次, 让需要高速度的用贵的存储器,让需要空间的用便宜的存储器,主要利用了程序局部性原理,大大的提高了主存的效能。 主要个层次:cache...
  • 通用32位CPU 常用寄存器及其作用

    千次阅读 2013-06-16 12:10:34
    32位CPU所含有的寄存器有: 4个数据寄存器(EAX、EBX、ECX和EDX) 2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP) 6个段寄存器(ES、CS、SS、DS、FS和GS) 1个指令指针寄存器(EIP) 1个标志寄存器(EFlags)...
  • 在集成电路设计中,寄存器分为电路内部使用的寄存器和充当内外部接口的寄存器两类。内部寄存器不能被外部电路或软件访问,只是为内部电路的实现存储功能或满足电路的时序要求。而接口寄存器可以同时被内部电路和...
  • 寄存器从功能上说,通常分为数码寄存器和移位寄存器两种。  数码寄存器用于寄存一组二进制代码,广泛用于各类数字系统。  【例】 设计-个8位寄存器的VHDL程序,并使用MAX+p1us Ⅱ进行仿真。  仿真结果...
  • ARM-Cortex-M架构寄存器详解

    千次阅读 2021-02-04 19:29:44
    通用寄存器(R0-R15)可分成不分组寄存器R0-R7、分组寄存器R8-R14和程序计数器R15三。 1 不分组寄存器R0-R7 不分组寄存器R0~R7是真正的通用寄存器,可以工作在所有的处理器模式下,没有隐含的特殊用途。 2 分组...
  • Arduino基础入门篇01—进入Arduino的世界

    万次阅读 多人点赞 2018-07-04 14:37:07
    官方将其大致分为:入门级、网络版、物联网版、教育版、可穿戴版。具体可从官网查看 Arduino开发板类型。 其中入门级开发板易于使用。建议初学者使用入门级如Arduino UNO R3。 Arduino开发语言 ...
  • 寄存器总结之通用寄存器

    千次阅读 2020-09-15 16:34:02
    一个典型CPU是由运算器、控制器、寄存器等器件组成,这些器件靠内部总线相连。 区别:内部总线实现CPU内部各个...8086CPU所有的寄存器都是16位的,可以存放个字节。 8086上一代CPU中的寄存器都是8位; 为了保.
  • 算法的复杂度可分为俩种 一种时间复杂度 另一种是空间复杂度。 俩者的概念:时间复杂度是指执行这个算法所需要的计算工作量;而空间复杂度是指执行这个算法所需要的内存空间。时间和空间(即寄存器)都是计算机资源...
  • 对于数字电路的整理通常可以分为两个阶段: 第一阶段是从门级电路到寄存器级电路,此环节是把所有的寄存器、计数器、时钟树、测试链、存储模块译码器等基本模块整理清楚,同时还会把主要数据流向分析清楚。寄存器级...
  • 计算机组成原理期末复习【超实用】

    万次阅读 多人点赞 2019-08-14 00:07:42
    按传输信息的不同,系统总线可分为哪几?并加以简单描述。P43 数据总线:用来传输各种功能部件间的数据信息,是双向传输总线,其位数与机器字长、存储字长有关,一般为8/16/32位。 地址总线:主要用来指出数据...
  • 8086的寻址方式(两大类

    万次阅读 多人点赞 2019-05-13 15:29:10
    所谓寻址方式,通俗的讲就是指令中给出的操作数(包括数据操作数和地址操作数)的方法:8086指令系统的寻址方式根据操作数的种类分为两大类,即数据寻址方式和地址寻址方式。如下所示: 1、数据寻址方式: (1)...
  • 简述寄存器种类及其功能

    千次阅读 2021-03-22 10:48:46
    说起寄存器可能你暂时没有印象,但是提到CPU,即使是没有计算机基础的人也知道一些,而寄存器(Cache)是中央处理器(CPU)的重要...按照功能的不同,可将寄存器分为基本寄存器和移位寄存器两大类。基本寄存器只能并行送
  • 单片机小知识总结

    千次阅读 多人点赞 2017-07-17 13:17:37
    寻址范围最广,如要使用还得专门配置个字节寄存器 DPTRH和DPTRL ,寻址范围的广,也就意味着速度是最慢的。 所以呢,总结一下就是:一般变量存储在data区域,当data不够了,在去寻xdata区域,idata不要触碰。...
  • 步进电机控制和步进电机原理

    千次阅读 2017-11-20 20:49:38
    今天调试了一个步进电机,原来调试过一款欧柯达的42步进电机, 本以为两个电机差不多,驱动器给的一样,结果发现...它又分为两相、三相和五相,两相步进角一般为1.8度 ,三相步进角 一 般为 1.2度 ,而五相步进角 一
  • 汇编

    千次阅读 2016-12-24 15:42:33
    如图中所示,EAX、EBX、ECX和EDX的前个高位字节和后个低位字节可以独立使用,其中位低字节又被独立分为H和L部分,这样做的原因主要是考虑兼容16位的程序,具体兼容匹配细节请查阅相关文献。 内存布局 ...
  • 通俗易懂和你聊聊寄存器那些事(精美图文)

    千次阅读 多人点赞 2020-10-15 06:53:38
    下面我们就来介绍一下关于寄存器的相关内容。我们知道,寄存器是 CPU 内部的构造,它主要用于信息的存储。除此之外,CPU 内部还有运算器,负责处理数据;控制器控制其他组件;外部总线连接 CPU 和各种部件,进行数据...
  • 1引言 我们在学习STM32的时候,把被...我们可以根据每个单元功能的不同,以功能为名给这个内存单元取一个别名,这个别名就是我们经常说的寄存器。给已经分配好地址的特定功能的内存单元取别名的过程就叫寄存器映射。 然
  • [从零学习汇编语言] -寄存器详解

    千次阅读 多人点赞 2021-10-27 20:58:07
    文章目录前言一、 存储器与通用寄存器1. 存储器2. 通用寄存器 前言 上一章我们曾简单的介绍过计算机中的一些硬件和软件的相关概念,还不熟悉的小伙伴可以点击下面的链接进行预习: [汇编语言] - 汇编语言基础知识...
  • LINUX寄存器总结

    2020-08-03 21:45:48
    前言(wxy):说到寄存器,...总的来说可先从如下个维度进行分类,毕竟这样分类完了,我们就可以专心只研究第二(用户可见的): 控制和状态寄存器,一般用户不可对其进行编程,他们被控制部件或操作系统使用,以控制.
  • R0-R12 是最“通用目的”的,但是绝多数的 16 位指令只能使用 R0-R7(低组寄存器),而 32 位的 Thumb-2 指令则可以访问所有通用寄存器。特殊功能寄存器有预定义的功能,而且必须通过专用的指令来访问。 RO–R12...
  • 8086 CPU 寄存器简介

    千次阅读 多人点赞 2018-07-27 16:53:28
    除了上面 4 个数据寄存器以外,其他寄存器均不可以分为两个独立的 8 位寄存器 ; 注意在上面标志中的“独立”二字,这两个字表明 AH 和 AL 作为 8 位寄存器使用时, 可以看做它们是互不相关的,也就是看做两...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 67,595
精华内容 27,038
关键字:

寄存器通常分为两大类