第二章 微处理器
- 格式:doc
- 大小:1.28 MB
- 文档页数:17
《微处理器系统结构与嵌入式系统设计》课程教案第一章:微处理器概述1.1 微处理器的定义与发展历程1.2 微处理器的组成与工作原理1.3 微处理器的性能指标1.4 嵌入式系统与微处理器的关系第二章:微处理器指令系统2.1 指令系统的基本概念2.2 常见的指令类型及其功能2.3 指令的寻址方式2.4 指令执行过程第三章:微处理器存储系统3.1 存储器的分类与特点3.2 内存管理单元(MMU)3.3 存储器层次结构与缓存技术3.4 存储系统的性能优化第四章:微处理器输入/输出系统4.1 I/O 接口的基本概念与分类4.2 常见的I/O 接口技术4.3 直接内存访问(DMA)4.4 interrupt 与事件处理第五章:嵌入式系统设计概述5.1 嵌入式系统的设计流程5.2 嵌入式处理器选型与评估5.3 嵌入式系统硬件设计5.4 嵌入式系统软件设计第六章:嵌入式处理器架构与特性6.1 嵌入式处理器的基本架构6.2 嵌入式处理器的分类与特性6.3 嵌入式处理器的发展趋势6.4 嵌入式处理器选型considerations 第七章:数字逻辑设计基础7.1 数字逻辑电路的基本概念7.2 逻辑门与逻辑函数7.3 组合逻辑电路与触发器7.4 微处理器内部的数字逻辑设计第八章:微处理器系统设计与验证8.1 微处理器系统设计流程8.2 硬件描述语言(HDL)与数字逻辑设计8.3 微处理器系统仿真与验证8.4 设计实例与分析第九章:嵌入式系统软件开发9.1 嵌入式软件的基本概念9.2 嵌入式操作系统与中间件9.3 嵌入式软件开发工具与环境9.4 嵌入式软件编程实践第十章:嵌入式系统应用案例分析10.1 嵌入式系统在工业控制中的应用10.2 嵌入式系统在消费电子中的应用10.3 嵌入式系统在医疗设备中的应用10.4 嵌入式系统在其他领域的应用案例分析第十一章:嵌入式系统与物联网11.1 物联网基本概念与架构11.2 嵌入式系统在物联网中的应用11.3 物联网设备的硬件与软件设计11.4 物联网安全与隐私保护第十二章:实时操作系统(RTOS)12.1 实时操作系统的基本概念12.2 RTOS的核心组件与特性12.3 常见的实时操作系统及其比较12.4 实时操作系统在嵌入式系统中的应用第十三章:嵌入式系统功耗管理13.1 嵌入式系统功耗概述13.2 低功耗设计技术13.3 动态电压与频率调整(DVFS)13.4 嵌入式系统的电源管理方案第十四章:嵌入式系统可靠性设计14.1 嵌入式系统可靠性概述14.2 故障模型与故障分析14.3 冗余设计技术与容错策略14.4 嵌入式系统可靠性评估与测试第十五章:现代嵌入式系统设计实践15.1 现代嵌入式系统设计挑战15.2 多核处理器与并行处理15.3 系统级芯片(SoC)设计与集成15.4 嵌入式系统设计的未来趋势重点和难点解析第一章:微处理器概述重点:微处理器的定义、发展历程、组成、工作原理、性能指标。
习题解答:1、8086CPU从功能上看可分为哪两大部分?它们的主要作用是什么?答:8086CPU功能结构可分为两大部分,即总线接口单元BIU(BUS INTERFASE UNIT)和执行单元EU(Execution Unit)构成。
BIU负责与存储器和外设传递数据,具体地说,BIU从内存指定部分取出指令,送到指令队列排队;在执行指令时所需的操作数也是由BIU从内存的指定区域取出传送到EU去执行或者把EU的执行结果传送到指定的内存单元或外设中。
EU 负责指令的执行,它从指令队列中取出指令,译码并执行,完成指令所规定的操作后将指令执行的结果提供给BIU。
2、8086CPU中有哪些通用寄存器?各有什么用途?答:8086/8088CPU的通用寄存器包括4个数据寄存器AX、BX、CX、DX,2个地址指针寄存器SP和BP,2个变址寄存器SI和DI。
通用寄存器都能用来存放运算操作数和运算结果,这是它们的通用功能,除此之外在不同的场合它们还有各自的专门用途。
(1)数据寄存器数据寄存器包括4个寄存器AX、BX、CX、DX,用于暂时保存运算数据和运算结果,由于每个16位数据寄存器可分为2个8位数据寄存器,这4个数据寄存器既可以保存16位数据,也可保存8位数据。
AX(accumulator)称为累加器,常用于存放算术逻辑运算的操作数,所有输入输出指令也都通过AX与外设进行信息传输。
BX(base)称为基址寄存器,常用于存放访问内存时的基地址。
CX(count)称为计数器,在循环和串操作指令中用来存放计数值。
DX(data)称为数据寄存器,在双字长(32位)乘除运算中将DX与AX两个寄存器组合成一个双字长的数据,其中DX存放高16位数据,AX存放低16位数据,另外在间接寻址的输入输出指令中把要访问的输入输出端口地址存放在DX中。
(2)指针寄存器指针寄存器包括堆栈指针寄存器SP(stack pointer)和基址指针寄存器BP(base pointer)。
第二章微处理器一、教学内容:1.概述2.8088/8086微处理器3.80286微处理器4.80X86/Pentium微处理器二、要求熟练掌握8086微处理器的组成原理、各功能部件的作用。
三、重点掌握16位微处理器的体系结构、各种寄存器的用途。
四、难点在于对整个CPU的各功能部件的结构组成、工作原理、概念的论述等方面的理解。
五、本章分为4讲,每讲2学时。
第一讲8088/8086微处理器尽管微处理器已进入了Pentium时代,其内部结构和性能也发生了巨大的变化,但其基本结构仍然和早期的8086/8088 相似,可以说8086/8088 是80X86系列芯片的基础。
1.8086/8088 微处理器的内部结构8086/8088 是Intel系列的16位微处理器,它是采用HMOS工艺制造的,内部包含约29000个晶体管,用单一的+5V电源,时钟频率为 5MHz~10MHz。
8086有16根数据线和20根地址线,其寻址空间达1M字节;8088是一种准16位微处理器,它的内部寄存器、内部运算部件以及内部操作都是按16位设计的,但对外的数据总线只有8条。
8086/8088 芯片内设有硬件乘除指令部件和串处理指令部件,可对位、字节、字串、BCD码等多种数据类型进行处理。
1)总线接口单元BIU和执行单元EU①总线接口单元BIU➢BIU的功能是8086 CPU与存储器或I/O设备之间的接口部件,负责全部引脚的操作。
具体来说,BIU负责产生指令地址,根据指令地址从存储器取出指令,送到指令队列中排队或直接送给EU去执行。
➢BIU也负责从存储器的指定单元或外设端口中取出指令规定的操作数传送给EU,或者把EU的操作结果传送到指定的存储单元或外设端口中。
➢BIU内部设有4个16位的段寄存器:代码段寄存器CS (Code Segment)、数据段寄存器DS (Data Segment)、堆栈段寄存器SS (Stake Segment)、附加段寄存器ES (Extra Segment)。
➢一个16位的指令指针寄存器IP (Instruction Pointer)➢6字节指令队列缓冲器。
➢20位地址加法器和总线控制电路。
②执行单元EU➢执行单元EU的功能是从BIU的指令队列中取出指令代码,然后执行指令所规定的全部功能。
➢在执行指令的过程中,如果需要向存储器或I/O传送数据,则EU向BIU 发出访问存储器或I/O的命令,并提供访问的地址和数据。
➢16的算术逻辑单元ALU (Arithmetic and Logic Unit)➢16位的状态标志寄存器F (Flags)➢一组数据暂存寄存器➢一组指令指针和变址寄存器➢一个数据暂存器➢EU控制电路2)8086 CPU 内部寄存器Intel 8086/8088 CPU共有14个16位的寄存器。
①通用寄存器通用寄存器共有8个,按照使用情况分为数据寄存器(Data Register)、指针寄存器(Pointer Register)和变址寄存器(Index Register)。
②段寄存器8086 CPU的BIU中有4个16位的段寄存器,它们是用来存放段起始地址值(又叫段基址值),8086的指令能直接访问这4个段,它们(SL Code Segment)代码段寄存器、SS(Stack Segment)堆栈段寄存器、DS(Data Segment)数据段寄存器和ES(Extra Segment)附加段寄存器。
③状态寄存器Intel 8086/8088 CPU的处理器设置了一个16位的状态标志寄存器(Flags)。
其中安排了9位用作标志位,包括6个状态标志位(CF、PF、AF、ZF、SF、OF)和3个控制标志位(TF、IF、DF)。
④指令指针寄存器➢IP(Instruction Pointer)指令指针寄存器相当于程序计数器PC,用于控制程序中指令的执行顺序。
➢IP内容是下一条待取指令的偏移地址,每取一次指令,IP内容就自动加1,从而保证指令按顺序执行。
➢IP实际上是指令机器码存放单元的地址指针,IP的内容可以被转移指令强制改写。
但程序不能直接访问IP,即不能用指令去取出IP的值或给IP赋值。
2.8086/8088 的引脚和工作方式1)8086/8088 CPU引脚特性8086/8088 CPU采用双列直插式的封装形式,有40条引脚,如下图所示。
① 地址/数据总线AD15~AD0(Address Data Bus)➢ 这是分时复用的存储器或I/O 端口地址和数据总线,双向工作,三态。
➢ 在总线周期的T1状态作为地址线,输出要访问的存储器或I/O 端口的地址;➢ 在总线周期的T2~T3状态作为数据线传输数据。
② 地址/状态线A19/S6~A16/S3(Address Status)➢ 地址/状态复用引脚,输出,三态。
➢ 在总线周期的T1状态,用来输出地址的最高4位。
➢ 在总线周期的T2、T3、TW 和T4状态时,用来输出状态信息。
③ 控制总线➢ ➢ ➢ READY➢ ➢ INTR (Interrupt Request)➢ NMI (Non-Maskable Interrupt)➢ RESETBHE /S7RDTEST➢ CLK (Clock)➢ 2) 最小/最大工作方式① 8086最小工作方式时的引脚功能➢ 8086/8088 CPU 最小工作方式用于单片微处理器组成的小系统,在这种方式中,由8086/8088 CPU 直接产生小系统所需要的全部控制信号。
➢ 当 接 +5V 电压时,CPU 工作于最小方式,引脚24~31的控制功能有变化。
② 8086最小工作方式时的系统总线结构➢ 最小工作方式,就是系统中只有一个微处理器(如8086)。
在这种系统中,所有的总线控制信号都直接由8086产生,系统中总线控制逻辑电路减少到最少。
➢ 最小工作方式系统适合于较小规模的应用,其典型系统结构图如下图所示。
③ 8086最大工作方式时的引脚功能➢ 当8086的33脚接地时,系统工作于最大方式。
➢ 最大方式用在中规模或大规模的8086/8088系统中,包含有两个或多个微处理器,其中8086或8088是主处理器,其他的称为协处理器。
➢ 和8086匹配的协处理器有两个:一个是8087,专用于数值运算,能实现多种类型的数值操作;另一个是用于输入/输出处理的8089,它有专用的输入/输出指令系统,8086就不用再处理这类工作,从而提高主处理器的效率。
MN/MXMN /MX④8086最大工作方式时的系统总线结构➢系统中增加了总线控制器8288,使总线控制功能更加完善。
➢在最大方式下,许多总线控制信号都是通过总线控制器8288产生的,而不是8086直接产生,这样在8086 最小方式下提供的总线控制信号就可以重新定义,这些引脚大多用来支持多微处理器系统。
➢8086 CPU最大方式时的典型系统结构如下图所示。
第二讲8088/8086微处理器(续)3.8086/8088 的存储器组织1)存储器的标准结构➢8086 CPU有20根地址线,可寻址1MB存储空间。
➢存储器按字节编址,从00000H—FFFFFH,每个字节用惟一的地址表示。
➢存放的数是字节形式,存储器按顺序排列存放。
➢存放的数为一个字时,将字的高位字节放在高地址中,将低位字节放在低地址中,高低地址连续。
➢对于存放的字,其低位字节可以在奇数地址中(即从奇地址开始)存放,这种方式称为非规则存放,这样存放的字称为非规则字,CPU需要两次访问存储器才能存取该字。
➢也可以在偶数地址中(即从偶地址开始)存放,这是规则存放,这样存放的字称为规则字,CPU一次便可对该字所在的两个存储单元进行存取。
为加快程序的运行速度,编程时应注意用规则字。
➢8088系统外部数据总线只有8位,CPU每次访问存储器只读写一个字节,如果要读写一个字,CPU需要访问两次存储器。
2)存储器的分段➢8086的内部结构以及内部数据的直接处理能力和寄存器都只有16位,故只能直接提供16位地址,寻址64KB存储空间。
➢将1MB字节的存储器空间分成若干逻辑段,每个段最长为64KB,段内地址是连续的。
➢逻辑段之间可以是连续的,也可以是分开的或重叠的。
➢段的首地址必须能被16整除,即每段首地址的低4位必须为0,高16位就是段基地址值。
➢段内任一存储单元与它所在段的段基地址值之间的距离称为偏移量或偏移地址。
➢段基地址值存放在段寄存器CS、SS、DS、ES中,程序可以从4个段寄存器给出的逻辑段中存取代码和数据。
3)物理地址和逻辑地址➢物理地址(Physical Address)又叫实际地址,是CPU和存储器进行数据交换时使用的地址。
➢已知一个存储单元的段基地址值和它的偏移量,就可计算方其物理地址:值×10H+偏移地址➢逻辑地址由两部分组成:段基值和偏移量。
➢它们都是用无符号的16位二进制数或4位十六进制数表示。
➢逻辑地址的一般表示形式为:段基值:偏移量4)堆栈➢所谓堆栈(Stack)是为保护数据、调度数据而开辟的特殊数据区域。
➢堆栈的一端是固定的(栈底),另一端是浮动的(栈顶),正常的堆栈操作,其信息的存取在浮动的一端进行。
➢堆栈中的数据严格按照“先进后出(First In Last Out或FILO)”的原则进行存取操作,即数据是由栈顶压入和弹出的。
➢由堆栈段寄存器SS提供段基值,堆栈指针寄存器SP提供偏移地址,每当压入或弹出数据时,SP的内容会自动修改,它始终指向堆栈的顶部。
➢计算物理地址的公式是:物理地址(PA)= (SS)×10H +(SP)➢当需要对堆栈段中的某个单元的数据进行操作时,还可使用BP寄存器通过各种寻址方式得到有效地址EA作为偏移地址,这样其物理地址是:物理地址(PA)=(SS)×10H + EA4.8086 的工作时序1)系统的复位和启动操作➢8086/8088的复位和启动操作是通过RESET引脚触发执行的。
➢要求复位信号RESET至少维持4个时钟周期的高电平,当该信号一旦进入高电平,8086/8088 CPU就会结束现行操作,保持在复位状态,直到RESET变为低电平为止。
2)8086 CPU最小方式时总线时序8086/8088 CPU与存储器及I/O端口交换数据需要执行一个总线周期。
它可分为两部分,即读总线周期和写总线周期。
前者是CPU从存储器或I/O端口读取数据。
后者是CPU将数据写入存储器或I/O端口。
①读总线周期时序➢一个最基本的读总线周期包含4个状态,即T1、T2、T3、和T4。
➢在存储器和外设速度较慢时,要在T3之后插入一个或几个等待状态TW。
➢如下图所示为8086 CPU最小方式时读总线周期时序图。
➢图中画了4个T状态即一个总线周期,且每个T状态都是一个占空度约33%的时钟周期,全部时序图都以这个时钟作为基准。