您的位置: 网站首页 > 电子与嵌入式 > 单片机原理与应用 > 第1章 绪论 > 【1.2 单片机的结构】

1.2 单片机的结构

 

1.2.1  计算机硬件系统组成

1946年第一台以电子管为基本元件的计算机诞生到今天,计算机经过了几次的更新换代,已经形成了一个庞大的计算机家族。尽管计算机在应用领域、硬件配置和工作速度上有着很大的差别,然而从组成结构上来看,各种计算机的硬件结构基本上是相同的。

任何一台计算机,其硬件都是由运算器、控制器、存储器、输入设备和输出设备5大功能部件组成的,其硬件结构框图如图1-1所示。

1-1  计算机硬件结构框图

在硬件系统中,通常把CPU、内存以及连接主要输入/输出设备的接口电路统称为主机,其他部分则称为外部设备。现在生产厂家已能将主机制作在一块印制电路板上,这就是通常所说的主机板,简称主板。

1.2.2  微型计算机结构特点

计算机通常分成大、中、小和微型计算机。

微型计算机(简称微型机、微机)与一般大、中、小型计算机并无本质区别,但微型机有自己的特点,主要表现在两个方面。

1.采用微处理器作为CPU

微处理器采用大规模或超大规模集成电路技术将运算器和控制器集成在一块芯片上,各种类型的微型机均采用微处理器作为CPU。此外,内存储器、接口电路也采用大规模集成电路器件,从而使微型机的主机可由几块芯片组装而成,使微型机体积小、重量轻、成本低、工作可靠。

2.采用总线实现系统连接

所谓总线(bus)是指信号线的集合,通过总线可以实现相互的信息或数据交换。在微型机中,各个有联系的部件不是单独地使用导线连接,而是连到总线上,这就使部件间的通信关系变成面向总线的单一关系,所以总线是各部件共用的。采用总线结构,简化了连线,增加了可靠性,便于部件和设备的扩充,尤其是制定了统一的总线标准后,不同设备之间容易实现互连。

根据总线上传送信息的不同,微型机中的总线分为数据总线(Data BusDB)、地址总线(Address BusAB)和控制总线(Control BusCB)。

1数据总线。

一般是双向三态控制,用来实现CPU、存储器和I/O设备之间的数据交换。数据总线的宽度一般与CPU的字长相同。

2地址总线。

一般是单向三态控制,地址信息由CPU发出,通过地址总线传送到存储器或I/O接口,指出相应的存储单元或I/O设备。

3控制总线。

控制总线主要用于传送由CPU发出的对存储器和I/O接口进行控制的信号,以及这些接口芯片对CPU的应答、请求等信号。图1-2所示的是以总线形式表示的微型机结构图。

a)总线结构示意图

b3种总线传送方向示意图

1-2  微型机总线结构图

1-2a)体现了各部件通过总线相连的情况,图1-2b)则以3种总线明确指出不同信息及其传送方向。

1.2.3  运算器

运算器是对数据进行运算的部件,它能够快速地对数据进行加、减、乘、除等基本算术运算以及“与”、“或”、“非”等逻辑运算。在运算过程中,运算器不断得到由存储器提供的数据,运算后把结果(包括中间结果)送回存储器保存起来。整个运算过程是在控制器统一指挥下,按程序中编排的操作次序进行的。

运算器主要由算术逻辑单元(Arithmetic Logic UnitALU)、寄存器(包括通用寄存器、暂存寄存器、标志寄存器等)以及一些控制数据传送的电路组成。算术逻辑单元是运算器中实现算术和逻辑运算的电路;寄存器是运算器中的数据暂存器,在运算器中往往设置多个寄存器,每个寄存器能够保存一个数据。寄存器可以直接为算术逻辑单元提供参加运算的数据,运算的中间结果也可以保存在寄存器中。这样,一个简单的运算过程就可以在运算器内部完成,避免了频繁地访问存储器,从而提高了运算速度。运算器中还设有标志寄存器,它用来存放运算结果的特征位,如进位标志(C)、零标志(Z)、符号标志(S)等。在不同的机器中,标志寄存器的标志位有不同的规定。

1.2.4  控制器

