




已阅读5页,还剩98页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章Intel系列微处理器结构一 微型计算机组成原理二 微处理器内部结构 一 微型计算机组成原理计算机组成原理主要讨论计算机各组成部件的基本概念 基本结构及工作原理 通过研究各部件的原理及相互联系与作用建立完整的整机概念 CPU 适当容量M 输入输出接口 外部设备 MICOR COMPUTER 软件 MICOR COMPUTERSYSTEM1 微型计算机外部结构2 微型计算机内部结构 3 体系结构 冯 诺依曼计算机体系结构 基本原理 软件是指程序和数据一起存入存储器 由机器自动地执行程序中的一条条指令 硬件是按照计算机规范要求所构成的一个用以实现计算机软件编程意图的工具 1 微型计算机外部结构微型计算机外部结构如下图所示 三总线结构 微型计算机外部结构 5 微型计算机的系统结构框图 6 CPU是微型计算机的核心芯片 它包括运算器 控制器和寄存器三个主要部分 运算器也称为算术逻辑单元ALU ArithmeticandLogicUnit 顾名思义 运算器的功能是完成数据的算术和逻辑运算的 控制器一般由指令寄存器 指令译码器和控制电路组成 控制器根据指令的要求 对微型计算机各部件发出相应的控制信息 使它们协调工作 从而完成对整个计算机系统的控制 CPU内部的寄存器用来存放经常使用的数据 1 CPU 7 根据冯 诺依曼计算机体系结构准则 数据信息和控制信息按存储地址存放在存储器中 计算机由一个程序计算器控制指令的执行 计算机分为运算器 控制器 系统总线 存储器 输入输出接口等五大部件 随着大规模集成电路的出现 运算器和控制器集成在了一个芯片上 而这种具有运算器和控制器功能的计算机部件称为中央处理器 通常简称CPU CPU的功能与组成 1 CPU的功能当用计算机解决某个问题时 我们首先必须为它编写程序 程序是一个指令序列 这个序列明确告诉计算机应该执行什么操作 在什么地方找到用来操作的数据 一旦把程序装入内存储器 就可以由计算机来自动完成取出指令和执行指令的任务 CPU对整个计算机系统的运行是极其重要的 它具有如下四方面的基本功能 8 指令控制程序的顺序控制称为指令控制 由于程序是一个指令序列 这些指令的相互顺序不能任意颠倒 必须严格按程序规定的顺序进行 操作控制一条指令的功能往往是由若干个操作信号的组合来实现的 因此 CPU管理并产生由内存取出的每条指令的操作信号 把各种操作信号送往相应的部件 从而控制这些部件按指令的要求进行动作 时间控制对各种操作实施时间上的定时称为时间控制 在计算机中 各种指令的操作信号以及一条指令的整个执行过程都受到时间的严格定时 数据加工数据加工就是对数据进行算术运算和逻辑运算处理 9 2 CPU的基本组成总线接口与控制单元 执行运算单元是CPU的基本部件 10 存储器 Memory 又称为主存 MainStorage 或内存 是微型计算机的存储和记忆装置 用以存放数据和程序 微型计算机的内存通常采用半导体存储器 内存单元的地址和内容 内存中存放的是数据和程序 从形式上看 均为二进制数 一般将8位二进制数记作一个字节 Byte 每一个内存单元中存放一个字节的二进制信息 内存容量就是它所能包含的内存单元的数量 通常以字节为单位 1024字节记做1KB 1000KB字节记做1MB 2 存储器 11 采用296引脚的引脚栅格阵列 PGA 陶瓷封装技术 12 Pentium微处理器的功能结构 13 微型计算机通过给各个内存单元规定不同地址来管理内存 这样 CPU便能识别不同的内存单元 正确地对其进行操作 显然 内存单元的地址和内存单元的内容是两个完全不同的概念 内存的操作 CPU对内存的操作有两种 读或写 读操作是CPU将内存单元的内容读入CPU内部 而写操作是CPU将其内部信息传送到内存单元保存起来 显然 写操作的结果改变了被写内存单元的内容 是破坏性的 而读操作是非破坏性的 即 该内存单元的内容在信息被读 走 之后仍保持原信息 14 内存的分类 按工作方式 内存可分为两大类 随机存储器RAM RandomAccessMemory 和只读存储器ROM ReadOnlyMemory RAM可以被CPU随机地读写 故又称为读写存储器 这种存储器用于存放用户装入的程序 数据及部分系统信息 当机器断电后 所存信息消失 ROM中的信息只能被CPU读取 而不能由CPU任意写入 故称为只读存储器 机器断电 信息仍保留 这种存储器用于存放固定的程序 如 基本的I O程序 BASIC解释程序以及用户编写的专用程序等 ROM中的内容只能用专用设备写入 15 I O设备是微型计算机系统的重要组成部分 程序 数据及现场信息要通过输入设备输入给微型计算机 CPU计算的结果通过输出设备输出到外部 常用的输入设备有键盘 鼠标器 数字化仪 扫描仪 A D转换器等 常用的输出设备有显示器 打印机 绘图仪等 磁盘 磁带 U盘既是输入设备 又是输出设备 3 输入 输出 I O 设备和输入 输出接口 I OInterface 16 外设的种类繁多 有机械式 电动式 电子式等 且一般说来 与CPU相比 工作速度较低 外设处理的信息有数字量 模拟量 开关量等 而微型计算机只能处理数字量 另外 外设与微型计算机工作的逻辑时序也可能不一致 鉴于上述原因 微型计算机与外设间的连接及信息的交换不能直接进行 而须设计一个 接口电路 作为微型计算机与外设之间的桥梁 这种接口电路又叫做 I O适配器 I OAdapter 地址总线AB ADDRESSBUS 通常16位 单向 A15 A0 可寻址216 64KB内存单元 A7 A0 可寻址28 256外设接口 数据总线DB DATABUS 通常8位 D7 D0 双向 实现CPU与I O传送 控制总线CB CONTROLBUS 传送控制信号 一方面根据CPU对指令的译码结果 输出控制信号 另一方面CPU响应外部器件的请求信号 4 总线控制 2 微型计算机内部结构由于CPU受成品率 成本 集成在单片上等原因 严格规定40条引脚 引脚数就限制了总线的数量 外部 采用三总线结构AB DB CB 内部 采用单总线 即内部所有单元电路都挂在内部总线上 分时使用总线 通常微处理机内部结构及外部连接方法如下图所示 19 8086CPU内部结构框图 微型计算机内部结构 微处理器内部主要部件包括 1 内部寄存器陈列用来寄存或暂存参与运算的数据 8位或16位 经常可以连成寄存器对 16位 用来存放操作数地址 16位专用寄存器如 程序计数器PC 堆栈指针SP 2 累加器和算术逻辑单元对数据进行算术运算 逻辑运算的场所 运算结果 标志触发器记忆或送某个寄存器等等 3 指令寄存器 指令译码器 定时及各种控制信号产生电路把用户程序中的指令一条条译出来 然后以一定时序发出相应的控制信号 4 内部采用单总线结构在任何时候只有一个内部设备能使用内部总线 各设备之间必须分时使用内部总线 因而速度受到影响 23 从大的结构和功能上讲 i8086可分为两个部分 即总线接口控制单元BICU BusInterface ControlUnit 和执行运算单元EU ExEUtionUnit BICU 24 一 总线接口控制单元BICU总线接口控制单元BICU的功能是负责完成CPU与存储器或I O设备之间的数据传送 其具体任务是 BICU要从内存取指令送到指令队列缓冲器 CPU执行指令时 总线接口控制单元要配合执行运算单元从指定的内存单元或者外设端口中取数据 将数据传送给执行运算单元 或者把执行运算单元的操作结果传送到指定的内存单元或外设端口中 BICU内有4个16位段地址寄存器 包括 CS 代码段寄存器 DS 数据段寄存器 SS 堆栈段寄存器 和ES 附加段寄存器 16位指令指针IP 6字节指令队列缓冲器 20位地址加法器和总线控制电路 25 BICU由程序计数器 指令寄存器 指令译码器 时序产生器和操作控制器组成 它是发布命令的 决策机构 即完成协调和指挥整个计算机系统的操作 它的主要功能有 1 从内存中取出一条指令 并指出下一条指令在内存中的位置 2 对指令进行译码或测试 并产生相应的操作控制信号 以便启动规定的动作 3 指挥并控制CPU 内存和输入 输出设备之间数据流动的方向 26 1 程序计数器 PC 为了保证程序能够连续地执行下去 CPU必须具有某些手段来确定下一条指令的地址 而程序计数器正是起到这种作用 所以通常又称为指令计数器 在程序开始执行前 必须将它的起始地址 即程序的一条指令所在的内存单元地址送入PC 因此PC的内容即是从内存提取的第一条指令的地址 当执行指令时 CPU将自动修改PC的内容 以便使其保持的总是将要执行的下一条指令的地址 由于大多数指令都是按顺序来执行的 所以修改的过程通常只是简单的对PC加1 27 但是 当遇到转移指令如JMP指令时 那么后继指令的地址 即PC的内容 必须从指令的地址段取得 在这种情况下 下一条从内存取出的指令将由转移指令来规定 而不是像通常一样按顺序来取得 因此程序计数器的结构应当是具有寄存信息和计数两种功能的结构 2 数据缓冲寄存器 DR 数据缓冲寄存器用来暂时存放由内存储器读出的一条指令或一个数据字 反之 当向内存存入一条指令或一个数据字时 也暂时将它们存放在数据缓冲寄存器中 缓冲寄存器的作用是 1 作为CPU和内存 外部设备之间信息传送的中转站 2 补偿CPU和内存 外围设备之间在操作速度上的差别 3 在单累加器结构的运算器中 数据缓冲寄存器还可兼作为操作数寄存器 28 3 指令寄存器 IR 指令寄存器用来保存当前正在执行的一条指令字代码 当执行一条指令时 先把它从内存取到缓冲寄存器中 然后再传送至指令寄存器 4 指令译码器 ID 指令分为操作码和地址码字段 由二进制数字组成 为了能执行任何给定的指令 必须对操作码进行分析 以便识别所要求的操作 指令译码器就是对指令寄存器中的操作码字段进行分析 识别该指令规定的操作 向操作控制器发出具体操作的特定信号 29 5 地址寄存器 AR 地址寄存器用来保存当前CPU所访问的内存单元的地址 由于在内存和CPU之间存在着操作速度上的差别 所以必须使用地址寄存器来保持地址信息 直到内存的读 写操作完成为止 当CPU和内存进行信息交换 即CPU向内存存 取数据时 或者CPU从内存中读出指令时 都要使用地址寄存器和数据缓冲寄存器 同样 如果把外围设备的设备地址作为像内存的地址单元那样来看待 那么 当CPU和外围设备交换信息时 同样可使用地址寄存器和数据缓冲寄存器 地址寄存器的结构和数据缓冲寄存器 指令寄存器一样 通常使用单纯的寄存器结构 信息的存入一般采用电位 脉冲方式 即电位输入端对应数据信息位 脉冲输入端对应控制信号 在控制信号作用下 瞬时地将信息打入寄存器 30 对总线接口控制单元 这里作以下3点说明 1 指令队列缓冲器 8086的指令队列为6个字节 而8088的指令队列为4个字节 不管是8086还是8088 都会在执行指令的同时 从内存中取下面1条或几条指令 取来的指令就依次放在指令队列中 它们采用 先进先出 的原则 按顺序存放 并按顺序取到EU中去执行 其操作将遵循下列原则 31 1 取指时 每当指令队列缓冲器中存满1条指令后 EU就立即开始执行 2 指令队列缓冲器中只要空出2个 对8086 或空出1个 对8088 指令字节时 BICU便自动执行取指操作 直到填满为止 3 在EU执行指令的过程中 指令需要对存储器或I O设备存取数据时 BICU将在执行完现行取指的存储器周期后的下一个存储器周期 对指定的内存单元或I O设备进行存取操作 交换的数据经BICU由EU进行处理 32 4 当EU执行完转移 调用和返回指令时 则要清除指令队列缓冲器 并要求BICU从新的地址重新开始取指令 新取的第1条指令将直接经指令队列送到EU去执行 随后取来的指令将填人指令队列缓冲器 由于BICU与EU是分开并独立工作的 因此 在一般情况下 CPU执行完1条指令后就可以立即执行下1条指令 而不需要像以往8位CPU那样重复地进行先取指令和后执行指令的串行操作 16位CPU这种并行重叠操作的特点 提高了总线的信息传输效率和整个系统的执行速度 33 2 地址加法器和段寄存器 前面已经指出 8086有20根地址线 但内部寄存器只有16位 那么如何用16位寄存器实现20位地址的寻址呢 这里设计师用16位的段寄存器与16位的偏移量巧妙地解决了这一矛盾 即各个段寄存器分别用来存放各段的起始地址 当由IP提供或由EU按寻址方式计算出寻址单元的16位偏移地址 又称为逻辑地址 后 将与左移4位后的段寄存器的内容同时送到地址加法器进行相加 形成一个20位的实际地址 又称为物理地址 以对存储单元寻址 34 3 16位指令指针IP InstructionPointer 其功能与8位CPU中的PC类似 正常运行时 IP中含有BICU要取的下l条指令 字节 的偏移地址 IP在程序运行中能根据当前指令的字节数自动修正 使之指向要执行的下1条指令 字节 有些指令能使IP值改变或使IP值压进堆栈 或由堆栈弹出恢复原值 35 二 执行运算单元EU执行运算单元不与系统直接相连 它的功能只是负责执行指令 执行的指令从BICU的指令队列缓冲器中取得 执行指令的结果或执行指令所需要的数据 都由EU向BICU发出请求 再由BICU对存储器或外设存取 EU由算术逻辑单元 ALU 累加寄存器 数据缓冲寄存器和状态条件寄存器组成 它是数据加工处理部件 相对接口控制器而言 运算器接受控制器的命令而进行动作 即运算器所进行的全部操作都是由控制器发出的控制信号来指挥的 所以它是执行部件 运算器有两个主要功能 1 执行所有的算术运算 2 执行所有的逻辑运算 并进行逻辑测试 如零值测试或两个值的比较 36 EU单元的主要部件 1 16位算术逻辑单元 ALU 它可以用于进行算术 逻辑运算 也可以按指令的寻址方式计算出寻址单元的16位偏移量 2 16位标志寄存器F 它用来反映CPU运算的状态特征或存放控制标志 状态标志寄存器保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容 如运算结果进位标志 C 运算结果溢出标志 V 运算结果为零标志 Z 运算结果为负标志 N 等等 这些标志位通常分别由1位触发器保存 除此之外 状态条件寄存器还保存中断和系统工作状态等信息 以便使CPU和系统能及时了解机器运行状态和程序运行状态 因此 状态条件寄存器是一个由各种状态条件标志拼凑而成的寄存器 37 3 数据暂存寄存器 它协助ALU完成运算 暂存参加运算的数据 数据缓冲寄存器用来暂时存放由主存储器 I O设备读出的数据或者准备写入主存储器 I O设备的数据 缓冲寄存器的作用是 1 作为CPU和内存 外部设备之间信息传送的中转站 2 补偿CPU和内存 外围设备之间在操作速度上的差别 3 在单累加器结构的运算器中 数据缓冲寄存器还可兼作为操作数寄存器 4 通用寄存器组 它包括4个16位数据寄存器AX BX CX DX和4个16位指针与变址寄存器SP BP与SI DI 5 EU控制电路 它是控制 定时与状态逻辑电路 接收从BICU中指令队列取来的指令 经过指令译码形成各种定时控制信号 对EU的各个部件实现特定的定时操作 EU中所有的寄存器和数据通道 除队列总线为8位外 都是16位的宽度 可实现数据的快速传送 38 8088CPU内部结构与8086的基本相似 只是8088BICU中指令队列长度为4个字节 8088BICU通过总线控制电路与外部交换数据的总线宽度是8位 总线控制电路与专用寄存器组之间的数据总线宽度也是8位 二 INTEL8088结构INTEL8086 16位机 INTEL8088 简称8088 是一种准16位微处理器 在INTEL8080与8085的基础上发展起来的 结构特点 1 内部结构是16位的 内部寄存器 内部运算部件 内部操作按16位设计 2 外部数据总线8条 能处理16位数据 也能处理8位数据 具有16位运算指令 包括 指令 3 汇编语言与8080 8085兼容 即能执行整套8080 8085的指令 增加了许多16位操作指令 4 20条地址总线 直接寻址能力1M字节 5 40条引线封装 6 单相时钟 7 电源为5V 8086与8088的主要区别在于8086的外部数据总线16位 分三部分讨论 一 8088的寄存器结构 二 8088编程结构 三 存储器结构 一 8088的寄存器结构 8088的寄存器结构 1 通用寄存器通用寄存器包括 数据寄存器 地址指针寄存器 变址寄存器 数据寄存器包括 AX BX CX DX 地址指针寄存器包括 SP BP 变址寄存器包括 SI DI 2 段寄存器段寄存器包括 CS SS DS ES 3 控制寄存器控制寄存器包括 IP PSW 1 通用寄存器 1 数据寄存器AX BX CX DX作为通用寄存器 用来暂存计算过程中所用到的操作数 结果或其它信息 访问形式 可以用16位的访问 或者可以用字节 8位 形式访问 它们的高8位记作 AH BH CH DH 它们的低8位记作 AL BL CL DL AX Accumulator 作为累加器 它是算术运算的主要寄存器 所有I O指令都使用这一寄存器与外部设备交换数据 例 INAL 20HOUT30H AXBX Base用作基址寄存器使用 在计算内存储器地址时 经常用来存放基址 例 MOVAX BX 03H CX Count可以作计数寄存器使用 在循环LOOP指令和串处理指令中用作隐含计数器 例 MOVCX 200HAGAIN LOOPAGAIN CX 1 CX 结果 0转AGAINDX Data可以作为数据寄存器使用 一般在双字长乘除法运算时 把DX和AX组合在一起存放一个双字长 32位 数 DX用来存放高16位 对某些I O操作DX可用来存放I O的端口地址 口地址 256 例 MULBX AX BX DX AX 例 INAL DX 2 地址指针与变址寄存器 段起始地址SP BP SI DI四个16位寄存器 以字为单位在运算过程中存放操作数 经常用以在段内寻址时提供偏移地址 段内偏移地址段地址 只取段起始地址高16位值 偏移地址 指在段内某内存单元物理地址相对段起始地址的偏移值 高16位值0000B 48 地址指针寄存器 SP BP SP stackpointer 堆栈指针寄存器用来指示栈顶的偏移地址 必须与SS段寄存器联合使用确定实际地址 堆栈和指针如下页图所示 BP basepointer 基址指针寄存器可以与SS寄存器联合使用来确定堆栈段中某一存储器单元地址 8088系统存储器与总线连接 堆栈和指针 设 SS 3F00H SP 0060H堆栈和指针如下图 堆栈是内存开辟的一个特殊数据区 一端固定 一端浮动 严格按照后进先出的工作原则 变址寄存器 SI DI SI SourceIndexRegister源变址寄存器 DI DestinationIndex目的变址寄存器 使用场合 常用于变址寻址 一般与DS联用 用来确定数据段中某一存储单元的地址 SI DI具有自动增量和自动减量功能 例 MOVAX SI 在串处理指令中 SI DI作为隐含的源变址和目的变址寄存器分别达到在数据段和附加段中寻址的目的 执行示意图如右图 例 MOVSI 2000HMOVDI 3000HMOVCX 100HCLD MOVSB 串处理指令执行示意图 2 段寄存器段寄存器 4个16位段寄存器CS DS SS ES 用来识别当前可寻址的四个段 不可互换的使用 CS CodeSegmentRegister代码段寄存器用来识别当前代码段 程序一般放在代码段 DS DataSegmentRegister数据段寄存器用来识别当前数据段寄存器 SS StackSegmentRegister堆栈段寄存器 用来识别当前堆栈段 ES ExtraSegmentRegister附加段寄存器 用来识别当前附加段 3 控制寄存器控制寄存器 IP PSWIP InstructionPointer指令指针寄存器用来存储代码段中的偏移地址 程序运行过程中IP始终指向下一次要取出的指令偏移地址 IP要与CS寄存器相配合才能形成真正的物理地址 PSW ProcessorStatesWordProgram 程序状态字寄存器 16位寄存器 由条件码标志FLAG 控制标志构成 只用了其中9位 6位条件码标志 3位控制标志 如下表示 条件码标志 用来记录程序中运行结果的状态信息作为后续条件转移指令的转移控制条件 称为条件码 条件码包括6位 CF PF AF ZF SF OF OF OverflowFlag 溢出标志 一般指补码溢出 OF 1 在运算过程中 如操作数超过了机器表示的范围称为溢出 OF 0 在运算过程中 如操作数未超过了机器能表示的范围称为不溢出 字节允许范围 128 127 字运算范围 32768 32767 SF SignFlag 符号标志SF 1 记录运算结果的符号为负 SF 0 记录运算结果的符号为正 ZF ZeroFlag 零标志ZF 1 运算结果为0 ZF 0 运算结果不为0 CF CarryFlag 进位标志CF 1 记录运算时从最高有效位产生进位值 CF 0 记录运算时从最高有效位不产生进值 AF AuxiliaryCarryFlag 辅助进位标志AF 1 记录运算时第3位 半个字节 产生进位值 AF 0 记录运算时第3位 半个字节 不产生进位值 PF ParityFlag 奇偶标志PF 1 结果操作数低8位中有偶数个1 PF 0 结果操作数低8位中有奇数个1 用来为机器中传送信息时可能产生的代码出现情况提供检验条件 控制标志 对控制标志位进行设置后 对其后的操作起控制作用 控制标志位包括3位 TF IF DF 跟踪 陷阱 标志TF 中断标志IF 方向标志DF TF TrapFlag 跟踪 陷阱 标志位TF 1 每执行一条指令后 自动产生一次内部中断 使CPU处于单步执行指令工作方式 便于进行程序调试 用户能检查程序 TF 0 CPU正常工作 不产生陷阱 IF InteruptFlag 中断标志位IF 1 允许外部可屏蔽中断 CPU可以响应可屏蔽中断请求 IF 0 关闭中断 CPU禁止响应可屏蔽中断请求 IF的状态对不可屏蔽中断和内部软中断没有影响 DF DirectionFlag 方向标志位DF 1 每次串处理操作后使变址寄存器SI和DI减量 使串处理从高地址向低地址方向处理 DF 0 每次串处理操作后使变址寄存器SI和DI增量 使串处理从低地址向高地址方向处理 DF方向标志位是在串处理指令中控制处理信息的方向用的 控制信息 由系统程序或用户程序根据需要用指令来设置的 状态信息 由中央处理器 根据计算结果自动设置的 机器提供了设置状态信息指令 必要时 程序员可以用这些指令来建立状态信息 在调试程序时 DEBUG提供了测试标志位的手段 用符号表示标志位的值 每种标志位的符号如下表 DEBUG不提供TF的符号用于单步方式操作 标志 运算结果最高位为0 SF 0 运算结果本身 0 ZF 0低8位中1的个数为奇数个 PF 0 最高位没有进位 CF 0第三位向第四位无进位 AF 0 次高位向最高位没有进位 最高位向前没有进位 OF 0 例1 执行两个数的加法 分析对标志位的影响 标志 运算结果最高位为1 SF 1 运算结果本身不为0 ZF 0 最高位向前无进位 CF 0次高位向最高位产生进位 而最高位向前没有进位 OF 1 结果低8位含偶数个1 PF 1 第三位向第四位有进位 AF 1 在绝大多数情况下 一次运算后并不影响所有标志 程序也并不需要对所有的标志作全面的关注 一般只是在某些操作后 对其中某个标志进行检测 例2 执行两个数的加法 分析对标志位的影响 二 8088编程结构编程结构 从程序员和使用者的角度来看的结构 这种结构与CPU内部的物理结构和实际布局有区别 8088编程结构如下页图所示 分两部分 1 总线接口控制单元 BICU BusInterfaceUnit 2 执行部件 EU ExEUtionUnit 8086编程结构 1 总线接口控制单元BICU BusInterfaceUnit 1 功能 负责与M I O端口传送数据 具体讲 总线接口部件要从内存取指令送到指令队列 CPU执行指令时 要配合执行部件从指定的内存单元或者外设端口中取数据 将数据传送给执行部件 或把执行部件的操作结果传送给指定的M或I O口 2 组成4个段地址寄存器 CS DS ES SS 16位指令指针寄存器IP 20位的地址加法器 16d 段地址 偏移地址 物理地址 6字节 8086 或4字节 8088 的指令队列 总线控制电路 处理器与外界总线联系的转接电路 包括三组总线 20位地址总线 8位双向数据总线 一组控制总线 3 二点说明 指令队列8086的指令队列为6个字节 8088的指令队列为4个字节 不论是8086还是8088都会在执行指令的同时从内存中取下一条或几条指令 取来的指令放在指令队列中 使BICU具有预取指令的功能 是一种先进先出 FIFO 的数据结构 指令执行顺序顺序指令执行 指令队列存放紧接在执行指令后面的那一条指令 执行转移指令 BICU清除指令队列中的内容 从新的地址取入指令 立即送往执行运算单元 然后再从新单元开始重新填满队列 2 EU ExEUtionUnit 执行运算单元 1 功能 负责指令执行 2 组成 4个通用寄存器 AX BX CX DX4个专用寄存器 BP SP SI DI 标志寄存器 PSW 9个标志位 其中6个条件标志位用于存放结果状态 算术逻辑单元 16位加法器 用于对寄存器和指令操作数进行算术或逻辑运算 EU控制系统 接受从总线接口控制单元的指令队列中取来的指令代码 对其译码和向EU内各有关部分发出时序命令信号 协调执行指令规定的操作 由此可见 8086 8088取指部分与执行部分是分开的 在一条指令的执行过程中可以取出下一条 或多条 指令 指令在指令队列中排队 在一条指令执行完成后 就可以立即执行下一条指令 减少CPU为取指令而等待的时间 提高CPU的利用率和整个运行速度 8086 8088微处理器 BICU和EU分开 取指和执行可以重迭 大大减少了等待取指所需的时间 提高CPU的利用率 重迭操作技术 一方面提高了整个执行速率 另一方面降低了与之相配的存储器的存取速度的要求 对于8080与8085及较早的8位微处理器 程序执行由取指令和执行指令的循环来完成的 每条指令执行完后CPU必须等待到下条指令取出来后才能执行 三 存储器结构1 存储单元的地址和内容2 存储器地址分段3 各段在存储器中分配 1 存储单元的地址和内容及与CPU之间数据传送 1 存储单元的地址和内容存储器位编号 8088字长16位 由二个字节组成 位编号如下 高位字节MSB 8 15位 低位字节LSB 0 7位 8088内部的ALU能进行16位运算 有关地址寄存器如SP IP BP SI DI等都是16位的 内存单元的地址和内容 存储单元地址 按照字节编址 存储单元的的内容 一个存储单元有效的信息 机器字长是16位 大部分数据以字节为单位表示 一个字存入存储器占有相继的二个单元 低位字节存入低地址 高位字节存入高地址 字单元的地址采用它的低地址来表示 例 字单元 0004H 1234H 字节单元 0004H 34H同一个地址既可以看作字节单元地址 又可看作字单元地址 需要根据使用情况确定 字单元地址 可以是偶数也可以是奇数 2 CPU和存储器或I O端口之间传送数据 80868086数据总线是16位的 讨论CPU和存储器或I O端口之间传送数据方式 字数据读 写操作字节读 写操作 字数据读 写操作 a 操作数存放在偶地址开始两个存储单元或两个I O端口中 即操作数字的低8位 在偶地址单元或在偶地址端口 高8位 在奇地址单元或在奇地址端口 在一个总线周期内完成 通常4个时钟周期 16位数据传送 操作数必须存放在偶地址开始两个存储单元或两个I O端口中 对应的偶地址单元 偶地址端口 数据通过数据总线低8位传输 对应的奇地址单元 奇地址端口 数据通过数据总线高8位传输 字数据读 写偶地址字操作如下图 操作数存放在奇地址开始两个存储单元或两个I O端口中如下图所示 读 写奇地址字 在第一个总线周期中 对应于奇地址单元或奇地址端口字节 操作字低8位 通过数据总线高8位进行传输 而数据总线低8位处于空闲状态 在第二个总线周期中 对应于偶地址单元或偶地址端口字节 操作字高8位 通过数据总线低8位进行传输 而数据总线高8位处于空闲状态 由此可见 操作数存放在奇地址开始两个存储单元 两个I O端口中进行数据传输 8086需要二个总线周期 字节读 写操作 对偶地址单元 偶地址端口的字节数据进行读 写如下图所示 在一个总线周期中 只有数据总线的低8位传输数据 高8位处于空闲状态 对奇地址单元 奇地址端口的字节数据进行读 写如下图所示 在一个总线周期中 只有数据总线的高8位传输数据 而低8位处于空闲状态 80888088数据总线只有8位 讨论CPU和存储器或I O端口之间传送数据 每个总线周期只传输1个字节 所以对每个字操作要增加4个时钟周期 4 存储器特性 存储器的内容是取之不尽的 即从某个单元取出其内容后 该单元仍保持原来的内容不变 可以重复取出 只有存入信息后 原有的内容自动消失 2 存储器地址分段 8088有20条地址总线 直接寻址能力为220 1M字节 用16进制数表示1M字节的地址范围应为00000H FFFFFH 1 8088内部20位物理地址形成 2 逻辑地址与物理地址 1 8088内部20位物理地址形成 存储器地址分段8088地址总线是20位的 CPU中的寄存器是16位的 20位地址无法用16位寄存器表示 必须分段 程序员在编制程序时把存储器划分成段 段内地址16位 每个段的大小最大可达64KB 实际可以根据需要来确定段大小 可以是1 100 1000 在64K范围内的任意字节数 IBMPC机对段的起始地址有限制 即段不能从任意地址开始 必须从任一小段 paragraph 的首地址开始 小段的概念从0地址开始每16字节为一小段 对于16位地址总线 段内存储器小段地址如下 如 0000H 0001H 0002H 000EH 000FH一个小段0010H 0011H 0012H 001EH 001FH0020H 0021H 0022H 002EH 002FH FFF0H FFF1H FFF2H FFFEH FFFFH其中 第一列就是每个小段的首地址 每个小段首地址特征 在16进制表示的地址中 最低位为0H 即20位地址的低4位为0000B 在1M字节的地址空间 共有个小段其首地址为 00000H00010H 41230H41240H FFFE0HFFFF0H 64K 20位物理地址形成物理地址 在1M字节存储器里 每个存储单元都有一个唯一的20位地址作为该存储单元的物理地址 CPU访问存储器时 必须先确定所要访问的存储单元的物理地址才能取出 或存入 该单元中的内容 20位物理地址形成 由16位段地址和16位偏移地址组成 段地址 只取段起始地址高16位值 偏移地址 指在段内某内存单元物理地址相对段起始地址的偏移值 3 物理地址计算方法即把段地址左移4位再加上偏移地址值形成物理地址 写成 物理地址 16d 段地址 偏移地址 每个存储单元只有唯一的物理地址 但可由不同的段地址和不同的偏移地址组成 3 逻辑地址与物理地址 逻辑地址与物理地址概念逻辑地址与物理地址概念如下页图所示 逻辑地址 由段基址和段内偏移地址组成的地址 如CS IP 段基址和段内偏移地址都是16位的无符号二进制数 在程序设计时使用 物理地址 存储器的绝对地址 20位的实际地址 范围从00000H FFFFFH 是由CPU访问存储器时由地址总线发出的地址 存储器管理 将程序中逻辑地址转移为物理地址的机构与机制 物理地址的形成 20000H 25F60H 25F61H 25F62H 25F63H 2000H 段基址 逻 辑 地 址 段内偏移地址 5F62H 逻辑地址与物理地址 物理地址 逻辑地址来源 取指令 自动选择代码段寄存器CS 再加上由IP决定的16位偏移量 计算得到要取的指令20位物理地址 堆栈栈顶操作 自动选择堆栈段寄存器SS 再加上由SP决定的16位偏移量
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电缆知识及销售技巧培训课件
- 电线生产知识培训
- 第13章 品牌消费心理与行为
- 高级养老护理员培训
- 高炉水工基础知识培训课件
- DJ-89-生命科学试剂-MCE
- 北京安全员考试c试题及答案
- 北大数学训练营考试题及答案
- 护士电子考试题及答案
- 保安知识考试试题题库及答案
- 血管外科常用药物
- 数据中心机房空调系统设计方案
- 校长在2025年秋季开学第一次全体教师大会上的讲话:顺时而为造势而上燃光而行守念而稳
- 2025-2030中国光耦元件市场竞争风险及发展态势分析报告
- 2025年中州水务财务笔试题及答案
- 公交交警安全知识培训课件
- (标准)仓库退租协议书
- 2025年国际法律合规与跨境经营风险试题及答案
- 脊髓损伤的康复课件
- 配电线路运维培训课件
- 初级健康照护师课件
评论
0/150
提交评论