2—CPU基本工作原理.ppt_第1页
2—CPU基本工作原理.ppt_第2页
2—CPU基本工作原理.ppt_第3页
2—CPU基本工作原理.ppt_第4页
2—CPU基本工作原理.ppt_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2 微型计算机的基本结构,微型计算机主要由微处理器、存储器、I/O接口和I/O设备组成。各组成部分之间通过系统总线联系在一起,(2)系统总线(System Bus) 总线(Bus)就是将多个装置或部件连接起来并传送信息的公共通道。总线实际上是一组传输信号的线路。系统总线一般分为三种类型,即地址总线、数据总线和控制总线,有时也称为三大总线。,1)地址总线(Address Bus简称AB) 地址总线主要用来传输CPU发出的地址信息,选择需要访问的存贮单元和IO接口电路。地址总线是单向的,只能由CPU向外传送地址信息。地址总线的位数决定了可以直接访问的存贮器的单元数目。,2)数据总线(Data Bu

2、s简称DB) 数据总线用来在微处理器和存贮器以及输入输出(I/O)接口之间传送数据,如从存贮器中取数据到CPU,把运算结果从CPU送到外部输出设备等。数据总线是双向的,即数据可从CPU传出,也可以从外部送入CPU,微处理器的位数和外部数据总线的位数应该一致。,3)控制总线(Control Bus简称CB) 控制总线可以是CPU的控制信号或状态信号,也可以是外部设备的请求信号或联络信号。对于每一条具体的控制线,信号的传送方向是固定的,个别信号线还兼有双向功能。,系统总线是传送信息的通道,非常繁忙,其使用特点如下: 在某一时刻,只能由一个总线主控设备控制总线,其它总线主控设备必须放弃总线的控制权。

3、 在连接系统总线的各个设备中,同时只能有一个发送者向总线发送信号,但可以多个设备同时从总线上获取信号。,2.1微处理器的组成及功能,(1)运算器的组成及功能 运算器:实现加法和移位。运算器由算术逻辑单元ALU、累加器A、通用寄存器组、暂存寄存器TMP、标志寄存器F以及其他逻辑电路所组成。 a.累加器A是运算器的关键部件之一,它有两种功能:为ALU的一个输入端,存放第一个操作数;存放ALU运算结果。 b. 通用寄存器用来暂存参加运算的操作数,中间结果或地址它是为高速处理数据而设置的,其个数因不同种类的CPU而异.,c.暂存寄存器TMP作为ALU的另一输入端,用来暂存从数据总线或通用寄存器送来的操

4、作数,供ALU进行运算;同时也能将数据送到内部数据总线。 d.标志寄存器F用来保存ALU运算结果的状态。例如,进位、滋出、结果为零、奇偶数等。这种状态作为控制程序转移的条件。微型机的智能化,就是依赖于F的状态标志位。,e.算术逻辑运算单元ALU是由加法器和其他逻辑电路组成的,在指令译码后的控制信号作用下,完成各种算术或逻辑运算。它有两个输入端,其中一个为累加器A;另一个为暂存器TMP。有时还包含标志寄存器F中的进位等。运算结果,经数据总线送累加器A,同时影响标志寄存器中的状态。,(2)控制器的组成及功能 控制器是发布操作命令的机构,犹如人脑的神经中枢。计算机程序和原始数据的输入,CPU内部的信

5、息处理,处理结果的输出,外部设备与主机之间的信息交换等都是在控制器的控制下实现的。 微型机的程序是由一系列指令组成的每条指令又由操作码和地址码(或操作数)所组成。当微型机进行自动计算时,控制器的任务是:逐条地取出指令,分析指令,执行指令,并为取下一条指令作好准备。为了完成上述功能,控制器应有指令寄存器、指令译码器和控制电路等组成,1.程序计数器Pc 程序是指令的有序集合。微型机运行时,通常按顺序执行存放在存储器中的程序。先由PC指出当前要执行指令的地址,每当该指令取出后,PC的内容就自动加1(除转移指令外),指向按顺序排列的下一条指令的地址。在正常情况下,则按顺序逐条地执行指令。如果遇到转移指

6、令、调用子程序指令或返回指令等,这些指令就合把下一条指令的地址直接置入PC中。程序计数器Pc的位数决定了微处理器所能寻址的存储器空间。,2指令寄存器IR 它用来存放当前要执行的指令内容,它包括操作码和地址码两部分。操作码送往指令译码器;地址码送至操作数地址形成电路。在8位微型机中,IR的宽度通常与微处理器的基本指令长相同。故为存放所要执行的指令操作码。指令地址码是通过地址形成电路来形成操作数的真正地址。,3指令译码器 指令译码器是分析指令功能的部件。操作码经过译码后产生相应操作的控制信号。例如,8位操作码经指令译码器译码后,可以转换为28256种操作控制信号,其中每一种控制信号对应一种特定的操

7、作功能。,4堆栈指示器SP 在微型机中,一般都设有堆栈。堆栈中的数据是以“先进后出”的原则进行存取的。这种存取方式对于处理中断、调用于程序都非常方便。实现堆栈操作是开辟某一内存区域作为堆栈,栈顶由微处理中的堆栈指示器sP自动管理,SP中的内容称为堆栈指针。每次进行推入或弹出操作后,堆栈指示器便自动指向栈顶。 堆栈指示器是专用寄存器,而堆栈区在微型机中要设置在内存单元区的寄存器RAM,所以可设置在片内的RAM中。,5.控制电路 控制电路的主要功能,是根据指令产生微机各部件所需要的控制信号。这些控制信号是由指令译码器的输出电位,CPU时序和外部状态信号等进行组合而产生的。它按一定的时间顺序发出一系

8、列操作控制信号,以完成指令所规定的全部操作。,一、一个简单C程序,#define uchar unsigned char uchar Sum uchar AddSum(uchar a,uchar b) uchar c; c=a+b; return(c); ,Void main(void) Sum=0; Sum=AddSum(1,2); Sum+=1; ,二、程序运行 1、程序运行到Sum=0;语句后调用函数 AddSum(),在调用函数之前要把当前断点PC值保存,以备函数返回后能继续运行。断点值放在堆栈中。 2.设CPU的通用寄存器用AR0,AR1ARn表示,主程序变为汇编语言后会用到通用寄存器,函数AddSum()也会用到这些寄存器,因此在函数运行前要对这些寄存器进行保护,一般是把这些寄存器的值压栈。,Void main(void) uchar d; Sum=0; d=AddSum(1,2); Sum=d; ,3. 设函数通过累加器A返回,则在子程序中A也要保护,4、函数中变量a,b,c是局部变量,在函数运行完后消失,失去意义,程序中Sum是全局变量,在程序中一直占用某一空间。全局变量与局部变量不能在同一空间,一般局部变量放在堆栈中。,5.同样d也是局部变量,因此在程序运行时也会给它分配临

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论