控制器是计算机的控制中心,计算机的工作就是在控制器的控制下有条不紊地协调进行的。控制器通过地址访问内存储器,逐条取出选中单元的指令,然后分析指令,并根据指令产生相应的控制信号作用于其他部件,控制这些部件完成指令所要求的操作。上述过程周而复始,保证了计算机能自动、连续地工作。

控制器主要由程序计数器(Program CounterPC)、指令寄存器(Instruction RegisterIR)、指令译码器(Instruction DecoderID)、时序电路及操作控制器等电路组成。当计算机执行程序时,程序计数器中保存的是要执行的下一条指令的地址,控制器根据这个地址,从内存中取出指令并送入指令寄存器。指令译码器对指令寄存器中的指令代码进行分析后,发出各种相应的操作命令,指挥计算机的有关部件进行工作,比如一次内存读/写操作,一个算术/逻辑运算操作,或一个输入/输出操作等。

程序计数器是控制器中的一个重要部件,它的功能是指示程序的执行顺序。在取指令阶段,它保留本条指令的地址;当指令执行完成后,它存放的是下一条将要执行的指令地址。程序计数器的位长一般是能表示内存的最大容量。下一条指令地址的形成有两种可能:一种是顺序执行,下一条指令地址通过指令计数器自动加1完成;另一种是通过转移指令形成下一条指令地址。

通常将运算器和控制器合在一起称为中央处理单元(Central Processing UnitCPU),CPU是计算机的核心部件,在生产制作时将其集成在一块芯片里。

1.2.5  存储器

1.内存和外存

存储器是用来存放信息的部件。计算机的存储器可分为内存储器(简称内存,也称主存储器)和外存储器(简称外存,也称辅助存储器)。

内存直接与CPU相连,可由CPU直接读/写信息,是CPU能根据地址线直接寻址的存储空间。它一般用来存放正在执行的程序或正在处理的数据。由于内存的数据交换非常频繁,因此内存的速度会直接影响整机的性能。目前的内存大都是由半导体存储器芯片组成的,其特点是体积小、耗电低、存取速度快、可靠性好,并且集成度越来越高,而成本越来越低,因此,即使是个人计算机也可配置较大的内存(如64MB256MB)。

外存储器不能与CPU直接交换信息,CPU需按输入输出方式访问这部分存储空间。外存一般用来存放暂时不用但又需长期保留的程序或数据。存放在外存的程序必须调入内存后才能运行。外存一般是由磁性介质材料(如磁盘、磁带)或光盘制成的,其中存放的信息不会因断电而丢失。与内存相比,外存的存储容量较大,价格也相对便宜,但存取速度较慢。常用的外存有软盘、硬盘、磁带及光盘等。

2.半导体存储器的分类

目前各类计算机的内存普遍采用半导体存储器,从不同的角度可以对半导体存储器进行不同的分类。

1)按读/写功能来划分,半导体存储器可分为只读存储器和随机存储器。

只读存储器简称ROMRead Only Memory),它需要预先写入程序或数据,写入的程序称为固化程序,具有很高的可靠性。ROM的特点是在计算机正常工作时,其内容可以反复被读出,但不能被改写,掉电后片内信息不会丢失。只读存储器适用于数据写入后不变或极少需要改变的应用场合,如存放字库、固定的数据和程序等。

只读存储器又分为掩膜、可编程、可擦写可编程等多种类型。

随机存储器简称RAMRandom Access Memory),其特点是在计算机正常工作时,可随时对存储器写入或读出信息,读/写信息的时间和地址都是任意的、无关的。但RAM中存储的信息在掉电后会丢失。随机存储器常用于存放频繁访问或频繁更新的程序或数据,计算机的内存就是由随机存储器构成的。

2)按半导体制造工艺来划分,半导体存储器可分为双极型和MOS型存储器。

双极型存储器是用晶体管-晶体管逻辑电路TTL)做成的,一般为随机存储器。其特点是工作速度快,但功耗大、集成度低,且工艺较复杂,主要用作高速缓存、超高速计算机的主存等。

MOSMetal Oxide Semiconductor)存储器是用金属氧化物半导体管制成的,其特点是功耗小、集成度高,但速度略低于双极型存储器,是当前计算机内存的主要芯片。

