微机原理期末

第一课时

微型计算机系统:微型计算机、外围设备、操作系统

微型计算机:微处理器、存储器、输入输出接口、系统总线

冯诺依曼:存储程序,取指执行

系统总线:

  • 数据总线
  • 地址总线
  • 控制总线

微处理器:运算器、控制器、寄存器

运算器中的操作数一个来自累加器一个来自寄存器

控制器:指令寄存器、指令译码器、控制电路

第二课时

读操作过程

  • cpu将地址放在地址总线上,经地址译码器译码后选中内存中相应单位
  • cpu通过控制总线发出读信号
  • 内存把相应单元的内存放在数据总线上,cpu取走数据

写操作过程

  • cpu将地址放在地址总线上,经地址译码器译码后选中内存中相应单位
  • cpu把数据放在数据总线上
  • cpu通过控制总线发出写信号,内存取出数据并写入。

读写操作顺序不同

微机的工作过程:取指和执行

有些指令包括操作码和操作数,指令对于cpu也是数据,每个操作码占1字节,cpu工作时首先取出操作码,由操作码判断是否需要取出操作数,如果需要取操作数,那么再去内存中取操作数,取操作数是在指令的执行阶段完成的。有的指令只包含操作码,不包含操作数

第二章内容(8086/8088):

  • 特点
  • 内部结构
  • 内部寄存器及功能
  • 主存结构和寻址
  • 外部引脚
  • 最小/最大模式

第三课时

cpu并行执行:取指、译码、执行等过程并行起来,设置指令预取队列,存放预取的指令。即通过指令预取队列来实现并行流水线的工作方式。

将内存分段并设置段地址,以实现对1M空间的寻址。

8086内部结构:EU(执行单元)、BIU(总线接口单元)

1.png

BIU:取指、译码、取操作数、总线控制电路,即段寄存器、指令指针寄存器(IP)、地址加法器、指令译码器、指令预取队列

EU:执行指令,即通用寄存器、运算器(ALU)、PSW标志寄存器

物理地址:段地址左移四位+偏移量

寄存器:

  • 8个通用寄存器(不用记)
    • AX
    • BX
    • CX
    • DX
    • SP堆栈指针寄存器
    • BP基址指针寄存器
    • SI源变址寄存器
    • DI目的变址寄存器
  • 4个段寄存器(要记住)
    • CS
    • DS
    • SS
    • ES
  • 2个控制寄存器
    • IP指令指针寄存器
    • PSW标志寄存器

IP:存放代码段的地址偏移量,和CS共同构成了PC

8086将内存分为4段,每段之间可以重叠

第四课时

用于获得操作数所在地址的方法称为寻址方式,寄存器寻址最快,立即数寻址次之,存储器操作数最慢

  • 立即数操作数:操作数在指令中

    • 立即寻址

      操作数在指令中

  • 寄存器操作数:操作数在寄存器中

    • 寄存器寻址

      操作数在寄存器中

  • 存储器操作数:操作数在存储器中,注意内存中存字,低字节在前高字节在后

    • 直接寻址

      在指令中指明操作数在存储器中的(数据段)段内地址,用数据外加中括号来表示直接寻址

    • 寄存器间接寻址

      寄存器中存放的是操作数的地址,寄存器两边也要加上中括号,只允许用SI、DI、BX、BP寄存器存放偏移地址

    • 寄存器相对寻址

      由寄存器和一个偏移量之和组成操作数的地址

    • 基址-变址寻址

      一个基址寄存器和一个变址寄存器,他们之和作为地址

    • 基址-变址且相对寻址

      一个基址寄存器、一个变址寄存器和一个立即数求和作为地址

地址转移:指令寻址

  • 段内直接寻址
  • 段内间接寻址
  • 段间直接寻址
  • 段间间接寻址

第五课时

8086引脚:知道每个引脚的作用即可,高低电平不用记。书2.2.2

  • Vcc/GND:电源/电源地输入引脚
  • AD15-AD0:地址/数据复用总线
  • A19-A16/S3-S6:高四位地址总线
  • CLK、RESET:时钟输入、复位输入
  • NMI、INTR:不可屏蔽(上升沿有效)/可屏蔽(高电平有效)中断输入
  • MN/MX非:最小模式/最大模式控制输入信号
  • BHE非/S7:高字节数据选择信号
  • RD非、WR非:读写控制引脚
  • READY:准备就绪信号
  • TEST:测试信号,WAIT指令时,每5个CLK周期测试一次,测试到低电平则停止等待
  • ALE:地址锁存下降沿触发输出信号,接锁存器LE引脚

时序图,要求会画:书2.2.6

  • 时钟周期:CLK周期,CPU处理动作的最小时间单位
  • 总线周期:存储器读写、IO读写、中断响应,一个总线周期至少包括四个CLK周期
  • 指令周期:取值+执行

常用芯片

  • 373:8位锁存器

第六课时

  • 静态随机读写存储器SRAM

    异步、同步

    6264芯片:8K*8bit

    引脚:

    • A0-A12
    • D0-D7
    • CS1-CS2:片选,用于地址译码
    • OE非:读允许
    • WE非:写允许

    部分地址译码:浪费地址空间(地址重叠)换得简单译码

    会使用38译码器设计地址译码电路

