三级pc第二章知识要点.docx

上传人:b****5 文档编号:29170082 上传时间:2023-07-21 格式:DOCX 页数:54 大小:47.11KB
下载 相关 举报
三级pc第二章知识要点.docx_第1页
第1页 / 共54页
三级pc第二章知识要点.docx_第2页
第2页 / 共54页
三级pc第二章知识要点.docx_第3页
第3页 / 共54页
三级pc第二章知识要点.docx_第4页
第4页 / 共54页
三级pc第二章知识要点.docx_第5页
第5页 / 共54页
点击查看更多>>
下载资源
资源描述

三级pc第二章知识要点.docx

《三级pc第二章知识要点.docx》由会员分享,可在线阅读,更多相关《三级pc第二章知识要点.docx(54页珍藏版)》请在冰豆网上搜索。

三级pc第二章知识要点.docx

三级pc第二章知识要点

第二章

  一、微处理器的原理与组成

  

(一)微处理器的基本结构

  随着超大规模集成电路的发展,微处理器的功能越来越高。

从80386到Pentium,到现在的64位的微处理器,其内部结构越来越复杂。

其主要功能部件有总线接口部件、高速缓存(Cache)部件、取指译码部件、指令缓冲池部件、调度执行部件、结果回退部件、寄存器组部件等。

  

(二)微处理器的工作原理1.指令的执行

  微处理器在执行一条指令时,主要将它分解成以下几个步骤去完成。

(1)取指令;

(2)指令译码;(3)取操作数;(4)执行运算;(5)回送结果。

  2.微处理器的定时

  由于微处理器的操作是周期性的,即取指令,指令译码,取操作数……再取指令……周而复始地进行。

而这一系列操作步骤需要精确定时,按照精确时序进行,因此微处理器需要一个时序电路。

时序电路受控于晶体振荡电路所生成的标准振荡脉冲信号,一旦机器加电,时序电路发出的时钟信号便连续不断地产生。

  (三)微处理器的特点与分类

  1.微处理器的特点

  

(1)体积小,功耗低;

  

(2)可靠性高,使用环境要求低;

  (3)系统设计灵活,使用方便。

  2.微处理器分类

  

(1)按微处理器位数分类有:

位片、4位、8位、12位、16位、32位、64位等微处理器。

  

(2)按微处理器的应用领域分类有:

通用高性能微处理器、嵌入式微处理器、数字信号处理器和微控制器。

二、ALU结构

  运算器主要是由寄存器和算术逻辑线路构成的。

寄存器主要用来存放数据,其长度取决于运算数据的位数,它每位触发器的状态与所表示数据对应位的数值是一一对应的。

假设约定,触发器右端输出高电位为“1”,其输出低电位为“0”。

若一个数据第i位为“1”,则寄存器第i位触发器右端输出为高电位,或者说,状态为“1”。

因此,参加运算的数据或运算结果都可保存在寄存器中。

  算术逻辑线路主要是完成各种运算功能。

它是根据各种运算规则而设计的组合逻辑线路,一般没有寄存的功能,它的核心部分是加法器。

因为加、减、乘、除等算法都归结为加法与移位操作,所以加法器的设计是算术逻辑线路设计的关键。

四、80x86微处理器的结构和功能

  

(一)80x86微处理器

  1.8086/8088主要特征

  

(1)16位数据总线(8088外部数据总线为8位)。

  

(2)20位地址总线,其中低16位与数据总线复用。

可直接寻址1MB存储器空间。

  (3)24位操作数寻址方式。

  (4)16位端口地址线可寻址64K个I/O端口。

  (5)7种基本寻址方式。

有99条基本指令。

具有对字节、字和字块进行操作的能力。

  (6)可处理内部软件和外部硬件中断。

中断源多达256个。

(7)支持单处理器、多处理器系统工作。

  2.8086微处理器内部结构

  8086微处理器的内部结构由两大部分组成,即执行部件EU(ExecutionUnit)和总线接口部件BIU(BusInterfaceUnit)。

和一般的计算机中央处理器相比较,8086的EU相当于运算器,而BIU则类拟于控制器。

  3.8086最小模式与最大模式及其系统配置

  最小模式在结构上的特点表现为:

