第一章

  • CPU换代(页码:2)
    • 第一代CPU,是用电子管制造的;
    • 第二代则采用晶体管;
    • 第三代则采用集成电路;
    • 第四代使用的是大规模集成电路。
  • 编码(页码:10)
    • 数字编码
      • 计算机中的数用二进制表示;计算机中的十进制数的每一位用若干位二进制表示,这就是二进制编码;十进制数的二进制编码,简称二-十进制编码(BCD)。
      • BCD码(Binary-Coded Decimal‎),用4位二进制数来表示1位十进制数中的0~9这10个数码,是一种二进制的数字编码形式,用二进制编码的十进制代码。BCD码这种编码形式利用了四个位元来储存一个十进制的数码,使二进制和十进制之间的转换得以快捷的进行。这种编码技巧最常用于会计系统的设计里,因为会计制度经常需要对很长的数字串作准确的计算。相对于一般的浮点式记数法,采用BCD码,既可保存数值的精确度,又可免去使计算机作浮点运算时所耗费的时间。此外,对于其他需要高精确度的计算,BCD编码亦很常用。
        • (1)方便(2)精确表达数字
    • 字符编码
      • 7位2进制编码,最高位0,形成8位,共128种组合;包括0~9,十个阿拉伯数字字符,大、小写英文字母(72个),常用标点符号和各种控制字符。
    • {大题}汉字编码
      • 国标GB2312-1980
      • 键盘输入汉字是输入汉字的外部码(不唯一);外部码必须转换为内部码(唯一)才能在计算机内进行存储和处理;为了将汉字以点阵的形式输出,还要将内部码转换为字形码;不同的汉字处理系统之间交换信息采用交换码。
  • 指令执行过程(页码:14)
    • 冯·诺伊曼结构
      • 存储程序,自动执行
    • {必考}执行过程(页码14::录音19:00)
      • 存储器读写过程
      • 读数据:AR—AB—存储器—DB—DR

image

  • 写数据:AR->AB->存储器<-DR<-DB

image


第二章

  • BIU和EU(页码:32)

    • 8086/8088CPU
      • 总线接口单元BIU(完成取指令和存取数据)(Bus Interface Unit,BIU)
      • 执行单元EU(负责分析指令和执行指令)(Execution Unit,EU)
  • 流水线(页码:33,242,133)

    • 取指和执行可以重叠进行,这种重叠的操作技术,称为流水线。
  • {计算}计算地址(页码:34,46)

    段寄存器 提供段内偏移地址的寄存器(默认) Remark
    CS代码段寄存器 IP指令指针寄存器 代码:CS:IP
    DS数据段寄存器 BX,SI,DI 数据:DS:[BX…]
    SS栈段寄存器 SP,BP 栈顶:SS:SP
    ES附加数据段寄存器 DI 附加数据段:DS
    • 物理地址:物理地址=段地址×16+偏移量
    • 参考
  • 四个段和四个段偏移地址组合

    • 任何一个存储单元的20位实际地址称为物理地址,又称绝对地址,同一物理地址可以有不同的段地址和偏移量。

    • 一般程序存放在代码段中,段地址来源于代码段寄存器CS,偏移地址来源于指令指针寄存器IP;

    • 当涉及一个堆栈操作时,段地址在堆栈段寄存器SS中,偏移地址来源于栈指针寄存器SP;

    • 当涉及一个操作数时,则数据段寄存器DS或附加段寄存器ES作为段寄存器,而偏移地址由16位的偏移量得到,16位的偏移量取决于指令的寻址方式。

  • 常用标志位ZF、OF...(页码:36)

    • ① CF—进位标志位:做加法最高位有进位或减法最高位有借位时为1,反之为0;
    • ② PF—奇偶标志位:运行结果低8位中1的个数为偶数时为1,反之为0;
    • ③ AF—半进位标志位:低四位有向高四位的进位或借位时为1,反之为0;
    • ④ ZF—零标志位:运算结果为0时置1;
    • ⑤ SF—符号标志位:与运算结果最高位相同;
    • ⑥ OF—溢出标志位:字节运算结果范围超过-128-+127或者字运算结果范围超出-32768-+32767时置1,溢出判断:同符号数相加,结果的符号位与之不同(符号位发生变化);**(P36)**
    • ⑦ TF—陷阱标志位:置1时8086/8088进入单步工作方式,通常用于程序调试;
    • ⑧ IF—中断允许标志位:置1时处理器响应可屏蔽中断;
    • ⑨ DF—方向标志位:置1时串操作指令的地址修改为自动减量方向。
  • 缓存Cache原理(页码:31)

    • 为了减少从存储器中取指令与数据的时间,利用指令执行的局部性原理,把近期可能用到的指令与数据放在工作速度比主寄存器更快的缓存中。这样的思想进一步在处理器中实现,即在处理器芯片中实现缓存。

