资源预览内容
第1页 / 共58页
第2页 / 共58页
第3页 / 共58页
第4页 / 共58页
第5页 / 共58页
第6页 / 共58页
第7页 / 共58页
第8页 / 共58页
第9页 / 共58页
第10页 / 共58页
亲,该文档总共58页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第二章 80 x86计算机组织,主要内容,2.1 80 x86微处理器 2.2 基于微处理器的计算机系统 2.3 中央处理机 2.4 存储器 2.5 外部设备,2.1 80 x86微处理器,1、80 x86是美国Intel公司的微处理器系列 1969:4040芯片、4位 1973:8080芯片、8位 1978:8086芯片、16位 1979:8088芯片、16位 1982:80286芯片、16位 1986:80386芯片、32位 Pentium系列,2.一些名词术语(1),主频:主时钟频率,影响运行计算机速度 数据总线:负责各部分间的数据传送 数据总线宽度:芯片内传送数据的宽度 外部数据总线宽度:芯片内和芯片外交换数据的宽度 地址总线宽度:用以确定可访问的存储器的最大范围,地址总线宽度,10位:210=1024单元,1K 20位:220=1024* 210单元=1024K,1M 24位:224=16*1M,16M 30位:230=1024M,1G 32位:232=4G,即4GB,2.一些名词术语(2),存储器 主存、高速缓存、外存储器 指令执行时间 8086:400ns; 80286:250ns; 80486:25ns;Pentium:25ns/2; Pentium Pro:25ns/3; Pentium II: 工作方式 (1)实模式(2)保护模式(3)虚拟模式,工作方式,(1)实模式:段寄存器保护实际的段地址,但只限于1M的寻址 (2)保护模式:有更大寻址能力,使用各种表格,段的实际地址放在描述符表中,使用段选择器 (3)虚拟模式:提供比主存更大的空间,程序可放在外存上,执行时调入,模拟多个CPU,2.2基于微处理器的计算机系统,计算机系统,计算机系统包括硬件和软件两部分: 1硬件: 2软件:,2.2.1 硬件,结构图:,功能部件,存储器:计算机的记忆部件 中央处理机:包括运算器和控制器 运算器:执行算术和逻辑运算指令 控制器:负责全机的控制工作,如取指令、译码、分析、取数、执行、存数 I/O系统:I/O设备、大容量存储器 系统总线:数据线、地址线和控制线三组,2.2.2 软 件,计算机软件:系统软件、用户软件 系统软件: 用户软件: 操作系统:主要部分是常驻监督程序 I/O驱动程序:对I/O设备进行控制或管理,计算机软件层次图,其它软件(1),文件管理系统: 文本编辑程序:如editor(edit命令), 记事本、写字板 翻译程序:分编译程序、解释程序 汇编程序:Asm、Masm、Tasm ASM:小汇编程序,它占有较小的存储区,功能较弱 MASM:宏汇编程序,功能较强,具有宏汇编能力 Masm for windows集成实验环境,其它软件(2),连接程序:程序、库文件或其他已翻译的子程序连接在一起,形成机器可执行程序 装入程序:把程序从外存送到内存 调试程序: 系统带的调试程序Debug:举例 Turbo Debug程序:Tdebug Masm for windows集成实验环境,机器语言、汇编语言和高级语言,机器语言:二进制指令代码组成,机器可直接识别并执行、不必依赖任何软件 汇编语言:一种符号语言,它几乎和机器语言一一对应,使用助记符。是面向机器,便于记忆的语言。 高级语言:用脱离机器指令、用易理解的方式编写的程序,在抽象级上运行,机器语言和汇编语言的特点,汇编语言和机器语言一一对应,运行在计算机的具体级上。处理对象是位、字节、字以及CPU寄存器和存储单元。 汇编语言能够精确、逼真地描述计算机执行的每一具体步骤,程序质量高。 汇编语言可移植性差,编程较复杂,还需了解计算机硬件知识。,高级语言的特点,高级语言在计算机的抽象级上运行,处理对象是变量、数组等各种类型的数据。 高级语言编程容易,可移植性好。 在计算机的抽象级上运行,直接利用硬件系统性能差,缺乏与硬件直接发生联系的语句,影响编程技巧的发挥。,2.3 中央处理机,2.3.1 中央处理机CPU的组成 2.3.2 8086/8088的寄存器组,2.3.1 中央处理机CPU的组成,CPU由三部分组成: 算术逻辑部件ALU:用来进行算术和逻辑运算。 控制逻辑:负责对全机的控制工作,包括:取指、译指、取操作数,发执行指令、结果存入存储器、对总线和I/O传送的控制等。 寄存器:相当于运算器中的一个存储单元,2.3.2 8086/8088的寄存器组,寄存器:可见寄存器、不可见寄存器 可见寄存器: 通用寄存器 专用寄存器 段寄存器,通用寄存器(1),8086/8088、80286: 数据寄存器:AX,BX,CX,DX,16位 可作8位寄存器用:AH,AL,DH,DL等 变址寄存器:SP,BP,SI,DI,16位,数据寄存器的用途,AX:作累加器,算术运算主要寄存器;在I/O时用AX与外部设备传送信息 BX:在计算存储器地址时,常作基址寄存器 CX:作计数器 DX:作双字长运算时把DX和AX组合存放一个双字长数;在I/O时,DX可用来存放I/O的端口地址,SP、BP、SI、DI,SP:堆栈指针寄存器。 BP:基址指针寄存器 SI:源变址寄存器 DI:目的变址寄存器,SP用来指示栈顶的偏移地址; BP可作为堆栈区中的一个基地址以便访问堆栈中的其他信息,变址寄存器的用途,可象数据寄存器一样在运算过程中存放操作数; 在段内寻址时提供偏移地址 SP、BP都可以与SS寄存器联用来确定堆栈段中的某一存储单元的地址 SI、DI一般与DS联用: 在串处理指令中,SI和DS联用,DI和ES联用,关于SP、BP,通用寄存器(2),80386及后继机型: 数据寄存器: EAX、EBX、ECX、EDX,32位 可作8位寄存器用:AH,AL,DH,DL等 可作16位寄存器用:AX,BX,CX,DX 变址寄存器:ESP、EBP、ESI、EDI,32位 每个的专用属性与8086/8088、80286的寄存器一一对应,专用寄存器(1),8086/8088、80286: IP、SP、FLAGS16位 IP:指令指针寄存器。供系统使用,存放代码段中的偏移地址,与CS寄存器联用确定下一条指令的物理地址,指向下一条指令的首地址 FLAGS:程序状态字寄存器PSW。放条件码标志、控制标志、系统标志,专用寄存器(2),80386及后继机型: EIP、ESP、EFLAGS32位 与IP、SP、FLAGS16位的作用相同,程序状态字寄存器,8086/8088、80286: 条件码标志: OF、SF、ZF、CF、AF、PF 控制标志位:DF 系统标志位:TF、IF、IOPL(80286),IOPL,条件码标志,OF:溢出标志。运算时如操作数超出机器表示范围称为溢出。此时OF位置1;否则置0。 SF:符号标志。记录运算结果的符号,结果为负时置1,否则置0。 ZF:零标志。运算结果为0,置1;否则置0。 CF:进位标志。记录从最高有效位产生的进位值。最高有效位有进位时置1,否则置0。 AF:辅助进位标志。记录运算时第3位产生的进位值。如第3位有进位时置1,否则置0。 PF:奇偶标志。当结果操作数中1的个数为偶数时置1,否则置0。,标志符号 举例,控制标志位,控制标志位 :DF 方向标志,用于串处理指令处理 DF位为1时,每次操作后使变址寄存器SI和DI减量,使串处理从高地址向低地址方向处理: 当DF位为0时,则使SI和DI增量,使串处理从低地址向高地址方向处理:,系统标志位,IF:中断标志。 当IF=1时,允许中断; IF=1时关闭中断 TF:陷井标志(跟踪标志)。用于单步方式操作 IOPL:I/O特权级。控制对I/O地址空间访问,段寄存器,8086/8088、80286:四个段寄存器 代码段CS,数据段DS,堆栈段SS,附加段ES 80386及后继机型:六个段寄存器 代码段CS,数据段DS,堆栈段SS,附加段ES、FS、GS-都是16位 举例:,2.4 存储器,2.4.1 存储单元的地址和内容 2.4.2 实模式存储器寻址 2.4.3 保护模式存储器寻址,2.4.1 存储单元的地址和内容,位、字节和字 位:计算机存储信息的基本单位,存储二进制数:0或1。 字节:每8位组成一个字节,在存储器里以字节单位存储。 字长:8086/8088、80286字长为16位,由2个字节组成;80386字长为32位,由4个字节组成,双字,2. 存储器地址,存储器地址 分配给每一个字节单元的编号。地址从0开始编号,顺序地每次加1 每一个字节单元有唯一一个地址:物理地址 8086/8088: 20位,地址范围应该是00000HFFFFFH 80286: 24位,地址范围应该是000000HFFFFFFH 80386: 32位;Pentium: 36位,3存储单元的内容,存储单元的内容:一个存储单元存放的信息 (0004) = 1234H 字存放方式:低位字节放低地址,高位字节放高地址,以其低地址为准 同一个地址既可看作字节单元地址,又可看作字单元地址 双字数据存放:类似,4地址和内容,如果用X表示某存储单元的地址,则X单元的内容可以表示为(X) 假如X单元中存放着Y,而Y又是一个地址,则可用(Y)=(X)来表示Y单元的内容 举例: (0004H)=1234H,而(1234H)=2FlEH, 则也可记作 (0004H)=2F1EH,5存储器的特性,它的内容取之不尽 存入新的信息后,原来保存的内容就自动丢失,2.4.2 实模式存储器寻址,存储器地址的分段 段寄存器,存储器地址的分段,实模式下最大寻址能力1MB 8086/8088:有20条地址线,直接寻址能力为1MB,即为该机的最大存储容量。 其他处理器:实模式下最大寻址能力1MB 问题:对16位字长的机器,用什么办法来提供20位地址,即1MB空间?分段。实模式为8086/8088而设计。,几个名词,段:将存储器划分成段,每个段的大小可达64K,每段内地址可以用16位表示 小段:从0地址开始,每16个字节为一小段: 00000,00001,00002,0000E,0000F; 00010,00011,00012,0001E,0001F; 00020,00021,00022,0002E,0002F; 段地址:指每一段的起始地址,第一列就是每个小段的首地址 在1M字节的地址空间里,共有64K个小段首地址: 00000H 00010H 41230H 41240H FFFE0H FFFF0H,物理地址,存储单元的物理地址:在1M字节的存储器里,每一个存储单元对应的一个唯一的20位地址 物理地址的构成:20位物理地址由16位段地址和16位偏移地址组成 段地址:它必须是小段的首地址,其低4位一定是0,这样就规定段地址只取段起始地址的高16位值。 偏移地址:指段内相对于段起始地址的偏移值,物理地址的计算,公式:物理地址=16d段地址+偏移地址,16位段地址,0000,16位偏移地址,20位物理地址,+,2段寄存器,808680286:代码段CS、数据段DS、堆栈段SS、附加段ES寄存器 用途:确定一个段的起始地址,各有各的用途: 1)代码段存放当前正在运行的程序代码 2)数据段存放当前运行程序所用的数据 3)堆栈段定义了堆栈的所在区域。堆栈是一种数据结构,是特殊的存储区。特点:后进先出 4)附加段是附加的数据段,是一个辅助的数据区,举例:程序中代码段占8K(2000H)存储区,数据段占有2K(800H)存储区,堆栈段只占有256个字节的存储区,分配图:,段分配独立的情况,8086/8088、80286段寄存器与放偏移地址的寄存器的默认组合,80386及后继机型段寄存器与放偏移地址的寄存器的默认组合,2.4.3 保护模式存储器
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号