《微机原理与接口技术》期末复习笔记
微机原理与接口技术
第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.立即数寻址方式
举例:
MOV AL, 10 ;十进制数(D)
MOV AL, 00100101B ; 二进制数(B)
MOV AX, 263AH ; 十六进制数(H)
特点:
- 操作数直接存放在指令中,紧跟在操作码之后
2.寄存器寻址方式
举例:
INC SI
MOV AX,BX
特点:
- 指令中直接给出寄存器名,寄存器的内容即为操作数
- 不需要访问总线周期,因此指令执行速度比较快
- 16位操作数:AX、BX、CX、DX、SI、DI、SP、BP等
- 8位操作数:AH、AL、BH、BL、CH、CL、DH、DL等
3.存储器寻址方式
举例:
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 寄存器直接寻址方式
举例:
MOV AL,[2000H] ; AL ← PA=DSx16+2000
特点:
指令中直接给出有效地址EA:8位或16位位移量
PA = (段寄存器)X 10H +指令中的EA
默认方式下:段寄存器是数据段DS
段跨越:指令增加段寄存器名前缀:CS,ES,SS等
段超越的例子:
MOV AX,ES:[2000H]
ES:MOV AX, [2000H]
3.2 寄存器间接寻址方式
举例:
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 寄存器相对寻址方式
举例:
MOV AX, [BX+10H] ; EA=(BX)+10H
特点:
- 给定基址/变址寄存器和相对偏移量,两者之和为EA
- 寄存器BX、SI、DI默认是数据段DS
- 寄存器BP默认堆栈段SS
- 支持段跨越
3.4 基址变址寻址方式
举例:
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 Point1个状态标志寄存器
■ Flags Register4个段寄存器
■ 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
《微机原理与接口技术》期末复习笔记相关推荐
- 【数字图像处理】期末复习提纲
[数字图像处理]期末复习提纲 这是朋友圈内的学霸同学分享的,巨强!!!
- 汇编与接口技术期末复习笔记(1)—— 汇编部分
文章目录 0. 计组先导知识 0.1 进位计数制 0.2 计算机中数和字符的表示 1. 基础知识 1.1 汇编语言 1.2 硬件接口 2. 80x86计算机组织 2.1 计算机系统 2.2 8086微 ...
- 信息安全与技术期末复习
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.课程知识体系结构 二.信息加密技术 (一).古典密码体制 1.网络信息安全基本概念: 2.数据加密的组成及各部分含 ...
- 《数字图像处理技术》期末复习笔记
数字图像处理技术 第一章 图像处理主要内容:广义上:图像采集.图像编码与传输.图像信息处理.图像显示,狭义上:图像增强.图像恢复.图像分割.图像表示 DI:将一幅画面在空间上分割称离散的像素,各像素点 ...
- 【期末复习】北京邮电大学《数字内容安全》课程期末复习笔记(5. 社交媒体安全)
[相关链接] [期末复习]北京邮电大学<数字内容安全>课程期末复习笔记(1. 绪论) [期末复习]北京邮电大学<数字内容安全>课程期末复习笔记(2. 信息隐藏与数字水印) [期 ...
- 【期末复习】北京邮电大学《数字内容安全》课程期末复习笔记(4. 多媒体安全)
[相关链接] [期末复习]北京邮电大学<数字内容安全>课程期末复习笔记(1. 绪论) [期末复习]北京邮电大学<数字内容安全>课程期末复习笔记(2. 信息隐藏与数字水印) [期 ...
- 【期末复习】北京邮电大学《数字内容安全》课程期末复习笔记(2. 信息隐藏与数字水印)
[相关链接] [期末复习]北京邮电大学<数字内容安全>课程期末复习笔记(1. 绪论) [期末复习]北京邮电大学<数字内容安全>课程期末复习笔记(3. 文本安全) [期末复习]北 ...
- 【期末复习笔记】知识产权法——著作权、专利法、商标权
[期末复习笔记]知识产权法 著作权 著作权法不予以保护的客体 著作权的归属 著作权的内容 著作人身权 著作财产权 著作权的取得方式:自动取得 著作权的保护期限: 邻接权 表演者权 表演者义务 表演者权 ...
- 计算机图形学期末复习笔记
计图期末根据老师ppt整理期末复习笔记. 第二章 图形系统综述 1.视频显示设备 刷新式CRT(阴极射线管) 光栅扫描显示器 随机扫描显示器 彩色CRT监视器 直视存储管 平板显示器 三维观察设备 ...
- 数字图像处理与Python实现笔记之图像特征提取
数字图像处理与Python实现笔记 摘要 绪论 1 数字图像处理基础知识 2 彩色图像处理初步 3 空间滤波 4 频域滤波 5 图像特征提取 5.1 图像颜色特征提取 5.1.1 颜色直方图 1 一般 ...
最新文章
- 【干货】就这一篇,解决90% 新手连接虚拟机的网络问题
- 【通俗理解】差模电压和共模电压
- jpi多表联查_数据库两表联查、多表联查,多重联查
- 漫步线性代数十二——网络
- ThinkPHP---rbac权限管理
- odoo10参考系列--视图三(其他高级视图)
- linux system查看内存占用,Linux查看系统内存占用
- python(48):re.split 多分隔符
- 大厂,君子好逑?大厂面试题你能过吗
- 4.3 AlexNet CNN、tensorflow实现——python实战
- html工资计算页面模板,工资计算.html
- Linux使用QQ邮箱
- 如何确定因果关系?四种理论分析模型!
- java正则表达式双引号_java正则表达式去掉双引号
- python关键词占比_搜索关键词占比
- ibus mozc 日文输入法
- uni-app的介绍
- python调用大漠插件寻路_python怎么调用大漠?
- 谈task_struct
- 对于一个基本有序的数组进行排序
热门文章
- android 经纬度工具类,计算经纬度距离工具类
- 如何修改图片大小200kb?怎样让图片不超过200k?
- 初学struts2 出现There is no Action mapped for namespace...错误
- 嵌入式RTOS的 任务栈 和 系统栈
- twitter APi的使用与twitter数据的应用
- 53. 验证外星语词典
- 在linux中安装浏览器吗,教你如何在 Linux 中安装 Microsoft Edge 浏览器
- PC端微信dat图片怎么查看?这里有神器
- jquery中的循环技巧
- 【LabVIEW串口编程】03 串口接收