- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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位微处理器80868086的编程结构
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
您可能关注的文档
最近下载
- 初中综合实践活动教学设计 种植花生.docx VIP
- 医疗废物分类管理.pptx VIP
- 塔吊信号工试题及答案.docx VIP
- 2025《某大学10KV变电所供配电系统电气设计报告》19000字.docx VIP
- DZT 0295-2016 土地质量地球化学评价规范.pdf VIP
- 运输过程中出现损坏的处理措施.doc VIP
- 《铁血丹心》完美演奏版简谱钢琴谱 简谱双手数字完整版原版.pdf VIP
- 2025年高中数学_数列通项公式的求法教学设计学情分析教材分析课后反思.pdf VIP
- 海南省公安厅辅警真题.pdf
- 新人教版高中数学必修第一册第四章指数函数与对数函数全套PPT课件教案讲义.pptx
文档评论(0)