第三章

  • 与操作区别(页码:61::录音23:00)

    • AND和TEST
  • 逻辑“与”指令:

    • AND OPRD1,OPRD2
    • 功能:两个操作数进行按位的逻辑“与”运算,即只有相与的两位,结果送到目的操作数OPRD1,CF=0,OF=0,结果影响ZF、SF、PF;对自身的“与”操作作用是清标志位CF和OF,自身内容不变。
  • 逻辑测试指令:

    • TEST OPRD1,OPRD2
    • 功能:两个操作数进行按位的逻辑“与”运算,结果不送到目的操作数OPRD1,仅仅影响标志位,通常用于检测某位是否为1,但又不改变原来值的场合。
  • MOV、IN、OUT、ADD、ADC基本作用

    •   数据传送指令  MOV
        
        mov r1, #0x1        ;r1 = 0x1    0x1 是立即数
        mov r2, r1          ;r2 = r1 
        mvn r3, r2          ;r3 = ~r2
        mov r1, 0xffffff00  ;0xffffff00 不是立即数,只是编译器在编译阶段对其进行了替换
        mvn r1, 0x000000ff  ;替换的指令
         
        ;一条数据传送指令 mov reg, #n mov reg占用 bit[31:12],bit[11:0]留给立即数使用,因此立即数自包含2^12个
        ;一个立即数由 bits[8:0]循环右移 2 * bits[11:9]得到。(一个八位的数循环右移偶数次得到)
        ;立即数的本质是包含于指令中的数,占用指令本身的空间
         
         加法指令 ADD
        
        ;加法指令执行时,若没有进位 CPSR 'C' 位置 0
        mov r0, #1
        mov r1, #1
        add r2, r1, r0  ;r2 = r1 + r0
        add r2, r1, #2  ;r2 = r1 + 2
        
        带进位的加法指令 ADC
        
        ;两个64位数相加,第一个64位的低32位放在 r0,高位放到 r1,第二个64位数的低32位放在 r2 高32位放在 r3
        ;编写代码实现两个64位数的和,结果的低32位放在 r4 高32位放在 r5
        mov r0, #0xfffffffe  ;第一个数的低32位
        mov r1, #1  ;第一个数的高32位
        mov r2, #0x5  ;第二个数的低32位 
        mov r3, #1  ;第二个数的高32位
        adds r4, r0, r2 
        adc r5, r1, r3  ; adc运算的实质是 r5 = r1 + r3 + 'C'  'C'位 CPSR 进位标志
         
         
        
      
    • 详细


第四章


