微机原理
自动生成的md文档,很乱,建议点我主页下载思维导图
存储器
组成
-
高速缓冲存储器(cache)
-
CPU和内存之间,提高CPU访问存储器的速度
-
单向,只能从内存读给CPU
- SRAM
-
-
-
主存储器(随机存储器RAM)
-
有一定的容量且速度较高的存储器作为内存,CPU可直接用指令对内存储器进行读写,半导体,掉电消失
-
静态SRAM
- 一般作cache,MOS管构成,不需要刷新电路就能保存数据,具有静止存储的作用,SRAM追求速度,一般容量比较小
-
动态DRAM
- 一般用作内存,DRAM的信息具有一定的时间性,超过一定时间数据就会消失,所以为了数据常在,需要周期性的对所在数据重写,容量大,廉价
-
-
-
外存储器(只读存储器ROM)
-
CPU不能直接用指令对外存进行读写,要使用外存的信息必须先调入内存,容量大,速度低,存放暂时不用的文件,永久保存,掉电不消失
-
PROM
- 一次性,写入之后不能更改
-
EPROM
- 可以重复编程,可以多次改写内容,紫外线可擦除
-
EEPROM
- 电可擦除只读存储器
-
-
存取周期
- 取数时间
- 启动间隔
容量
-
2的地址线次方*数据线
-
2的10次方=1K
- 单元数*每个单元位数=总容量
-
SRAM6264
-
CE
-
CS非
-
使能引脚(片选)
- 满足对应的电平才能工作
-
-
-
WE非
- 写入允许引脚
-
OE非
- 读出允许引脚
Intel 2164
DRAM
-
D IN/D OUT 两条数据线(算容量是一位)
-
A0~A7八条地址线,行和列分时工作
-
第一次送行第二次送列
-
读写过程
-
-
-
RAS
- 行地址选通信号
-
CAS
- 列地址选通信号
-
WE非
-
写入允许引脚
- 0写1读
-
-
2的16次方个单元
-
64Kb
- 分为4个128*128
-
-
先送行再送列,就选中了某一个单元
- 一次选中四个存储模块的相同行,每次刷新4*128=512个单元
-
2ms刷新一遍,每个刷新周期15.625微秒
门电路
38译码器
- 74LS138
全译码
- 子主题 1
容量=末字节地址-首地址+1
I/O接口
组成
-
子主题 4
- 数据口
- 状态口
- 控制口
编址方式
-
统一编址
-
I/O端口和内存单元统一编址,把IO端口当作内存单元对待,从整个内存空间中划出一个子空间给IO端口,用访问存储器的指令对IO端口进行操作
- 优点:访问内存的指令访问IO,数据处理能力强,不区分内存和外设,可以减少引脚
- 缺点:指令操作不清晰,IO端口占用了一部分内存空间
-
-
独立编址
-
I/O端口编址和存储器编址相互独立,分开设置,互不影响,对IO端口的操作使用输入输出指令(I/O指令)
- 优点:不占用内存空间,使用IO指令,程序清晰,容易看出是IO操作还是存储器操作
- 缺点:需要特定的引脚区分内存和IO单元的访问
-
指令
- IN AX/AL,DX/00-FFH
- OUT DX/00-FFH,AX/AL
CPU与外设交换数据的方式
-
来自CPU,速度较低,软件上都是用CPU执行程序完成的,硬件上读写控制信号地址信号都是CPU发出的,缺点:程序的执行速度限定了传送的最大速度
-
程序控制方式
-
无条件传送方式(同步),总是处于准备好的状态,软件和接口简单,效率低,用于简单外设,适用范围窄
- 子主题 1
-
查询传送方式(异步),传送前,CPU对外设状态检测,不是随时准备好,效率要求不高,外设要提供状态信息,效率低
-
中断传送方式,CPU效率高,实时性好,速度快,缺点程序编制较为复杂
-
DMA传递方式
-
外设和内存之间直接传递数据的方式,不需要CPU干预,也不需要软件介入,总线由DMAC控制,CPU暂时放弃总线控制权,内存和外设的地址和读写控制信号由DMAC提供
- 周期挪用
- 周期扩散
- CPU停机方式(常用,简单)
-
传送方式
-
单字节传送
-
成组传送
- 请求传送
-
-
-
DMAC基本功能
- 向CPU发出请求
- 接收CPU发出的允许DMA相应信号
- 寻址存储器即能输出地址信息和修改地址
- 能像存储器和外设发出读写控制信号
- 控制传送的字节数,判断DMA是否结束
- DMA传送结束后,能结束DMA请求信号,释放总线,使CPU恢复正常工作
-
-
中断
中断过程
-
中断请求
- 外部中断源向CPU发出请求,通过INTR(可屏蔽中断请求引脚)或NMI(不可屏蔽)引脚引入CPU
-
中断优判
- 判定中断优先权,能实现中断嵌套
-
中断响应
-
CPU每执行一条指令后查询是否有中断请求,并且此时CPU允许(IF=1)CPU相应中断
-
响应中断后系统做的工作
-
关中断(IF清零)
-
保存FR和断点
- 保存到堆栈,SP-6
-
形成中断入口地址
-
-
-
-
中断处理
-
执行中断服务程序
- 保护现场,先PUSH再POP,入栈保护现场
-
-
中断返回
- 在中断返回前,要开中断,以便再次相应中断,最后一条实指令IRET,弹出断点地址送IP和CS,和标志寄存器FR
优先级
-
软件查询方式
- 顺序查询,同时有中断请求先查谁执行谁
-
硬件查询方式
- 简单硬件方式,菊花链式或链式
- 专用硬件方式—可编程的中断控制器
结构
-
分类
-
256个中断源
-
硬件中断
-
外部中断,由外部硬件产生
-
NMI,非可屏蔽中断
-
不受IF控制,一般只有一个
- 类型号为2
-
-
INTR,可屏蔽中断,受IF影响,IF等于1才能相应中断,0屏蔽
-
中断类型是由外部读入的,7个总线周期
-
(1)执行第一个INTA周期(应答周期)(INTA是中断响应信号)
- INTA应答
-
(2)执行第二个INTA周期,取中断类项码,CPU接到类型码后将他左移两位(乘四),形成向量表指针存入暂存器
- INTA取类型码,
*4变成中断向量表地址
- INTA取类型码,
-
(3)执行一个总线写周期,将FR压栈,同时IF和TF为0,禁止其他可屏蔽中断进入,禁止出现单步中断
- 压FR,关IF,TF
-
(4)执行一个总线写周期,CS压栈
- 压CS
-
(5)执行一个总线写周期,IP压栈
- 压IP
-
(6)执行一个总线读周期,从中断向量表中取出中断服务程序入口地址的偏移量送IP
- 取入口地址IP
-
(7)执行一个总线读周期,从中断向量表中取出中断服务程序入口地址的段地址送CS
- 取入口地址CS
-
-
-
-
-
软件中断
-
根据软件指令或者软件产生的,与外部电路完全无关
-
软中断不受IF影响,无法用软件禁止,固定
<
-
-
-