计算机组成原理(1):概述

275 阅读8分钟

1、计算机发展的四个阶段

第一个阶段:电子管计算机

ENIAC:第一台电子管计算机。包含18000多个电子管,运行耗电量150千瓦。

- 战争使用了飞机和火箭
- 打的准则需要射击参数
- 射击参数需要几千次运算才能计算出来

特点:

  • 集成度小,空间占用大
  • 功耗高,运行效率慢
  • 操作复杂,更换程序需要接线

第二个阶段:晶体管计算

第二代计算机是从 1958 年到 1965 年,它们全部采用晶体管作为电子器件,其运算速度比第一代计算机的速度提高了近百倍,体积为原来的几十分之一。在软件方面开始使用计算机算法语言。这一代计算机不仅用于科学计算,还用于数据处理和事务处理及工业控制。

特点:

  • 集成度较高,空间占用小
  • 功耗相对较低,运行速度较快
  • 操作相对简单

第三个阶段:集成电路计算机

第三代计算机是从 1965 年到 1970 年。这一时期的主要特征是以中、小规模集成电路为电子器件,并且出现操作系统,使计算机的功能越来越强,应用范围越来越广。它们不仅用于科学计算,还用于文字处理、企业管理、自动控制等领域,出现了计算机技术与通信技术相结合的信息管理系统,可用于生产管理、交通管理、情报检索等领域。

操作系统的诞生,IBM推出兼容的产品System360.雏形

第四个阶段:超大规模集成电路计算机

第四代计算机是指从 1970 年以后采用大规模集成电路和超大规模集成电路为主要电子器件制成的计算机。目前我们所使用的计算机都是第四代电子计算机。

  • 一个芯片集成了上百万的晶体管
  • 速度更快,体积更小

未来的计算

  • 生物计算机:以蛋白质为材料,生物级别的自动修复。
  • 量子计算机:遵循量子力学的物理计算机。达摩院

2、微型计算机的发展历史

第一个阶段(1971~1973)
主要是字长为 4 位的微型机和字长为 8 位的低档微型机。这一阶段的典型微处理器有:世界上第一个微处理器芯片 4004,以及随后的改进版 4040,它们都是字长为 4 位的。在随后的第二年,Intel 又研制出了字长为 8 位的处理器芯片 8008,集成度和性能都有所提高。8008 采用 PMOS 工艺,字长 8 位,基本指令 48 条,基本指令周期为 20~50uS,时钟频率为 500KHz,集成度约为 3500 晶体管 / 片。

第二个阶段(1973~1978)
主要是字长为 8 位的中、高档微型机。这一阶段典型的微处理器芯片有:Intel 公司的 I8080、I8085、Motorola 公司的 M6800、Zilog 公司的 Z80 等。以 I8080 为例,I8080 采用 NMOS 工艺,字长 8 位,基本指令 70 多条,基本指令周期为 2~10uS,时钟频率高于 1MHz,集成度约为 6000 晶体管 / 片。

第三个阶段(1978~1985)
主要是字长为 16 位的微型机。这一阶段典型的微处理器芯片有:Intel 公司的 8086/8088/80286、Motorola 公司的 M68000、Zilog 公司的 Z8000 等。以 I8086 为例,I8086 采用 HMOS 工艺,字长 16 位,基本指令周期为 0.5uS,集成度约为 2.9 万晶体管 / 片。

第四个阶段(1985~2000)
主要是字长为 32 位的微型机。这一阶段典型的微处理器芯片有:Intel 公司的 80386/486/Pentium//Pentium II//Pentium III //Pentium IV 等。以 I80386 为例,其集成度达到 27.5 万晶体管 / 片,每秒钟可完成 500 万条指令(MIPS)。

第五个阶段(2000~)
出现了字长为 64 位的微处理器芯片。主要还是面向服务器和工作站等一些高端应用场合。如 2000 年 Intel 推出的微处理器 Itanium(安腾),它采用全新指令架构 IA-64。而 AMD 公司的 64 位微处理器 Athlon 64 则仍沿用了 x86 指令体系,能够很好的兼容原来的 IA-32 结构的个人微机系统,具有一定的普及性。

