目录
- 第一章 微型计算机的基础知识和发展概况
- 第二章-微处理器结构和工作模式
第一章 微型计算机的基础知识和发展概况
1 计算机中数的表示方法
考点1:2、8、16、10进制数的转换
考点2:原码、补码、反码
原码:正数的符号位用0,负数的符号位用1
反码:正数的反码和原码相同,负数的反码是除符号位之外按位取反。
补码:正数的补码和原码相同,负数的补码是符号位不变其余部分按位取反后+1
2 计算机基本结构与软件
计算机工作原理
冯诺依曼计算机体系结构:
取一条指令的工作工程
如何并行执行指令:
- 使用多核处理器
- 指令流水线
计算机软件
计算机程序:是指一组指示电子计算机或其他具有消息处理能力的电子设备每一步动作的指令,通常使用程序设计语言编写。
03 微型计算机结构与系统
考点3:微型计算机的构成(定义、各部分的作用)
微型计算机页简称微型机或微机
- CPU采用被集成在一块芯片上的微处理器
- 系统各个部件通过总线连接
- 所有外设都要通过IO接口电路才能连接到CPU
1、微处理器
- 简称cpu,主要包括:算数逻辑单元(ALU)、运算器,控制器,寄存器组、时序和控制部件以及内部总线
- 主要完成:控制微处理器和存储器或IO设备之间交换数据;进行算数和逻辑运算等操作;判定和控制程序流向
2、存储器
- 用来存放数据和指令的单元
- 内存按单元组织,每一个单元都对应一个地址
- 内存的容量,即为所含存储单元的个数,以字节为单位
- 内存容量的大小依CPU的寻址能力而定,实地址模式下为CPU地址信号线的位数
- 按照工作方式可分为
- 随机存取存储器(RAM)
- 只读存储器(ROM)
3、输入输出设备和接口电路
4、总线
进行数据信息的传送
1、地址总线
- 地址总线用于传送地址信息,是单向总线,总是由CPU指向存储器或IO。通过这组总线,CPU可以对存储器或IO端口进行寻址。
- 地址总线的数目决定了CPU能直接寻址的范围。
2、数据总线
- 用于传送数据信号的总线为数据总线,数据总线是双向总线。
- 数据总线的多少决定了一台计算机的字长
3、控制总线
- 在微型计算机当中,CPU对存储器、外围芯片和IO接口的控制以及这些芯片对CPu的应答、请求信号组成的总线
8086当中的存储器介绍
AX,BX,CX,DX寄存器这四个寄存器也被称为通用寄存器.一般用来存放数据,一个寄存器可以存放16bit,也就是2bytes. 所以也被称为16位寄存器。什么特殊的地方导致这四个寄存器和其他寄存器不一样呢? 是因为这四个寄存器可以被分为两个8位寄存器,比如:
AX = AH + AL, BX = BH+BL, CX = CH + CL, DX = DH+DL
第二章-微处理器结构和工作模式
1 8086CPU的内部结构和存储器组织
1、8086CPU内部结构
- 总线接口部件(BIU):是CPU和外部存储器以及IO端口之间交换数据的接口电路,负责从内存指定单元中取出指令,送到6字节指令队列中排队,等待执行。执行指令时所需要的操作数,由BIU从指定的内存单元或IO端口获取,在送到EU去执行。执行完成之后也通过BIU将数据传送到内存或IO端口当中。
- 执行单元(EU):负责执行指令。从BIU的指令队列中取出指令,送到EU控制器,经过译码分析后执行指令。EU的算数逻辑单元ALU完成各种运算。
2、8086CPU的工作过程
- 先执行读存储器操作。根据BIU中现行段地址寄存器CS和指令指针寄存器IP的值,在地址加法器当中形成20位物理地址(CS*16+IP),通过地址总线送到存储器,指向指定的内存单元,在通过总线控制逻辑电路发出存储器读命令,从给定的地址单元中取出指令,送到先进先出的指令队列中等待执行。
- 执行单元EU从指令队列中取走指令,经EU控制器进行译码分析,向各个部件发控制命令,以完成执行指令的操作。
- 指令执行的过程当中,如果遇到跳转指令JMP或过程调用指令CALL,需要将指令队列当中的内容作废
- 流水线:取指令和执行指令可以重叠进行。
- 更多见P23
3、8086CPU内部寄存器
考点4:各个寄存器的作用(不会直接考但是后面会使用)(状态寄存器重点掌握)
1、数据寄存器
- 4个16位的数据寄存器,可以存放16位的地址或者数据信息;也可以分为8个8位寄存器使用,但是只能存放8位数据,不存放地址。
- AX累加器:在算数计算当中使用较多
- BX基址寄存器:存放偏移地址
- CX计数寄存器:循环操作时作计数器使用,用于控制循环程序的执行次数
- DX数据寄存器:乘除法,见指令讲解
2、地址指针和变址寄存器
SP、BP、SI、DI这组地址指针和变址寄存器加上基址寄存器BX,可以和段寄存器配合使用,一起构成内存的物理地址
- SP和BP可以与SS联合使用,用于设置或访问堆栈段。
- SI和DI……
3、段寄存器
CPU可直接寻址1MB的空间需要20位地址信息,但是CPU内部寄存器都是16位的,只能寻址64KB的空间,因此采用分段技术来解决,用一组段寄存器将1MB的存储空间分段。
8086当中有4个段寄存器,分别为CS(代码段,指令代码),DS(数据段的段基地址),SS,ES
用来存放各段起始地址的高16位值,称为段基地址或段地址。
段基地址和段内偏移组合起来可以形成20位物理地址
4、指令指针
用来存放要执行的下一条指令在现在代码段中的偏移地址,和CS一起构成要取出指令的物理地址。
5、标志寄存器💖
6个状态标志位
- CF:最高位有进(借)位时CF=1
- OF:溢出标志位,算数结果超出有符号数的范围时,OF=1
- ZF:零标志。运算结果为零时ZF=1
- SF:符号位标志。最高位是1时,SF=1
- PF:奇偶标志位。运算结果第八位,1的个数为偶数时,PF=1
- AF:辅助进位标志。在八位加减运算当中,低4位向高4位进位或借位时,就要AF=1。(BCD码当中使用,加调整加6,减调整减6)
3个控制标志位
- TF:陷阱标志位,TF=1时,CPU处于单步执行指令
- IF:中断允许标志位,IF=1使CPU可以相应可屏蔽中断请求
- DF:方向标志位。数据串操作时确定地址指针变化的方向
4、8086CPU引脚功能
考点5:8086CPU引脚功能(引脚信号高低知道它在干什么工作)
8086\8088是工作在最小还是最大模式由MN/MX引线的状态决定。
MN/MX=0——工作于最大模式
- MN/MX=1——工作于最小模式
4、8086的存储器组织
一、段地址和偏移地址
1)段地址和偏移地址组合成物理地址
- 20位的物理地址是由两个寄存器组合而成,第一个寄存器当中的是段(基)地址,第二个寄存器当中的是偏移量。
- 格式表示为 段地址:偏移地址=1234:0025H
- 20位物理地址=段基地址*16+16位偏移地址
- 由CPU的总线接口部件BIU的地址加法器完成
- 如:
- 计算某段的结束地址
- 例题:
2)默认段寄存器和偏移地址寄存器
段基地址和偏移地址的组合寻址:
- CS+IP:寻址下一条执行指令的字节单元
- SS+SP、BP:寻址存储器堆栈段的数据
- DS+BX、SI、DI等
3)堆栈的设置和操作
4)段加偏移量寻址机制允许重定位
8086、8088CPU的特点
- 采用并行流水线的工作方式
- 对内存空间实行分段管理
- 将内存分为4个段并设置地址段寄存器,实现对1MB空间的寻址
- 支持协处理器
2 8086的工作模式和总线操作
一、工作模式
考点6、最大最小工作模式(概念)
- 8086/8088可以在两种工作模式下工作,即最小模式和最大模式。
- 最小模式--即系统中只有8086一个微处理器。最小模式是单处理器系统。系统中所需要的控制信号全部由8086CPU本身直接提供。
- 最大模式--系统中有两个或两个以上的微处理器,即除了主处理器8086(以外,还有协处理器(8087算术协处理器)。最大模式可构成多处理器系统,系统中所需要的控制信号由总线控制器8288提供
二、总线操作
总线:是计算机系统个部件之间传输地址、数据和控制信息的通道。
- 单总线结构
- 面向CPU的双总线结构
第三章-8086的寻址方式和指令系统
8086指令系统
基本概念
指令:
控制计算机完成某种操作的命令
指令系统:
处理器所能识别的所有指令的集合
指令的兼容性:
同一系列机的指令都是兼容的。
指令格式
零操作数指令: 操作码
单操作数指令: 操作码 操作数
双操作数指令: 操作码 操作数,操作数
多操作数指令: 三操作数及以上
指令中的操作数
立即数操作数:
本身是参加操作的数据,可以是8位或16位,只能作为源操作数。
例: MOV AX,1234H
MOV BL,22H
立即数无法作为目标操作数
立即数可以是无符号或带符号数,其数值应在可取值范围内。
寄存器操作数:
参加运算的数存放在指令给出的寄存器中,可以是16位或8位。
例:
MOV AX,BX
MOV DL,CH
存储器操作数
参加运算的数存放在存储器的某一个或某两个单元中。
表现形式:[ ]
[ ]中的内容是存放所寻找数据的单元的偏移地址
在三类操作数当中所需要的时间最长
三种类型的操作数比较
1 8086的寻址方式
考点:寻址方式(重点)***
寻址方式
=寻找操作数所在的地址的方法
1、立即寻址
立即寻址仅适合于源操作数,即源操作数是参加操作的数据本身
例:
MOV AX,1200H
2、寄存器寻址
参加操作的操作数在CPU的通用寄存器中。
例:MOV AX,BX
注意:源操作数的长度必须与目的操作数一致,否则会出错
3、存储器操作数的寻址方式
指令的操作数都放在存储器当中,需要用不同的方法求出操作数的物理地址,来获得操作数
直接寻址
指令中直接给出操作数的偏移地址
默认在数据段
例:MOV AX,[1200H]
注意段重设
寄存器间接寻址
操作数存放在内存中,数据在内存中的偏移地址为方括号中的 通用寄存器内容
存放偏移地址的寄存器称为间址寄存器,它们是:BX,BP, SI,DI
寄存器相对寻址
操作数的偏移地址为寄存器的内容加上一个位移量
如:
MOV AX,[BX+DATA]
MOV AL,[BX]5
基址(B)变址(…I)寻址方式 [][]
- 基址寄存器BX此时用DS,是BP时用SS
- BX和BP不能同时出现
- SI和DI不能同时出现
相对基址变址寻址方式
4、隐含寻址
5、例题:
2 指令的机器码表示方法
考点:机器码表示方式(概念)
p65 即如何将汇编语言翻译成机器码
3 8086的指令系统
考点:8086指令系统(重点,中断指令不会考得很具体相关概念,唯一一个不用完全掌握的)
一、数据传送指令
1、通用数据传送指令(P无)
一般数据传送指令;堆栈操作指令;交换指令;查表转换指令
字位扩展指令(书上放在算术指令类)
特点:该类指令的执行对标志位不产生影响
1.1、一般数据传送指令 MOV
格式:
MOV dest,src
操作:
src->dest
例:
MOV AL,BL
注意点:
- 两操作数字长必须相同;
- 两操作数不允许同时为存储器操作数(即出现[][]);
- 两操作数不允许同时为段寄存器(cs,ss,Ds,Es);
- 在源操作数是立即数时,目标操作数不能是段寄存器(DS,SS,ES);
- IP和CS不作为目标操作数,FLAGS一般也不作为操作数在指令中出现。
应用例子:
1.2、堆栈操作指令
堆栈操作指令的原则
先进后出
以字为单位
- 指令的操作数必须是16位的;
- 操作数可以是寄存器或存储器两单元,但不能是立即数;
- 不能从栈顶弹出(pop)一个字给CS;
- PUSH和POP指令在程序中一般成对出现;
- PUSH指令的操作方向是从高地址向低地址,而POP指令的操作正好相反。
- push入栈指令
- 注意一下,这里的栈是栈底为FFFEH,栈顶为0H
- pop出栈指令
1.3、交换指令
格式:XCHG REG,MEM/REG
注:
- 两操作数必须有一个是寄存器操作数
- 不允许使用段寄存器(…S)
- 例:
- XCHG AX,BX
- XCHG [2000],CL
1.4、查表指令
例子:
1.5、字位扩展指令
将符号数的符号位扩展到高位;
指令为零操作数指令,采用隐含寻址,隐含的操作数为AX及AX,DX;
无符号数的扩展规则为在高位补0
1、字节(8bit)到字(16bit)的扩展
格式:CBW
操作:将AL内容扩展到AX
规则:
- 若最高位=1,则执行后AH=FFH
- 若最高位=0,则执行后AH=00H
2、字(16)到双字(32)的扩展
例题:
二、输入输出指令
关于IO端口:
- I/O接口中用于存储数据、可以直接被CPU访问的寄存器。
- 计算机输入输出系统中可以包含若干接口控制电路(芯片),每个接口中都包含了1个或多个端口。
1)IO指令
根据端口地址码的长度,指令具有两种不同的端口地址表现形式。
- 直接寻址
- 端口地址为8位时,指令中直接给出8位端口地址;
- 寻址256个端口。
- 间接寻址
- 端口地址为16位时,指令中的端口地址必须由DX指定;
- 可寻址64K个端口。
例题
注意:in和out当中的表达顺序
2)地址传送指令(重点LEA)
专用于传送地址码的指令,它可以用来传送操作数的段地址和偏移地址,包含以下三条指令:
1)LEA取有效地址指令(取近地址指针)
格式:LEA 目的,源
指令功能:取源操作数地址的偏移量,并把它传送到目的操作数所在的单元
指令要求:
源操作数必须是一个存储器操作数,目标操作数通常是间址寄存器。
应用:
2)LDS和LES
3)标志传送指令(ppt内容较少)
1、LAHF
操作:将FLAGS的低8位装入AH
LAHF 与LAHF相反
三、算术运算指令
1)加法运算指令
:::danger
加法指令对操作数的要求与MOV指令相同
:::
1.1 普通加法指令ADD
格式:
ADD OPRD1,OPRD2
操作:
OPRD1+OPRD2
ADD指令的执行对全部6个状态标志位都产生影响
1.2带进位的加法指令ADC
1.3加1指令INC
例如:
JNZ 是ZF=0时,执行;
2)减法运算指令
2.1 SUB指令
格式:
SUB OPRD1,OPRD2
操作:
OPRD1- OPRD2 ----》 OPRD1
对标志位的影响与ADD指令同
2.2 SBB
OPRD1- OPRD2- CF -----》OPRD1
SBB指令多用于两个多字节数相减运算
2.3 DEC
指令对操作数的要求与INC相同(不能是立即数和段寄存器)
指令常用于在程序中修改计数值
格式:
DEC OPRD
操作:
OPRD - 1----->OPRD
2.4 NEG指令
格式:
NEG OPRD(要求:寄存器或存储器操作数)
操作:
0 - OPRD------>OPRD
对一个负数取补码就相当于用零减去此数
说明:
执行NEG指令后,一般情况下都会使CF为1,除非给定的操作数 为零才会使CF为0;
当指定的操作数的值为80H(-128)或为8000H(-32768),则执行NEG 指令后,结果不变,但0F置1,其它情况下OF均置0。
用0减去操作数,可以得到负数的绝对值
2.5 CMP指令
格式:
CMP OPRD1,OPRD2
操作:
OPRD1- OPRD2
指令执行的结果不影响目标操作数,仅影响标志位!
用途:
用于比较两个数的大小,可作为条件转移指令转移的条件
指令对操作数的要求及对标志位的影响与SUB指令相同
(同大不同小)
功能:在20个数当中找到最大的数,并放在MAX单元
3)乘法运算指令
3.1无符号的乘法指令MUL
注意点:乘法指令采用隐含寻址,隐含的是存放被乘数的累加器AL或AX及存放结果的AX或AX,DX.
3.2*带符号的乘法指令IMUL
4)除法指令
乘除法指令总结
六、逻辑指令
逻辑运算指令对操作数的要求大多与MOV指令相同;
“非”运算指令要求操作数不能是立即数;
除“非”运算指令外,其余指令的执行都会影响除AF外的标志位
无论执行结果为何,都会使标志位OF=CF=0
“非”运算指令执行不影响任何标志位
1)与指令
格式:
AND OPRD1,OPRD2
操作:
两操作数相“与”,结果送目标地址。
与指令的应用
- 实现两操作数按位相与的运算
- AND BL,[SI]
- 使目标操作数的某些位不变,某些位清零
- AND AL,0FH
- 在操作数不变的情况下使CF和OF清零
- AND AX,AX
2)或指令
- 格式:
- OR OPRD1,OPRD2
- 操作:
- 两操作数相“或”,结果送目标地址
或指令的应用
- 实现两操作数 相 “或”的 运算
- OR AX,[DI]
- 使某些位不变,某些位置“1”
- OR CL,0FH
- 在不改变操作数的 情况下使OF=CF=0
- OR AX,AX
3)非运算
格式:
- nNOT OPRD
操作:
- 操作数按位取反再送回原地址
注:
- 指令中的操作数不能是立即数
- 指令的执行对标志位无影响
例:NOT BYTE PTR[BX]
4)异或运算
格式:
- XOR OPRD1,OPRD2
操作:
- 两操作数相“异或”,结果送目标地址
例:
- XOR BL,80H
- XOR AX,AX
5)测试指令
格式:
- TEST OPRD1,OPRD2
操作:
- 执行“与”运算,但运算的结果不送回目标地址。
应用:
- 常用于测试某些位的状态
七、移位操作
指令格式在形式上位双操作数,本质上为单操作数
指令的目标操作数为被移动对象,源操作数为移动次数
当目标操作数为存储器操作数时,需要指定其长度
移动一位时由指令直接给出,移动两位及以上,则移位次数由CL指定
注:指令的源操作数只能是1或CL
1)逻辑左移与算数左移
2)逻辑右移与算数右移
3)不带进位的循环移位
4)带进位的循环移位
应用
八、串操作指令
针对数据块或字符串的操作;
可实现存储器到存储器的数据传送;
待操作的数据串称为源串,目标地址称为目标串。
指令说明:
重复前缀
1)串传送MOVS
2)串比较指令
3)串扫描指令
4)串转入指令
用于将内存某个区域的数据串依次装入累加器,以便显示或输出到接口。
LODS指令一般不加重复前缀
5)串存储指令
串操作指令注意事项
- 需要定义附加段
- 目标操作数必须在附加段
- 需要设置数据的操作方向
- 确定DF的状态
- 源串和目标串指针分别为SI和DI
- 串长度值必须由CX给出
- 注意重复前缀的使用方法
- 传送类指令前加无条件重复前缀
- 串比较类指令前加条件重复前缀,但前缀不影响ZF状态
九、程序控制类指令
程序控制类指令的本质是:
- 控制程序的执行方向
决定程序执行方向的因素:
- CS(代码段寄存器),IP(指令指针)
控制程序执行方向的方法:
- 修改CS 和IP ,则程序转向另一个代码段执行;
- 仅修改IP,则程序将改变当前的执行顺序,转向本代码段内其它某处执行。
通过修改IP或CS和IP,实现程序的三种基本控制结构
- 顺序,选择(分支),循环
1)转移指令:
通过修改指令的偏移地址或段地址及偏移地址实现程序的转移
1、无条件转移指令
无条件转移到目标地址,执行新的指令
格式:JMP OPRD(可以和JMP在同一或不同代码段)
可实现在整个内存空间当中的转移
1.1无条件段内转移
- 转移的目标地址在当前代码段内
- 即:目标地址是16位偏移地址
1.1.1段内直接转移
- 指令中直接给出目标地址
- JMP Label
- 下一条要执行的指令地址=当前IP+位移量
1.1.2段内间接转移
- 转移的目的地址存放在某个16位寄存器或存储器的某两个单元中。
- JMP BX
- 若BX=1200H,则转移的目标地址=1200H
1.2无条件段间转移
- 转移的目标地址不在当前代码段内
- 目标地址为32位:段地址+偏移地址
1.2.1无条件段间直接转移
- JMP FAR Label
1.2.2无条件段间间接转移
PPT18动画多看几遍
2、有条件转移指令
- 在具备一定条件的情况(满足标志位)下转移到目标地址
- 条件转移指令均为段内短转移,即转移的范围是:-128-+127
常用的几个条件转移指令
2)循环控制指令
2.1无条件循环指令
- 格式:LOOP LABEL
- 循环条件:CX不等于0
- 操作:DEC CX ;JNZ 符号地址
2.2条件循环指令
- 先使CX-1,再根据CX和ZF的值来判断是否继续循环
- 格式:LOOPPZ Label 继续循环的条件:CX不等于0,ZF=1
- LOOPNZ Label 4 继续循环的条件:CX不等于0,ZF=0
3)过程调用
用于调用一个子过程;
与转移指令的比较:子过程执行结束后要返回原调用处;必须保护返回地址
调用指令执行的过程:
- 保护断点;
将调用指令的下一条指令的地址(断点)压入堆栈
- 获取子过程的入口地址;
子过程第1条指令的偏移地址
- 执行子过程,含相应参数的保存及恢复;
- 恢复断点,返回原程序。
将断点偏移地址由堆栈弹出
分类:
- 段内调用
- 段间调用
- 返回指令
4)中断指令(唯一不需要完全掌握的)
中断与过程调用
中断指令执行的过程
- 将FLAGS压入堆栈;
- 将INT指令的下一条指令的CS、IP压栈;
- 由n×4得到存放中断向量的地址;
- 将中断向量(中断服务程序入口地址)送CS和IP寄存器;
- 转入中断服务程序。
中断返回指令
- 格式:IRET
- 负责:恢复断点,恢复标志寄存器的内容
第四章 汇编语言程序设计
1 汇编语言程序格式和伪指令
考点 程序格式和伪指令(重点)
一、程序格式
1、基本概念
2、语句格式
1、指令性语句:
CPU执行的语句,能够生词目标代码
标号后面要加冒号(:),表示该指令的符号地址,常常作为转移指令的操作数,例如:
标号后有冒号,在指令性语句前(英文字母、数字及专用字符组成,最大长度不能超过31个,且不能由数字打头,不能用保留字(如寄存器名,指令助记符,伪指令))。
2、指示性语句:
又叫伪指令语句,或伪指令,没有对应的机器码,CPU不执行,由汇编程序执行的语句,不生成目标代码
名字后不加冒号,在指示性语句前。(规定同标号)
3、常量变量
表达式:
取值运算符
属性运算符
一些例子
3、伪指令
由编译程序执行的“指令系统”
作用:定义变量;分配存储区;定义逻辑段;指示程序开始和结束;定义过程;(帮助计算机理解助记符指令编写的汇编语言源程序)
常用的伪指令
1.数据(变量)定义伪指令
作用:用于定义数据区中变量的类型及大小
注:定义字符串时必须要用DB伪指令
重复操作符
作用:为一个数据区的各个单元设置相同的初值
格式:【变量名】伪指令助记符 n DUP(初值,…)
列:M1 DB 10 DUP(0)
2、符号定义指令
格式:符号名 EQU 表达式
操作:用符号名取代后面的表达式,不可以被重新定义
3、段定义伪指令
作用:说明逻辑段的起始和结束;说明不同程序模块中同类逻辑段之间的联系形态
格式:segment
4、结束伪指令
作用:表示源程序的结束
格式:段名 END【标号】
5、过程定义伪指令(定义一个子程序)
作用:定义一个过程体
6、宏定义伪指令
宏:源程序中由汇编程序识别的具有独立功能的一段程序代码
格式:
7、调整偏移量伪指令
作用:调整段内程序代码或变量的起始地址或偏移地址
2 DOS系统功能调用和BIOS中断调用
考点 :DOS和BIOS中断调用(概念)
一、BIOS
驻留在ROM中的基本输入、输出系统
加电自检,装入引导,主要I/O设备处理程序及接口控制
二、DOS 系统功能调用
磁盘操作系统
DOS中断包括:
设备管理,目录管理,文件管理,其它用中断类型码区分
DOS软中断:
- 包含多个子功能的功能包;
- 用软中断指令调用,中断类型码固定为21H;
- 各子功能采用功能号来区分。
DOS功能/BIOS功能调用是调用系统内核子程序
DOS功能与BIOS功能均通过中断方式调用
过程:
第五章 存储器
1)存储器分类以及特点(概念)
2)存储系统相关概念
3)存储器与CPU连接(方式?)
4)Cache(概念)
1 存储器的分类
2 随机存取存储器RAM
特点:
可以随机读或者写操作
掉电后存储内容即丢失
1、SRAM
存储元由双稳电路构成,存储信息稳定。
2、DRAM
存储元主要由电容构成,需要定时刷新,定时对存储单元进行读写操作。
3 只读存储器ROM
1、EPROM(紫外线擦除)
可多次编程写入;
掉电后内容不丢失;
内容的擦除需用紫外线擦除器
2、EEPROM(电擦除)
可在线编程写入;
掉电后内容不丢失;
电可擦除。
3、FLASH
通过向内部控制寄存器写入命令的方法来控制芯片的工作方式。
通过读状态寄存器的值,获取芯片当前工作状态
与SRAM的区别:
在进行写入和擦除操作时需要12V编程电压
与普通EEPROM的区别:
通过读状态寄存器的内容确定是否可继续写入
提高写命令字的方式控制其处于何种工作方式。
4 存储器与CPU连接
23节在讲字位扩展
5 高速缓冲存储器
6 存储系统
将两个或两个以上速度、容量和价格不相同的存储器用硬件、软件连接起来。
系统的存储速度接近最快的存储器,容量接近最大的存储器。
计算机内的两种主要存储系统:
1、cache存储系统:主存储器,高速缓冲存储器
2、虚拟存储器系统:主存储器,磁盘存储器
第六章 IO接口和并行接口芯片(考一些概念)
考点:
1)I/O接口与端口(概念)
看书
2)端口编址(概念)
1、与内存统一编址
指令及控制信号统一
内存地址资源减少
2、独立编址
内存地址资源充分利用
能够应用于端口的指令较少
3)数据传送方式(概念)
1、无条件传送
要求外设总是处于准备好状态
优点:
软件及接口硬件简单
缺点:
只适用于简单外设,适应范围较窄
2、查询工作方式
仅当条件满足时才能进行数据传送;
每满足一次条件只能进行一次数据传送。
适用场合:
外设并不总是准备好
对传送速率和效率要求不高
工作条件:
外设应提供设备状态信息
接口应具备状态端口
3、中断控制方式
特点:
外设在需要时向CPU提出请求,CPU再去为它服务。服务结束后或外设不需要时,CPU可执行自己的程序。
优点:
CPU效率高,实时性好,速度快。
缺点:
程序编制相对较为复杂。
:::success
以上三种方式的信息传送均要通过CPU
:::
4、DMA方式
外设直接与存储器进行数据交换 ,CPU不再担当数据传输的中介者;
总线由DMA控制器(DMAC)进行控制(CPU要放弃总线控制权),内存/外设的地址和读写控制信号均由DMAC提供。