《微机原理与接口技术》期末复习笔记「建议收藏」

2022-11-10 15:46:15 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

微机原理与接口技术

第01章 微机原理概述

基本知识

  • CPU:中央处理单元(Central Processor Unit),处理器,能够分析和执行指令的部件,能分析和执行指令的芯片就是CPU
  • MPU:微处理器,Micro Processor Unit,CPU集成芯片,比传统CPU功能性能简化,集成度高,价格低廉,性价比高
  • 微型计算机(微机:MicroComputer):MPU 存储器 I/O接口 外设 软件系统,简称微机
  • PC机(Personal Computer)
  • 计算机的三种典型应用形态:
  • 主板为各个部件(CPU、内存、硬盘、显卡、键盘、鼠标等)提供相应接口,并通过总线将它们连结。
  • 主板含芯片组、BIOS芯片、CMOS芯片等
  • CPU组成及其性能参量 ■ 组成 ◆ ALU(算术逻辑运算单元) ◆ 控制器 ◆ 寄存器(Register)组 ◆ Cache(高速缓存) ■ 性能参量 ◆ 外频:CPU外部输入的时钟频率(MHz) ◆ 主频:CPU内部工作频率(MHz) = 外频 * 倍频 ◆ CPU位数:CPU字长,通用寄存器位数。 □ 32位:例如386,PIII、PIV,i3,…等; □ 64位CPU:Itanium(安腾)
  • Memory ■ 功能: ◆ 存放程序和数据 ■ 分类 ◆ RAM/ROM:掉电后所存储的数据丢失/不丢失 ◆ 主存(属于RAM型): □ 运行速度非常快,能与CPU直接交换信息 □ CPU将执行的指令是从内存中取得的 □ CPU访问内存通过系统的地址总线、数据总线、MEMR、MEMW 控制线来进行 ◆ 外存: 间接读写(软盘/硬盘/光盘/U盘等)
  • 主板接口:P37
  • CPU通过地址总线,数据总线,控制总线连接外部设备:
  • 地址总线 通常为32位,即A31~A0,因此,可寻址的内存单元为2^32=4GB。I/O接口也是通过地址总线来寻址的,它可寻址64KB的外设端口。
  • 数据总线 通常为32位,即D31~D0。数据在CPU与存储器和I/O接口之间双向传输。
  • 控制总线 传送各种控制信号:有CPU到存储器和外设接口的控制信号:存储器请求(MREQ)、I/O请求(IORQ)、读信号(RD)、写信号(WR)等;有外设到CPU的信号:READY、INT等

IA- Intel Architecture(x86架构)

  • CPU架构的概念 ■ 指令,寻址,内存接口,外部接口,扩展,……
  • Inte Architecture 32 = I.A. 32位
  • IA-32结构的最重要成就:向后兼容性
  • IA-32结构起源:Inte 8088/8086
  • IA-32结构同时包括16位处理器和32位处理器
  • 个人计算机的标准平台,最成功的CPU架构
  • 其他CPU架构: ■ 51单片机,ARM,MIPS,PowerPC,……
  • I.A.结构向后兼容:“冯.诺依曼”结构 I.A.规范 ■ 内存储器:存有数据和程序 ■ 部件之间的交互遵循I.A.规范

计算机存储器模型

*(1)读操作

*(2)写操作

计算机指令执行过程:

汇编语言

寻址——寻找物理地址(PA)

寻址方式——寻找操作数的物理地址的方式

操作数的存放地点:

  • (1)操作数在指令中 ■ 指令的操作数部分就是操作数本身。 ■ 也叫立即数
  • (2)操作数存放在CPU寄存器中 ■ 指令的操作数部分是寄存器的编码 ■ 也叫寄存器操作数
  • (3)操作数存放在内存中 ■ 指令的操作数部分包含操作数所在的内存地址 ■ 也叫存储器操作数

1.立即数寻址方式

举例:

代码语言:javascript复制
MOV AL, 10 ;十进制数(D)
MOV AL, 00100101B ; 二进制数(B)
MOV AX, 263AH ; 十六进制数(H)

