欢迎来到天天文库
浏览记录
ID:59019129
大小:578.50 KB
页数:41页
时间:2020-09-26
《第2章CPU资源和存储器ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二章CPU资源和存储器2.1寄存器组2.2存储器的管理模式微机系统组成结构图I/O接口主存储器系统总线辅助存储器输入设备输出设备CPU寄存器控制器运算器时钟8086CPU的内部结构8086内部结构有两个功能模块:执行单元(ExecutionUnit,EU):负责指令的译码和执行总线接口单元(BusInferenceUnit,BIU)主要负责读取指令和操作数04十月20213内部暂存器IPESSSDSCS输入/输出控制电路外部总线执行部分控制电路123456∑ALU标志寄存器AHALBHBLCHCLDHDLSPBPSI
2、DI通用寄存器地址加法器指令队列缓冲器执行部件(EU)总线接口部件(BIU)16位20位16位8位2.1寄存器组CPU中为什么要使用寄存器寄存器比存储器存取速度快使用灵活(如暂存运算的中间数据)、控制方便(如IP)寄存器的分类通用寄存器:传送和暂存数据;参与算术逻辑运算并保存运算结果;段寄存器:保存段地址,用于寻址时构成物理地址;专用寄存器:CPU运行的辅助工具。04十月20215通用寄存器类别32位16位8位名称作用数据寄存器EAXAXAH、AL累加器常作隐含操作数,可通用EBXBXBH、BL基地址寄存器常作地址指针
3、,可通用ECXCXCH、CL计数器常存放计数值,可通用EDXDXDH、DL数据寄存器常与累加器配合,可通用变址寄存器ESISI无源变址寄存器保存源操作数地址EDIDI无目的变址寄存器保存目的操作数地址ESPSP无栈顶指针只能保存堆栈栈顶地址EBPBP无堆栈指针可保存堆栈任意位置地址堆栈指针寄存器04十月20216数据寄存器AX、BX、CX和DX16位寄存器高低8位可分为两个独立寄存器使用;主要用于暂存指令执行过程中的数据;特殊用途AX:累加器,ALU运算核心部件、某些指令的默认寄存器;BX:基址寄存器,存放存储单元的有
4、效地址;CX:计数器,串操作指令和循环指令中的默认计数器;DX:与AX合用保存32位数据;I/O指令中存放端口地址。04十月20217累加器AX16位寄存器可以存储2个字节的数据;例如,数值2008H存放于AX累加器中。AX可分做两个8位的寄存器使用,分别为AH和AL。(AX)=2008H,则(AH)=20H,(AL)=08H;BX、CX、DX类似。AX0123456789101112131415无符号数范围为0~65535有符号数范围为-32768~+327670010000000001000AHAL04十月2021
5、8变址寄存器SI、DI16位寄存器;常作为指针,存放存储单元有效地址,也可暂存数据;特殊用法:SI、DI中保存的地址信息可以随着指令的执行而自动改变;SI:源变址寄存器,串操作中存放源串地址,默认DS段;DI:目的变址寄存器,串操作中存放目的串地址,默认ES段;该特殊用法只在字符串操作中有效,其它场合下作一般的指针寄存器使用;04十月20219堆栈指针寄存器SP、BP堆栈是一个先进后出的数据结构,栈底位置不变;栈顶指针SP其中始终存放栈顶单元的有效地址;其值是由出入栈指令自动更改的,一般不允许随意对该寄存器赋值;堆栈指
6、针BP其中数据一般作为地址进行访存;默认对应于SS段,可寻址堆栈中的任何单元。堆栈栈底123123321栈顶04十月202110段寄存器类别16位8位名称作用段寄存器无代码段段寄存器存放代码段段地址无数据段段寄存器存放数据段段地址无附加段段寄存器存放附加段段地址无堆栈段段寄存器存放堆栈段段地址一段汇编语言程序至少有一个逻辑段——代码段,用于存放代码;一段汇编语言程序最多有4个逻辑段——1个代码段,3个数据段,分别用于存放代码和数据;CSDSESSS04十月202111CS(CodeSegment)代码段用来存放要执行的
7、指令序列;段首地址用代码段寄存器CS来保存;指令指针寄存器IP指示本段中的地址;将要执行的下条指令的有效地址;CPU利用CS:IP形成存储单元的物理地址,以获取下条要执行指令的代码。04十月202112DS(DataSegment)数据段用来存放程序运行所需要的数据;段首地址用数据段寄存器DS来保存;CPU利用DS:EA形成存储单元的物理地址,以获取数据段中的数据;EA的形成方式详见第3章寻址方式的介绍。04十月202113ES(ExtraSegment)附加段即附加的数据段,保存程序运行所需要的数据;段首地址用附加段
8、寄存器ES来保存;CPU利用ES:EA形成存储单元的物理地址,以获取附加段中的数据;串操作指令常将附加段ES作为目的操作数的存放区域。04十月202114SS(StackSegment)堆栈用于存储程序运行中需要临时保护的数据;段首地址用堆栈段寄存器SS来保存;堆栈指针寄存器SP保存堆栈栈顶的有效地址;CPU利用SS:SP对堆栈栈
此文档下载收益归作者所有