系统中的全部控制信号直接来自8086CPU。

  与最小模式相比,最明显的不同是系统中的全部控制信息号不再由8086直接提供,而是由一个专用的总线控制器8288输出的。

  4.8087与8089处理机简述

  

(1)8087协处理机

  8087协处理机与8086组合在一起工作,以弥补8086在数值运算能力方面的不足,所以它又称为协处理机。

  

(2)8089I/O处理机

  8089是一个带智能的I/O接口电路,相当于大型机中的通道,它将CPU的处理能力与DMA控制器结合在一起。

它具有52条基本指令,1MB的寻址能力,包含两个DMA通道。

  8089也可以与8086联合在一起工作,执行自己的指令,进行I/O操作,只在必需时才与8086进行联系。

在8089的控制下,可以进行外设与存储器之间、存储器与存储器之间以及外设与外设之间的数据传输。

同时,8089还可以设定多种终止数据传输的方式。

  5.总线时序

  一个基本的总线周期包括4个时钟周期,即4个时钟状态T1、T2、T3和T4。

  

(二)80286\80386\80486微处理器

  1.80286微处理器

  

(1)80286的特征

  80286是一种高性能的16位微处理器,向上兼容8086/8088,可以有效地利用8086系列软件。

80286引入虚拟地址空间的概念,具有存储器管理功能,能为每一个任务分配多达1G字节的虚拟地址空间并映射到16M字节的物理地址中去。

80286具有保护功能,可对段的边界、属性和访问权等进行自动检查,通过四级环结构和任务之间相互隔离,可建立可靠性高的系统软件。

80286具有高效率的任务转换功能,适用于多用户、多任务系统。

80286工作时钟为8~12MHz,工作时钟多样化,便于组成高性能价格比的系统。

  

(2)80286的结构

  80286内部结构中,除了EU执行单元外,总线接口部件BIU又细分成地址部件AU、指令部件IU和总线部件BU。

(3)80286的工作方式

  80286微处理器有两种工作方式:

实地址方式和保护虚拟地址方式。

  2.80386微处理器

  

(1)80386的特征

  80386是一种灵活的32位微处理器,可以处理8位、16位、32位等多种类型的数据,有8个32位通用寄存器。

80386可直接输出32位的物理地址,最大可支持4GB字节的物理内存空间。

  

(2)80386微处理器内部结构

  80386的内部结构是由6个能并行操作的功能部件组成,即总线接口部件、代码预取部件、指令译码部件、存储器管理部件、指令执行与控制部件。

这些部件按流水线结构设计,指令的预取、译码、执行等步骤由各自的处理部件并行处理。

这样,可同时处理多条指令,提高微处理器的处理速度。

  (3)80387协处理器

  80387协处理器使用80位内部结构,实现了IEBB浮点格式。

其中包括32位单精度实型数、64位双精度实型数、80位的扩展实型数、16位字整型数、32位短整型数、64位长整型数和18位BCD整数7种数据类型的运算。

80387还扩充了80386的指令系统。

  3.80486微处理器

  80486完全兼容80386系列机体结构和软件。

与80386相比,80486采用RISC技术,并将以前的微代码控制改为布线逻辑直接控制,从而大大加快了指令执行速度,基本指令可在一个时钟周期内完成。

采用单倍时钟,最高时钟频率达100MHz。

80486开始将8KB的数据和指令混合型高速缓冲存储器和浮点运算部件FPU集成在芯片内。

内部数据总线宽度为64位。

处理速度比大大提高。

  4.80486的内部构成

  80486是增强性能的80386,80486芯片内集成有自己的数值协处理器和自己的芯片Cache(这两者在80386系统中是两块独立的芯片),这大大增强了80486的整体性能。

五、Pentium微处理器

  

(一)Pentium特征

  

(1)高集成度。

片内集成有310万个晶体管。

  

(2)时钟频率高。

早期的Pentium为60MHz或66MHz。

目前已发展到1500MHz。

  (3)采用超标量流水线结构,比相同频率的486DXCPU性能提高1倍。

  (4)数据总线宽度增加。

