第2章 80x86计算机组织 计算机系统 存储器 中央处理机 外部设备
1. 计算机系统 硬件: 软件:系统软件 用户软件 . . 存储器 大容量 存储器 中央处理机 CPU 总线控制 逻辑 接 口 系统总线 1. 计算机系统 硬件: 存储器 大容量 存储器 中央处理机 CPU 总线控制 逻辑 接 口 . . 系统总线 接 口 I/O设备 I/O子系统 软件:系统软件 用户软件
2. 存储器 存储单元的地址和内容: 存储器以字节(8 bit)为编程单位 每个字节单元都有唯一的地址编码 2. 存储器 存储单元的地址和内容: 存储器以字节(8 bit)为编程单位 每个字节单元都有唯一的地址编码 地址用无符号整数来表示(编程用十六进制表示) 一个字要占用相继的两个字节 低位字节存入低地址,高位字节存入高地址 字单元地址用它的低地址来表示 机器以偶地址访问(读 / 写)存储器
存储器的逻辑地址与物理地址 逻辑地址 物理地址 1000 : 0000H 10011111 10000H 1000 : 0001H 段地址 : 偏移地址 1000 : 0000H 10011111 10000H 1000 : 0001H 00100110 10001H 1000 : 0002H 01001000 10002H 1000 : 0003H 10000011 10003H 1000 : 0004H 01011100 10004H 1000 : 0005H 10100010 10005H 字节内容(10000H)=9FH;(10001H)=26H 字内容 (10000H)=269FH;(10001H)=4826H 访问两次内存
存储器的分段: 20 根地址线: 地址范围 00000H ~ FFFFFH (1MB) 机器字长16位:仅能表示地址范围 0000H ~ FFFFH (64KB) 小段:每16个字节为一小段,共有64K个小段 小段的首地址 00000 H ~ 0000F H 00010 H ~ 0001F H 00020 H ~ 0002F H … FFFF0 H ~ FFFFF H 段起始地址:小段首地址 段的大小: 64K 范围内的任意字节
存储器的逻辑分段: 存储器 段寄存器 64KB代码 CS 0150H DS SS 64KB堆栈 4200H ES 1CD0H B000H
存储器 优点: 允许程序在存储器内重定位; 允许实模式程序在保护模式下运行; 有利于程序和数据的分离。 CS 0200H DS SS 8KB代码 04000H 2KB数据 04800H 256堆栈 优点: 允许程序在存储器内重定位; 允许实模式程序在保护模式下运行; 有利于程序和数据的分离。
物理地址 = 16 段地址 + 偏移地址 + 例:(DS) = 2100H, (BX) = 0500H 16 位 段 地 址 0000 16 位 偏 移 地 址 + 20 位 物 理 地 址 例:(DS) = 2100H, (BX) = 0500H (PA) = 21000H+0500H = 21500H
3. 中央处理器 CPU组成:算术逻辑部件ALU、 控制器、寄存器 8086/8088寄存器组: 数据寄存器: 3. 中央处理器 CPU组成:算术逻辑部件ALU、 控制器、寄存器 8086/8088寄存器组: 数据寄存器: 指针及变址寄存器:SP、BP、SI、DI 段寄存器: CS、DS、SS、ES 控制寄存器: IP、FLAGS 高8位 低8位 AH AL BH BL CH CL DH DL AX BX CX DX
标志寄存器 ( FLAGS / PSW ) 条件码标志: 控制标志: OF DF IF TF SF ZF AF PF CF 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 OF DF IF TF SF ZF AF PF CF 条件码标志: 控制标志: OF 溢出标志 DF 方向标志 SF 符号标志 IF 中断标志 ZF 零标志 TF 陷阱标志 CF 进位标志 AF 辅助进位标志 PF 奇偶标志 例:ADD AX, BX JO / JC ERROR ?
寄存器与存储器的比较: 寄 存 器 存 储 器 在CPU内部 在CPU外部 访问速度快 访问速度慢 容量小,成本高 容量大,成本低 寄 存 器 存 储 器 在CPU内部 在CPU外部 访问速度快 访问速度慢 容量小,成本高 容量大,成本低 用名字表示 用地址表示 没有地址 地址可用各种方式形成
4. 外部设备 外部设备与主机( CPU 和存储器)的通信是 通过外设接口(Interface)进行的,每个接口包括 一组寄存器。 4. 外部设备 外部设备与主机( CPU 和存储器)的通信是 通过外设接口(Interface)进行的,每个接口包括 一组寄存器。 数据寄存器:存放外设和主机间传送的数据 状态寄存器:保存外设或接口的状态信息 命令寄存器:保存CPU发给外设或接口的控制命令 外设中每个寄存器有一个端口(Port)地址,构成 一个独立于内存的 I / O 地址空间:0000H ~ FFFFH
80x86的寄存器结构 80x86的程序可见寄存器组 通用寄存器 专用寄存器 段寄存器 31 16 15 8 7 0 寄 存 器 AH AX AL BH BX BL CH CX CL DH DX DL SP BP SI DI IP FLAGS CS DS SS ES 8086 / 8088 / 80286 寄 存 器 EAX EBX ECX EDX ESP EBP ESI EDI EIP EFLAGS FS GS 31 16 15 8 7 0 80x86的程序可见寄存器组 通用寄存器 专用寄存器 段寄存器
80x86的标志寄存器 (P.23) IOPL: I/O特权级 VIP:虚拟中断未决标志 NT: 嵌套任务标志 VIF:虚拟中断标志 8086/8088 OF DF IF TF SF ZF AF PF CF 80x86的标志寄存器 (P.23) 80286 OF DF IF TF SF ZF AF PF CF NT IOPL 80386 RF OF DF IF TF SF ZF AF PF CF IOPL NT VM 80486 RF OF DF IF TF SF ZF AF PF CF IOPL NT VM AC Pentium RF OF DF IF TF SF ZF AF PF CF IOPL NT VM AC ID VIP VIF 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 IOPL: I/O特权级 VIP:虚拟中断未决标志 NT: 嵌套任务标志 VIF:虚拟中断标志 RF: 重新启动标志 VM:虚拟8086模式位 AC: 对准检查方式位 ID: 标识标志
保护模式下的80x86 支持多任务处理功能 支持虚拟存储器特性 保护模式下的存储器寻址 逻辑地址 存 储 器 所选段 选择器16 存 储 器 段基地址32 所选段 所选存储单元 逻辑地址 选择器16 偏移地址 32 描述符表 描 述 符64 保护模式下的存储器寻址
第2章作业 Page 33 2.1 ~ 2.5