3)按信息保存方式来划分,半导体存储器可分为静态随机存储器与动态随机存储器。

静态随机存储器SRAM)不需要刷新,即在通电状态下,只要不写入新的信息,信息始终保持不变。静态随机存储器的电路设计简单,但其集成度要低于动态随机存储器,且成本较高。常用于小容量或高速的存储系统,如高速缓存、视频存储器等。

动态随机存储器DRAM)所存放的信息将随时间而衰减,所以必须定时刷新。由于动态随机存储器必须设计相应的刷新电路,因此其结构和实现均比静态随机存储器复杂,存储器处于占用状态时不能读/写,因此对总体性能有一定的影响。不过由于动态随机存储器具有容量大、集成度高、价格低等优点,它仍是当前计算机内存采用的主要芯片。

综上所述,半导体存储器的类型可归纳为如图1-3所示。

1-3  半导体存储器的分类

现代微型计算机都追求更大容量的内存空间,RAM主要采用动态MOS器件,ROM空间也有逐渐增大之势,利用它的掉电不丢失性可以固化一些系统软件。

3.存储器的主要技术指标

1)存储容量。

存储容量是指存储器所能存取的二进制信息的位数,一般以字节为单位。一个字节byte简写为B)可以存放8bit,简写为b)二进制数。在此基础上,有下面的换算关系:

1KB=210B=1024B

1MB=210KB=1024KB

1GB=210MB=1024MB

例如,16MB内存容量表示可以存放8×16×220位二进制信息。

2)存取时间。

存取时间指存取一个数据所需的时间,即指读、写周期,它直接影响到计算机的运行速度。现阶段半导体存储器的存取时间已达几十纳秒。

3)可靠性。

存储器用来存放程序和数据,要求工作时有很高的可靠性,即每个单元的每一个位存储单元均能正确无误地存取二进制信息,否则计算机将无法正常工作。通常,计算机加电后,首先对内存的每个单元进行检查,正确后才可继续工作。

4)功耗。

功耗一般是指每个存储单元或每个芯片的功耗。该指标关系到芯片的集成度、组装和散热等问题。通常产品技术参数手册中会给出工作功耗和维持功耗。

1.2.6  输入/输出接口电路

微型计算机与外围设备之间的数据传送称为输入/输出(I/O)。输入/输出设备是用来输入、输出程序和数据的部件,微型计算机是通过输入/输出接口电路与输入/输出设备相连接的。不同的输入/输出设备,物理性能相差极大,它们有各自的工作特点。因此,这些实际的输入/输出设备不能直接与主机交换信息,而必须在主机与输入/输出设备之间插入一块称为“接口电路”的硬件电路,通过它实现主机与输入/输出设备之间的信息交换,如图1-2a)所示。

设置接口电路的主要原因是主机与实际设备的工作速度相差大,主机是高速电子装置,而输入/输出设备是电子机械设备。不同的输入/输出设备工作方式不一样,数据格式也不一样。例如,有的输入/输出设备采用并行方式与主机交换信息,有的则采用串行方式与主机交换信息。因此,需要通过接口电路来解决主机与外设之间的速度匹配,实现数据缓冲及数据格式的变换等问题。

1.输入/输出接口电路的功能

输入输出接口电路的种类很多,某些通用集成电路芯片可以用作I/O接口,但更多的是专门为计算机设计的I/O接口电路芯片。一般地说,I/O接口电路有以下功能。

1)锁存数据。

外围设备的工作速度与计算机的工作速度不同,传送数据的过程中常常需要等待,因此I/O接口电路中要设置锁存器,用以暂存数据。例如,按键被按下时,按键的代码要送入I/O电路中的锁存器锁存,待计算机在合适的时候读取。

2)信息转换。

计算机通信时,为节省传输线,信息常以串行方式逐位传送;而在计算机内部,为加快运行速度,信息却是以并行的方式传送的。因此,计算机发送数据时,I/O接口电路要将并行数据转换成串行数据;而接收时又要将串行数据转换成并行数据。还有些外围设备(如传感器)提供的是模拟数据,有些执行部件(如示波器)需要计算机系统提供模拟量,但计算机只能处理数字量,所以模/数转换器及数/模转换器也是一种转换信息的接口电路。

