260 likes | 399 Views
Microcomputer Systems and Interface. 第 1 章 微型计算机基础(续) 马旭东 13809022379/ 83795360 xdma@seu.edu.cn. 《 微机系统与接口 》. 体系 Von NeuMANN / Harvard ( 外 MEM 可流水线作业 ) 功能结构 单 / 多片机 / (MCU)/MPU) ; 组装方式 单 / 多板机; TP801 使用方式 DESKTOP/LAPTOP/NOTEBOOK (便携式) -Mobile MP
E N D
Microcomputer Systems and Interface 第1章 微型计算机基础(续) 马旭东 13809022379/ 83795360 xdma@seu.edu.cn 《微机系统与接口》
体系 Von NeuMANN / Harvard (外MEM可流水线作业) 功能结构 单/多片机/ (MCU)/MPU); 组装方式 单/多板机;TP801 使用方式DESKTOP/LAPTOP/NOTEBOOK (便携式)-Mobile MP 安装使用非(可重装入) /嵌入式(EMBBEDED) 指令CISC/RISC 内核(标准内核), 多核,软核 专用/通用MPUDSP,MCU 微型计算机分类
8086/8088芯片管脚图:Vcc=+5V,VLSI 8086/8088微处理器 冯.诺伊曼(Von NeuMANN)结构 i8086: 工业控制 单板计算机 i8088:个人计算机 同代MC6802/6809
8086/8088微处理器 INTEL公司78年推出(79年推出8088 ) 4万多个晶体管(8088为2.9万个晶体管) 时钟频率4.77MHZ 数据线16位(8088的数据线8位) 地址线20位 40脚DIP封装 81年IBM推出Personal Computer (个人计算机、微机)PC Intel Architecture(IA)-16 4
IBM PC&PC/XT (20年前产品) 可以重复加载运行各种应用软件的个人计算机: 多板结构 1.系统板+I/O选卡----基于中大规模IC μP:8088(80C88)/8087+82XX芯片组chipset 82C88 总线控制器BUS Controller 8284 Clock Generator &Driver 2.ROM----基本系统程序 3. RAM----中间数据/应用程序 4.I/O接口电路:Speaker/KB 5. I/O expanding slots: 62脚:PC-5 XT-8 如何构建??
时序 和 控制 逻辑 指 令 译 码 指 令 寄 存 控制总线 地址总线 控制 通 用 寄存器组 地 址 寄存器组 地址总线 数据总线 控制 内部数据总线 数据总线 暂存器 累加器 标志寄存器 ALU 微处理器的基本结构 基本组成 算术逻辑单元(运算器) 寄存器组 指令处理单元(控制器) 执行指令!! 处理器干哪些事??
指令:算逻运算、数据传送、I/O、跳转、系统操作等指令:算逻运算、数据传送、I/O、跳转、系统操作等 执行方式:串行、流水线(深度-EU+BIU 两级) P26 图1.7微机外部结构框图 IA-16微机系统结构 取指、执行、取指、执行。。 SCLK
地址总线 20位 AX AH AL 通 用 寄 存 器 BX BH BL ∑ 数据总线 8088:8位 8086:16位 CX CH CL DX DH DL 段寄存器 SP BP DI 总线 控制逻辑 SI 指令指针 外部 总线 ALU数据总线(16位) 运算寄存器 指令队列 Q总线 (8位) EU 控制系统 1 2 3 4 5 6 8088 执行单元EU 总线接口 单元BIU 8086 标志寄存器 ALU CS DS SS ES IP 内部暂存器 IA-16微处理器(Intel 8086/8088 ) P19图1.9 功能结构 SCLK
指令的执行过程: 1000:100 MOV AX,0064H ; B8 64 00 1000:103 ADD AX,100H ; 05 00 01 1000:106 MOV [2000H],AX ; F3 00 20 8086/8088流水工作过程 • 指令队列 • 总线接口单元BIU 1 2 23 3 34 45… 取指 取指 取指 取数 取指…. MPU 执行单元 等待 执行1 执行2 执行3 。。。 时间 与BIU有关的指令执行 机器码
8088指令执行过程(结构为8086,复制自郑州大学钱晓捷资料)8088指令执行过程(结构为8086,复制自郑州大学钱晓捷资料)
14个16位寄存器:8通用寄存器/4段/2控制寄存器 ADD AX,100, MOV BH,[1000] SUB DX,[BX] JC 1000 MOV CS:[SI],AL 栈操作: 16位 P20图 1.10 8086/8088的内部寄存器(Registers)
AX,BX,CX,DX,AH,AL,BH,BL,CH,CL,DH,DL(16-8)AX,BX,CX,DX,AH,AL,BH,BL,CH,CL,DH,DL(16-8) 习惯:AX累加器Accumulator)/ BX基址R/ CX(Count)计数R,循环-串操作/ DX数据R(Data),I/O port, 双字除(H16); SP,BP:Stack Pointer R, Base Pointer基址指针R 数据/Pointer SI,DI 变址R(Source Index R, Destination Index R)--指针作用 例:REP MOVSB 通用寄存器(Register)功能 指令、数据存储地址
段寄存器Segment Register CS,SS,DS,ES Code,Stack,Data,Extra(附加段)R==Segment Base Address 解决8位机兼容问题 MOV AX,[1000H] 8086/8088存储器管理:20 AB1MB, 64KB单位,物理地址PA,段基地址SA,偏移地址EA(OFFSET);(SA,EA逻辑地址)关系:PA=SA*16+EA 默认:MOV AX,DS:[1000H] 当(DS)=1234H时 物理地址=13340H A19……A0=? 当(DS)=56A8H时 物理地址=57A80H 段寄存器功能
奇偶位 =1偶 借进位 半进位 溢出标志 符号位 零标志位 跟踪 中断允许=1 方向 控制寄存器 控制寄存器: IP(Instruction Pointer-预取指令的偏移地址) FLAGS标志(6状态/3控制-8088/86定义9位 ) 控制标志位(3)六个算术和逻辑运算结果特征(6) 当算术运算的结果超出了带符号数的范围,即溢出时,OF= 1,否则OF=0。8位带符号数范围是一128~+127,16位带符号数的范围是-32768~+32767。 例: XXXX1010 10X0X1X1
CF进位标志位 当进行加法或减法运算时,若最高位发生进位或借位则CF=1,否则CF=0。 PF奇偶标志位 当逻辑运算结果中“1”的个数为偶数时PF=1,为奇数时PF=0。 AF辅助进位位 在8(l6)位加减法操作中,低4位向高4位有进位、借位发生 ZF零标志位 当运算结果为零时ZF=1,否则ZF=0。 SF符号标志位 当运算结果的最高位MSB为1时SF=1,否则SF= 0。 OF溢出标志位 当算术运算的结果超出了带符号数的范围,即溢出时,OF= 1,否则OF=0。8位/16位带符号数范围 标志状态寄存器Flags(位) 例: XXXX1010 10X0X1X1
TF 跟踪标志位 TF= 1,使CPU处于单步执行指令的工作方式。这种方式便于进行程序的调试。每执行一条指令后,自动产生一次内部中断,从而使用户能逐条指令地检查程序。 IF 中断允许标志位IF= l使CPU可以响应可屏蔽中断请求。IF= 0使CPU禁止响应可屏蔽中断请求。 IF的状态对不可屏蔽中断及内部中断没有影响。 DF 方向标志位DF= l 使串操作按减地址方式进行。也就是说,从高地址开始,每操作一次地址减小一次。DF=0使串操作按增地址方式进行。 标志控制寄存器Flags (位)
P22 8086/8088的引脚信号 动态复用----机器周期至少4个时钟周期CLK:T1,T2,T3,T4,Tw) MAX模式 两种工作模式: MAX/MIN
8086/8088引脚分类 • 第一类 每个引脚只传送一种信息。32P---/RD。 • ` • 第二类 每个引脚电平的高低代表不同的信号,例如IO/M#。 • 第三类 引脚在8086/8088的两种不同工作方式——最小模式和最大模式下有不同的名称和定义。例如:第29脚为WR#(LOCK#)。 • 第四类 每个引脚可以传送两种信息(分时复用)。这两种信息在时间上是可以分开的,因此可以用一个引脚在不同时刻传送不同的信息,一般称这类引脚为分时复用线。例如:AD7 ~AD。 • 第五类 引脚的输入和输出分别传送不同的信息,如RQ#/GT0#输入时传送总线请求,输出时传送总线请求允许。 • 第六类 电源/地Vcc/Vss(GND)
8086/8088重要引脚信号 (完成微机基本功能的基本信号) RESET系统复位信号 输入端 RESET信号高电平有效,8086/8088要求该信号的有效时间至少为4个T状态。CPU接收到RESET信号后,立即停止当前操作,完成内部的复位过程,恢复到机器的起始状态并使系统重新启动。复位时各寄存器的状态: FLAGS=0H,IP=0,CS=FFFFH,(预取队列空),DS=ES=SS=0,各GR=0。==起始地址 0FFFF:0 (P23表1.4) AD7~AD0(Address Data Bus)地址、数据复用端,双向工作。 A15~A8(Address)地址输出端 (A16-A19) CLK 时钟 输入端 接至8284集成电路的输出端,由8284提供8088所需的4.77M,33%占空比(即1/3周期为高电平,2/3周期为低电平)的系统时钟信号T=2.096微秒 / RD(Read)读信号输出端。读信号是一个低电平有效的输出信号,当/RD为低电平时,表明CPU正在对内存或外设进行读操作。 /WR(Write)写信号输出端。写信号是一个低电平有效的输出信号,当/WR为低电平时,表明CPU正在对内存或外设进行写操作。 (IORD--IOWR),(IORQ--MENRQ)
8086/8088与Max/Min模式 • 8088: AD0-AD7:数据/低8位地址复用线 SS0:状态信号 • 8086:AD0~AD15地址/数据复用引脚(双向、三态) A16/S3~A19/S6地址/状态复用引脚(输出、三态) /BHE/S7总线高位允许/状态(输出,三态):P25表1.6) 最小模式:系统只有8086或8088一个微处理器。所有控制信号直接由CPU提供 最大模式:由两个或多个微处理器(主处理器和协处理器)组成中(大)规模系统,CPU并不直接向外界提供全部控制信号,而由S0S1S2通过Intel 8288总线控制器提供(编码信号:P27 表1.8)
8086/8088的工作方式MIN -单CPU模式 (P24图1.13) 锁存器: 74LS373 i8282/8283 (双向) 缓冲器 74LS245 i8286/8287
8086/8088的工作方式MAX --多处理器/总线模式 总线 控制器8288 P26图1.14 锁存器 双向总线 缓冲器
8086/8088工作过程(时序) RESET复位FFFF:0取第一条指令TCLK控制操作逻辑(不同指令实现不同操作、处理功能:计算、读写寄存器/存储器/IO口) 指令周期 典型BIU时序
每两个时钟脉冲上升(下降)沿之间的时间间隔称为T状态,也称为时钟周期(Clock Cycle) 时钟周期、总线周期和指令周期 T t CPU从存储器或输入/输出端口,存取一个字节(或字)所要花费的时间称为一个总线周期(Bus Cycle) 执行一条指令所需要的时间称为指令周期(Instruction Cycle) MOV AX, BX ;2T MOV AX, [1000H] 10T, 1次传送 ADD [BX], AL ;16T+EA , 2次传送
T1:输出地址;T2:总线转向;T3:存储器访问;T4:结束T1:输出地址;T2:总线转向;T3:存储器访问;T4:结束 8086/8088总线时序例-存储器写
小 结 1.外部设备一定要通过I/O接口才能与主机相连; 2.CPU内寄存器只能放暂存信息,主要信息放在存储器中; 3.原始数据(数值数据、非数值数据(如人名等字符) 编码压缩数据(位、半字节、字节、字、双字)信息/程序 4.3的ASCII码表示,*011 0011B,MSB*=0表示标准ASCII(西文),1扩展ASCII—数据、中文等,GB码----内码(GB码MSB=1);MIMH(64) 5.8086数据总线16位;8088为8位;字长=ALU数据宽度 6.8086/8088硬件工作过程: RESETTCLK控制-时序逻辑电路:按指令指定逻辑工作; 时钟周期、总线周期和指令周期 第二章 指令系统