微机原理,8086

合集下载

微机原理第5章80868088CPU总线操作与时序

微机原理第5章80868088CPU总线操作与时序

读周期
CPU从内存或I/O设备读取数据的过程,包括地 址发送、数据读取和数据返回三个阶段。
写周期
CPU向内存或I/O设备写入数据的过程,包括地址发送、数据写入和数据返回三 个阶段。
03
数据传输过程
读周期
总结词
在读周期中,CPU从内存中读取数据。
详细描述
读周期是CPU从内存中读取数据的过程。在读周期开始时,CPU通过地址总线发送要读取的内存地址,然后通过 数据总线从内存中读取数据。这个过程需要多个时钟周期,具体取决于数据的存储位置和CPU的速度。
然而,随着总线技术的不断发展,也 面临着一些技术挑战。例如,如何提 高总线的传输效率、降低能耗以及优 化系统性能等。为了解决这些问题, 需要不断进行技术创新和改进。
展望
未来,CPU总线技术将继续发挥其在 微机原理中的重要作用。随着技术的 不断进步和应用需求的增加,总线技 术将更加成熟和多样化。同时,随着 人工智能、大数据等新兴技术的发展 ,总线技术也将与这些领域进行更深 入的融合,为解决实际问题提供更多 可能性。
8086/8088 CPU的总线结构
地址总线
用于传输地址信息,确定要访问的内存单元或I/O 端口。
数据总线
用于传输数据信息,实现数据在CPU和内存或I/O 设备之间的传输。
控制总线
用于传输控制信号,控制CPU和内存或I/O设备之 间的操作。
总线操作时序
时钟信号
用于同步总线上的操作,确保数据传输的正确 性。
中断源
指引发中断的事件或异常情况,如输入/输出设备、定时器、故障等。
中断向量
指中断处理程序的入口地址。
中断响应过程
保存程序计数器
当发生中断时,CPU会自动将当前的程序计数器(PC)值保存到堆栈 中,以便在中断处理完毕后能够正确返回到原程序。

微机原理第5章80868088CPU总线操作与时序

微机原理第5章80868088CPU总线操作与时序
•控制总线:17根 M/IO,WR,RD,HOLD,DEN, HLDA,INTR,INTA,DT/R, READY,RESET,,ALE,BHE TEST,CLK,NMI,MN/MX
微机原理与接口技术 第5章 8086/8088CPU的总线操作与时序
GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND
最小系统模式系统中只有8086一个处理器,所有的 控制信号都是由8086CPU产生。
最大系统模式系统中可包含一个以上的处理器,如协 处理器8087。系统规模比较大时,系统控制信号不由 8086直接产生,而通过与8086配套的总线控制器形成。
*DMA方式
•管脚分析内容: 信号流向:输入、输出、双向 管脚状态:0、1、高阻(悬空)
一、概述 二、8086管脚分类
(一)地址数据线 (二)地址状态线 (三)控制总线(1)-(17) (四) 单CPU模式管脚说明
(五) 多CPU模式引脚说明 三、8088管脚功能 §5.3 8086/8088支持的芯片及最大/最小系统 §5.4 CPU时序
一、微概机述原理与接口技术 第5章 8086/8088CPU的总线操作与时序 •8086、8088为40条引脚, DIP封装 •典型工作模式:
微机原理与接口技术 第5章 8086/8088CPU的总线操作与时序
微机原理与接口技术 第5章 8086/8088CPU的总线操作与时序
第1章
第2章
课 第3章

第4章 第5章
教 第6章

第7章 第8章
单 第9章
第10章
元 第11章
第12章

《微机原理》8086与PC(2-2)

《微机原理》8086与PC(2-2)
特殊屏蔽方式:在高级中断服务程序执行过程中,允
许临时开放对低优先级中断源的服务
8259A的工作方式(续)
中断结束方式
中断自动结束方式:ISR中在响应时自动置1的位在进
入中断服务程序后自动清0
一般中断结束方式:在全嵌套方式下,EOI命令中不
指定结束的中断级,约定结束ISR中的最高优先级中 断,对应位将被复位
中断向量表的构成
中断向量表:把所有中断源的中断向量集中在
一起,形成中断向量表
8086在内存中地址为00000H~003FFH的 存储区内建立中断向量表,共存放256个中断向 量,每个向量占4个字节,IP在低地址单元、 CS在高地址单元
此表的查询索引为中断类型号
中断类型号及其获取
中断类型号:系统分配给每个中断源的代
为I/O设备服务
中断服务程序执行 中断返回(IRET)
断点和FLAGS从 堆栈中弹出(断点恢复)
恢复现场
给中断控制器发中 断结束(EOI)命令
回到中断前运行 的程序继续执行
中断传送流程
返回
8259A芯片
可编程中断控制器8259A主要功能为:
(1)对8个外部中断源进行管理,具有8级优 先权控制,通过级连可扩展至64级优先权控制。
五、8253/8254定时/计数器
主要功能
3个独立的16位计数器 每个计数器可以按二进制或BCD码计数 计数速率可达2MHz(8254-2达10MHz) 每个计数器有6种工作方式,可编程设置和改
变 输入输出引脚与TTL电平兼容
8253内部结构图
计数器结构
8253有三个独立的计数器(计数通道)
计数初值寄存器(16位)
先读写最低有效字节再
读写最高有效字节

计算机微机原理8086指令

计算机微机原理8086指令
8086从功能上分成两大部分: 总线接口单元BIU(Bus Interface Unit) 执行单元EU (Execution Unit)
7
总线接口单元BIU (Bus Interface Unit)
负责8086CPU与存储器和I/O设备 功能: 间的信息传送。
8
执行单元EU (Execution Unit)
14
通用寄存器的名称与符号
① AX (Accumulator) --累加器
② BX (Base) --基址寄存器
③ CX (Count) --计数寄存器 ④ DX (Data) --数据寄存器 ⑤ SI (Source Index)是源变址寄存器
数据寄存器
⑥ DI (Destination Index)是目的变址寄存器
38
物理地址和逻辑地址的转换
由于段地址一般存放在段寄存器,所以物理地 址和逻辑地址的转换关系也可表示为: (段寄存器) (CS) 物理地址= (DS) (SS ) 左移4位 + 偏移地址
(ES)
逻辑地址的形式为 段寄存器:偏移地址
39
段寄存器
8086有4个16位专门存放段地址的段寄存器 CS--(Code Segment)(代码段)指明代码段的起 始地址 SS-- (Stack Segment)(堆栈段)指明堆栈段的起 始地址 DS-- (Data Segment)(数据段)指明数据段的起 始地址 ES-- (Extra Segment)(附加段)指明附加段的起 始地址 每个段寄存器用来确定一个逻辑段的起始地址,每种逻 辑段均有各自的用途
27
数据信息的表达单位

计算机中信息的单位 二进制位Bit:存储一位二进制数:0或1, 记做b 字节Byte:8个二进制位,D7~D0,记做B 字Word:16位,2个字节,D15~D0 双字DWord:32位,4个字节,D31~D0

微机原理课件第二章 8086系统结构

微机原理课件第二章 8086系统结构

但指令周期不一定都大于总线周期,如MOV AX,BX
操作都在CPU内部的寄存器,只要内部总线即可完成,不 需要通过系统总线访问存储器和I/O接口。
2021/8/17
17
• 8086CPU的典型总线时序,充分体现了总 线是严格地按分时复用的原则进行工作的。 即:在一个总线周期内,首先利用总线传 送地址信息,然后再利用同一总线传送数 据信息。这样减少了CPU芯片的引脚和外 部总线的数目。
• 执行部件(EU)
• 功能:负责译码和执行指令。
2021/8/17
5
• 联系BIU和EU的纽带为流水指令队列
• 队列是一种数据结构,工作方式为先进先出。写入的指令 只能存放在队列尾,读出的指令是队列头存放的指令。
2021/8/17
6
•BIU和EU的动作协调原则 BIU和EU按以下流水线技术原则协调工作,共同完成所 要求的任务: ①每当8086的指令队列中有空字节,BIU就会自动把下 一条指令取到指令队列中。 ②每当EU准备执行一条指令时,它会从BIU部件的指令 队列前部取出指令的代码,然后译码、执行指令。在执 行指令的过程中,如果必须访问存储器或者I/O端口, 那么EU就会请求BIU,完成访问内存或者I/O端口的操 作; ③当指令队列已满,且EU又没有总线访问请求时,BIU 便进入空闲状态。(BIU等待,总线空操作) ④开机或重启时,指令队列被清空;或在执行转移指令、 调用指令和返回指令时,由于待执行指令的顺序发生了 变化,则指令队列中已经装入的字节被自动消除,BIU会 接着往指令队列装入转向的另一程序段中的指令代码。 (EU等待)
•CF(Carry Flag)—进位标志位,做加法时最高位出现进位或 做减法时最高位出现借位,该位置1,反之为0。

微机原理16位32位CPU(8086)

微机原理16位32位CPU(8086)

中 断 允 许
半 进 借 位 标 志
奇 偶 标 志
进 借 位 标 志
1-有进、借位 0-无进、借位
1-低4位向高4位有进、借位 0-低4位向高4位无进、借位
④标志寄存器
根据功能,标志可以分为两类:状态标志和控制标志
状态标志:表示前面的操作执行后,ALU所处的状态,这种状态像某 种先决条件一样影响后面的操作。 控制标志:表示对某一种特定的功能起控制作用。指令系统中有专门 的指令用于控制标志的设置和清除。 状态标志有6个,即SF、ZF、AF、PF、CF和OF ①符号标志SF(Sign Flag) 和运算结果的最高位相同。表示前面运
若TF=0 正常执行程序
返回
④标志寄存器
举例:
+ 0101 0100 0011 1001 0100 0111 0110 1010
3.8086的总线周期的概念
为了取得指令或传送数据,就需要CPU的总线接口部件执行一个 总线周期。 总线周期(机器周期):CPU通过总线与存储器或I/O接口进行一 次数据传输所需的时间。 在8086/8088中,一个最基本的总线周期由4个时钟周期组成,将4
80386
80486 Pentium Pentium IV
32
32 32 32
27.5万
120万 310万 4200万
12.5M,后提高到 20M,25M,33M
25MHz逐步提高到 33MHz、50MHz 60MHZ和66MHZ, 后提高到200MHZ 2.4G
0.1us
2.1 16位微处理器8086
式下各位引脚功能,如出现功能不同的引脚再具体讲解 。
DIP双列直插式封装
QFP塑料方型扁平式封装
Pentium4 3.2GHz LGA775 栅格阵列封装

微机原理5_8086指令系统08

微机原理5_8086指令系统08

• 指令中的操作数:
– 可以是一个具体的数值 – 可以是存放数据的寄存器 – 或指明数据在主存位置的存储器地址
6
双操作数指令
MOV dst, src ; (dst) (src) ↑ ↑ ↑ 助记符 目的 源操作数 操作数 例: MOV AH,BL MOV AX,1234H
ADD dst, src ; (dst) (dst)+(src) ↑ ↑ ↑ 助记符 目的 源操作数 操作数 例: ADD AL,36H ADD BX,CX 大多数运算型指令都是双操作数指令,对这种指令, 有的机器(大中型)使用“三地址”指令:除给出参加 运算的两个操作数外,还要指出运算结果的存放地址 7
18
寄存器寻址
19
特 点
(1) 操作数就在寄存器中,不需要访问存
储器来取得操作数(指令执行时,操作就在 CPU的内部进行),因而执行速度快。
(2)寄存器号比内存地址短 * 在编程中,如有可能,尽量使用这种寻址 方式的指令。 * 寄存器寻址方式既可用于源操作数,也可 用于目的操作数,还可以两者都用于寄存器寻 址方式(如 MOV BX , AX )
物理地址 = 16d (DS) +
BP (SS)
(SI)
(DI)
28
物理地址 = 16d (SS) + (BP)
例:
MOV AX, [BX] MOV ES:[BX] , AX MOV DX, [BP] • MOV AX , [BX] ;
设 ( DS) = 2000H ,(BX) = 1000H PA =20000H + 1000H =21000H 指令的执行结果为: (AX) = 50A0H *指令中也可以通过“段跨越前缀”取 得其他段中的数据, 例如: MOV AX,ES: [BX] PA = 16d (DS) + (BX) PA = 16d (ES) + (BX) PA = 16d (SS) + (BP)