外部数据总线宽度为64位。

  (5)使用分立的指令Cache和数据Cache结构,可以无冲突地同时完成指令预取和数据读写。

  (6)采用了新型的分页模式。

  (7)固化常用指令,进一步加快指令的运行。

  (8)Pentium内部提供了一个分支目标缓冲器,加快了循环操作的速度。

  (9)重新设计了浮点运算部件,其速度比80486快十多倍。

  (10)在数据的完整性、容错性和节电性等方面采用了新的设计方法。

  (11)Pentium的软件在二进制代码级上与80386/80486保持向上兼容,可以在MS-DOS、Windows95、WindowsNT、OS/2、UNIX和Solaris等操作系统下运行。

  

(二)Pentium的内部结构

  1.超标量流水线

  2.分立的指令Cache和数据Cache

  3.新型的分页模式

  4.数据总线带宽增加

  5.重新设计的浮点运算部件

  6.固化常用指令

  7.采用动态转移预测技术(三)Pentium微处理器的寄存器组

  

(1)基本结构寄存器组。

包括通用寄存器、段寄存器、指令指针、标志寄存器。

  

(2)系统级寄存器组。

包括系统地址寄存器、控制寄存器。

  (3)调试和测试寄存器组。

其中,基本结构寄存器组和浮点部件寄存器组是用户程序可访问的;系统级寄存器组仅能以特权级0的系统程序来访问;调试和测试寄存器组也只能以特权级0才可访问。

  (四)Pentium的工作模式

  Pentium微处理器的外部数据总线64位,但其内部寄存器仍是32位宽,故应认为是32位微处理器。

Pentium的存储管理硬件基本上与80386、80486相同,只是有某些改进。

Pentium也支持三种工作模式:

实地址模式、受保护的虚拟地址模式和虚拟8086(V86)模式。

(五)中断管理

  1.中断类型

  中断和异常,这两类事件可引起Pentium挂起当前的指令流。

  

(1)中断

  中断由硬件信号引发,在程序执行的任何时刻都可能出现。

有两类中断源:

①可屏蔽中断。

②非屏蔽中断。

  

(2)异常

  异常由指令执行引发。

有两类中断源:

①执行异常。

  ②执行软件中断指令。

  2.中断处理

  中断处理程序的入口地址信息存放在一个表内。

在实地址模式下,此表为中断向量表;在保护模式下,此表为中断描述符表。

  (六)总线时序

  Pentium微处理器中,每一个总线周期包含两个状态。

Pentium微处理器两种典型的存储器操作时序为非流水线存储器周期与突发周期。

  (七)Pentium处理器的发展1.PentiumⅡ处理器

  PentiumⅡ的优异性能在于它采用动态执行技术与MMX技术、双重独立的总线结构和SEC单边接触封装技术。

  2.PentiumⅢ处理器

  PentiumⅢ最重要的技术创新之一就是增加了71条称为互联网SSE(StreamingSIMDExˉtensions,直译为数据流单指令多数据扩展)的指令和处理机序列号。

SIMD意为单指令多数据操作,就是让PentiumⅢ用一条指令完成以往需4条指令才能完成的任务,即在相同的时间周期内,PentiumⅢ可以处理4倍于原来的浮点运算数据。

在高速缓冲存储器方面,PentiumⅢ和PentiumⅡ大体相同。

  3.PentiumⅣ微处理器

  PentiumⅣ处理器基于最新高科技技术:

运用HyperPipelined通道技术,实现处理器性能和频率的大幅度提高;通过RapidExecutionEngine技术,处理器的算术逻辑单元运行在两倍的核心频率上,允许在1/2时钟周期里执行某一指令,大大降低了运算中的延迟;400MHz系统总线,新的总线结构相当于3倍的PentiumⅢ总线,它有128字节行,外部传输速率高达3.2GB/s;ExecutionTraceCache技术,PentiumⅣ的L1Cache采用新的解码结构,可以更加有效地使用Cache的存储区;SSE2指令集,SSE2在MMX和SSE指令集的基础上新增144条指令集,提高了应用程序的处理能力。

  4.安腾(ltanium)处理器

  安腾处理器这款新一代Intel处理器,是Intel和HP合作的结晶,它是第一块由两大著名厂商合作的IA-64芯片。