3)电平转换。

计算机输入输出的信息大多采用TTL电平,高电平+5V代表“1”,低电平0V代表“0”。如果外围设备的信息不是TTL电平,那么在这些外围设备与计算机连接时,I/O接口电路要完成电平转换的工作。

4)缓冲。

输入输出接口电路是挂在计算机总线上的,应该具备缓冲的功能。

5)地址译码。

计算机通常具有多个外围设备,每个外围设备应赋予一个地址,以便计算机识别。I/O接口电路中的地址译码器能根据计算机送出的地址找到指定的外围设备。

6)传送联络信号。

许多外围设备与计算机间要传送状态信息和控制信息,这需要由I/O接口电路转换。

2.端口地址

如前所述,微型计算机是通过I/O接口电路与外围设备相连的,CPU只有通过I/O接口电路才能与外围设备传送信息。因此,只要选中I/O接口电路就能找到相应的外围设备。从这个意义上讲,应该对I/O接口电路编址。实际上,是对I/O接口电路的端口编址,因为选中了端口就选中了端口所在的I/O接口电路,从而选中对应的外围设备。

I/O接口电路的端口有以下两种编址方法。

1)存储器单元与接口电路端口统一编址。

所谓统一编址,就是将每个端口作为存储器的一个单元来对待,故一个端口占有存储器一个单元地址。CPUI/O接口电路输入一个数据,作为一次存储器读的操作,而向I/O接口输出一个数据,作为一次存储器写的操作。这种方法的优点是对外围设备的操作可使用全部有关存储器的指令,因而指令多,编程方便,并可对接口电路中的数据进行算术运算和逻辑运算。其缺点是接口电路占用了存储器的单元地址,减少了内存容量。

2)存储器单元与接口电路端口分别独立编址。

在这种编址方式中,存储器单元与接口电路端口各自独立编址。这样,某个地址可能是指存储器的某个单元,也可能是指某一个端口,因此要用不同的指令进行区分。存储器的容量很大,地址的位数多;而端口的数量有限,所需的地址位数不多。使用独立编址的方法,存储器地址和端口地址采用的位数可以不同,访问I/O接口电路指令的字节数(长度)可以减少,从而提高了此类指令的执行速度。

3.数据的传送方式

虽然外围设备种类多,但其数据传送方式只有4种:无条件传送方式、查询传送方式、中断传送方式和存储器直接存取(Direct Memory AccessDMA)传送方式。

1)无条件传送方式。

一些外围设备的信息变化缓慢,如温度传感器几分钟提供一个新数据,开关状态指示灯几分钟甚至几小时才改变一次状态。相对于高速运行的计算机而言,可以认为这些外围设备随时处于准备就绪状态。也就是说,CPU在输出信息以前不必询问输出设备是否已进入准备接收数据状态,只要执行输出指令,输出信息就会被外围设备所接收。对于这类外围设备,I/O接口电路与外围设备之间只需传送数据信息,这种传送方式称为无条件传送方式。

无条件传送方式是最简单的传送方式,所配置的硬件和软件最少。

2)查询传送方式。

许多外围设备与CPU在速度上存在差异,同样传送一个数据,CPU要快得多。于是可能会出现以下情况,比如,CPU要读取数据但外围设备可能并未准备好,CPU要输出的数据外围设备也不一定能够接收,所以CPU在传送数据前要先询问外围设备的状态,只有当外围设备准备好了才可以传送数据,否则CPU就等待,这种传送数据的方式称为查询传送方式。其流程图如图1-4所示。

用查询方式传送数据时,在接口电路与外围设备之间要交换数据、状态和控制3种信息。查询方式的缺点是CPU的利用率受到影响,CPU经常陷于等待和反复查询状态,不能再进行其他操作,而且这种方式不能处理掉电、设备故障等突发事件。

3)中断传送方式。

中断(interrupt)传送方式是计算机最常用的数据传送方式。除了传送数据外,实时控制、故障自动处理、实现人机联系等也多采用中断方式。

