购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.2 微型计算机原理

1946年2月,第一台电子数字计算机ENIAC(Electronic Numerical Integrator and Computer)问世,这标志着计算机时代的到来。

ENIAC是电子管计算机,体积庞大,时钟频率仅有100kHz。与现代计算机相比,ENIAC各方面的性能都较差,但它的问世开创了计算机科学的新纪元,对人类的生产和生活方式产生了巨大的影响。

1946年6月,美籍匈牙利数学家冯·诺依曼提出了“程序存储”和“二进制运算”的思想,构建了由运算器、控制器、存储器、输入设备和输出设备组成的电子计算机的冯·诺依曼经典结构,如图1.3所示。

图1.3 电子计算机的冯·诺依曼经典结构

电子计算机技术的发展,相继经历了电子管计算机、晶体管计算机、集成电路计算机、大规模集成电路计算机和超大规模计算机五个时代。但是,电子计算机的结构始终没有突破冯·诺依曼提出的电子计算机的经典结构框架。

1.2.1 微型计算机的基本组成

1971年1月,Intel公司的德·霍夫将运算器、控制器及一些寄存器集成在一块芯片上,组成了微处理器或中央处理单元(以下简称CPU),形成了以CPU为核心的总线结构框架。

微型计算机的组成框图如图1.4所示,其由CPU、存储器(ROM、RAM)、输入/输出端口(I/O端口)和连接它们的总线组成。微型计算机配上相应的I/O设备(如键盘、显示器等)就构成了微型计算机系统。

图1.4 微型计算机的组成框图

1.CPU

CPU由运算器和控制器两部分组成,是计算机的控制核心。

(1)运算器:运算器由算术逻辑单元(ALU)、累加器(ACC)和寄存器等部分组成,主要负责数据的算术运算和逻辑运算。

(2)控制器:控制器是发布指令的“决策机构”,可协调和指挥整个计算机系统的操作。控制器由指令部件、时序部件和微操作控制部件三部分组成。其中,指令部件是一种能对指令进行分析、处理和产生控制信号的逻辑部件,是控制器的核心部件,通常由程序计数器(Program Counter,PC)、指令寄存器(Instruction Register,IR)和指令译码器(Instruction Decode,ID)三部分组成;时序部件由时钟系统和脉冲发生器组成,用于产生微操作控制部件所需的定时脉冲信号;微操作控制部件根据指令译码器判断出的指令功能形成相应的微操作控制信号,用以完成该指令所规定的功能。

2.存储器

通俗来讲,存储器是微型计算机的仓库,包括程序存储器和数据存储器两部分。其中,程序存储器用于存储程序和一些固定不变的常数与表格数据,一般由只读存储器(ROM)组成;数据存储器用于存储运算中的输入数据、输出数据或中间变量数据,一般由随机存取存储器(RAM)组成。

3.I/O端口

微型计算机的I/O设备(如键盘、显示器等)有高速的也有低速的,有机电结构的也有全电子式的,由于其种类繁多且速度各异,所以它们不能直接和高速工作的CPU相连。I/O端口是CPU与I/O设备连接的桥梁,它的作用相当于一个转换器,保证CPU与I/O设备协调工作。不同的I/O设备需要的I/O端口不同。

4.总线

CPU与存储器和I/O端口是通过总线相连的,总线包括地址总线(AB)、数据总线(DB)与控制总线(CB)。

(1)地址总线:地址总线用于CPU寻址,地址总线的多少标志着CPU寻址能力的大小。若地址总线的根数为16,则CPU的最大寻址能力为2 1 6 =64KB。

(2)数据总线:数据总线用于CPU与外围元器件(如存储器、I/O端口)交换数据,数据总线的多少标志着CPU一次交换数据的能力大小,决定了CPU的运算速度。通常所说的CPU的位数就是指数据总线的宽度,如16位机,就是指计算机的数据总线为16位。

(3)控制总线:控制总线用于确定CPU与外围元器件交换数据的类型,主要分为读和写两种类型。

1.2.2 指令、程序与编程语言

一个完整的计算机是由硬件和软件两部分组成的。上文所述为计算机的硬件部分,是看得见、摸得着的实体部分,但计算机硬件只有在软件的指挥下才能发挥其效能。计算机采取“存储程序”的工作方式,即事先将程序加载到计算机的存储器中,当启动运行后,计算机便自动按照程序进行工作。

指令是规定计算机完成特定任务的指令,CPU就是根据指令指挥与控制计算机各部分进行协调工作的。程序是指令的集合,是解决某个具体任务的一组指令。在用计算机完成某项工作任务之前,人们必须事先将计算方法和步骤编制成由指令组成的程序,并预先将它以二进制代码(机器代码)的形式存放在程序存储器中。