特点:

  • 操作数直接存放在指令中,紧跟在操作码之后

2.寄存器寻址方式

举例:

代码语言:javascript复制
INC SI
MOV AX,BX

特点:

  • 指令中直接给出寄存器名,寄存器的内容即为操作数
  • 不需要访问总线周期,因此指令执行速度比较快
  • 16位操作数:AX、BX、CX、DX、SI、DI、SP、BP等
  • 8位操作数:AH、AL、BH、BL、CH、CL、DH、DL等

3.存储器寻址方式

举例:

代码语言:javascript复制
MOV AL, [2000H] ; AL ← PA=DSx16  2000
MOV AX,[SI] ; AX ← DSx16   [SI],[SI+1]
MOV BH,[BP] ; BH ← SSx16   [BP]
MOV AX, [BX 10H] ; EA=(BX) 10H
MOV AX, [BX SI] ; EA=(BX) (SI) ; DS段

特点:

  • 指令直接或间接给出有效地址EA,物理地址PA需计算.
  • 计算物理地址分2步 ■ (1)先计算有效地址EA(与寻址方式有关) ■ (2)再计算物理地址PA(与存放的段有关)

3.1 寄存器直接寻址方式

举例:

代码语言:javascript复制
MOV AL,[2000H] ; AL ← PA=DSx16 2000

特点:

  • 指令中直接给出有效地址EA:8位或16位位移量
  • PA = (段寄存器)X 10H 指令中的EA
  • 默认方式下:段寄存器是数据段DS
  • 段跨越:指令增加段寄存器名前缀:CS,ES,SS等

段超越的例子:

代码语言:javascript复制
MOV AX,ES:[2000H]
ES:MOV AX, [2000H]

3.2 寄存器间接寻址方式

举例:

代码语言:javascript复制
MOV AX,[SI] ;AX ← DSx16   [SI],[SI+1]
MOV BH,[BP] ;BH ← SSx16   BP
MOV CX,ES:[BX] ;将ES段[BX][BX 1]内容送CL,CH

特点:

  • 操作数的有效地址EA在寄存器中
  • 对16位寻址,EA只能放在DI、SI、BX、BP中 ■ 若EA在DI、SI、BX中,默认段为数据段DS ■ 若EA在BP中,默认段为堆栈段SS ■ 支持段跨越

3.3 寄存器相对寻址方式

举例:

代码语言:javascript复制
MOV AX, [BX 10H] ; EA=(BX) 10H

特点:

  • 给定基址/变址寄存器相对偏移量两者之和为EA
  • 寄存器BX、SI、DI默认是数据段DS
  • 寄存器BP默认堆栈段SS
  • 支持段跨越

3.4 基址变址寻址方式

举例:

代码语言:javascript复制
MOV AX, [BX SI] ; EA=(BX) (SI) ;DS段

特点:

  • 有效地址EA是基址寄存器变址寄存器的和
  • 默认段由基址寄存器决定
  • 支持段跨越

3.5 相对基址变址寻址方式

特点:

  • 有效地址EA是基址寄存器 变址寄存器 偏移量三者之和
  • 基址寄存器可取BX或BP,变址寄存器可取SI或DI
  • 段寄存器由基址寄存器决定 ■ 基址寄存器是BX,则默认段为DS ■ 基址寄存器是BP,则默认段为SS

第02章 微机原理(8088)

2.1 8088CPU的基本原理

8086/8088 CPU的特点

  • 采用并行流水线工作方式
  • 支持多处理器系统
  • 片内无浮点运算部件,浮点运算由数学协处理器8087支持(也可用软件模拟) ■ 注:80486DX以后的CPU均将数学协处理器作为标准部件集成到CPU内部
  • 对内存空间实行分段管理

8086/8088 MPU

相同点:

  • 寄存器:16位
  • 地址线:20根,1MB内存

差异:数据总线,指令队列

  • 数据总线: ■ 8086:16根 ■ 8088: 8根(准16位机)
  • 指令队列: ■ 8086:6字节 ■ 8088:4字节

