微型计算机系统(简称微机系统)包括硬件和软件。硬件是指组成计算机的物理实体,是看得见摸得着的部分。对于微机系统,硬件包括机箱、键盘、鼠标、显示器及打印机等。软件简单地说就是程序,程序是计算机机器指令的有序集合。为了给用户提供一个具有非常容易使用的计算机应用环境,专业软件开发者开发了操作系统及大量语言、软件工具等多种程序。
1946年,冯?诺依曼提出了存储程序计算机的设计思想,奠定了现代计算机的结构基础。半个世纪以来,尽管计算机体系结构发生了重大变化,性能也在不断改进提高,但从本质上讲,存储程序控制仍是现代计算机的结构基础。
迄今为止,电子计算机的基本结构仍然属于“冯?诺依曼体系”的范畴之内。这种结构(如图1-1所示)的特点可以概括为如下两点。
· 存储程序原理:把程序事先存储在计算机内部,计算机通过执行程序实现高速数据处理。
· 五大功能模块:电子数字计算机由运算器、存储器、控制器、输入设备、输出设备五大功能模块组成。
图1-1 计算机基本组成
为了能有效地组织计算机的各个部分,便于系统的构成,按照硬件和软件的组织结构,可将计算机系统分为若干个相互独立的功能层次,计算机的硬件部分在最底层,其功能是在程序的控制下自动完成计算机的物理操作。
紧靠硬件层之上的是硬件驱动层,这些驱动层的软件直接控制着底层硬件的运行。由于不同的硬件需要不同的驱动软件,所以往往将它们固化在只读存储器ROM中,称为基本输入/输出系统(Basic Input/Output System,BIOS),它们与被控制的硬件部分放在一起。只要调用驱动软件就可以实现对硬件的控制,即硬件功能的调用,从而简化了编程。
计算机根据内部逻辑结构有如下几种分类:按计算机指令系统的性质分有CISC(Complex Instruction Set Computer,复杂指令集计算机)和RISC(Reduced Instruction Set Computer,精简指令集计算机);按系统处理机的多少和工作方式有单处理器计算机和多处理器计算机、并行机;按字长有8位、16位、32位、64位计算机;按指令流和数据流的概念分有SISD(Single Instruction Stream Single Data Stream,单指令单数据流)、SIMD(Single Instruction Stream Multiple Data Stream,单指令多数据流)、MISD(Multiple Instruction Stream Single Data Stream,多指令单数据流)、MIMD(Multiple Instruction Stream Multiple Data Stream,多指令多数据流)。
1989年11月,IEEE根据计算机在信息处理系统中的地位和作用,考虑到可能的发展趋势,把计算机分为6类:巨型机(supercomputer)、小巨型机(mini supercomputer)、主机(mainframe)、小型机(minicomputer)、工作站(workstation)和个人计算机(Personal Computer,PC)。现在则流行着巨型机、大型机、中型机、小型机、微型机的通俗分法。
微型计算机是微型化的电子数字计算机,它在基本结构、基本功能上与一般的计算机大致相同。但是,由于微型计算机采用了大规模和超大规模集成电路组成的功能部件,使微型计算机在系统结构上有着简单、规范和易于扩展的特点。
微型计算机由微处理器、存储器、输入/输出(I/O)接口电路和外围设备(外设)组成,连接这些功能部件的是系统总线,如图1-2所示。
图1-2 微型计算机的基本结构
如图1-1所示,计算机的硬件由运算器、存储器、控制器以及输入设备和输出设备5个部分组成,这种划分方法是从组成计算机的功能模块的角度出发的。从另外的角度来看,图1-3给出的微机系统硬件组成框图更直观、更切合实际。
图1-3 微机系统的硬件组成
图1-3中突出4大部分,即主板、系统总线、输入/输出(I/O)接口板组和各种外围设备。主板主要由微处理器、内存储器及总线控制逻辑组成。所以,许多微机原理与接口的书中通常讲,微机系统的硬件是由微处理器、存储器、总线、接口及外围设备5部分组成的,而微处理器是微机系统的心脏。
可以看出,电子计算机以运算器、控制器为其核心,以存储器为其中心,我们把运算器、控制器合称为中央处理器(Central Process Unit,CPU)。中央处理器、存储器构成了一台电子计算机的主体,称为主机(host)。输入/输出设备位于主机的外部,称为外部设备、外围设备或周边设备,简称外设。
计算机的硬件系统是一个为执行程序建立物质基础的物理设备,称为裸机。若无软件的配合,裸机什么也做不了。
软件是计算机命令指令的集合,它通过指令对计算机的各种资源进行调配与控制,达成信息处理的目的。
软件是实现算法、驱动对象的程序及其文档。计算机的软件系统包括系统软件和应用软件两大部分。系统软件是指为管理、控制和维护计算机系统资源而由计算机厂家或软件公司开发、提供的软件,主要有操作系统、网络操作系统、编程语言处理程序、数据库管理系统、测试程序、编辑程序、装配连接程序等;应用程序是指为满足用户需要而由用户或第三方软件公司开发的解决某些实际应用问题的程序,如图书目录检索程序、专用的计时收费程序、仓库管理程序、某系统的实时控制程序等。
PC/XT的系统结构如图1-4所示。
图1-4 PC/XT微型计算机的系统结构
IBM公司以8088为CPU构建了第一代PC——IBM-PC,该计算机以盒式录音机作为外存储设备,使用不方便。不久,IBM公司推出了它的增强型——IBM-PC/XT,它采用10MB~20MB的硬盘驱动器作为辅助存储设备,在一段时间内获得了广泛的认同。该计算机采用以CPU为中心的简单结构,通过若干缓冲和锁存电路把8088 CPU的信号连接到它的系统板上,构成了62线的XT总线。它的系统板上除了8088 CPU及其外围电路外,还集成了ROM、RAM、定时/计数器、中断控制器、DMA控制器、键盘、扬声器接口以及8个62引脚的XT总线扩展插槽。它的显示器接口、打印机接口、串行通信接口都是以接口卡的形式通过62引脚插槽与系统相连接的。主板上最多提供256KB的DRAM存储器,更多的存储器需要做成接口卡与系统相连。
XT总线包括8位数据线和20位地址线,使用与CPU相同的4.77MHz的时钟信号。由于8088 CPU传输一次数据需要4个以上的时钟周期,所以XT总线的数据传输速率约为1.2×8Mbps。
为了适应新的CPU的推出,IBM公司推出了新一代的微型计算机——IBM-PC/AT,该机型对8位的XT总线进行了扩充,构成了16位的AT总线。此后,Intel和其他公司联合推出了与AT总线兼容的、公开的总线标准——工业标准体系结构(Industry Standard Architecture,ISA)。ISA总线使用24位地址、16位数据、15级硬件中断和7个DMA通道,使用6MHz~8MHz时钟信号,最高数据传输速率为64Mbps。由于ISA总线与XT总线兼容,所以把ISA插槽做成两段:第1段提供XT信号,可以继续使用XT总线的接口卡;第2段提供ISA所增加的信号,同时插入两个插槽就可以得到完整的ISA信号。
CPU主频的不断提高,内存储器的速度也要相应提高,内存储器和外部设备使用同一个时钟的单一总线结构已经成为提高系统性能的瓶颈。在这样的情况下,出现了分级总线的微型计算机结构:把CPU与内存储器直接相连,称为CPU局部总线;经过外围芯片(组)产生系统总线,与相对低速的其他I/O设备相连接。
如图1-5所示,L2 cache和DRAM及其控制器通过CPU局部总线与80486直接相连。ISA信号连到两组插槽:右侧两个插槽只能插入8位的XT接口卡;左侧的6个插槽既可以插入XT接口卡,也可以插入16位的ISA接口卡。在AT机型中还使用了独立的实时时钟/日历芯片,关机时用后备电池供电,可以连续计时。
图1-5 PC/AT系统结构
1987年Intel公司生产出8086 CPU,以后每隔3~4年,微处理器就进行升级一次。早期微型计算机的体系结构在很大程度上依赖于所使用的处理器,微处理器性能的提升一方面带动了微型计算机整机性能的提升,但另一方面则带来了系统结构的不稳定性,这给系统其他电路的研制、生产带来了巨大的压力。为了获得一个稳定、高性能的系统结构,Intel于1993年联合其他公司推出了PCI总线规范。它独立于CPU,完全兼容当时已有的ISA/EISA/微通道总线,具有高达133Mbps的数据传输速率,能够满足高性能图形接口和其他高速外设的需要。
南—北桥结构支持多级总线的系统组成。这样的系统通常由处理器总线(host bus)、局部总线(PCI)和系统总线(ISA)3级组成(如图1-6所示)。处理器总线连接运行在最高速度上的高速缓存和主存储器;PCI总线连接显示适配器、网络适配器、硬盘驱动器这一类高速设备;ISA总线则连接传统的并行口、串行口、软盘驱动器、键盘、鼠标等相对低速的外部设备。各级之间信号的速度缓冲、电平转换、控制协议转换由称为桥的电路实现。根据桥两端电路的不同分为CPU/PCI桥(host bridge)、PCI/ISA桥和PCI/PCI桥等。
在这个PCI/ISA系统结构图中,CPU/PCI桥处于上部,按照地图的习惯被称为北桥。该芯片除了CPU/PCI桥电路之外,同时集成了AGP总线接口、主存储器控制器和PCI仲裁器。PCI/ISA桥位于图1-6的下方,被称为南桥,它同时还集成了IDE辅助存储器接口、2个8259A中断控制器、2个DMA控制器、8253/8254定时/计数器和实时时钟,此外还增添了通用串行总线(USB)接口、I/O APIC等。传统的低速接口则集成在称为Super I/O的电路中。
图1-6 南—北桥结构
许多公司研制和生产了组成南—北桥的芯片组,它们各自具有不同的性能和技术特征。Intel公司生产的典型的南—北桥的芯片组有440BX和440TX等。从Pentium II开始的CPU还提供专用的引脚,通过南桥芯片的I/O APIC接口连接多于一个的CPU,构成多CPU的系统。
南—北桥结构初步建立了存储器—高速外设—低速外设的分级总线结构,但是还存在一个明显的数据传输瓶颈:南桥芯片连接的高速外设都要通过PCI总线与处理器相连接,这增加了PCI总线数据交换的拥挤程度。为此,Intel公司又推出了称为中心结构的新的结构体系,如图1-7所示。
图1-7 中心结构
存储控制中心(Memory Control Hub,MCH)芯片的主要任务是建立处理器与系统其他设备的高速连接。它与处理器连接,通过存储器总线连接主存储器,通过中心高速接口与I/O控制中心(I/O Control Hub,ICH)的芯片连接,它还集成了高速AGP总线接口、电源管理部件和存储管理部件。有的MCH芯片还同时集成了AGP图形接口,可以直接连接显示设备,称为图形存储控制中心(GMCH)。
I/O控制中心芯片负责建立I/O设备与系统的连接。在它的内部集成了以下几部分:
(1) 2个IDE辅助存储器接口(Primary IDE,Secondary IDE)。
(2) 2个或4个USB接口。
(3)内置了PCI总线仲裁器和PCI总线接口。
(4)内置了AC’97控制器,提供音频编码和调制解调器编码接口。
(5)通过LPC I/F和Super I/O芯片相连。该芯片内置相关接口,连接软盘驱动器、键盘、鼠标等相对低速的外部设备,同时提供传统的并行、串行接口。
(6)固件中心(FWH)芯片主要用来存储系统和显示BIOS,它也连接到ICH芯片上。
Intel公司生产的典型中心结构芯片组有815、845、865、875和915、925、965等系列。由于传统的低速接口与设备已经由Super I/O芯片连接,早期ISA总线的声卡等接口或者集成在芯片组内部,或者改用PCI总线以提高性能,ISA总线使用得越来越少,所以在PC、99规范中取消了ISA总线,需要使用时可通过PCI-ISA桥芯片引出。
中心结构进一步完善了多级总线结构,是目前普遍使用的微型计算机系统结构。