欢迎来到天天文库
浏览记录
ID:48060995
大小:1.08 MB
页数:63页
时间:2019-05-06
《x86计算机组织.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第2章80x86计算机组织1Ch280X86计算机组织2.180x86微处理器8038680486奔腾奔腾2代奔腾4代802868086/8088奔腾3代40042Ch280X86计算机组织型号字长主频MHz数据总线宽度外部数据总线地址总线宽度寻址空间cache8086164.771616201M无8088164.77168201M无80286166~2016162416M无803863212.5~333232324G有(很少)804863225~1003232324G8KBP(586)3260
2、~1666464324G16KBPRO(p6)32150~20064643664G16KB256K(二级)PⅡ32233~33364643664G32KB512K(二级3Ch280X86计算机组织2.2计算机系统硬件系统:三个主要组成部分,用系统总线连接。中央处理机CPU总线控制逻辑接口接口内存储器大容量存储器I/O设备I/O子系统系统总线......4Ch280X86计算机组织系统软件核心为操作系统,包括:I/O驱动程序、文件管理程序、文本编辑程序等。应用程序是建立在操作系统之上的,我们采用D
3、OS(MS-DOS6.22或Windows9.x的MS-DOS环境),开发汇编语言程序涉及到文本编辑器汇编程序连接程序调试程序应用软件微机中的应用软件丰富多彩.软件系统:系统软件应用软件5Ch280X86计算机组织2.3中央处理机2.3.1CPU组成它包括算术逻辑部件ALU、控制器、寄存器ALU:是运算器的核心部件,执行算术运算、逻辑运算、移位、比较等各种数据处理的操作。控制逻辑:处理程序指令,并协调各逻辑部件按一定时序工作。包括:从存储器中读取程序指令、指令译码、从存储器中取得操作数,执行指令
4、,把结果存入存储器,以及对总线和I/O的传送控制等。工作寄存器:每一个寄存器相当于运算器中的一个存储单元,但速度比存储器快,用来存放计算过程中所需要的或得到的各种信息。6Ch280X86计算机组织AHALBHBLCHCLDHDLSPBPDISI通用寄存器运算寄存器ALU标志执行部分控制电路123456CSDSSSESIP内部寄存器I/O控制电路地址加法器20位16位8位指令队列缓冲器外总线执行部件总线接口部件8086CPU结构图7Ch280X86计算机组织寄存器是CPU内部重要的数据存储资源,是
5、汇编程序员能直接使用的硬件资源之一。由于寄存器的存取速度比内存快,所以,在用汇编语言编写程序时,要尽可能充分利用寄存器的存储功能。寄存器一般用来保存程序的中间结果,为随后的指令快速提供操作数,从而避免把中间结果存入内存,再读取内存的操作。在高级语言(如:C/C++语言)中,也有定义变量为寄存器类型的,这就是提高寄存器利用率的一种可行的方法。另外,由于寄存器的个数和容量都有限,不可能把所有中间结果都存储在寄存器中,所以,要对寄存器进行适当的调度。根据指令的要求,如何安排适当的寄存器,避免操作数过多
6、的传送操作是一项细致而又周密的工作。由于16位/32位CPU是微机CPU的两个重要代表,所以,在此只介绍它们内部寄存器的名称及其主要功能。8Ch280X86计算机组织2.3.280x86寄存器组80x86的程序可见寄存器组通用寄存器专用寄存器段寄存器AHAXALBHBXBLCHCXCLDHDXDLSPBPSIDIIPFLAGSCSDSSSES8086/8088/80286寄存器EAXEBXECXEDXESPEBPESIEDIEIPEFLAGSFSGS3116158709Ch280X86计算机组
7、织16位寄存器组16位CPU所含有的寄存器有4个数据寄存器(AX、BX、CX和DX)2个变址和指针寄存器(SI和DI)2个指针寄存器(SP和BP)4个段寄存器(ES、CS、SS和DS)1个指令指针寄存器(IP)1个标志寄存器(Flags)10Ch280X86计算机组织32位寄存器组32位CPU除了包含了先前CPU的所有寄存器,并把通用寄存器、指令指针和标志寄存器从16位扩充成32位之外,还增加了2个16位的段寄存器:FS和GS。11Ch280X86计算机组织表2.1通用寄存器的主要用途12Ch2
8、80X86计算机组织13Ch280X86计算机组织(1)数据寄存器数据寄存器共有4个寄存器AX、BX、CX、DX,用来保存操作数或运算结果等信息。AX(Accumulator)寄存器称为累加器。使用频度最高,用于算术、逻辑运算以及与外设传送信息等。BX(BaseRegister)寄存器称为基址寄存器。常用于存放存储器地址。CX(CountRegister)寄存器称为计数器。一般作为循环或串操作等指令中的隐含计数器。在位操作中,当移多位时,要用CL来指明移位的位数;DX(DataRegister)
此文档下载收益归作者所有