微机原理 复习8086

微机原理 复习8086

地址 数据
CLK DEN VCC 8284 RES 外部复位信号 RESET RDY MN/MX CLK RESET READY 8086 BHE A19~A16 AD15~AD0 INTR S0 S1 S2
பைடு நூலகம்
INTA AMWC DT/R AIOWC ALE MRDC MWTC IORC 8288 IOWC BHE AB 存储器 8286 T OE DB I/O接口
• 8086指令队列的作用是什么? 答:作用是:在执行指令的同时从内存 中取了一条指令或下几条指令,取来的指 令放在指令队列中这样它就不需要象以往 的计算机那样让CPU轮番进行取指和执行的 工作,从而提高CPU的利用率。
EU
指令队列
BIU
8086CPU内部寄存器有哪几种?各自的特点 和作用是什么? 8086CPU有14个16位寄存器和8个8位寄 存器,可分为: 数据寄存器;指针和变址寄存器;段寄 存器;指令指针寄存器;标志寄存器。
• 为了实现寻址1MB存储器空间,8086CPU将 1MB的存储空间分成若干个逻辑段进行管理, 4个16位的段寄存器来存放每一个逻辑段的 段起始地址。
• 已知堆栈段寄存器(SS)=2400H,堆栈指 针(SP)=1200H,计算该堆栈栈顶的实际 地址,并画出堆栈示意图。 • (SS)=2400H,(SP)=1200H ;PA=(SS)×10H+(SP)= 2400H×10H +1200H = 25200H。
8086CPU 重新启动后,从何处开始执行指 令? • 答:重新启动后,CS=FFFFH,IP=0000H,故 从物理地址为FFFF0H 的位置开始执行指令 。
8086 系统中存储器采用什么结构?用 什么信号来选中存储体?
• 答:8086 系统中,存储器采用分体结构,1MB 的 存储空间分成两个存储体:偶地址存储体和奇地 址存储体,各为512KB。 • 使用A0 和BHE 来区分两个存储体。当A0=0 时,选 中偶地址存储体,与数据总线低8位相连,从低8 位数据总线读/写一个字节。当BHE =0 时,选中奇 地址存储体,与数据总线高8 位相连,从高8 位数 据总线读/写一个字节。 • 当A0=0,BHE =0 时,同时选中两个存储体,读/写 一个字。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