第五章

  • 两种组态(页码:130)

    • 最大组态
      • 最大组态对多个处理器协同工作
    • 最小组态
      • 最小组态只有一个微处理器
    • 最大组态对应引脚$MN/{MX}^{——}$,若把引$MN/{MX}^{——}$,脚连至电源(+5V),则为最小组态;若把它接地(低电平),则8086处在最大组态。
  • 三个周期(134)

    • 指令周期:执行一条指令所需要的时间称为指令周期
    • 总线周期:指令周期又分为一个又一个的总线周期。每当CPU要从存储器或I/O端口,读写一个字节(或字)就是一个总线周期。
    • 时钟周期:每个总线周期通常包含4个T状态,即T1、T2、T3、T4,每个T状态是8086中处理动作的最小单位,它就是时钟周期。
  • {大题}$T_1,T_2,T_3,T_4$所做工作(页码:136)

    • T1状态,CPU从地址线上送出地址,并进行锁存,同时发出是对内存还是对外设访问的选择信号。

    • T2状态,CPU发出读操作信号。

    • T3状态,CPU对READY管脚进行采样,以确定内存是否准备好数据。

    • 在T4状态,CPU从数据总线上读取数据,并结束操作。

    • 以存储器读为例。在T1周期,输出地址信号、地址锁存允许信号、内存或I/O端口访问控制信号;在T2周期,CPU开始执行数据传送操作,此时,切换为数据总线,为读写数据作准备。8288总线控制器发生数据总线允许信号和数据发送/接收控制信号DT/R允许数据收发器工作,使数据总线与8086CPU的数据线接通,并控制数据传送的方向。同样,把地址/状态线A19/S6~A16/S3切换成与总线周期有关的状态信息,指示若干与周期有关的情况。

      在T3周期开始的时钟下降沿上,8086CPU采样READY线。如果READY信号有效(高电平),则在T3状态结束后进入T4状态。在T4状态开始但时钟下降沿,把数据总线上的数据读入CPU或写到地址选中的单元。在T4状态中结束总线周期。如果访问的是慢速存储器或外设接口,则应该在T1状态输出的地址,经过译码选中某个单元或设备后,立即驱动READY信号到低电平。8086CPU在T3状态采样到READY信号无效,就会插入等待周期Tw,在Tw状态CPU继续采样READY信号;直至其变为有效后再进入T4状态,完成数据传送,结束总线周期。

      在T4状态,8086CPU完成数据传送,状态信号S2~S0变为无操作的过渡状态。在此期间,8086CPU结束总线周期,恢复各信号线的初态,准备执行下一个总线周期。

  • 外设$T_1,T_2,T_3,T_w,T_4$IO周期(页码:138)占用五个时钟周期

  • {必}两个中断响应周期(页码:139)

    • 在响应中断时,CPU执行两个连续的中断响应周期。读中断向量号是在第二个中断响应周期
  • 复位(页码:139)

    • CPU复位以后每个段初始值是什么
    • 系统复位:在复位的时候CS寄存器和IP分别初始化为0FFFFH和0。因此,复位后执行的第一条指令,存在绝对地址为0FFFF0H的内存单元。
  • 总线(页码:141)

    • 总线的数据传输方式有:同步式传输、异步式传输、半同步式传输

    • USB总线(页码:149)

      • 1)因为使用了总线的设计,所以可以在一个USB接口上接多个设备。理论上USB接口可以共同支持连接127个设备,这是普通串口不能比拟的。

        2)USB接口可以为设备提供+5V的电源供应,所以只要所接外设没有高耗电的设备,如电机等(+12V),那么就可以由USB口直接供给电源,而无需另接电源了

        3)USB接口的速度十分快,数据传输速率可以高达1.5-12MBps,而普通串口却只能达到115200Bps,这样大的传输量可以胜任许多工作,所以USB接口可以连接一些高数据量的存储设备,比如外置存储器等

        4)因为USB是一种独立的串口总线,所以它在驱动设备的时候不需要占用中断和DMA通道,这样对于不太懂电脑的人来说,不要再设定这些参数。同时因为这个特点,USB 接口的设备具有真正的即插即用(PNP)功能

    • 总线:总线是传送信息的公共导线,一般由地址总线、数据总线和控制总线组成;

      1、地址总线(AB),一般是单向总线,传送CPU发出的地址信息;

      2、数据总线(DB),是双向总线,可以从CPU传送数据信息到外设和主存,也可以从主存和外设向CPU传送数据;

      3、控制总线(CB),其中每根线上的方向是一定的,它们分别传送控制信息、时序信息和状态信息。

  • 南北桥芯片:给出一段描述,分析出哪个是南桥,哪个是北桥

    • 北桥芯片都位于主板的上方(接口朝上,上北下南),接近CPU和内存插槽的位置,这是因为北桥芯片的主要功能就是提供主板的系统总线。
    • 南桥都位于主板下方右侧,也就是在扩展插槽和硬盘接口之间,主要功能是扩展功能,提供硬盘,USB口等外围设备的接口
  • 8086和8088是怎样解决地址线和数据线的复用问题

    8086CPU和8088CPU是利用信号的时序来解决地址线和数据线的复用的。无论是内存或I/O端口访问,CPU总是先输出要访问的内存单元或I/O端口的地址,使内存和I/O端口有时间进行地址译码以找到要访问的单元,然后才能进行数据传送。所以CPU在T1周期输出地址,同时输出ALE信号以锁存在复用线上输出的地址。在T2周期,CPU开始执行数据传送操作,此时,8086CPU内部的多路开关进行切换,将地址/数据线AD15~AD0上的地址撤销,切换为数据总线,为读写数据作准备。


