计算机原理(戴梅萼)
目录
1.微型计算机系统概论
1.1微型计算机系统组成
1.2冯诺依曼结构
组成
工作过程
1.3进制转换
十进制转换为r进制
二进制和八进制,十六进制转换
1.4补码性质和加减运算
相关定义
补码加减法运算规则
溢出判断
1.5BCD码
1.6ASCLL码
1.7计算机总线
总线使用特点
三态门在总线中的应用
D触发器
2.8088/8086微处理器的体系结构
2.1.8086微处理器的编程结构
2.1.2部件功能
2.1.3标志位
2.2分段技术
2.2.1段加偏移
2.2.2堆栈
2.2.8086电路结构
2.2.18086电路结构图
2.2.2引脚功能
2.3存储器结构
2.3.18086存储器结构
2.4.8086最小模式系统
2.4.1.最小模式电路图
2.5.8086总线操作
2.5.1总线周期
第五章 存储器系统
存储器分类
按存取速度和在计算机系统中的地位分类
按存储介质和作⽤机理分类
半导体存储器
1、按器件分类
2、按存储功能分类
存储器的性能指标
1、存储器容量
2、存取速度
3、可靠性
4、性能/价格⽐
随机读写存储器(RAM)
⼀、分类
⼆、半导体存储器的组成
存储器与cpu的连接
8086存储器空间
存储器的连接
8086系统存储器接⼝设计基本技术
中断系统
6.1 基本概念
1、中断的定义
2、中断源和中断请求
3、中断系统的目的
4、中断分类
5、中断系统功能
中断处理过程
中断优先级和中断嵌套
中断优先级
中断嵌套
中断分类
1、外部中断
2、内部中断
中断向量表
中断向量的定义
8086/8088的中断向量表
4、8086/8088中断的分类
外部中断
内部中断
中断响应和中断处理过程
可屏蔽中断的响应和处理过程
6.3 可编程中断控制器8259A
8259A的引脚
8259A的内部结 构
8259A的⼯作⽅式
连接系统总线的⽅式
8259A的控制字及编程使⽤
1、初始化命令字
操作命令字
第七章 I/0接⼝技术
7.1 I/O接⼝的基本概念
外设的概念
接⼝的概念
I/O接⼝的基本功能
I/O接⼝的作⽤
I/O接⼝传送信息的类型
I/O接⼝的主要功能
I/O接⼝的基本结构
I/O端⼝的编址⽅式
I/O接⼝的地址分配
I/O端⼝地址的译码及⽚选信号的产⽣
I/O数据传送控制⽅式
程序控制⽅式
程序查询传送⽅式
中断传送
DMA⽅式
7.2 可编程定时/计数器Intel 8253
⼀、概述
⼆、可编程定时/计数器8253的功能
三、可编程定时/计数器8253的内部结构框图
7.3 A/D转换和D/A转换
1.微型计算机系统概论
1.1微型计算机系统组成
1.2冯诺依曼结构
组成
由运算器,控制器,存储器,输入设备,输出设备,五部分组成
工作过程
数据,地址,指令均由二进制代码表示,把程序和数据存入存储器,给出程序的第一条指令地址,控制器从中按顺序不断读取指令,译码并执行直到全部操作完成。
1.3进制转换
十进制转换为r进制
由于十进制可以表示成
十进制整数部分,可以使用除r取余的方法进行转换,从多项式可看出每一次除以r可以逐渐得到从K0到K(n-1)的值,即从下至上表示从高位到低位。
小数部分,可以使用乘r取整的方式进行转换,从多项式可看出每一次成以r可得到K(-1)d到K(-m)的值
二进制和八进制,十六进制转换
三位二进制数表示成一位八进制,四位二进制数表示成一位十六进制数
1.4补码性质和加减运算
相关定义
原码,反码,补码是对于有符号数而言的。
正数:最高位为0,原码,反码,补码表示 都是一致的
负数:最高位为1,反码是原码除最高位外各位取反,补码为反码加一。
补码转换成原码:补码和原码存在互补关系,二者数值相加等于最高位为1,其余位为0的数,即补码再求补码(求反码加一)得到原码
补码加减法运算规则
[X±Y]补=[X]补+[±Y] 补
运算中规定:最高位第k位为1,其余位为0的补码的定义为,比正数最高位的模大1.
溢出判断
双高位判别法:最高位异或次高位进行判别。
1.5BCD码
采用四位二进制数来表示0-9,1010及以上的二进制数无意义
非压缩BCD码,用一个字节表示一个BCD码,前四位为0,后四位为BCD四位码
压缩BCD码,一个字节表示两个BCD码,即两位十进制数。
1.6ASCLL码
字符编码:采用7位二进制进行表示
数字0-9:字符’0‘的ASCLL码是0110000,其余数字类推
字母a-z:字符‘a'的ASCLL码是1000001,其余字母类推
字母 A-Z:字符’A‘的ASCLL码是1100001,其余字母类推
1.7计算机总线
总线是计算机中连接各部件的一组公共通信线。
总线使用特点
分时使用:①某一时刻只能有一个主控设备使用总线②某一时刻总线的输出 只能有一个,但输入的接受可以同时有多个
三态门在总线中的应用
三态门:输出可为1,0或高阻态的门。
①使用1,0输出进行信息传送,使用高阻态隔绝一条支路对其它部分的影响。
②使用三态门连接相应电路可以得到缓冲的输出
缓冲输出:拉电流(即向外传递的电流)可以达到较大值,灌电流(即向内传递的电流)也可以达到较大值。
非缓冲输出 :拉电流能力很弱,灌电流能力较强,则需要拉电流较强的很多时候都不能作用。
D触发器
用作信号的保持锁存,拥有记忆功能的部件,帮助信息传递。
2.8088/8086微处理器的体系结构
2.1.8086微处理器的编程结构
2.1.2部件功能
BIU:总线接口部件
功能:1从取指令送到指令队列
2.微处理器执行指令时,到指定的位置取操作数,并将其送至要求的单元
EU:执行部件
功能:
(1)从指令队列中取出指令。
(2)对指令进行译码,发出相应相应的控制信号。
(3)接收由总线接口送来的数据或发送数据至接口。
(4)进行算术运算。
2.1.3标志位
2.2分段技术
为什么要采用存储器“分段”技术?
8086CPU可直接寻址的地址空间为220=1M字节单元。CPU需输出
20位地址信息才能实现对1M字节单元存储空间的寻址。但8086
CPU 中所使用的寄存器均是16位的,内部ALU也只能进行16位运
算,其寻址范围局限在216=65536(64K)字节单元。为了实现对
1M字节单元的寻址,8086系统采用了存储器分段技术。
2.2.1段加偏移
物理地址=段地址*16+偏移地址
2.2.2堆栈
特点:堆栈段的起始地址在低位,但是堆栈的栈底在堆栈段的最高地址,专用寄存器sp存储堆栈栈顶偏移地址。
出入栈:堆栈的操作指令push,pop都是对字进行操作;
由于堆栈段的特点,有入栈先将sp减2,再将字存入;出栈先将字放出,再另sp加二。
2.2.8086电路结构
2.2.18086电路结构图
2.2.2引脚功能
①AD0~AD19:传输地址时,当作20位地址线;传输数据时,AD16~AD19做状态输出,AD0~AD15做数据输出。
②:低电位选通时开启数据传输高八位选中(奇体),控制数据的传输位数
③ALE:地址锁存信号,表示输出的是地址信息,配合锁存器进行地址的锁存。
④M/:高电平选中存储器,低电平选中I/O口
⑤:指示cpu正对存储器或IO口进行读操作
⑥:表示CPU正向存储器或I/O口输出数据。
⑦:高电平表示CPU正在发送数据;低电平表示CPU接收数据。(指示数据收发器)
⑧:表示正在收发数据(指示数据收发器)
⑨clk:时钟信号;
MN/MX:最大,最小模式选择信号;
RESET:数据复位信号,至少保持4个时钟周期有效,使标志寄存器及指令队列清零,cs段置为ffffh;
⑩中断类:
INTR: 可屏蔽中断请求信号输入,高电平有效。表示外部向CPU提出中断申请。
INTA: 中断响应信号输出,低电平有效。表示外设的中断申请得到响应。
NMI: 非屏蔽中断申请信号输入,上升沿有效。表示外部有非屏蔽中断申请。非屏蔽中断不受软件控制,CPU必须响应。
2.3存储器结构
2.3.18086存储器结构
A0为零选中偶体,BHE为零选中奇体,由此有
BHE |
A0 |
操作(读或写) |
0 |
0 |
同时访问两个存储体,读写一个字 |
0 |
1 |
只访问奇地址存储体,读写高字节 |
1 |
0 |
只访问偶地址存储体,读写低字节 |
1 |
1 |
无操作 |
2.4.8086最小模式系统
2.4.1.最小模式电路图
其中8284A作为时钟发生器;三片8282(或74LS373)作为地址锁存器;两片8286/8287(或74LS245)作为数据收发器。
2.5.8086总线操作
总线操作分为总线读和写操作,它们的总线周期大致相同,只是RD/RW,DT/R引脚在相同时序电平相反
2.5.1总线周期
解读:
上图是一个对存储器进行的读操作总线周期
clk作为时钟给其它引脚带来触发信号
M/IO作为选择存储器或IO口操作,在T1开始时就设置好
A19~16在T1进行寻址时作为地址输出,在T2开始准备数据时作为状态位
BHE在T1选中数据线高八位作为地址输出,在T2开始无效不用数据高八位传输
A15~0在T1做地址输出,在T2开始作数据输出
ALE作为地址锁存信号,在T1时刻有效,T2开始无效
RD在本周期为存储器读信号,在T1地址输出后T2开始有效,存储器准备数据,即将通过数据传送器输入到8086
DT/R代表的是数据传送器的读写,在T1开始就可以设置为读
DEN代表数据传送器是否有效,在T2开始有效,在T4的下降沿后开始无效(T4下降沿cpu读入数据)
READY表示T2开始数据是否准备好,如果在T3到T4的上升沿检测到数据没有准备好,则插入一个等待周期Tw
333.
操作指令:
数据传送指令:
mov,push,pop,in,out,lea,
xchg dest,src:dest与src可以同为寄存器操作数,或寄存器和存储器
xlat table:查表指令,表首址放在bx中,需要查找的序号放在al中,查找结果放在al中
算数运算指令:
add,adc,sub,sbb,inc,dec
mul src:当src为字节时,结果放在ax,当src为字时,结果放在dx和ax,src常用寄存器或内存数据
imul src:在mul的基础上变为有符号数的乘法
div src:src为寄存器操作数或存储器数据,当src为字节时,ax/src结果的商放在ax低位,余数放在ax的高位;当src为字时,(dx,ax)/src的商放在ax,余数放在dx
idiv src:在div的基础上将除数和被除数看作有符号数
aaa:非压缩bcd码调整指令,用在adc或add之后,对加法操作后在al的数据进行校正使其任然符合非压缩bcd码格式,十位在ah,个位在al,显然校正后的数应该小于19
daa:压缩的bcd码调整指令,用在adc和add之后,对al中的两个bcd码进行压缩bcd码的校正,结果应小于100;
aas:减法的非压缩bcd码校正,同样是对al进行校正
das:减法的压缩bcd码校正,同样是对al进行校正
aam:对乘法非压缩bcd码校正,同样对al进行校正,但校正后结果高位在ah,低位在al中
aad:对除法的非压缩bcd码进行校正,但是用在除法运算之前,对除数和被除数进行校正
cbw:将al中的符号位扩张到ah中,从字节数变成字数
cwd:将ax中的符号位扩展到dx中,从字数变成双字数
位操作指令:and,xor,or,not,test
shr,shl,sal,sar,ror,rol,ror,rcr,rcl当移动数大于一时,要把移动位数放在cl中
串操作:movsb/sw
scasb/sw src:关键字src必须放在ax或al中,查找es:di中的数据
cmpsb/sw
lodsb/sw
stosb/sw将al或ax中的数传递给es:di
子程序调用指令:
ah=1,7:输入字符放在al中
ah=2:输出字符放在dl中,输出的字符放在dl中
ah=9:输出字符串,以$为结尾,开始位置在dx指出
第五章 存储器系统
存储器是⽤来存储微型计算机⼯作时使⽤的信息(程序和数据)的 部件,正是因为有了存储器,计算机才有信息记忆功能。越靠近 CPU的存储器速度越快⽽容量越⼩。
存储器分类
按存取速度和在计算机系统中的地位分类
⑴ 内部存储器:习惯上 称为主存,⼜称内存。内部存储器通常和系统总线相连。⼜可细分 为:
内部CACHE:⼀个⾼速的指令或数据缓冲区。
外部CACHE:⽐主存储器的速度快,介于内部CACHE和
主存之间的⼀个缓冲区。
主存储器:计算机系统主要使⽤的空间。要求速度快,体积⼩,容量⼤。 ⼀般为半导体存储器。
(2)外部存储器:通常是通过总线接⼝电路与系统总线相连。速度较 慢,容量较⼤,价格较低,⽤于存放计算机当前暂时不⽤的程 序、数据或需要永久保持的信息。如磁盘、光盘等。
按存储介质和作⽤机理分类
⑴ 磁存储器
⑵ 光存储器
⑶ 半导体存储器:当前计算机系统的主存主要⽤半导体存储器。 它由⼤规模集成电路制成,体积⼩、速度快、功耗低。
半导体存储器
1、按器件分类
(1)双极性TTL电路:速度较快(10~50nS),集成度低,功耗⼤,成本⾼
(2)MOS:现⼤量使⽤CMOS存储器,存储速度 可达⼏纳秒。特点:集成度⾼(单⽚可达1Gb)、功耗⼩、成本低
(3)电荷耦合器:速度快、但成本较⾼
2、按存储功能分类
(1)读写存储器
随机读写存储器(RAM):可对任⼀单元进⾏读写,是计算机主存储器 62**系列(有we和oe)
后进先出存储器:寄存器、堆栈
先进先出存储器:寄存器、队列
(2)只读存储器
只能读(⽤特殊⽅法可写⼊),掉电信息不丢失,可作为主存 储器存放系统软件和数据等。
紫外线擦除只读存储器EPROM:27**系列(只有OE,没有we)
电擦除只读存储器EEPROM、FLASH
固定ROM
可编程只读存储器PROM
存储器的性能指标
1、存储器容量
存储器容量=单元数×数据线位数
2、存取速度
⽬前,⾼速缓冲存储器的 存取时间已⼩于5ns。存储周期是连续启动两次独⽴的存储器操作 所需要的最⼩时间间隔,这个时间⼀般略⼤于存取时间。
3、可靠性
存储器的可靠性⽤MTBF(Mean Time Between Failures)平均
故障间隔时间来衡量,MTBF越⻓,可靠性越⾼
4、性能/价格⽐
随机读写存储器(RAM)
⼀、分类
MOS型RAM⼀般可分为:
SRAM(静态RAM):使⽤触发器存储信息,速度快。
DRAM(动态RAM):使⽤电容存储信息,速度慢,因电容有漏电, 所以需要定时刷新,DRAM的刷新是按⾏进⾏刷新的.计算机中的主 存多以DRAM为主。
计算机内存的两种常⻅形式:
SIMM:单列存储器模块。只将芯⽚做在电路板的⼀边
DIMM:双列存储器模块。将内存芯⽚做在内存条两边,即电路板两边。
⼆、半导体存储器的组成
⼀般由存储体、地址选择电路、输⼊输出电路和控制电路组成。
1、存储体
⼀个1K*1的存储器,具有1024个存储单元,每个单元为1位,共有 1024个存储元件,由10根地址线和1根数据线构成。
2、地址选择电路
地址选择电路包括地址译码器和地址码寄存器。
地址译码器⽤来对地址译码
⑴ 单译码⽅式
它的全部地址码只⽤⼀个电路译码,译码输出的字选择线直接选中对应的存储单元
⑵ 双译码⽅式(或称矩阵译码)
采⽤双译码⽅式时可将RAM看作⼀个矩阵,读数据时需给出⾏地址 信号RAS (Row Address Signal) 和列地址信号CAS (Column Address Signal) 。通常先给RAS,再给CAS,经过⼀段时间延时, 便可以在数据端读出数据
3、读写控制电路
读写控制电路包括读写放⼤器、数据寄存器(三态双向缓冲器)等。
1、62256 - 32K×8的CMOS静态RAM
存储器与cpu的连接
8086存储器空间
CPU 所能提供的信号线:
数据线 D15~D0
地址线 A19~A0
存储器或I/O端⼝访问信号M/IO
RD 读信号
WR 写信号
BHE 总线⾼字节有效信号
存储器的连接
由2⽚62256(32K*8 RAM)组成64K*8 RAM的8086计算 机存储器系统连接。可采⽤两种⽅式:
1、控制奇偶⽚的写使能 WE
MEMR和MEMW在最⼩模式下由8086 CPU的M/IO和RD、WR信号产⽣,在 最⼤模式下由8288产⽣
MEMW选中后,A0选中,偶地址体有效,bhe选中,奇地址体有效
2、控制奇偶⽚选 CS
memr与memw直接与存储器连接,保持读写使能。通过a0和bhe选择存储器
8086系统存储器接⼝设计基本技术
存储器地址译码电路的设计⼀般遵循如下步骤:
(1)根据系统中实际存储器容量,确定存储器在整个寻址空间中的位置;
(2)根据所选⽤存储芯⽚的容量,画出地址分配图或列出地址分配表;
(3)根据地址分配图确定译码⽅法
全译码法
全译码的优点是每个芯⽚的地址范围是唯⼀确定,⽽且各 ⽚之间是连续的。缺点是译码电路⽐较复杂。
2、部分译码
(1)译码器译码
⽤⽚内寻址外的⾼位地址的⼀部分译码产⽣⽚选信号。存在地址重叠区
(2)线译码
⾼位地址线不经过译码,直接(或经反相器)分别接各存储器芯⽚的⽚选端来区别各芯⽚的地址
3、不译码
这种译码⽅式将所有的地址空间都分配给了这2⽚EPROM
中断系统
6.1 基本概念
1、中断的定义
当CPU正常运⾏时,系统外部、内部或现⾏程序本身若出现紧急事件,处理器必须⽴即强⾏中⽌现⾏程序的运⾏,改变 机器的⼯作状态并启动相应的程序来处理这些事件,然后再恢 复原来的程序运⾏,这⼀过程称为中断。
2、中断源和中断请求
能够向CPU发出中断请求的中断来源称为中断源。
请求信号有边沿请求和电平请求两种。(由icw1设置)
3、中断系统的目的
维持系统正常⼯作,提⾼系统效率; 实时处理; 为故障处理作准备。
4、中断分类
内部中断(软件中断)
外部中断(硬件中断):⑴ 可屏蔽中断INTR,由标志寄存器中的IF位控制; ⑵ 不可屏蔽中断NMI,不受IF位控制。
5、中断系统功能
⑴ 中断处理:发现中断请求、响应中断请求、执⾏中断服务
程序、中断返回。
⑵ 中断控制:中断优先权排队、中断嵌套
中断处理过程
1、中断检测(发现中断):8086CPU在每条指令的最后⼀ 个时钟周期检测中断请求信号输⼊线INTR。
2、CPU响应中断的条件
CPU检测到INTR上有中断请求,要响应它需满⾜以下条件:
⑴ CPU开放中断,也就是标志寄存器中的(可⽤开中断指令STI置1),表示开放可屏蔽中断;IF位=0(⽤关中断指令CLI清0),表 示关闭可屏蔽中断。
⑵ CPU在现⾏指令结束后响应中断
3、CPU响应中断及处理过程
1.关中断:发出中断响应信号INTA,同时内部⾃动地关中断,以禁⽌接受其他的中断请求。
2.保存断点:原程序被打断的地⽅称为“断点”,断点地址是指中断处 理程序结束后,返回原程序恢复执⾏的第⼀条指令的地址,⼜ 称“返回地址”。
3.识别中断源:找到相应的中断服务程序的⼊⼝地址,这就是中断的识别。
4.保护现场:为了不使中断服务程序的运⾏影响主程序的状态,必须把断点处有关寄存器(指在中断服务程序中要使⽤的寄存器)的内容以及 标志寄存器的状态压⼊堆栈保护。
5.执⾏中断服务程序
6.恢复现场并返回
前3项是中 断响应过程,⼀般由中断系统硬件负责完成;后3项是中断处理 过程,通常是由⽤户或系统程序设计者编制的中断处理程序(软 件)负责完成。
中断优先级和中断嵌套
中断优先级
现代PC机中多采⽤可编程中断控制 器(如8259A)来处理中断优先级问题
(1)软件查寻法确定中断优先级
当CPU响应中断请求进⼊中 断处理程序后,必须在中断 处理程序的开始部分安排⼀ 段带优先级的查询程序,查询 的先后顺序就体现了不同设备 的中断优先级,即先查的设备 具有较⾼的优先级,后查的设 备具有较低的优先级。
(2) 菊花链优先级排队电路
菊花链优先级排队电路是⼀种优先级管理的简单硬件⽅案。
它是在每个设备接⼝设置⼀个简单的逻辑电路,以便根据优先级 顺序来传递或截留CPU发出的中断响应信号INTA,以实现响应 中断的优先顺序
中断嵌套
当CPU正在执⾏优先级较低的中断服务程序时,允许响应⽐它优 先级⾼的中断请求,⽽将正在处理的中断暂时挂起,这就是中断 嵌套
中断分类
1、外部中断
⑴可屏蔽中断:可屏蔽中断是由⽤户定义的外部硬件中断,
受中断标志位IF的控制。⾼电平有效
⑵⾮屏蔽中断:不受中断标志位IF的控制。正跳变有效
2、内部中断
内部中断⼜称软件中断,主要来⾃CPU内部的软件中断
中断向量表
中断向量的定义
所谓中断向量,实际上就是中断服务程序的⼊⼝地址,每个中断类型对应⼀个中断向量
存放中断向量的存储区称为中断向量表。通常在存储器的低地址区。
8086/8088的中断向量表
8086/8088有256种中断类型,类型号为0-255(或0-FFH),
共有256个中断向量,每个占4个存储单元,所以需要1024个字 节,在存储器的最低端,地址从00000H-003FFH,这块地址空 间就是中断向量表
4、8086/8088中断的分类
⑴ 前5个是专⽤中断(类型0-4)
类型0:除数为0中断
类型1:单步中断
类型2:NMI中断
类型3:断点中断
类型4:溢出中断
⑵ 保留的中断(类型号05-3FH):
这是Intel公司为软件、硬件
开发保留的中断类型,⼤部分⽤于系统中断,如20H-3FH为DOS 中断调⽤
⑶ 供⽤户定义的中断(类型号40H-FFH)
填写⽅法有两种:
① ⽤指令填写
② ⽤DOS功能调⽤来设置中断 向量( 设置中断向量:21号中断的25H⼦功能;取中断向量 :21号 中断的35H⼦功能;)
外部中断
1、⾮屏蔽中断(NMI):不受中断标志位的控制,中断类型
号为2,所以中断向量放在0000:0008开始的4个单元中。NMI 中断⼀般⽤于紧急情况的处理。
2、可屏蔽中断(INTR):受中断标志位的控制,IF=1,
CPU才能响应INTR中断。CPU响应INTR中断时,往INTA引脚上 发两个负脉冲,外设接到第⼆个负脉冲后,⽴即往数据总线上送 出中断类型码,供CPU读取。中断响应需要两个总线周期,如下 图所示。
内部中断
(1) INT n 指令中断
8086系统提供了直接调⽤中断处理⼦程序的⼿段,这就是中
断指令INT n。指令中的中断类型码n告诉CPU调⽤哪个中断处 理⼦程序。
(2) 除法错中断(类型0):在执⾏除法指令DIV 或IDIV 后,若所得的商超出了⽬标寄存器 所能表示的范围,⽐如⽤数值0作除数,则CPU⽴即产⽣⼀个0型 中断
(3) 单步中断(类型1)当把CPU标志寄存器的TF位置为1以后,CPU便处于单步⼯作⽅
式。在单步⼯作⽅式下,CPU每执⾏完⼀条指令,就会⾃动产⽣ ⼀个1 型中断,进⼊1型中断处理程序。
(4) 断点中断 (类型3):和单步中断类似,断点中断也是⼀种调试程序的⼿段,并且常常和单步中断结合使⽤
(5) 溢出中断(类型4):若上⼀条指令执⾏的结果使溢出标志位OF置1,则紧接着执
⾏INTO指令时,将引起类型为4的内部中断,CPU将转⼊溢出错 误处理
在所有INT n形式的指令中,只有断点中断指令INT 3是⼀条单 字节⻓的指令,其他中断指令都是两字节指令。
内部中断的特点是:
(1) 中断类型码由CPU内部⾃动提供,不需要执⾏中断响应总线周期(INTA总线周期)去读取中 断类型码
(2) 除单步中断外,所有内部中断都不可以⽤软件的⽅法来禁⽌ (屏蔽)。单步中断可以通过软件将TF标志置1或清0来予以允许 或禁⽌
(3) 除单步中断外,所有内部中断的优先级都⽐外部中断⾼。
中断响应和中断处理过程
可屏蔽中断的响应和处理过程
INTR中断的全过程
⑴ CPU读取中断类型号n。CPU 通过INTA发中断响应信号
给接⼝,并启动中断过程。这个响应信号将使发中断请求的接⼝ 把⼀个字节的中断类型号通过数据总线送给CPU;
⑵ 按先后顺序把PSW(即FR)、CS和IP压⼊堆栈;
⑶ 清除IF和TF标志;
⑷ 把4×n +2的字存储单元中的内容读⼊ CS中,把4×n 的
字存储单元中的内容读⼊ IP中,即得到中断向量;
⑸ CPU 从新的CS:IP值开始执⾏中断服务程序,若允许中
断嵌套,则⼀般在中断服务程序中保存寄存器后,就安排⼀条 STI指令,以便响应优先权较⾼的中断。在中断服务程序末尾安 排⼀条IRET返回指令。
中断类型号的获得
⑴ 除法错误、单步中断、⾮屏蔽中断、断点中断和溢出中
断分别由CPU内部⾃动提供中断类型号(0-4)。
⑵ 软件中断则是从指令流中,即在第2个字节中读得中断
类型号。
⑶ 外部中断INTR可以⽤不同的⽅法获得中断类型号,通常
由硬件提供,如8259A芯⽚可以将中断类型号送到数据总线上, 由CPU读取⽽获得。
6.3 可编程中断控制器8259A
Intel 8259A⽤于管理和控制8086/8088的外部中断请求,实现优 先级判决,提供中断类型码,屏蔽中断输⼊等功能。使⽤单⽚ 8259A可以管理8级中断,采⽤级联⽅式,可扩充到64级(⽤9⽚ 8259A)。
8259A的引脚
VCC:电源
gnd:地
CS:⽚选信号
WR:写信号,使8259A接受CPU送来的命令字
RD:读信号,使8259A将状态信息放到数据总路线上,供CPU检测。
D7-D0 :,⽤ 来传送控制字、状态字和中断类型号。
IR7-IR0 --中断请求信号,输⼊,来⾃外部接⼝电路。(单⽚时)
INT --向CPU发出的中断请求信号。(单⽚时)
INTA --中断响应信号,由此接收CPU发来的中断响应脉冲
A0 --地址输⼊信号,⽤于对8259A内部寄存器的寻址
CAS2-CAS0 --级联线(CASCADE LINES),传送3位标 识码,
⽤于区分特定的从控制器
8259A的内部结 构
1、数据总线缓冲器
2、读写控制电路,⼀⽚8259A只占⽤两个端⼝地址,由A0来选 择
3、级联缓冲器/⽐较器,扩充中断⽤。
4、中断请求寄存器IRR,8位寄存器,每⼀位对应IR0-IR7,某 根线上有中断请求,则IRR中对应位置1。
5、中断服务寄存器ISR,CPU当前正处理的IRi中断请求时,该 寄存器i位置1(i = 0- 7)。
6.中断屏蔽寄存器IMR,当IMR的第i位为1时,禁⽌IRi来的中断请求
7、优先级判别器PR,当有多个中断同时请求中断时,判别当前 优先级最⾼的中断请求进⼊系统。
8、控制逻辑,控制芯⽚内个部件协调⼀致地⼯作。控制逻辑中 包含两个寄存器组:
初始化命令寄存器组:ICW1~ICW4
操作命令寄存器组:OCW1~OCW3
8259A的⼯作⽅式
1、中断触发⽅式:电平触发⽅式或边沿触发⽅式(由低到⾼的 正跳变),利⽤初始化命令字ICW1来设置。
2、优先级管理⽅式:
⑴ 全嵌套⽅式:全嵌套⽅式是8259A初始化后⾃动进⼊的基本⼯ 作⽅式。
此时优先级从IR0到IR7依次降低。当某⼀中断处理时, 可响应⽐它⾼的中断,但禁⽌⽐它低的或同级中断进⼊。当某⼀ 中断请求处理结束时,CPU向8259A发送中断结束命令EOI,以使 ISR中相应位清零。
⑵ 特殊全嵌套⽅式:与⑴的普通全嵌套⽅式差不多,区别是CPU 处
理某⼀中断时,允许⽐它⾼的和与它同级的中断请求进⼊,⽽只禁 ⽌⽐它低的中断请求。
⑶ ⾃动循环⽅式(普通EOI循环⽅式):在这种⽅式下,任何⼀ 级中断请求被处理完后, CPU向8259A发送中断结束命令EOI,以 使
ISR中优先级最⾼的置1位清零,
⑷特殊EOI循环⽅式,⽤户根据要求⽤置优先级命令指定最低优 先级,例如设置IRi为最低优先级,则最⾼优先级为IRi+1,其它 各级按循环⽅式类推
中断结束⽅式
⑴ ⾃动中断结束⽅式(⾃动EOI⽅式),中断处理结束时⾃动将 ISR中相应位清零,只需将初始化命令字ICW4中的AEOI置为1即可 实现这种⽅式
⑵ 普通中断结束⽅式( 普通EOI⽅式),⽤在8259A的全嵌套⽅ 式
下,即在CPU处理完⼀个中断请求时需8259A发送⼀个EOI命令, 8259A收到EOI后,将ISR中最⾼优先级的置1位清零(即当前正在 处
理的中断)。⽤操作命令字OCW2中的EOI=1, SL=0, R=0的设置 来实
现。
⑶特殊中断结束⽅式,在⾮全嵌套⽅式下,通过向8259A发⼀条特 殊中断结束命令来判断要清除ISR中置1位中的哪⼀位。⽤操作命令
中断屏蔽⽅式
普通屏蔽⽅式,将IMR中某⼀位或⼏位置1,则其对应的中断被 屏蔽(即这些中断被禁⽌)
⑵ 特殊屏蔽⽅式, ⼀般情况处理⼀个中断时,禁⽌同级或低级中 断进⼊,但有些场合,在处理某个中断时,仅希望对本级屏蔽, 可以响应⾼级或低级中断,此时采⽤这种⽅式。特殊屏蔽⽅式通 过操作命令字OCW3中的ESMM和SMM同时置为1,并将IMR对 应于本级中断的位置1来实现。
连接系统总线的⽅式
(1)缓冲⽅式(ICW4的BUF=1)
8259A通过总线驱动器(如8286)和数据总线相连。 作为输出( 有效),
在缓冲⽅式下,8259A的 EN
此时,由ICW4的M/S位来定义(标识)本8259A是主⽚还是从⽚
(2)⾮缓冲⽅式(ICW4的BUF=0)
即8259A直接与数据总线相连。
在“⾮缓冲⽅式下”,8259A的 作为输⼊( 有效) 。 此时,由 端来标识本8259A是主⽚还是从⽚。 在“⾮缓冲⽅式下”,ICW4的BUF=0,M/S位⽆意义。
8259A的控制字及编程使⽤
1、初始化命令字
(1)ICW1
A5~A7,8086不⽤这三 位。
D4 位为特征位(标志位),此 时该位固定为1,表示当前写⼊的是ICW1
LTIM规定中断检测⽅式.LTIM=0表示边沿触发,LTIM=1表示电平触 发。
ADI8086不⽤这⼀ 位。
SNGL规定8259A的⽤法。SNGL=0表示为级联⽅式,同时要写⼊ ICW3 ;SNGL=1表示为单⽚⽅式,不要写⼊ICW3。
IC4 规定初始化时是否要写⼊ICW4。IC4 = 0表示不写⼊ ICW4,IC4 = 1表示写⼊ICW4。
(2) ICW2
对于8086系统,ICW2的D7~D3位⽤来确定中断类型码N的⾼5位,8259A在中断响应周期的第⼆个总线周期内,从数 据总线上向CPU送出8位中断类型码N的值。其中⾼5位D7~D3即 T7~T3,由ICW2在初始化编程时设定;低3位D2~D0则由8259A 根据中断进⼊的引脚序号⽽⾃动填⼊,从IR0~IR7依次为000~111
(3) ICW3
对于主⽚8259A,ICW3表示哪些IRi 引脚接有从⽚8259A。接有 从⽚8259A的相应S位置1,否则置0。
对于从⽚8259A,⽤ICW3 中的ID2~ID0 表示本8259A接在主⽚ 8259A的哪⼀根IR引脚上。
(4) ICW4
SFNM表示中断嵌套⽅式。SFNM=0表示全嵌套⽅式,SFNM=1表 示特殊全嵌套⽅式。
BUF表示本8259A⼯作于缓冲⽅式还是⾮缓冲⽅式。BUF=1为缓冲 ⽅式,BUF=0为⾮缓冲⽅式。
在缓冲⽅式下,SP/EN引脚作为输出能使信号给总线收发器。此时, 由M/S位来定义本8259A是主⽚还是从⽚。所谓8259A⼯作于缓冲 ⽅式,是指在多⽚8259A级联的⼤系统中,8259A通过总线收发器 (驱动器)和数据总线相连。
M/S位⽤来在缓冲⽅式下规定本8259A是主⽚还是从⽚。M/S=0表 示是从⽚,M/S=1表示是主⽚。
在⾮缓冲⽅式(BUF=0)下,M/S位⽆效。
AEOI表示中断结束⽅式。AEOI=0为普通EOI⽅式,AEOI=1表示⾃ 动EOI⽅式。
µPM规定是哪种系统。µPM = 0表示是8080/8085系统,µ PM = 1表示是8086系统
在系统中,单⽚8259A与80x86 CPU配置时,初始化要写⼊的预置命令 字是:ICW1、ICW2、ICW4;⽽级联 系统要写⼊预置命令字是:ICW1、ICW 2、ICW3和ICW4。
操作命令字
有三个OCW1-OCW3,设置次序没有规定先后, 这点与ICW设置不同,使⽤时可根据需要灵活选择不同的操作命令 字写⼊到8259A中。
(1) OCW1
OCW1 的内容被直接置⼊中断屏蔽 寄存器IMR中
其中M0~M7 分别对应8259A的IR0~IR7。当OCW1 中的Mi 位 为1时,则相应的IRi 的中断请求就被屏蔽
(2) OCW2
R表示中断优先级是否按循环⽅式设置。R=1表示采⽤循环⽅式, R=0表示采⽤⾮循环⽅式。
SL表示OCW2 中的L2、L1、L0 是否有效。SL=1表示有效,SL =0表示⽆效。
EOI为中断结束命令位。EOI=1使当前ISR寄存器的相应位清0。当 ICW4 中的AEOI为0时,ISR中的相应置1位就要由该命令位来清除
D4 D3 = 00是OCW2 的标识位
L2、L1、L0 在SL=1时配合R、SL、EOI的设置,⽤来确定⼀个中 断优先级的编码。L2、L1、L0 的8种编码000~111分别与IR0~ IR7 相对应
(3) OCW3
ESMM是特殊屏蔽⽅式允许位,SMM是特殊屏蔽⽅式位。当ESMM 为0时,SMM的值不起⽤。当ESMM为1时,由SMM位决定是否⼯ 作在特殊屏蔽⽅式。当ESMM=1,SMM=0时,表示8259A不是⼯作 在特殊屏蔽⽅式。当ESMM=SMM=1时,表示8259A⼯作在特殊屏 蔽⽅式。
其中D4 D3 = 01是OCW3 的特征位。
P是查询命令(Poll Command)标识位。当P=1时,表示向8259A发 查询命令,查询当前是否有中断请求,以及在有中断请求时,当前 正在请求的中断最⾼优先级是哪⼀级。
读IRR:RR=1,RIS=0
读ISR:RR=1,RIS=1
随时可⽤奇地址读IMR
第七章 I/0接⼝技术
7.1 I/O接⼝的基本概念
外设的概念
输⼊/输出设备是外部设备,简称外设。微机与外设 之间的信息交换称为输⼊和输出
接⼝的概念
接⼝:外设与总线之间的中间环节,是计算机与外设交换 信息的控制电路
端⼝:接⼝电路中可以被寻址访问的存储单元。可分为数 据端⼝、状态端⼝、控制端⼝。
I/O接⼝的基本功能
I/O接⼝的作⽤
⑴解决⾼速主机与低速外围设备间的⽭盾,即速度配合;
⑵处理外围设备与CPU之间的不同的信息格式即信号格式配
合;
⑶使主机与外设协调⼯作,即时序配合;
⑷使外设和主机在信号电平⼀致,即电平配合。
I/O接⼝传送信息的类型
⑴ 数据信息
① 数字量,⼆进制数据
② 模拟量
③ 开关量,开关量只有两种状态,即“开”或“关”,可⽤
⼀位⼆进制数表示,如“1”表示“开”,“0”表示“关”。
④ 脉冲量,脉冲量是以脉冲形式表示的⼀种信号,如计
算机中⽤到的定时脉冲或控制脉冲等
⑵ 状态信息:状态信息是反映外设当前所处的⼯作状态,
以作为CPU与外设间可靠交换数据的条件。
⑶ 控制信息:它⽤于控制外设的启动和停⽌,以及给出
命令字,⽤于设置接⼝的⼯作⽅式。
如数据输⼊寄
存器、数据输出寄存器、状态寄存器和控制(命令)寄存器, 他们使⽤不同的端⼝地址来区分不同性质的信息。
I/O接⼝的主要功能
⑴ 数据缓冲功能
⑵ 提供联络信息,接⼝中有状态寄存器
⑶ 信息格式的转换,包括电平转换、并串转换等
⑷ 设备选择,每台外设都有设备地址,⽤于与其他设备区
别。
⑸ 中断管理
⑹ 可编程功能
⑺ 对外设的控制和监测功能
I/O接⼝的基本结构
电路包括四组寄存器和⼀个中断逻辑。这些
寄存器也被称为端⼝,每个端⼝有⼀个端⼝地址,CPU通过这 些端⼝与外设交换数据。 接⼝有两个界⾯,⼀⾯是计算机总线;另⼀⾯是外围设备
I/O端⼝的编址⽅式
1、I/O端⼝和存储器统⼀编址
该⽅式是将存储器地址空间的⼀部分作为I/O设备的地址
空间,所以I/O端⼝地址也是⼀个存储器地址。
优点是CPU访问存储器的指令都可以访问I/O端⼝,不
需要专⻔的I/O指令。⼆是使I/O控制逻辑简单,其引脚减少
缺点是I/O端⼝占⽤了⼀部分存储器空间;⼆是访存指
令通常⽐专⽤的I/O指令⻓,所以执⾏时间较⻓
2、I/O端⼝和存储器单独编址
基本想法是I/O端⼝地址和存储器地址分开,单独编址,
在指令系统中分别设⽴存储器读写指令和I/O端⼝读写指令。 在地址总线上的地址信息究竟是存储器地址还是I/O地址,
⼀般是在CPU上设置专⻔的控制线,如 M/IO =0为I/O操作, = 1 为存储器操作
优点: I/O端⼝不占⽤存储器地址空间;单独I/O指令⽐较
短,地址译码⽅便,指令执⾏速度快。
缺点:需要单独的I/O指令,这些指令⼀般功能简单,通
常只有读写功能;需专⻔的I/O控制线,增加了CPU本身控制 逻辑的复杂性
I/O接⼝的地址分配
I/O端⼝地址的译码及⽚选信号的产⽣
在⼀个微机系统中通常具有多台外设,当CPU与外设进⾏
通信时,需要对各个设备所对应的接⼝芯⽚进⾏逻辑选择,从 ⽽实现与相应的设备进⾏数据交换。
⽬前常⻅的⼀种做法是:先通过对I/O端⼝地址的某⼏位
⾼位地址进⾏译码,产⽣有效的⽚选信号,从⽽选中对应的接 ⼝芯⽚,再利⽤I/O端⼝地址的低位地址作为对接⼝芯⽚内部 有关寄存器的选择。
I/O数据传送控制⽅式
CPU与外设之间数据传送的⽅式通常有3种,即程序控制
⽅式,中断控制⽅式和直接存储器⽅式(DMA)
程序控制⽅式
程序传送是指CPU与外设间交换数据在程序控制(即IN或
OUT指令控制)下进⾏
1、⽆条件传送
这种⽅式适合于外设总是处于准备好的情况,因此程序
不必检查外设的状态。
开放三态缓冲器(读)或 写⼊锁存器
程序查询传送⽅式
⑴ 程序查询式输⼊
POLL: in al, status_port;读状态端⼝的信息
test al, 80H;设READY信息在D7位
jz POLL;未就绪,则循环再查
in al, data_port;已就绪,则读⼊数据
⑵ 查询式输出
POLL: 位
in al, ststus_port ;读状态⼝,查D7
test al, 80H jnz POLL ;D7=1即忙线=1,则循环 mov al, store ;否则外设空闲,从内存取数 out data_port, al ;输出到外设的数据⼝
//输入看ready,输出看busy
中断传送
通常CPU在执⾏每⼀条指令的末尾处会检查外设是否有中
断请求(这种查询是由硬件完成的,不占⽤CPU的⼯作时间
中断⽅式的优点很明显,⼤⼤提⾼了CPU的⼯作效率,⽽
且外设有申请中断服务的主动权。
DMA⽅式
DMA⽅式是⼀种由专⻔的硬件电路执⾏I/O交换的传送⽅
式,它让外设接⼝与内存直接进⾏⾼速的数据交换,⽽不必经 过CPU,实现对存储器的直接存取。这种专⻔的硬件叫DMA 控制器,简称DMAC
当接⼝准备好就向DMAC发DMA请求,接着
CPU通过HOLD引脚接收DMAC发出的总线请求;CPU在完成 当前总线操作后,就发出HLDA的总线响应信号给DMAC, DMAC收到此信号后便接管对总线的控制权,开始DMA操作。 当DMA传送结束,DMAC将HOLD信号变成低电平,并放弃对 总线的控制权
7.2 可编程定时/计数器Intel 8253
⼀、概述
1、定时与计数
控制系统与计算机中,常常需要有定时信号,以实现定时或延时控 制。如定时中断,动态存储器的定时刷新等。此外,还需要有计数 功能,以实现对外部事件的计数,当外部事件发⽣的次数达到规定 值后,向计算机发出中断请求,进⽽实现相应的控制或处理。 定时的本质就是计数,当计数信号是周期信号时,计数就可以⽤于 定时
2、实现定时和计数的三种⽅法
软件⽅法:采⽤软件定时,让计算机执⾏⼀个专⻔的指令序列,由 执⾏指令序列中每条指令所花费的时间构成⼀个固定的时间间隔, 从⽽达到定时或延时的⽬的。
不可编程的硬件定时:采⽤电⼦器件构成定时或延时电路,通过调 整电路中定时元件的数值,可实现调整定时或延时的数值和范围
可编程的硬件定时:在微机系统中采⽤软硬件结合的⽅法,即采⽤ 可编程定时的电路器件实现定时。如:Intel 8253/8254,Zilog CTC,MC6840等。8253-5(5MHz)和8254-2(10MHz)的引脚 和功能都是兼容的
⼆、可编程定时/计数器8253的功能
(1)具有三个独⽴的16位计数通道;
(2)每个计数通道可按⼆进制或⼆-⼗进制计数;
(3)每个计数通道的计数速率可达2MHz;
(4)每个计数通道有六种⼯作⽅式;
(5)全部输⼊输出都与TTL电平兼容。
三、可编程定时/计数器8253的内部结构框图
1. 数据总线缓冲器 这是8253与CPU的数据总线(D7~D0)连接的8位双向三态缓冲
器。CPU⽤输⼊输出指令对8253进⾏读写操作时的所有信息都通过 这个缓冲器传送。
2. 读/写逻辑 这是8253内部操作的控制电路,它从系统控制总线上接收输⼊
信号,然后转换成8253内部操作的各种控制信号。
3. 控制字寄存器 当地址信号A1和A0都为1时,访问控制字寄存器。控制字寄存
器从数据总线上接收CPU送来的控制字,并由控制字的D7、D6两 位的编码决定控制字写⼊哪个通道的控制寄存器中去,由寄存在每 个通道内的控制寄存器的内容决定该通道的⼯作⽅式,选择计数器 是按⼆进制还是BCD数计数,并确定每个计数器初值的写⼊顺序。
4. 计数器0、计数器1、计数器2 这是三个计数器/定时器通道,每⼀个都由16位的可设置计数初
值的减法计数器构成。三个通道的操作是完全独⽴的。每个通道都 有两个输⼊引脚CLK和GATE以及⼀个输出引脚OUT
7.3 A/D转换和D/A转换
计算机原理(戴梅萼)相关推荐
- 微型计算机中的数据总线用来,微型计算机技术及应用(戴梅萼4)练习题答案.doc...
微型计算机技术及应用习题答案 第一章 微型计算机概述 微处理器.微型计算机和微型计算机系统三者之间有什么不同? 答:① 微处理器是微型计算机的核心,是微型计算机的一部分.它是集成在一块芯片上的CPU, ...
- 对口单招计算机组装维修理论,江苏省对口单招计算机组装与维修计算机原理考题分类汇总...
江苏省对口单招计算机组装与维修计算机原理考题分类汇总 负葫鞘粱根征冉楼披拽轧峡贩冕赁符蜗振槽伎筑倍冈浴肿毕白炒鸣卫昼阎嘻东沮遵赊初终窜嘉舔柔毡厘精引径短路宽陕乾颐帽棍协疤秉乍剥溯贵厕惑托丑盒颐恍炎朔盟 ...
- 计算机原理个人总结,北京工业大学 计算机组成原理 个人总结.doc
文档介绍: EvaluationWarning:ThedocumentwascreatedwithSpire..帧陈蹿油竭榷拼帕邀邑爆以粮呵鹅醋亦箭木辫丑逆袄疚橇壤陡皖涤振教加匹爵釉岩斋冒全弄与秧烽临 ...
- 电子计算机原理讲义,计算机原理讲义
计算机原理 第一章 绪论 第一节 计算机的发展概述 一. 产生 计算机又称电脑,则一种能够自动.高速.精确地完成各种信息存储.数据处理.数值计算.过程控制和数据传输的电子设备.通常,它是以电子元器件为 ...
- 计算机原理 对口单招,对口单招计算机原理计算专题练习-20210622114415.pdf-原创力文档...
对口单招计算机原理计算专题练习 一.数制转换类 1.十六进制数 1000 转换成十进制数是 ______ . A .4096 B .2048 C .1024 D . 8192 2 .十进制数 25.1 ...
- 《计算机原理》教案,计算机原理及应用教案
微机计算机原理及应用教案 第一讲 计算机基础知识 本讲目的:了解计算机中数的表示 本讲要求:掌握二进制.十六进制和带符号数的表示以及BCD码.ASCII码 本讲重点:十六进制数和补码 本讲难点:负数的 ...
- 计算机原理与接口专科学影像技术专业的,女生影像学专业就业前景好
一.医学影像技术课程有哪些 电子学基础,基础医学,影像设备结构与维修,摄影学,介入放射学,影像物理,计算机原理与接口,诊断学,人体解剖学,放射诊断,核素诊断等 二.医学影像技术可考哪些资格证 DSA技 ...
- 大连理工大学计算机原理实验交通灯,大连理工大学计算机原理第四次实验.docx...
文档介绍: 大连理工大学本科实验报告课程名称:计算机原理实验学院(系):信息与通信工程学院专业:通信工程班级:电通1402学号:201483051学生姓名:糜智华2016年12月19日实验(四)名称: ...
- 计算机原理 英文版,计算机原理介绍英文版.doc
计算机原理介绍英文版 Importing TrafficOverview This lesson demonstrates the traffic import capabilities of Mod ...
最新文章
- mysql备份工具 :mysqldump mydumper Xtrabackup 原理
- 算法和编程面试题精选 TOP50!(附代码+解题思路+答案)
- Windows Phone 7 自适应键盘输入
- 数据结构实验之图论九:最小生成树_初高中数学竞赛训练----图论初步2
- Android轩辕剑之ActionBar之四
- 7-28 求矩阵的局部极大值 (15 分)
- 补充总结:现代控制理论
- 尔雅 科学通史(吴国盛) 个人笔记及课后习题 2018 第五章 欧洲科技文明的起源
- 入门OJ:最短路径树入门
- 同义词挖掘的一些常用方法 及同义词替换程序
- alios thing - rhino内核 - 内存管理
- 英伟达NVIDIA系列显卡GPU CUDA数据对比排行
- 分布式时序数据库作为工业物联网数据后台的7大优势
- 永久短网址生成 可以永久使用的短链接推荐
- python实现基于KNN算法的手写数字识别系统 非常详细!!!!
- 笔算开2次方根、3次方根详细教程
- js正则表达式 part1 - Kaiqisan
- 预测房价(Python)
- 斑驳年华,与春暖有约
- 教学信息管理系统c语言编程,C语言课程设计【学院教学信息管理系统】.doc
热门文章
- HTTP请求中POST与GET的区别
- 安卓Service组件使用系列2:使用Service下载网络图片并存储于sdCard卡上
- 041 :魔法方法:构造和析构
- 超级账本(版本2.2):编写第一个应用
- Flash的SLC、MLC和TLC三者区别
- mysql5.7 树遍历_Mysql5.7 存储过程 遍历select结果集并进行其他操作
- rc.conf中 cpu_preq的设定
- 2021 2022年终回顾:山河无恙,烟火寻常
- 移植 linux-5.8.5 到 iTOP-4412(一)build config
- 【稳定性day0】稳定性治理的三种思想—亚马逊、Netflix与蚂蚁金服