该款芯片不仅有多种配置和尺寸的缓存系统(128KB一级缓存、256KB~1024KB核心整合二级缓存、4MB全速片外三级缓存),还有创记录的核心频率(800MHz以上)和前端总线时钟频率、并且安腾处理器还兼容目前的IA-32体系架构。

六、汇编语言基础

  

(一)汇编语言的基本语法

  1.字符集

  

(1)英文字符:

A~Za~z

  

(2)数字字符:

0~9

  (3)算术运算符:

+-*/

  (4)关系运算符:

<=>

  (5)分隔符:

,:

;()[]’(空格)TAB

  (6)控制符:

CR(回车)LF(换行)FF(换页)

  (7)其他字符:

&-(下划线)?

.$@!

%

  在用汇编语言编写程序时,程序中的指令助记符、标识符、运算符、分隔符等,均应由上述字符集中的字符组成。

使用其他字符均为非法字符,8086/8088宏汇编程序不能识别和翻译。

  2.标识符

  标识符在程序中用作变量名、常量名、记录名、段名等。

规定如下:

  

(1)标识符由1~31个字符组成,打头的字符必须是字母、?

(问号)、@和-(下划线)。

  

(2)从第2个字符开始。

组成标识符的字符可以是字母、数字、@、?

、-等,不能使用其他字符。

  3.保留字

  8086/8088中指令助记符、伪指令、寄存器名、表达式运算符及属性操作符等都是系统的保留字。

保留字不能用作标识符。

  4.语句

  80x86宏汇编语言有三种基本语句,即指令语句、伪指令语句和宏指令语句。

指令语句对应着机器的一种操作,汇编时产生一个目标代码;伪指令是为汇编程序提供编译信息、指标汇编程序做某些操作的语句,它不产生目标代码,与机器的操作无关。

  一条语句在源程序中一般只占一行,长度超过一行时必须用续行符号&。

  5.汇编语言程序结构

  用汇编语言编写的源程序,在结构上具有以下特点:

  

(1)由若干逻辑段组成,各逻辑段由伪指令语句定义和说明。

  

(2)整个源程序以END伪指令结束。

  (3)每个逻辑段由语句序列组成,各语句可以是指令语句、伪指令语句、宏指令语句、注释语句或空行语句。

  

(二)汇编语言和汇编处理过程

  计算机完成汇编任务是由一个称为汇编程序(Assembler)软件工具实现的。

汇编程序是一种系统软件。

汇编程序加工的对象是汇编语言程序,称为源程序,而汇编后产生的结果是机器语言程序,称为目标程序。

  常见的汇编程序有行汇编和宏汇编。

  1.行汇编

  这种类型的汇编程序按行对汇编语言源程序逐条汇编,常见的IBMPC动态调试程序DEˉBUG中的A命令就属于这种汇编类型。

  2.宏汇编

  这种类型的汇编程序首先对扩展名为.ASM的汇编语言源程序进行汇编,产生扩展名为.OBJ的可重定位目标代码文件,然后用链接程序LINK链接一个或多个.OBJ模块(包括库文件),生成一个扩展名为.EXE的可执行目标文件。

使用这种汇编语言进行汇编处理的过程如下:

  

(1)建立源程序;

  

(2)产生目标程序;

  (3)链接目标程序;

  (4)运行和调试。

七、80x86指令系统

  

(一)8086指令系统

  8086/8088指令系统是整个80x86系列微处理器的基础,按功能可以分为六种类型。

  1.传送指令

  传送指令用于在存储单元、寄存器、输入/输出端口之间传送地址或数据。

  ①通用数据传送指令

  MOV指令:

该指令可以将一个立即数传送到寄存器或存储单元中,也可以在寄存器与寄存器之间、寄存器与存储器之间传送字数据或字节数据。

例如:

将一个立即数传送到寄存器中的指令MOVAL,05H;在两个寄存器之间传送字节数据的指令MOVAL,BL;在寄存器和存储器之间传送数据的指令MOVSI,[BX+5AH]。

  XCHG指令:

该指令可以将源操作数和目的操作数进行交换,但操作数可以是寄存器或存储单元,不能是段寄存器或立即数,也不能同时为两个存储器操作数。

  PUSH指令:

PUSH指令是对一个16位操作数执行进栈操作,这是在一个操作数和堆栈之间进行数据传送,而不是在两个操作数之间进行数据传送。

  POP指令:

POP指令是将一个16位操作数执行出栈操作,这也是在一个操作数和堆栈之间进行数据传送。

  XLAT指令:

该指令专门用于在AL寄存器与字节表中某一存储单元之间进行数据传送。

其中字节表的首地址存放在BX基址寄存器中,根据AL设置的偏移地址,可以将该单元的内容传送到AL累加寄存器中。

  ②输入/输出指令

  该指令专门用于在累加器和I/O端口之间进行数据传送操作。

输入/输出的工作原理:

CPU使用AL或AX寄存器接收数据或发送数据,最多可提供64K个8位端口地址,或32K个16位端口地址。

当端口地址小于256时使用直接寻址来获得操作数,即在指令中直接指定端口地址;当端口地址超过256时使用间接寻址来获得操作数,即先将端口地址放到DX寄存器中,然后利用IN指令或OUT指令进行输入/输出操作。

例如:

INAX,28H是从I/O端口28H输入一个字到AX寄存器中;OUT5,AL是从AL寄存器输出一个字节到I/O端口5中。

  ③地址传送指令

  LEA指令:

该指令是将源操作数的偏移地址传送到通用寄存器、指针寄存器或变址寄存器中,要求目的操作数是一个16位寄存器,源操作数是一个存储器地址,这样就可以获得指令执行所需的有效地址。

  LDS指令:

该指令是将源操作数指定的连续四个存储单元中存放的32位地址指针(包括一个段地址和一个偏移量)传送到两个16位寄存器,其中两个高位字节(段基址)送段寄存器DS,两个低位字节(指偏移量)送指令指定的16位通用寄存器,这样就获得指令执行所需的地址指针。

LES指令:

该指令是将源操作数指定的连续四个存储单元中所存放的32位地址指针(一个段地址和一个偏移量)传送到指令指定的16位通用寄存器和段寄存器ES中。

其中两个高位字节(段基址)送段寄存器ES,两个低位字节(指偏移量)送指令指定的16位通用寄存器,这样就获得指令执行所需的地址指针。

④标志传送指令

  该指令用于对标志寄存器中的内容进行数据传送操作。

  2.算术运算指令

  在8086/8088微处理器中,算术运算指令可用于二进制数和无符号十进数的各种算术运算。

二进制数可以是单字或双字节,也可以是有符号数或无符号数。

十进制数直接使用BCD码,以表示无符号(Unsigned)的十进制数。

  

(1)加法指令

  ①ADD

  格式:

ADDOPRD1,OPRD2

  功能:

实现两个操作数相加,结果送原来存放目的操作数的地方。

目的操作数可以是累加器、通用寄存器或存储器操作数。

  加法指令可以完成累加器与立即数,或与任一通用寄存器、或与存储单元的内容相加,结果放在累加器中。

  说明:

加法指令可以完成任一通用寄存器与任一通用寄存器,或与立即数、或与存储单元的内容相同,其“和”放在通用寄存器中。

  加法指令也可以实现存储器操作数与立即数,或与累加器、或与通用寄存器内容相加,其“和”放在存储单元中。

  注意:

存储器操作数与立即数相加时,必须指明操作数的类型。

ADD指令的执行结果将影响标志位CF、AF、PF、ZF、SF和OF。

  ②ADC

  格式:

ADCOPRD1,OPRD2

  功能:

ADC指令与ADD类似,不同之处在于两个操作数相加时,还要加上进位标志CF的当前值,结果送原来存放目的操作数的地方。

  说明:

指令执行结果对标志值的影响与ADD相同。

  ③INC

  格式:

INCOPRD

  功能:

操作数OPRD加1。

操作数可以是通用寄存器,也可为存储器操作数。

说明:

该指令执行结果影响标志位SF、ZF、AF、PF和OF,而对CF无影响。

④AAA

  功能:

