1.1.1 计算机的硬件
源于冯·诺依曼设计思想的计算机由5大部件组成:控制器、运算器、存储器、输入设备和输出设备。控制器是整个计算机的控制核心;运算器是对数据进行运算处理的部件;存储器是用来存放数据和程序的部件;输入设备将数据和程序变换成计算机内部所能识别和接受的信息方式,并把它们送入存储器中;输出设备将计算机处理的结果以人们能接受的或其他机器能接受的形式送出。
现代计算机在很多方面都对冯·诺依曼计算机结构进行了改进,5大部件演变为3个硬件子系统:处理器、存储系统和输入输出系统。运算器和控制器被制作在一块大规模集成电路芯片上,称为处理器(Processor),也常被称为中央处理单元CPU(Central Processing Unit)。传统的存储器也发展成为存储系统,由寄存器、高速缓冲存储器、主存储器及辅助存储器构成。处理器和存储系统在信息处理中起主要作用,是计算机硬件的主体部分,通常被称为“主机”。输入设备和输出设备统称为外部设备,简称为外设或I/O设备;输入输出系统的主体是外部设备,但还包括外设与主机之间相互连接的I/O接口电路。
为简化各个部件的相互连接,现代计算机广泛应用总线结构,参见图 1-1。采用总线连接系统中各个功能部件使得计算机系统具有了组合灵活、扩展方便的特点。
图1-1 计算机系统的硬件组成
1.处理器
处理器是计算机的运算和控制核心,微机中可被称为微处理器(Microprocessor)。现代通用微处理器功能非常强大,人们已经习惯称之为处理器或者CPU。
(微)处理器芯片内集成了控制器、运算器和若干高速存储单元(即寄存器)。高性能处理器内部非常复杂,例如运算器中不仅有基本的整数运算器、还有浮点处理单元甚至多媒体数据运算单元,控制器还会包括存储管理单元、代码保护机制等,为提高存储器的性能还会集成高速缓冲存储器。处理器及其支持电路构成了计算机系统的处理和控制中心,对系统的各个部件进行统一的协调和控制。
PC采用美国英特尔(Intel)公司的80x86系列处理器或与其兼容的处理器,例如常用的奔腾系列处理器或者酷睿系列多核处理器。之所以称之为Intel 80x86系列处理器,是因为它们都源于16位结构的Intel 8086处理器,而8086具有的所有指令,即指令系统是整个Intel 80x86系列处理器的基本指令集。
本书前5章将介绍基于8086处理器的16位常用指令,从第6章开始介绍32位指令。
2.存储器
存储器(Memory)是计算机的记忆部件,存放程序和数据。存储系统由处理器内部的寄存器(Register)、高速缓冲存储器(Cache)、主板上的主存储器和以外设形式出现的辅助存储器构成。
按所起作用,存储器可分为主存储器和辅助存储器。主存储器(简称主存或内存)由半导体存储器芯片组成,安装在机器内部的电路板上,相对辅助存储器来说速度快,但容量小:造价高,主要用来存放当前正在运行的程序和等待处理的数据。辅助存储器(简称辅存或外存)主要由磁盘、光盘存储器等构成,以外设的形式安装在机器上,相对主存储器来说造价低、容量大、信息可长期保存,但速度慢,主要用来长久保存程序和数据。一般来说,程序和数据以文件形式保存在辅存上,只有使用它们时才读入主存。
按读写功能,存储器可分为可读可写存储器和只读存储器ROM(Read Only Memory)。半导体存储器具有按指定位置访问,即随机存取的特点,所以可读可写的半导体存储器常被称为RAM(Random Access Memory)。构成主存既需要RAM,也需要ROM,但需要注意的是,存放在RAM芯片上的信息断电后将会丢失,而ROM芯片中的信息则可在断电后保存。通常作为辅存的磁盘存储器和 CD-ROM 光盘都可以在断电后长期保存信息,它们二者的不同在于,CD-ROM光盘是只读的,而作为辅存的磁盘存储器是可读可写的。不过,由于读写时涉及磁头或光头的移动、磁盘或光盘的旋转,它们的存取性能低于半导体存储器。
个人计算机的主存由半导体存储芯片RAM和ROM构成。在16位PC系列机时代,RAM容量不过是64KB或1MB。32位PC的RAM容量从最初的4MB,逐渐发展直到2010年的2GB或4GB。由于大量应用程序都需要RAM主存空间,因此PC的主存主要由RAM构成,俗称主存条(内存条)。
个人计算机的ROM部分主要是固化的ROM-BIOS。BIOS(Basic Input/Output System)表示“基本输入输出系统”,是PC软件系统最底层的程序。它由诸多子程序组成,主要用于驱动和管理诸如键盘、显示器、打印机、磁盘、时钟、串行通信接口等基本的输入输出设备。操作系统通过对BIOS 的调用驱动各硬件设备,用户也可以在应用程序中调用BIOS中的许多功能。ROM空间还包含机器复位后初始化系统的程序,它将操作系统引导到RAM存储器中执行。
3.外部设备
外部设备是指计算机上配备的输入(Input)设备和输出(Output)设备,也称 I/O 设备或外围设备,简称外设(Peripheral),其作用是让用户与计算机实现交互。
个人计算机上配置的标准输入设备是键盘、标准输出设备是显示器,二者又合称为控制台(Console)。个人计算机还可使用鼠标、打印机等 I/O 设备。作为外部存储器驱动装置的磁盘驱动器,既是输出设备,又是输入设备。
由于各种外设的工作速度、驱动方法差别很大,无法与处理器直接匹配,所以不可能将它们直接连接到主机。这里就需要有一个I/O接口来充当外设和主机之间的桥梁,通过该接口电路来完成信号变换、数据缓冲、联络控制等工作。在个人计算机中,较复杂的I/O接口电路通常制成独立的电路板,也常被称为接口卡(Card),例如显示卡,使用时需要将其插在主板的总线插槽上。
4.系统总线
总线(Bus)是用于多个部件相互连接、传递信息的公共通道,物理上就是一组公用导线。例如,处理器芯片的对外引脚(Pin)常被称为处理器总线。这里的系统总线(System Bus)是指计算机系统中主要的总线,例如处理器与存储器和I/O设备进行信息交换的公共通道。
16位PC采用16位工业标准结构ISA(Industry Standard Architecture)系统总线连接各个功能部件。32位PC上使用外设部件互连PCI(Peripheral Component Interconnect)总线连接I/O接口卡。系统总线除了作为主机板上处理器、主存和I/O接口的公共通道外,主板上还设置有许多系统总线插槽,主要用于插接I/O接口电路以扩充系统连接的外设,故也被称作I/O通道。
对汇编语言程序员来说,处理器、存储器和外部设备依次被抽象为寄存器、存储器地址和输入输出地址,因为编程过程中将只能通过寄存器和地址实现处理器控制、存储器和外设的数据存取及处理等操作。