第六章

  • RAM和ROM区别(页码:154)
    • ROM和RAM都是一种存储技术,只是两者原理不同,RAM为随机存储,掉电不会保存数据,而ROM可以在掉电的情况下,依然保存原有的数据。ROM是Read Only Memory的意思,也就是说这种存储器只能读,不能写。而RAM是Random Access Memory的缩写。RAM则可以随机读写。
  • 地址译码的方法:单译码和双译码(页码:158)
    • 单译码结构,或称字结构,适用于小容量的存储器。
    • 双译码结构,或称复合结构,适用于大容量的存储器。
  • X选择线称为字线,Y选择线称为位线。
  • {大题}小存储芯片构成大存储系统(页码:162)
    • 画图
    • 基本地址

\1. 全译码(161)

全译码指多余的地址线全部作为译码线来使用

\2. 部分译码

用不到那么多地址线,就用部分地址线作为译码线

1K*4位用的=是2114芯片,地址线10根,数据线4根,为了存储一个字节,至少需要两片


第七章

  • 三种输入输出方式各自的优缺点(p185)

    (1)查询传送方式

    优点:保证在条件具备时才进行输入或输出,传送可靠。

    缺点:在查询传送方式中,CPU要不断地询问外设,当外设没有准备好时,CPU就会等待,不能进行别的操作,这样就浪费了CPU的性能。

    (2)中断传送方式

    优点:可以大大提高CPU的利用率

    缺点:中断传送仍是由CPU通过程序来传送,每次要保护断点,保护现场需用多条指令,每条指令要有取指和执行时间,这对于一个高速I/O设备,以及成组交换数据的情况,显得速度太慢了。

    (3)直接数据通道传送(DMA)

    优点:实现了内存的不同区域之间,或者在内存与外设端口之间的数据直接快速传送,可以大大提高数据的传送速度。

    缺点:增加了专门的硬件控制电路,即DMA控制器,其电路复杂度也随之增加了系统硬件成本。

  • 每一款芯片主要特点

  • 查询中断DMA三个时间特点,优缺点

    • DMA目前支持外设和外设,内存和内存,外设和内存
  • (背)中断优先权的高低判断(页码:195)

    • 软件采用查询技术。硬件采用硬件编码器和比较器的优先权排队电路构成,编码电路为每个中断进行编号,比较电路则比较编号大小,用编号的大小对应优先权高低。常用的硬件排队电路为链式优先权排队电路
  • {问答}中断传输数据过程

    • (1)关中断(2)保留断点(3)保护现场(4)给出中断入口,转入相应的中断服务程序(5)恢复现场(6)开中断与返回
  • {问答}DMA过程

    • (1)能向CPU发出HOLD的信号(2)当CPU发出HLDA信号后,开始对总线的控制,进入DMA方式。(3)发出地址信息,能对存储器寻址及能修改地址指针。(4)能发出读或写等控制信号。(5)能决定传送的字节数,及判断DMA传送是否结束。(6)发出DMA结束信号,使CPU恢复正常工作状态。
  • 查询for while循环

  • 中断向量号(页码:196)

    • 中断请求的入口地址
    • 中断向量,每个中断向量占用4B。在这4B中,包含着这个中断向量(或这种中断类型)的服务程序的入口地址——前2B为服务程序的IP,后2B为服务程序的CS。

第八章

  • 8253等这些芯片特点(页码:207)

    • 8253的基本功能(特点:定时、计数)

      (1)有三个独立的16位计数器

      (2)每个计数器都可以按照二进制或BCD码进行计数

      (3)每个计数器的计数速率可达到2MHz(8254-2计数频率可达到10MHz)

      (4)每个计数器有六种工作方式,可有程序设置和改变

      (5)所有的输入输出引脚电平都与TTL电平兼容

    • 8253的引线:CLK输入脉冲线、GATE(门控信号输入引脚)、OUT:输出引脚(p208)

  • 8255(页码:215)

    • 特点
    • 三组端口分类(页码:216::录音17:00)
    • 8255,数据端口A、B、C。A组控制电路端口A和端口C的上半部(PC7~PC4),B组控制电路控制端口B和端口C的下半部(PC3~PC0)
  • 8251基础特点(页码:223)

    • 串行
      • 非同步(异步)通信
      • 同步传送。
    • 数据传送的方向
      • 半双工
      • 完全双工
  • 数模(D/A)转换与模数(A/D)转换接口

    传感器采集数据