AAA是未组合BCD码加法调整指令

  。

它对在AL中两个未组合的十进制数相加的结果进行校正,产生一个未组合的十进制和数。

⑤DAA

  功能:

DAA为十进制加法调整指令。

它对AL中两个组合的十进制数相加的结果进行校正,产生一个组合的十进制和数。

(2)减法指令

  ①SUB

  格式:

SUBOPRD1,OPRD2

  功能:

完成两个操作数相减,结果放在目的操作数OPRD1中。

其规则与加法指令相同。

  说明:

SUB的执行结果影响标志位SF、ZF、AF、PF、CF和OF。

  ②SBB

  格式:

SBBOPRD1,OPRD2

  功能:

SBB指令与SUB基本相同,不同的是两个操作数相减时,还要减去借位标志位CF的当前值。

  ③DEC

  格式:

DECOPRD

  功能:

完成对操作数OPRD减1运算后返回操作数中。

操作数可以是寄存器或存储器。

  说明:

指令执行对标志位CF无影响,但影响标志位SF、ZF、AF、PF和OF。

  ④NEG

  格式:

NEGOPRD

  功能:

完成对操作数取补,即用零减去操作数,再把结果送回操作数。

  说明:

该指令执行结果影响标志位SF、ZF、AF、PF和OF,对于CF一般总是CF=1,只有当操作数为0时,CF=0。

⑤CMP

  格式:

CMPOPRD1,OPRD2

  功能:

完成两个操作数相减,但不回送结果,结果只影响状态标志位。

操作数规定与加法操作数相同。

  CMP指令只比较两个数的大小。

若两数相等,则ZF=1,否则ZF为0。

若两数不相等,则其大小的确定可利用CMP指令执行后的其他标志位来确定。

例如,对于无符号数,可利用CF标志值来判断。

当CF=1时,则OPRD1OPRD2。

对于有符号数,则用标志位SF和OF的状态一同判定。

  ⑥AAS

  功能:

完成对在AL中的两个未组合的十进制数相减的结果进行校正,在AL中产生一个正确的未组合十进制数的差。

  ⑦DAS

  功能:

完成对在AL中两个未组合的十进制数相减以后的结果进行校正,在AL中产生一个正确的组合十进制数的差。

  (3)乘法指令

  ①MUL

  格式:

MULOPRD

  功能:

完成源操作数OPRD与累加器中的数相乘,结果放在累加器中。

参与运算的操作数可以是寄存器或存储器。

乘积为单字节长时,放在AX中;乘积为双字长时,分别存放在DX(乘积的高16位)和AX中。

  说明:

将内存单元FIRST和SECOND的两个字节的内容相乘,乘积放在THIRD单元和下一个单元内。

MUL指令运行结果只影响标志位CF和OF。

  ②IMUL

  格式:

IMULOPRD

  功能:

IMUL指令为带符号数相乘指令,即将源操作数与累加器中的数都作为带符号数相乘,其余与MUL指令相同。

  ③AAM

  功能:

对在AX中两个未组合的十进制数的乘积进行校正,以得到正确的未组合的十进制数的乘积。

  (4)除法指令

  ①DIV

  格式:

DIVOPRD

  功能:

无符号除法指令。

用指定的源操作数OPRD去除累加器中的值,所得商和余数分别放在AL和AH(字节操作)或AX和DX(字操作)中。

  ②其他除法指令

  ●IDIV:

完成带符号数的除法运算。

  ●AAD:

完成AX中的两位未组合的十进制数在两个数相除之前进行核正。

  ●CBW:

字节转换为字。

具体操作是按AL的符号位扩展到整个AH中。

  ●CMD:

字转换为双字。

按AX的符号扩展到整个DX中。

  3.逻辑运算和移位指令

  

(1)逻辑运算指令①NOT

  格式:

NOTOPRD

  功能:

完成对操作数求反,然后送回原处。

说明:

此指令对标志位无影响。

  ②AND

  格式:

ANDOPRD1,OPRD2

  功能:

对两操作数进行按位逻辑“与”运算,结果送目的操作数。

目的操作数可为通用寄存器、存储器,源操作数可以是立即数、寄存器、

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1