8086/8088指令系统记忆表
我现将指令系统中各种助记符的英文全名写出来,各种助记符的记忆就会变得很简单o(∩_∩)o...
一、数据传送指令
1.通用数据传送指令
MOV(Move)传送
PUSH(Push onto the stack)进栈
POP(Pop from the stack)出栈
XCHG(Exchange)交换
2.累加器专用传送指令
IN(Input) 输入
OUT(Output) 输出
XLAT(Translate) 换码
3.有效地址送寄存器指令
LEA(Load effective address) 有效地址送寄存器
LDS(Load DS with Pointer) 指针送寄存器和DS
LES(Load ES with Pointer) 指针送寄存器和ES
4.标志寄存器传送指令
LAHF(Load AH with flags) 标志送AH
SAHF(store AH into flags) AH送标志寄存器
PUSHF(push the flags) 标志进栈
POPF(pop the flags) 标志出栈
二、算术指令
1.加法指令
ADD(add) 加法
ADC(add with carry) 带进位加法
INC(increment) 加1
2.减法指令
SUB(subtract) 减法
SBB(subtract with borrow) 带借位减法
DEC(Decrement) 减1
NEG(Negate) 求补
CMP(Compare) 比较
3.乘法指令
MUL(Unsigned Multiple) 无符号数乘法
IMUL(Signed Multiple) 带符号数乘法
4.除法指令
DIV(Unsigned divide) 无符号数除法
IDIV(Signed divide) 带符号数除法
CBW(Convert byte to word) 字节转换为字
CWD(Contert word to double word) 字转换为双字
三、逻辑指令
1.逻辑运算指令
AND(and) 逻辑与
OR(or) 逻辑或
NOT(not) 逻辑非
XOR(exclusive or) 异或
TEST(test) 测试
2.移位指令
SHL(shift logical left) 逻辑左移
SAL(shift arithmetic left) 算术左移
SHR(shift logical right) 逻辑右移
SAR(shift arithmetic right) 算术右移
ROL(Rotate left) 循环左移
ROR(Rotate right) 循环右移
RCL(Rotate left through carry) 带进位循环左移
RCR(Rotate right through carry) 带进位循环右移
四、串处理指令
1.与REP相配合工作的MOVS,STOS和LODS指令
REP(string primitive) 重复串操作直到(CX)=0为上
2.串传送指令
MOVS (move string) 串传送指令
3.
STOS 存入串指令
CLD(Clear direction flag) 该指令使DF=0,在执行串操作指令时可使地址自动增量;
STD(Set direction flag) 该指令使DF=1,在执行串操作指令时可使地址自动减量.
五、控制转移指令
1.无条件转移指令
JMP(jmp) 跳转指令
2.条件转移指令
(1)根据单个条件标志的设置情况转移
JZ(或JE)(Jump if zero,or equal) 结果为零(或相等)则转移
JS(Jump if sign) 结果为负则转移
JNS(Jump if not sign) 结果为正则转移
JO(Jump if overflow) 溢出则转移
JNO(Jump if not overflow) 不溢出则转移
JNP(或JPO)(Jump if not parity,or parity odd)
奇偶位为0则转移
JP(或JPE)(Jump if parity,or parity even) 奇偶位为1则转移
JB(或JNAE,JC)(Jump if below,or not above or equal,or carry)低于,或者不高于或等于,或进位位为1则转移
JNB(或JAE,JNC)(Jump if not below,or above or equal,or not carry)不低于,或者高于或者等于,或进位位为0则转移
(2)比较两个无符号数,并根据比较的结果转移
JB(或JNAE,JC)
JNB(或JAE,JNC)
JBE(或JNA)(Jump if below or equal,or not above)低于或等于,或不高于则转移
JNBE(或JA)(Jump if not below or equal,or above)不低于或等于,或者高于则转移
(3)比较两个带符号数,并根据比较的结果转移
JL(或LNGE)(Jump if less,or not greater or equal)小于,或者不大于或者等于则转移JNL(或JGE)(Jump if not less,or greater or equal)不小于,或者大于或者等于则转移JLE(或JNG)(Jump if less or equal,or not greater)小于或等于,或者不大于则转移
JNLE(或JG)(Jump if not less or equal,or greater)不小于或等于,或者大于则转移
(4)测试CX的值为0则转移指令
JCXZ(Jump if CX register is zero) CX寄存器
3.循环指令
LOOP(loop) 循环指令
4.子程序
CALL(call) 调用指令
RET(return) 返回指令
5.中断
INT(interrupt)指令
IRET(interrupt return) 从中断返回指令
INTO(interrupt if overflow) 若溢出则中断
六、处理机控制指令
1.标志处理指令
CLC(Clear carry) 进位位置0指令CF<-0
CMC(Complement carry) 进位位求反指令CF<-CF
STC(Set carry) 进位位置1指令CF<-1
CLD(Clear direction) 方向标志置0指令DF<-0
STD(Set direction) 方向标志置1指令DF<-1
CLI(Clear interrupt) 中断标志置0指令IF<-0
STI(Set interrupt) 中断标志置1指令IF<-0
2.其他处理机控制指令
NOP(No Opreation) 无操作
HLT(Halt) 停机
W AIT(Wait) 等待
ESC(Escape) 换码
LOCK(Lock) 封锁。

相关文档
最新文档