number headings: auto, first-level 2, max 6, 1.1
2 计算题
2.1 原码、反码互算
- 原码推算反码:
- 先对原码按位求反
- 控制符号位不动,对反码+1
3 简答题
3.1 总线可以分为哪几种,分别是什么
- 地址总线(Address Bus):是单向总线,用于传送CPU发送的地址信息,以确定存储器中信息存放的地址或I/O接口地址
- 数据总线(Data Bus):是双向总线,用于在CPU和存储器、I/O之间传送数据。
- 控制总线(Control Bus):是双向总线,用于传送控制信号,时钟信号和状态信息等。
3.2 8086 CPU的优点是什么
- 8086 CPU被分为执行单元(EU)和总线接口单元(BIU)两部分。
- 而执行单元和总线接口单元可以并行运行,提高了CPU效率,降低了对存储器的速度要求,相当于二级流水线。
3.3 8086 CPU可以被分为哪两部分,各有什么功能?
- 8086可以被分为两个部分,即执行单元(EU)和总线接口单元(BIU)。
- 总线接口单元BIU功能:
- 形成20位物理地址,由上图右上角部分负责。
- 从内存取指令并送到指令队列,由上图右下角部分负责。
- 负责操作数的存取
- 执行单元EU功能:
- 从指令队列取指令、译码和执行
- 提供算术逻辑单元(ALU)
- 向总线接口单元BIU提供执行结果和16位段内偏移地址
3.4 8086/8088的指令队列的作用是什么
指定队列是总线接口单元的一部分,负责做总线接口单元和执行单元的缓冲区,能够使得CPU的取指令和指令的执行变成并行的操作,即提供一个预存指令的功能。
3.5 8086/8088 CPU中,哪些寄存器既可以做8位寄存器,也可以做16位寄存器使用?
16位数据寄存器AX、BX、CX、DX可以各自被分为高八位和低八位AH、AL;BH、BL...等
3.6 说明8086/8088 CPU中,标志寄存器中的OF是什么标志位?功能是什么?标志寄存器中的CF又是什么?功能是什么?
- OF是溢出标志位,CPU在运算时一律按照有符号溢出原则进行判定,其不管真实运算是否有符号。当按照有符号运算原则判定溢出后(例如两个"正数"相加结果为"负数"则触发)置1,否则置0。
- CF标志位是借位标志位,CPU在运算时一律按照无符号溢出原则进行判定(即借位或进位时触发),其不管真实运算是否为无符号运算。当发生进位或借位后置1,否则置0。
3.7 两个符号数相加后,若 CF=1
,能说明结果是否溢出?请举例说明?
3.8 判断如下运算在计算后的各标志位值:
-

CF=0、PF=0、AF=0、ZF=0、SF=0、OF=0。
-

CF=1、PF=1、AF=0、ZF=0、SF=1、OF=0(按照有符号原则并未溢出)。
-

CF=0、PF=1、AF=1、ZF=0、SF=1、OF=1(按照有符号溢出原则,两正数相加为负数,溢出)。
3.9 8086/8088CPU和存储器之间的READY引脚的功能是什么?
- 8086/8088CPU和存储器之间通过总线连接,其数据总线和地址总线通过分时复用实现。
- 而CPU和存储器直接的READY引脚作为CPU和存储器之间的同步信号,当存储器准备好要读取的数据或完成要写入的数据后,会将READY引脚置为高电平通知CPU进行下一个步骤。该信号叫做准备就绪信号,由存储器发出,由CPU接收。
- 当CPU处理速度比存储器快时,CPU会通过READY引脚的信号来判断存储器是否完成当前工作,并决定等待或开启下一步工作。
3.10 什么是分时复用?结合ALE引脚状态,简要说明8086CPU的AD0到AD15引脚是如何分时复用的。
- 分时复用是指一个硬件(如总线、接口、引脚等)通过将不同的时间片划分为不同的功能来实现的同一个硬件完成多个功能的方法。
- 8086的数据总线和地址总线均依靠AD0到AD15引脚,故需要通过地址锁存器来分时复用完成地址传送和数据传送功能。
- 8086引脚的ALE引脚连接到地址锁存器,在总线时钟的T1内,CPU通过AD0到AD15完成地址的指定并使ALE引脚从高电平变为低电平完成地址锁存器对地址的锁存,从而使得AD0到AD15引脚在后面的时间片可以作为数据引脚使用。
4 填空题
4.1 微型计算机中,CPU重复的操作是 、 和 。
4.2 CPU从功能上可分为两部分,负贵执行程序的是 ,负责取指令和操作数的是 。后者通过指令队列缓冲器给前者准备指令,指令队列缓冲器的工作原则为 。
答案:
执行单元(EU)、总线接口单元(BIU)、先入先出(FIFO)