微机原理与接口技术第二章-1.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微机原理与接口技术第二章-1

第2章 16位和32位微处理器结构 本章主要内容 8086微处理器 80286、80386 Pentium Intel 8086 微处理器的主要内容 8086的编程结构,尤其是寄存器组; 8086标志寄存器各个标志的含义; 8086的存储器编址,存储器的分段结构 2.1.1 CPU的内部组成 运算器 主要功能:对数据进行算术和逻辑运算。这些功能由算术逻辑单元(ALU)来实现; 寄存器组 寄存器可以存放数据和地址,也可以存放控制信息和状态信息。 CPU中寄存器的数量对CPU的运行速度影响很大。 寄存器从应用的角度可以分为:通用寄存器、专用寄存器,有以下几种类型:数据寄存器、地址寄存器、状态标志寄存器、控制寄存器等。 控制器 控制器是指挥与控制计算机各功能部件协同工作,自动执行计算机程序的部件。 控制器一般是由指令指针寄存器IP、指令寄存器IR、指令译码器ID、控制逻辑电路和时钟控制电路等组成。 2.1.2 16位微处理器8086 8086的编程结构 8086:Intel系列16位微处理器 数据总线:16位,内部寄存器,ALU都是16位的 地址总线:20位,以字节为单位对存储器进行编址,可寻址220 即1M字节。 问题:内部寄存器、运算器为16位,如何产生20位地址? 编程结构——面向程序设计和应用角度的CPU结构 1.总线接口部件(BIU) 总线接口单元BIU的任务: 总线接口部件负责与存储器、I/O端口传送数据 ① 读指令——指令队列出现空字节(8088 1个空字节,8086 2个空字节)时,从内存取出后续指令。BIU取指令时,并不影响EU的执行,两者并行工作,大大提高了CPU的执行速度。 ② 读操作数——EU需要从内存或外设端口读取操作数时,根据EU给出的地址从内存或外设端口读取数据供EU使用。 ③ 写操作数——EU的运算结果、数据或控制命令等由BIU送往指定的内存单元或外设端口。 总线接口部件(BIU)的组成 4个16位段地址寄存器 CS 16位的代码段寄存器 DS 16位的数据段寄存器 ES 16位的附加段寄存器 SS 16位的堆栈段寄存器 16位的指令指针寄存器IP (Instruction Pointer) 20位的地址加法器 利用16位的段寄存器和另一个16位地址寄存器值,形成20位的物理地址,送20位地址总线。 6字节的指令队列缓冲器 总线控制电路 CPU与外界总线联系的转接电路 包括三组总线:20位地址总线,16位双向数据总线和一组控制总线 1)存储器的分段 代码段寄存器CS存储程序当前使用的代码段的段地址。代码段用来存放程序的指令代码。下一条要读取指令在代码段中的偏移地址由指令指针寄存器IP提供; 数据段寄存器DS用来存放程序当前使用的数据段的段地址。一般来说,程序中所用到的原始数据、中间结果以及最终结果都存放在数据段中; 堆栈段寄存器SS用来存放程序当前所使用的堆栈段的段地址。堆栈是在存储器中开辟的一个特定区域; 附加数据段寄存器ES用来存放程序当前使用的附加数据段的段地址。附加数据段通常用于存放字符串操作时的目的字符串。 程序员在编写汇编语言源程序时,应该按照上述规定将程序的各个部分放在规定的段内。每个源程序必须至少有一个代码段,而数据段、堆栈段和附加数据段则根据程序的需要决定是否设置。 2)指令指针寄存器 指令指针寄存器IP用来存放下一条要读取的指令在代码段中的偏移地址。IP在程序运行中能自动加1修正,从而使其始终存放的是下一条要读取的指令在代码段的偏移地址。由于CS和IP的内容决定了程序的执行顺序,因此程序员不能直接用赋值指令对其内容进行修改。有些指令能使IP和CS的值改变(如跳转指令)或使其值压入堆栈或从堆栈中弹出恢复原值(如子程序调用指令和返回指令)。 3)20位地址加法器 8086/8088CPU在对存储单元进行访问以读取指令或读/写操作数时,必须在地址总线上提供20位的地址信息,以便选中对应的存储单元。那么,CPU是如何产生20位地址的呢? CPU提供的用来对存储单元进行访问的20位地址是由BIU中的地址加法器产生的。 存储器中每个存储单元的地址可有以下两种表示方式: 逻辑地址:其表达形式为“段地址:段内偏移地址”。段内偏移地址又称为“有效地址EA(Effecti

文档评论(0)

shaoye348 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档