1-5是计算机采用中断方式与外围设备之间传送数据的示意图。利用中断技术后,CPU从反复询问外围设备状态中解脱出来,提高了CPU的工作效率,而且CPU可以同时为多个外围设备服务:现场的参数、信息在需要处理时,可随时向CPU发出中断请求信号,以便及时得到响应和处理,实现实时控制;利用中断技术还可以处理设备故障、掉电等突发事件。例如电源掉电,由于直流电源的滤波电容容量很大,使电压下降比较缓慢,如在电压下降到允许范围的下限前发出中断请求信号,CPU响应中断后把正在执行的程序状态(如PC指针、工作寄存器、标志寄存器、累加器A的内容)送到RAM中保存起来,然后接入备用电源对RAM供电,以保证RAM中的内容不丢失,这样当重新供电后程序即可从断点处继续顺利往下执行。

4)存储器直接存取(DMA)传送方式。

高速度的外围设备与计算机间传送大批量数据时常采用存储器直接存取传送方式。例如磁盘与内存之间交换数据就使用DMA传送方式,此时让CPU交出总线控制权,改由DMA控制器进行控制,从而使外围设备与内存利用总线直接交换数据,而不经过CPU中转,也不通过中断服务程序,即不需要保存、恢复断点和现场,所以DMA方式传送数据的速度比中断方式更快。

                 

1-4  查询方式的数据流程图                           1-5  中断过程示意图

4.常用的输入输出设备

目前计算机常用的输入设备有键盘、鼠标器、光笔、图像扫描仪、数字化仪、电传打字机、磁带机、磁盘机等。

常用的输出设备有显示器、打印机、绘图仪、磁带机和磁盘机等。

1.2.7  单片机的内部结构

为了给后面学习打下一个基础,现对单片机的基本结构作一概述。

前面已经述及微型计算机的基本结构,这为分析单片机内部结构作了准备。单片机内部含有一台微型计算机所需要的基本功能部件,基本结构如图1-6所示,现对图中各部件分述如下。

l-6  单片机的内部结构

1.中央处理器(CPU

CPU是单片机的核心部件,它通常由前述的运算器、控制器和中断电路等组成。CPU有自己的指令系统,用于编制单片机的应用程序。CPU进行算术运算和逻辑操作的字长有4位、8位、16位和32位之分,字长越长,运算速度越快,数据处理能力也越强。

2.存储器

在单片机内部,ROMRAM存储器是分开的。通常,ROM存储器容量较大,RAM存储器的容量较小,这是单片机用作控制的一大特点。

1ROM存储器。

ROM存储器一般为1 KB32KB,用于存放应用程序,故又称为程序存储器。由于单片机主要在控制系统中使用,因此一旦该系统研制成功,其硬件和应用程序均已定型。为了提高系统的可靠性,应用程序通常固化在片内ROM中。根据片内ROM的结构,单片机又可分为无ROM型、ROM型和EPROM3类。

ROM型单片机的特点是片内不集成ROM存储器,故应用程序必须固化到外接的ROM存储器芯片中才能构成有完整功能的单片机应用系统。ROM型单片机内部,其程序存储器是采用掩膜工艺制成的,程序一旦固化进去便永远不能修改。EPROM型单片机内部的程序存储器是采用特殊FAMOS管构成的,程序写入后,通过特殊手段也可加以修改,因此EPROM型单片机是深受研制人员欢迎的。

2RAM存储器。

通常单片机片内RAM存储器容量为64B256B,最多可达1KBRAM存储器主要用来存放实时数据或作为通用寄存器、数据堆栈和数据缓冲器之用。

3I/O接口和特殊功能部件

I/O接口电路有串行和并行两种。串行I/O用于串行通信,它可以把单片机内部的并行8位数据(8位机)变成串行数据向外传送,也可以串行接收外部送来的数据并把它们变成并行数据送给CPU处理。并行I/O口电路可以使单片机和存储器或外围设备之间并行地传送8位数据(8位机)。

通常,特殊功能部件包括:定时器/计数器、A/DD/ADMA通道和系统时钟等。定时器/计数器用于产生定时脉冲,以实现单片机的定时控制;A/DD/A转换器用于模拟量和数字量之间的相互转换,以完成实时数据的采集和控制;DMA通道可以使单片机和外围设备之间实现数据的快速传送。总之,某一单片机内部究竟包括哪些特殊功能部件以及特殊功能部件的数量是和它的型号有关的。