8088内部结构:EU和BIU

  • EU(Execute Unit,执行单元):负责执行指令或运算
  • BIU (Bus Interface Unit,总线接口单元):负责读指令和数据

EU功能和内部构成

  • 内部构成 ■ 1)ALU:执行基本运算和处理. ■ 2)一组通用寄存器 标志寄存器 ■ 3)EU控制系统:队列控制和时序控制
  • 功能:负责执行指令或运算 ■ 从指令队列中取指令代码,译码,在ALU中完成数据的运算,结果的特征保存在标志寄存器中

BIU功能和内部构成

构成:

  • 1)四个段寄存器 指令指针IP
  • 2)地址加法器:段地扯和偏移地址相加,形成20位物理地址
  • 3)指令队列缓冲器: 6或4字节
  • 4)总线控制逻辑:内外总线接口

功能:

  • 具有预取指令的功能 ■ 执行指令的同时从内存取下一条或几条指令放在队列中
  • 指令执行顺序 ■ 顺序指令执行 ■ 执行转移指令后: 清除队列。从新地址取指并立即送往执行单元

8088工作原理:取指令-执行指令不断循环

8088并行工作方式:流水线

  • 指令预取队列的存在使EU和BIU可同时工作
  • 2级流水线

2.2 8088的运行(执行)环境

14个基本寄存器

  • 8个通用寄存器 ■ General Registers ■ 数据和地址寄存器各4个
  • 1个指令指针寄存器 ■ IP: Instruction Point
  • 1个状态标志寄存器 ■ Flags Register
  • 4个段寄存器 ■ Segment Registers ■ CS,DS,SS,ES

4个数据相关的寄存器:AX,BX,CX和DX

  • 常用来存放参与运算的操作数或运算结果
  • 16位数据寄存器,分为8个8位寄存器 ■ AX: AH,AL ■ BX: BH,BL ■ CX: CH,CL ■ DX: DH,DL
  • 8位可以单独操作位
  • 习惯使用 ■ AX:累加器。多用于存放运算结果及与外设信息等 ■ BX:基址寄存器。常用于存放内存地址 ■ CX:计数寄存器。循环或串操作存放循环或重复次数 ■ DX:数据寄存器。在32位乘除法运算存放高16位数

4个地址相关的寄存器:SP,BP,SI,DI

  • SP,BP,SI,DI:段内寻址时存放偏移地址 ■ SP(Stack pointer)——堆栈指针寄存器 用来指示栈顶的偏移地址,必须与SS段寄存器联合使用确定实际地址 ■ BP(base pointer)——基址指针寄存器 可以与SS寄存器联合使用来确定堆栈段中某一存储器单元地址 ■ SI——Source Index Register 源变址寄存器 ■ DI——Destination Index 目的变址寄存器

1个指令指针寄存器:IP

  • 存储CPU将要执行的下一条指令的偏移地址
  • CPU在执行完一条指令之后,会自动将下一条指令的偏移地址存入到IP中

1个状态标志寄存器:PSW

16位,包含9个标志位(6个状态位,3个控制位)

  • 状态位:由算术、逻辑运算结果结果自动设置 ■ 作为条件转移指令的转移控制条件
  • 控制位:由用户或程序直接或间接设置。
  • 状态位的例子 ■ OF(Overflow Flag),溢出标志位 ​ 功能:标示符号数的运算结果是否溢出
  • 控制位的例子 ■ DF(Direction Flag),方向位 功能:用于控制字符串操作的地址步进方向

4个段寄存器:CS,DS,SS,ES

段寄存器和其他寄存器组合起来指向某个内存单元

数据存放规律

堆栈

  • 例子:子程序调用的过程

调用发生后,主程序在CPU中的运行环境被破坏调用返回时,必须恢复主程序之前的运行环境

堆栈(STACK):

  • 在子程序调用和中断服务时存储参数现场数据
  • 特殊内存 ■ “后进先出”(LIFO)存储 ■ 堆栈一端固定(栈底),另一端活动(栈顶),数据只允许从栈顶存取(进或出) ■ 栈指针:指示栈顶位置(Stack Poniter,SP)
  • 堆栈的伸展方向 ■ 栈的地址,栈的地址
  • 栈的操作(PC) ■ 入栈:将一个数存入栈顶,并改变SP (变小) ■ 出栈:从栈顶读出一个数据,并改变SP (变大)

入栈操作:

  • PUSH SRC; SRC 代表寄存器或存储单元地址
  • 功能:将寄存器或存储单元中的一个字压入堆栈
  • 操作: ■ “先减后入”: ​ SP-1→SP, 字高位→[SP] ​ SP-1→SP, 字低位→[SP]
  • 结果:SP-2, 数据高对高,低对低存放

出栈操作:

  • POP DST ; DST 代表寄存器或存储单元地址
  • 功能:将栈顶一个字传送到寄存器或存储单元中
  • 操作 ■ “先出后加”: ​ [SP]→字低位, SP 1→SP ​ [SP]→字高位,SP 1→SP
  • 结果:SP 2, 数据低对低,高对高存放

2.3 数字电路、常用门和IC芯片

三态门:

典型应用:数据传输方向控制、总线存取控制、模拟开关

触发器——D触发器

锁存器——D锁存器

功能表:

太难了而略过的内容:

锁存器74HC373:8D三态锁存器

Intel 8282:三态锁存器

异步清零的锁存器:74LS273

74LS244 ——缓冲器(实质是三态开关)

74LS245 ——缓冲器(实质是三态开关)

缓冲器—— Intel 8286 (实质是三态开关)

基本芯片–译码器

3-8译码器

2.4 8088微处理的外部结构

[PPT02 P60-87]

2.5 8088处理器时序和总线周期

[PPT02 P89-99]

2.6 IA-32发展历史

[PPT02 P101-115]

第03章 接口概念和原理

3.1 接口/端口的定义

  • 任何两电路或设备间的连接电路都可称接口
  • 接口是一组特殊控制电路,介于CPU与内存、CPU与外设之间
  • 各种外设都必须通过接口才能和CPU(或总线)相连

​ ■ 寻址:确定设备的地址,区分不同的设备; ​ ■ 缓冲:适配外设与CPU的工作速度; ​ ■ 转换:适配外设与CPU的信息格式、类型、幅度; ​ ■ 时序:外设与CPU的工作时序。

  • 接口电路的组成:由多类/多个寄存器构成 ■ 数据寄存器,暂存数据 ■ 状态寄存器,暂存状态 ■ 命令寄存器,暂存命令

定义: 端口:寄存器的另一称呼

  • 端口**【PORT】** ■ 端口就是接口中的寄存器CPU,与外设信息交换场所 ■ 端口:可寻址(端口地址

微机的端口

  • 16根I/O线:地址空间216 = 64K
  • IBM:A0~9线有效,地址空间210 = 1K:000H ~ 3FFH
  • PC系统IO端口的分配 ■ 前256个端口:000h-0FFh,系统外设占用 ■ 后768个端口:100h-3FFh,常规外设占用

3.2 端口访问指令

3.3 接口/端口地址设计

第05章 定时器/计数器和8253A

定时(计时)

  • 为CPU和外设提供时间标记或一段时间
  • 时序,各种周期,时间片、系统时间、时间间隔、运行时间

8253A的结构和基本特点

  • 3个16位相互独立的计数器:T0, T1, T2
  • 每个计数器都可以按照二进制二-十进制计数
  • 每个计数器可设置6种不同的工作方式
  • 每个计数器可以预置计数初值(时间常数)
  • 计数器的当前计数值可被CPU读出

略过:8253A

第06章 中断和8259A

略过:8259A

第07章 直接内存存取(DMA)

略过:8237A

第08章 并行接口和8255A

略过:8255A

第09章 串行接口和8251

略过:8251A

第10章 DA转换和AD转换

略过:ADC0809

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

0 人点赞