第八课时

利用ROM作译码器

利用ROM做地址映射表,如[070H]=1110,然后ROM的数据线连接几个6264的片选引脚,那么就可以使用070H地址选中Q4连接的6164。

ROM译码和38译码器译码二考一

存储器的位扩充:将cpu的A0引脚接入存储器芯片的CS片选引脚,A0决定了地址的奇偶性,这样就实现了奇地址和偶地址的分离,cpu的A0引脚不再接入存储器芯片的地址引脚。偶地址存储器芯片数据引脚接到cpu的D0-D7引脚,奇地址存储器芯片数据引脚接到cpu的D8-D15引脚。使用BHE非引脚控制字读。

2.png

第九课时

只读存储器ROM

2764芯片

引脚:

  • A12-A0
  • D7-D0
  • CE非:片选信号
  • OE非:读允许
  • PGM非:编程允许

动态异步随机读写存储器DRAM(64K*1bit)

每个单元1bit,因此地址空间很大,采用了复用地址引线

  • A0-A7先输入行地址,再输入列地址(通过数据选择器来实现)
  • RAS非:行地址选中,兼做片选
  • CAS非:列地址选中,兼做数据输入允许
  • Din/Dout:数据输入/输出
  • WE非:写允许

读时序:

  • 给行地址
  • RAS非置低
  • 给列地址
  • CAS非置低
  • 保持WE非置高
  • 输出数据

写时序:

  • 给行地址
  • RAS非置低
  • WE非置低
  • 给列地址
  • CAS置低
  • WE非置低

读变写:读后WE非置换

刷新:由于DRAM使用电容储存信息,电容不能持久保存,需要2-4ms重新写入一下,称为刷新。一次刷新一行的所有列,因此刷新只有行地址没有列地址,因此RAS非置低,CAS非置高

第十一课时

cpu与外设交换的信息分为三类:

  • 数据信息
  • 状态信息
  • 控制信息

IO接口电路包含:

  • 数据寄存器
  • 状态寄存器
  • 控制寄存器

以上三个寄存器统称为IO端口

IO查询方式

  • 无条件传送

    适合简单的设备如二极管,不用考虑设备的状态,只有一个数据端口

  • 程序程序查询方式

    D0-D7连接数据端口

    STB非连接控制端口,上升沿触发命令外设写入数据

    BUSY端口连接状态端口

  • 中断

中断过程:

  • 中断请求

    分为内中断和外中断

  • 中断响应

    在每个指令的最后一个时钟周期,检测中断输入端,且中断允许打开(PSW的IF位),则发送一个INTA非信号响应中断。一旦进入中断处理,立刻清除中断请求信号避免一个中断请求被cpu多次处理。

    1.断点保护:(由硬件完成速度快)

    • 将PSW的内容压入堆栈
    • 自动关中断:IF=0,TF=0
    • 将CS压栈
    • 将IP压栈

    2.中断源识别

    3.获得中断服务程序

  • 中断处理

    • 保护现场(软件完成)
    • 开中断:允许中断嵌套
    • 进行中断处理
    • 关中断
    • 恢复现场
    • 中断返回(开中断等)
  • 中断返回

第十二课时

8086与中断有关的引脚:NMI(不可屏蔽)、INTR、INTA非

每个中断源有一个与之对应的中断类型(向量)码。

软件中断向量码由指令给出,可屏蔽中断向量码由PIC给出。

cpu响应INTR中断需要两个总线周期,第一个总线周期INTA非置低,告诉PIC已经处理该终端,第二个总线周期再次将INTA非置低,请求PIC在D0-D7数据引脚给出中断向量码。

中断向量表:中断向量码到处理程序地址的映射,n*4存的是IP,n*4+2的是CS

中断优先级:

  • 内部中断
  • NMI
  • INTR
  • 单步中断

中断控制器8259(PIC)

可对8个中断源实现优先级控制,可扩展至64个。

  • 中断请求寄存器IRR(IR0-IR7,有请求的置1,下同)

  • 中断服务寄存器ISR

  • 中断屏蔽寄存器IMR

  • 一般全嵌套:同优先级不响应

  • 特殊全嵌套:同优先级响应,用于级联中的主片

第十三课时

级联8259的中断向量码发送:

  • 从片发送INT
  • 主片收到IR3请求
  • 主片发送INT给cpu
  • cpu发送INTA非给主片,但从片也能收到
  • 主片通过CAS2-0引脚发送011,命中从片
  • cpu发送第二个INTA非
  • 从片发送中断向量码

cpu对8259的控制:

  • 初始化命令字

    ICW1-ICW4

  • 操作命令字

    OCW1-OCW3

初始化时,依次写入ICW1-ICW4,其中如果不是级联模式,则不需要写入ICW3

ICW2即写入中断向量码,D7-D3写入中断向量码高5位,低3位由IR序号构成

ICW3写入级联控制字,对于主片,D7-D0相应位=1表示改为连接从片;对于从片,D2-D0标识码表示了该从片连接到主片的那个IR引脚上。

OCW1中断屏蔽字,将D7-D0写入IMR,屏蔽置1的中断

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。