如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
2微型计算机的基本结构(2)系统总线(SystemBus)总线(Bus)就是将多个装置或部件连接起来并传送信息的公共通道。总线实际上是一组传输信号的线路。系统总线一般分为三种类型,即地址总线、数据总线和控制总线,有时也称为三大总线。2.1微处理器的组成及功能(1)运算器的组成及功能运算器:实现加法和移位。运算器由算术逻辑单元ALU、累加器A、通用寄存器组、暂存寄存器TMP、标志寄存器F以及其他逻辑电路所组成。a.累加器A是运算器的关键部件之一,它有两种功能:为ALU的一个输入端,存放第一个操作数;存放ALU运算结果。b.通用寄存器用来暂存参加运算的操作数,中间结果或地址.它是为高速处理数据而设置的,其个数因不同种类的CPU而异.c.暂存寄存器TMP作为ALU的另一输入端,用来暂存从数据总线或通用寄存器送来的操作数,供ALU进行运算;同时也能将数据送到内部数据总线。d.标志寄存器F用来保存ALU运算结果的状态。例如,进位、滋出、结果为零、奇偶数等。这种状态作为控制程序转移的条件。微型机的智能化,就是依赖于F的状态标志位。e.算术逻辑运算单元ALU是由加法器和其他逻辑电路组成的,在指令译码后的控制信号作用下,完成各种算术或逻辑运算。它有两个输入端,其中一个为累加器A;另一个为暂存器TMP。有时还包含标志寄存器F中的进位等。运算结果,经数据总线送累加器A,同时影响标志寄存器中的状态。(2)控制器的组成及功能控制器是发布操作命令的机构,犹如人脑的神经中枢。计算机程序和原始数据的输入,CPU内部的信息处理,处理结果的输出,外部设备与主机之间的信息交换等都是在控制器的控制下实现的。微型机的程序是由一系列指令组成的.每条指令又由操作码和地址码(或操作数)所组成。当微型机进行自动计算时,控制器的任务是:逐条地取出指令,分析指令,执行指令,并为取下一条指令作好准备。为了完成上述功能,控制器应有指令寄存器、指令译码器和控制电路等组成1.程序计数器Pc程序是指令的有序集合。微型机运行时,通常按顺序执行存放在存储器中的程序。先由PC指出当前要执行指令的地址,每当该指令取出后,PC的内容就自动加1(除转移指令外),指向按顺序排列的下一条指令的地址。在正常情况下,则按顺序逐条地执行指令。如果遇到转移指令、调用子程序指令或返回指令等,这些指令就合把下一条指令的地址直接置入PC中。程序计数器Pc的位数决定了微处理器所能寻址的存储器空间。4.堆栈指示器SP在微型机中,一般都设有堆栈。堆栈中的数据是以“先进后出”的原则进行存取的。这种存取方式对于处理中断、调用于程序都非常方便。实现堆栈操作是开辟某一内存区域作为堆栈,栈顶由微处理中的堆栈指示器sP自动管理,SP中的内容称为堆栈指针。每次进行推入或弹出操作后,堆栈指示器便自动指向栈顶。堆栈指示器是专用寄存器,而堆栈区在微型机中要设置在内存单元区的寄存器RAM,所以可设置在片内的RAM中。5.控制电路控制电路的主要功能,是根据指令产生微机各部件所需要的控制信号。这些控制信号是由指令译码器的输出电位,CPU时序和外部状态信号等进行组合而产生的。它按一定的时间顺序发出一系列操作控制信号,以完成指令所规定的全部操作。一、一个简单C程序二、程序运行1、程序运行到Sum=0;语句后调用函数AddSum(),在调用函数之前要把当前断点PC值保存,以备函数返回后能继续运行。断点值放在堆栈中。2.设CPU的通用寄存器用AR0,AR1…ARn表示,主程序变为汇编语言后会用到通用寄存器,函数AddSum()也会用到这些寄存器,因此在函数运行前要对这些寄存器进行保护,一般是把这些寄存器的值压栈。3.设函数通过累加器A返回,则在子程序中A也要保护4、函数中变量a,b,c是局部变量,在函数运行完后消失,失去意义,程序中Sum是全局变量,在程序中一直占用某一空间。全局变量与局部变量不能在同一空间,一般局部变量放在堆栈中。5.同样d也是局部变量,因此在程序运行时也会给它分配临时的存储单元5.函数执行遇到下括号返回,返回时临时变量a,b,c被收回,保存的累加器及寄存器的值出栈恢复原来的值,断点的值(PC+1)给PC,程序从断点处继续执行。