计算机组成
中央处理器是计算机的控制、运算中心,它主要通过总线和其他设备进行联系。另外,在嵌入式系统设计中,外部设备也常常直接连接到中央处理器的外部I/O(Input/Output,输入/输出)脚的相关引脚上。
中央处理器的类型和品种异常丰富,各种中央处理器的性能也差别很大,有不同的内部结构及不同的指令系统。但都是基于冯·诺依曼结构,因而其基本组成部分相似。
1、运算器
运算器的主要功能是在控制器的控制下完成各种算术运算、逻辑运算和其他操作。一个计算过程需要用到加法器/累加器、数据寄存器、状态寄存器等。
加法是运算器的基本功能,在大多数中央处理器中,其他计算也是经过变换后使用加法进行的,一个位加法的逻辑图如图1-1所示。
其中Xi、Yi是加数和被加数,Ci+1是低位进位,Ci是进位,Zi是和。
为完成多位数据加法,可以通过增加电路和部件,使简单的加法器能够变为串行、并行加法器,超前进位加法器等。
运算器的位数,即运算器一次能对多少位的数据做加法。这是衡量中央处理器的一个重要指标。
2、控制器
控制器是中央处理器的核心,它控制和协调整个计算机的动作,其组成如图1-2所示。控制通常需要程序计数器(ProgramCounter,PC)、指令寄存器(InstructionRegister,IR)、指令译码器(InstructionDecoder,ID)、定时和控制电路,以及脉冲源、中断(在图1-2中未表示)等共同组成。
控制器各组件的说明如下。
指令寄存器(IR):中央处理器,执行的操作码存放在这里。
指令译码器(ID):将操作码解码,告诉中央处理器该做什么。
定时和控制电路(Timing/ControlCircuit):用来产生各种微操作控制信号。
程序计数器(PC):程序计数器中存放的是下一条指令的地址。由于多数情况下程序是顺序执行,所以程序计算数器设计成能自动加1.当出现转移指令、中断等情况时,就需要重填程序计数器。程序计数器可能是下一条指令的绝对地址,也可能是相对地址,即地址偏移量。
标志寄存器(FlagsRegister,FR):这个寄存器通常记录运算器的重要状态或特征,包括是否溢出、结果为0、被0除等。这个寄存器的每一位表示一个特征。标志寄存器的典型应用是作为跳转指令的判断条件。
堆栈和堆栈指针(StackPointer,SP):堆栈可以由一组寄存器或在存储器内的特定区域组成。由于寄存器数量总是有限的,所以大多数系统采用了使用存储器的软件堆栈。指向堆栈顶部的指针称为堆栈指针。
寄存器组:上面提及的程序计数器、标志寄存器等为专用寄存器,都有特定的功能和用途。
通用寄存器的功能由程序指令决定,最常见的应用是放置计算的中间结果,减少对存储器的访问次数。通常寄存器的宽度和运算器的位数是一致的。
3、存储器系统
这里的存储器是指中央处理器通过总线直接能访问的存储器,通常称为内存。硬盘等需通过I/O接口访问的存储器常称为外存或者辅存。
存储器的作用显然是存储数据,包括指令、指令带的数据(这正是冯·诺依曼结构的特点之一)和中央处理器处理后的结果(包括中间结果)。
中央处理器对存储器的访问需通过控制地址、数据总线进行。存储器的数据组织是线性的,所存储的数据都有整齐的"编号",即访问地址。存储器一般每个存储单元中有8位数据,其容量是其存储单元的总和。
存储器的性能指标如下。
存取时间:指的是从中央处理器发出指令到操作完成的时间。
传输率:或称为数据传输带宽,指单位时间内写入或读取的数据的多少,显然,存取时间越少,则传输率越高。
存储密度:在单位面积中的存储容量,人们在不断增加这个值。
相关推荐: