总体大纲
- 计算机系统概述
- 计算机分类
- 计算机发展历史
- 计算机硬件
- 计算机软件
- 计算机系统的层次结构
计算机系统概述
计算机系统是一个由硬件、软件组成的复杂的自动化设备。
计算机分类
以下是几种不同的分类方式:
电子计算机总体上可以分为两大类:
- 电子模拟计算机:特点是数值由连续量表示,运算也是连续的。
- 由于精度和解题能力有限,应用范围很小。
- 电子数字计算机:特点是按位运算,并且不连续的跳动计算。
- 习惯上所称的电子计算机,指的就是电子数字计算机
电子数字计算机可分为专用计算机和通用计算机。
划分标准是运行速度、效率、价格。运行的经济性和适应性来划分的。
专业计算机适应性不佳。
通用计算机可分为超级计算机、大型机、服务器、PC机、单片机和多核机。
简易性递减,体积、功耗、价格、指令系统、性能、价格、数据存储量递减。
计算机发展史
五代变化
- 第一台电子数字计算机ENIAC于1946年诞生于美国宾夕法尼亚大学。
- 第一代:电子管计算机
- 第二代:晶体管计算机
- 第三代:中小规模集成电路计算机
- 第四代:大规模和超大规模集成电路
- 第五代:?量子计算机 光计算机 生物计算
摩尔定律:芯片上晶体管数量每年翻一番。
半导体存储器
20世纪50~60年代,所有计算机存储器都是由微小的铁磁体环做成,每个磁芯直径约1mm
1970年,仙童半导体公司生产出了第一个容量较大的半导体容器
此后不断更新换代,存储密度翻倍,价格和存储时间递减。
微处理器
4004–8008–8080–8086–8088
80286–386TM DX–386TM SX–486TM DX
486TM SX–Pentium–Pentium Pro–Pentium II
Pentium III–Pentium 4–Itanium–Itanium 2
计算机性能指标
- 吞吐量:一定时间内处理的信息量
- 响应时间:从输入有效到系统产生响应之间的时间度量
- 利用率:给定时间内系统实际被使用时间所占比率
- 处理机字长:运算器一次能够完成的二进制运算位数
- 总线宽度:CPU中运算器与存储器之间进行互联的内部总线二进制位数
- 存储器容量:存储器中所有存储单元总数目
- 存储器带宽:单位时间内从存储器读出的二进制信息数量。
- 主频/时钟周期:主时钟频率
f
单位是MHz GHz
,时钟周期T = 1/f
- CPU执行时间:CPU执行一般程序所占用的CPU时间
- CPI:每条指令周期数(平均)。
- MIPS:每秒执行指令数(M表示单位百万)
- FLOPS:每秒执行浮点操作数
注意明晰周期和指令的关系。执行一条指令可能需要若干周期。
计算机硬件
电子计算机解决问题的过程完全和人用算盘解决问题的情况类似,也必须有运算工具,解题步骤和原始数据的输入和存储,运算结果的输出以及整个计算过程的调度控制。
- 运算器
- 算数运算和逻辑运算
- 存储器
- 16个触发器构成一个存储单元,每个存储单元有自己的编号(地址)
- 所有存储单元的总数称为存储器的存储容量
- 存储容量更大的磁盘存储和光盘存储称为外存储器。相对而言,半导体存储器称为内存储器。
- 控制器
- 计算机能完成的基本操作叫做指令,解决问题的一串指令序列叫计算程序(程序)
- 指令包括操作码和地址码,都可以由二进制数表示。存储器中的程序和数据全部都由二进制表示。
- 一台计算机的所有指令构成指令系统,指令系统是衡量计算机系统的重要标志
- 指令必须按照一定的的顺序执行,控制器在取指周期和执行周期完成取指令和执行指令操作。
- 8位二进制构成一个B(字节),至少一个字节构成W(字)。字的二进制长度称为字长。
- 取址周期从内存读取的信息流是指令流,流向控制器
- 执行周期读出的信息流是数据流,流向运算器。
- 输入设备/输出设备
- 作用是把人们所熟悉的某种信息形式转变成机器内部所能接收和识别的二进制信息形式
- 这些设备被称为外围设备,种类繁多速度各异,因而不直接与主机相连,需要通过适配器
- 适配器相当于一个转换器。保证外围设备用计算机系统特性所要求的形式发送或接收信息。
除了上述各部件外,计算机系统中还必须有总线。系统总线是构成计算机系统的骨架,是多个系统之间进行数据传输的公共通路。
计算机软件
只有硬件的计算机仍是“死”的,要想让它“活起来”还要靠计算程序
事实上,利用电子计算机进行计算、控制或做其它工作时,需要有各种用途的程序。
凡是用于一台计算机的各种程序,统称为这台计算机的程序或软件系统。
软件的组成和分类
计算机软件一般可以分为两大类:系统程序和应用程序
系统程序
系统程序用来简化程序设计,简化使用方法,提高计算机的使用效率,发挥和扩大计算机的功能及用途。
- 各种服务性程序,如诊断程序、排错程序、练习程序等。
- 语言程序,如汇编程序、编译程序、解释程序
- 操作系统
- 数据库管理系统
应用程序
用户利用计算机解决某些问题而编写的程序
软件的发展演变
- 早期直接使用机器语言,计算机能直接识别,游标目的编程。但繁琐费时且容易出错。
- 后来用约定的符号和固定的格式来表示各种指令:汇编语言。
直观且便于记忆。但仍是针对具体机器的语言,要求编程人员熟悉指令系统,和数学语言差异较大。- 汇编器负责翻译成机器可以直接执行的机器代码
- 算法语言接近于数学语言。
按照实际需要规定好的一套基本符号以及这套符号构成程序的基本规则。
只要稍加学习就能掌握,如:BASIC、FORTRAN、C、C++、Java等。- 算法语言编写的程序称为源程序, 同样需要编译程序翻译成目的程序,但目的程序还不能直接执行,需要运行系统的帮助。通常把编译程序和运行程序合称为编译器
- 由于人总是无法跟上计算机的速度,常常使他处于无事可做的状态。需要依赖计算机来管理自己和管理用户。于是诞生了一类程序:操作系统
- 用来管理计算机资源(如处理器、内存、外设、各种编译,应用程序),和自动调度用户的作业程序、使多个用户能有效地共用一条计算机系统的软件系统。