随着微型计算机的发展,在每一个阶段,它在集成度、性能等方面都有非常大的提高,微型计算机在今后将会有更快、更惊人的发展。

摩尔定律

集成电路的性能,每18-24个月就会提升一倍。到21世纪就慢慢失效,单核cpu达到了瓶颈

出现了多核cpu

3、计算机分类

超级计算机

  • 功能最强、运算速度最快、存储容量最大的计算机 多用于国家高科技领域和尖端技术研究 标记他们运算速度的单位是 TFlop/s (1TFlop/s = 每秒一万亿次浮点计算)
  • 中国最大的:神威太湖之光

大型计算机

  • 具有高性能,可处理大量数据与复杂的运算
  • 在大型机市场领域,IBM占据很大份额

迷你计算机(服务器)

  • 不需要特殊的空调场所 具备不错的算力,可以完成较复杂的运算

工作站

  • 高端的通用微型计算机,提供比个人计算机更强大的性能 类似于普通台式电脑,体积较大,但性能强劲

微型计算机

  • 麻雀虽小、五脏俱全

4、计算机体系与结构

冯诺依曼体系: 将程序指令和数据一起存储的计算机设计概念结构

  • 必须有一个存储器
  • 必须有一个控制器
  • 必须有一个运算器
  • 必须有输入设备和输出设备
  • cpu=运算器+控制器

特点:

  • 能够把需要的程序和数据送至计算机中
  • 能够长期记忆程序、数据、中间结果及最终运算结果的能力
  • 能够具备算术、逻辑运算和数据传送等数据加工处理的能力
  • 能够按照要求将处理结果输出给用户

冯诺依曼瓶颈:

- cpu处理速度快,存储设备传输速度慢
- CPU经常空转等待数据传输

5、现代计算机结构

  • 可以理解为以存储器为核心,解决cpu和存储设备之间的性能差异问题

6、计算机的层次与编程语言

程序翻译与程序解析:由较为高级的语言L1生成较为低级的语言L0.

  • 计算机执行的指令都是L0
  • 翻译过程生成新的L0程序,解析过程不生成新的L0程序
  • 解析过程由L0编写的解析器去解析L1程序
  • 翻译+解析:java

java程序编译为jvm字节码,在经过解释为机器码。

7、计算机的计算单位

容量单位

  • 在物理层,高低电平记录信息
  • 理论上只认识01两种状态
  • 0/1内容太少了,需要更大的容量

1字节=8bits

1kb=1024字节

mb

gb

tb

pb

eb 数据仓库

速度单位: 100M=100M/s

为什么典型啦的100m光纤,测试峰值速度只有12m每秒

  • 网络常用单位为Mbps
  • 100M/s=100Mbps=100Mbit/s
  • 100Mbit/s=(100/8)MB/s=12.5MB/s

cpu 速度

  • cpu的速度一般体现为cpu的时钟频率
  • cpu的时钟频率的单位一般是赫兹
  • 主流cpu的时钟频率都在2GHz以上,2*1000^3Hz=每秒20亿次
  • Hz其实就是秒分之1,每秒中的周期性变动重复次数的量

8、计算机的字符与编码集

字符编码集的历史

  • Ascll码
  • Extended Ascll 码
  • 字符编码集的国际化

Ascll码:

  • 使用7个bits就可以完全表示Ascll码
  • 包含95个可打印字符
  • 33个不可打印字符(包含控制字符) 33+95=128=2^7

很多字符无法表示,所以出现了可扩展的ASCll码

GB2312:中文编码集:一共收录了7445个字符

GBK:汉字内码扩展规范收录了21003个汉字,支持中日韩汉字。

Unicode:统一码,定义了世界通用的符号集,UTF-* 实现了编码

UTF-8编码,中国内系统默认GBK,要设为UTF-8