编程语言分为机器语言、汇编语言和高级语言。

· 机器语言是用二进制代码表示的,是机器可直接识别与执行的语言。因此,用机器语言编写的程序称为目标程序。机器语言具有灵活、可直接执行和速度快的优点,但机器语言的可读性、移植性及重用性较差,编程难度较大。

· 汇编语言是用英文助记符来描述指令的,是面向机器的程序设计语言。采用汇编语言编写

程序,既保持了机器语言的一致性,又增强了程序的可读性,并且降低了程序的编写难度。但使用汇编语言编写的程序,机器不能直接识别,还要由汇编程序(又称汇编语言编译器)转换成机器指令。

· 高级语言是采用自然语言描述指令功能的,与计算机的硬件结构及指令系统无关,它有更强的表达能力,可以方便地表示数据的运算和程序的控制结构,能更好地描述各种算法,而且容易学习和掌握。但用高级语言编写的程序一般比用汇编语言编写的程序长,执行的速度也慢。高级语言并不是特指某一种具体的语言,其包括很多编程语言,如目前流行的Java、C、C++、C#、Pascal、Python、LISP、Prolog、FoxPro、VC等,这些语言的语法、指令格式都不相同。目前,在单片机、嵌入式系统应用编程中,主要采用C语言编程,在具体应用中还增加了面向单片机、嵌入式系统硬件操作的程序语句,如Keil C51(或称为C51)。

1.2.3 微型计算机的工作过程

微型计算机的工作过程就是程序的执行过程,计算机执行程序是一条指令一条指令执行的。执行一条指令的过程分为三个阶段,即取指令、指令译码与执行指令,执行完一条指令后,自动转向执行下一条指令。

(1)取指令:根据PC中的地址,在程序存储器中取出指令代码,并将其送到IR中。之后,PC自动加1,指向下一指令(或指令字节)地址。

(2)指令译码:ID对IR中的指令进行译码,判断出当前指令的工作任务。

(3)执行指令:在判断出当前指令的工作任务后,控制器自动发出一系列微指令,指挥计算机协调动作,从而完成当前指令指定的工作任务。

微型计算机的工作过程示意图如图1.5所示,程序存储器从0000H地址开始存放了如下所示的指令:

下面分析微型计算机的工作过程。

(1)将PC内容0000H送地址寄存器(MAR)。

(2)PC值自动加1,为获取下一个指令字节的机器代码做准备。

(3)地址寄存器中的地址经地址译码器找到程序存储器的0000H单元。

(4)CPU发出读指令。

(5)CPU将0000H单元内容74H读出,并送至数据寄存器中。

(6)将74H送至IR中。

(7)经ID译码,判断指令所代表的功能,操作控制器(OC)发出相应的微操作控制信号,完成指令操作。

(8)根据指令功能要求,将PC内容0001H送至地址寄存器。

(9)PC值自动加1,为获取下一个指令字节的机器代码做准备。

(10)地址寄存器中的地址经地址译码器找到程序存储器的0001H单元。

(11)CPU发出读指令。

(12)CPU将0001H单元内容0FH读出,并送至数据寄存器中。

(13)数据读出后根据指令功能直接送累加器(ACC),至此,完成该指令操作。

图1.5 微型计算机的工作过程示意图

1.2.4 微型计算机的应用形态

微型计算机从应用形态上主要可分为系统机与单片机。

1.系统机

系统机将CPU、存储器、I/O端口电路和总线端口组装在一块主机板(微机主板)上,再通过系统总线和多块适配卡连接键盘、显示器、打印机、硬盘驱动器及光驱等I/O设备。

目前人们广泛使用的计算机就是典型的系统机,它具有人机界面友好、功能强、软件资源丰富的特点,通常用于办公或家庭的事务处理及科学计算,属于通用计算机。

系统机的发展追求的是高速度、高性能。

2.单片机

将CPU、存储器、I/O端口电路和总线端口集成在一块芯片上,即可构成单片微型计算机,简称单片机。

单片机的应用是嵌入控制系统(或设备)中的,因此属于专用计算机,也称为嵌入式计算机。单片机应用讲究的是高性能价格比,需要针对控制系统任务的规模、复杂性选择合适的单片机,因此高、中、低档单片机是并行发展的。 sDl9Hd5tIQFQwuPkBbEa2L0T7IKQf9AxRW0ybnSECauS4Ul79t7bKIay19WXKreR

点击中间区域
呼出菜单
上一章
目录
下一章
×