一.计算机的发展概述
1.1 引言
1.什么是计算机?
计算机是一种 设备(机器)
由各种电子器件组成的设备(故也称为电子计算机)
能够自动、高速、精确地进行算术运算、逻辑控制和信息处理的设备
现代化的高科技设备
2. 计算机的应用范围
概括起来说,计算机主要用于科学计算、信息(数据)处理和过程控制等领域。
科学计算特点:
① 采用高级语言编程;
② 时间不会影响结果的有效性;
③ 不需要专门的输入输出设备。
信息处理和过程控制特点:
① 采用高级语言和汇编语言编程,并
要求有较高的程序设计能力;
② 对系统的实时性要求很高;
③ 需要专门的输入和输出设备。
1.2计算机的发展概述
1.计算机从诞生至今已经历了四代,现在正在开发第五代
① 电子管计算机
②晶体管计算机
③集成电路计算机
④大规模、超大规模集成电路计算机
2.计算机的发展趋势朝两个方向:
① 巨型机:每秒上亿次(容量大,速度快)
② 微型机:台式机、笔记本机、单板机、单片机、掌上机等(易普及,应用广)
3.微型计算机是由微处理器(CPU)、存储器、I/O接口电路组成的计算机。其核心是微处理器,也称CPU。它的发展几乎每两年翻一番。目前已经到了第五代:
① 4位或低档8位微处理器
Intel 4004或8008CPU
② 中高档8位微处理器
Intel 8080 CPU
③ 16位高档微处理器
Intel 8086、80286
④ 32位高档微处理器
Intel 80386、80486
⑤ 64位高档微处理器
Intel 80586(Pentium)、PowerPC
1.3微型计算机系统的组成
微型计算机是指以微处理器为核心,配上存储器、输入/输出接口电路等组成的计算机(又称为主机)。微型计算机系统(Microcomputer System)是指以微型计算机为中心,配以响应的外围设备、电源和辅助电路(统称硬件)以及指挥计算机工作的系统软件所构成的系统。微型计算机系统也是由硬件和软件所构成的系统。如图1.1所示。
1.3.1 基于总线的微型计算机硬件系统
到目前为止,计算机仍沿用1940年由冯诺依曼首先提出的体系结构。其基本设计思想为:
- 以二进制形式表示指令和数据
- 程序和数据事先存放在存储器中,计算机在工作时能够高速地从存储器中取出指令加以执行
- 有运算器、控制器、存储器、输入设备和输出设备等五大部件组成计算机硬件系统
所谓总线,是计算机中各功能部件间传递信息的公共通道。根据所传送的信息类型不同,总线分为三种:
① 地址总线 AD(Address Bus):
单向,由CPU发出到存储器或I/O端口。
② 数据总线 DB(Data Bus):
双向,由CPU送出或送往CPU。
③ 控制总线 CB(Control Bus):
整体双向,个体单向,传送方向固定。
1.3.2 微处理器
微处理器由运算器(ALU)、控制器(CU)、和寄存器阵列(RA)三部分组成,如图1.4所示。
(1) 运算器
运算器又称算术逻辑单元(ALU,ArithmeticLogic Unit),用来进行算术或逻辑运算以及多位循环等操作。参加运算的两个操作数一个来自累加器A(Accumulator),另一个来自内部数据总线,可以是数据缓冲寄存器DR(Data Register)中的内容,也可以是寄存器阵列RA(Register Array)中某个寄存器的内容。
(2)控制器
控制器又称控制单元(CU,ControlUnit),是全机的指挥控制中心。它负责把指令逐条从存储器中取出,经译码分析后向全机发出取数、执行、存数等控制命令,以保证正确完成程序所要求的功能。它应包括:
① 指令寄存器IR(InstructionRegister):用来存放从存储器取出的将要执行的指令码。
② 指令译码器ID(InstructionDecoder):用来对指令寄存器IR中的指令操作码字段(指令中用来说明指令功能的字段)进行译码,以确定该指令应执行什么操作。
③ 可编程逻辑阵列PLA(ProgrammableLogic Array):用来产生取指令和执行指令所需要的各种微操作控制信号,并经过控制总线CB送往有关部件,从而使计算机完成相应的操作。
(3) 内部寄存器阵列
寄存器阵列RA(RegisterArray)实际上相当于微处理器内部的RAM。微处理器内部的寄存器有以下作用:
○ 可避免频繁访问存储器
○ 缩短指令长度和指令执行时间
○ 提高机器的运行速度
○ 方便程序设计
虽然不同计算机的CPU中其RA会有所不同,但一般至少要有以下几个寄存器。
① 程序计数器PC(ProgramCounter):程序计数器有时也被称为指令指针IP(InstructionPointer)。它被用来存放下一条要执行指令所在存储单元的地址。
② 地址寄存器AR(AddressRegister):地址寄存器用来存放正要取出的指令的地址或操作数的地址。
③ 数据缓冲寄存器DR(DataRegister):数据缓冲寄存器用来暂时存放指令或数据。
④ 指令寄存器 IR(InstructionRegister) :指令寄存器用来保存从存储器取出的将要执行的指令码,以便指令译码器对其操作码字段进行译码,产生执行该指令所需的微操作命令。⑤累加器A(Accumulator):累加器是使用最频繁的一种寄存器。在执行算术逻辑运算时,它用来存放一个操作数,而运算结果通常又放回累加器,其中原有信息随即被破坏。因此,顾名思义,累加器是用来暂时存放ALU运算结果的。
⑥ 标志寄存器FLAGS(FlagRegister):标志寄存器有时也称为程序状态字PSW(ProgramStatus Word)。它用来存放执行算术运算指令、逻辑运算指令或测试指令后建立的各种状态信息以及对CPU操作进行控制的控制信息。
1.3.3 存储器
这里讲的存储器是指内存储器(由称为主存或内存)。它是微型计算机的存储装置和记忆装置,用来存放指令、原始数据、中间结果和最终结果。
(1) 基本概念
① 位:二进制信息的最小单位。
② 字节:由8位二进制数组成,可以存放在一个存储单元中。字节是字的基本组成单位。
③ 字:计算机中作为一个整体来处理和运算的一组二进制数,是字节的整数倍。
④ 字长:每个字包括的位数称为计算机的字长。
⑤ 存储单元地址:每个存储单元的编号称为存储单元地址。
⑥ 存储容量:内存中存储单元的总数。
(2) 内存的操作
CPU对内存的操作有两种:读或写。
① 读操作:是CPU将内存单元的内容读入CPU内部。(非破坏性操作)
② 写操作:是CPU将其内部信息送到内存单元保存起来。(破坏性操作)
操作过程:
①CPU给出地址信息
(地址信息→AR→AB→译码→选中存储单元)
②CPU发“读”或“写”控制信号
③取出或存入数据
取出:内存单元数据→DB→DR→CPU内部;
存入:CPU内部→DR→DB→内存单元数据。
存储器读操作:
假设将地址为90H的单元中的内容10111010B(BAH)读入CPU,其操作过程如下:
(1)CPU经地址寄存器AR将要读取单元的地址信息10010000B(90H)送地址总线,经地址译码器选中90H单元。
(2)CPU发出"读"控制信号。
(3)在读控制信号的作用下,将90H单元中的内容10111010B(BAH)放到数据总线上,然后经数据缓冲寄存器DR送入CPU中的有关部件进行处理。
存储器写操作:
假设要将数据0写入内存地址为90H单元,其操作过程如下:
(1)CPU把要写入单元的地址信息90H经地址寄存器AR送到地址总线上。
(2)待写入的数据00000000B经数据缓冲寄存器DR放到数据总线上。
(3)CPU发出"写"控制信号,在该信号的作用下将数据0写入90H单元。此时,90H单元中原有的内容10111010B就会被00000000B所代替。
(3) 存储器的分类
按工作方式,内存可分为两大类:随机读写存储器和只读存储器。
① 随机读写存储器RAM(RandomAccess Memory)
作用:存放用户程序,数据,部分系统程序。
特点:可随机读写,但断电后,内容丢失。
② 只读存储器ROM(ReadOnly Memory)
作用:存放永久性的程序和数据,系统引导程序,监控程序及操作系统中的I/O管理程序等。
特点:只能读不能写,但断电后内容不丢。
1.3.4 I/O接口与输入/输出设备
I/O接口是微机与输入输出设备之间信息交换的桥梁。不同的外设必须通过不同的I/O接口才能与微机相连。
(1)常用的外设有:
① 输入设备:键盘,鼠标,扫描仪,光驱等。
② 输出设备:显示器,打印机,绘图仪等。
(2)外设的种类有:机械式、电子式、机电式、光电式等。(速度问题)
(3)外设的信号有:数字量、模拟量、开关量等。(信号问题)
(4)计算机是电子设备,采用的是数字信号。
因此,要解决计算机和外设之间的速度和信号之间的问题,就需要在它们之间有一种设备来实现速度匹配和信号变换,这就是I/O接口电路。
接口的作用:解决计算机和外设之间速度匹配和信号变换的问题。
1.4 微型计算机软件系统
所谓软件,就是为了管理、维护计算机以及为完成用户的某种特定任务而编写的各种程序的总和。软件可分为系统软件和用户软件。
用户软件:也称应用软件。是指用户为解决各种实际问题而编写的程序。
系统软件:是指不需要用户干预,为其它程序的开发、调试以及运行等建立一个良好环境的程序。系统软件又包括操作系统OS(Operating System)和系统应用程序。
操作系统:用于提供人机接口和管理、调度计算机的所有硬件和软件资源。其中最为重要的核心部分是常驻监控程序(BIOS)。另外还包括I/O驱动程序和文件管理程序等。
系统应用程序:为用户程序提供支持的系统程序。系统应用程序很多,如:
① 各种高级语言的编译解释程序;
② 汇编程序;
③ 诊断和和调试程序;
④ 文字处理程序;
⑤ 服务性工具程序;
⑥ 数据库管理程序等。
1.5 微型计算机的工作过程
微型计算机的工作就是运行程序,通过逐条地从存储器中取出指令并执行指令规定的操作来实现某种特定的功能,因此,软件是微型计算机系统不可缺少的组成部分。
表1.1 完成“6+5”操作的机器语言程序和汇编语言程序
内存单元地址 | 机器语言程序 | 汇编语言程序 | 指令功能说明 |
00H 01H | 10110001 00000110 | MOV A,06H | 双字节指令。将数字6送累加器A |
02H 03H | 00001000 00000101 | ADD A,05H | 双字节指令。将数字5与累加器A中的内容相加,结果存放在累加器A中 |
04H | 11111110 | HLT | 停机指令 |
- 把PC内容00H送地址寄存器AR。
- PC内容送入AR后,PC自动加1,即由0000H变为0001H,以使PC指向下一个要读取的内存单元。注意,此时AR的内容并没有变化。
- 把地址寄存器AR的内容0000H放在地址总线上,并送至存储器系统的地址译码电路(图中未画出),经地址译码选中相应的0000H单元。
- CPU发出存储器读命令。
- 在读命令的控制下,把选中的0000H单元的内容即第一条指令的操作码B1H读到数据总线DB上。
- 把读出的内容B1H经数据总线送到数据缓冲寄存器DR。
- 指令译码。因为取出的是指令的操作码,故数据缓冲寄存器DR中的内容被送到指令寄存器IR,然后再送到指令译码器ID,经过译码,CPU"识别"出这个操作码代表的指令,于是经控制器发出执行该指令所需要的各种控制命令。
- 接着进入第一条指令的执行阶段。
- 把PC内容01H送地址寄存器AR。
- PC内容送入AR后,PC自动加1,即由0001H变为0002H。注意,此时AR的内容0001H并没有变化。
- 把地址寄存器AR的内容0001H放到地址总线上,并送至存储器系统的地址译码电路,经地址译码选中相应的0001H单元。
- CPU发出存储器读命令。
- 在读命令的控制下,把选中的0001H单元的内容06H放到数据总线DB上。
- 把读出的内容06H经数据总线送到数据缓冲寄存器DR。
- 数据缓冲寄存器DR的内容经内部数据总线送到累加器A。于是,第一条指令执行完毕,操作数06H被送到累加器A中。