计算机历史

早期的计算器 -> 机械计算器 -> 电子管计算机 -> 晶体管计算机 -> 集成电路计算机

早期的计算器

算盘

算筹:十进制计数法

纳皮尔算筹:计算乘除

计算尺:提出对数概念,化幂运算为乘除,化乘除为加减

机械计算器

契克卡德计算钟:能算六位数

帕斯卡计算器:能自动处理计算

莱布尼兹步进计算器:第一台具有完整四则运算的计算机

查尔斯·巴贝奇:现代计算机鼻祖,差分机(1822年,缺少零件,没做出来)、分析机(1833年,组成结构和现代计算机类似,也可以分为五大组成部件)

现代计算机

图灵机(1936)
  1. 图灵将人类用纸和笔进行数学运算过程进行抽象,提出的一种计算模型-图灵机

图灵机组成:

1、一条无限长的纸带,上面有格子,格子里有字符(内存)

2、读写头,可以读出当前格子的字符,并且能改变它(cpu控制单元)

3、一套规则表,用来更新状态(cpu计算单元)

4、状态寄存器,用来保存当前所处状态(cpu寄存器)

冯若依曼式计算机(1945)
  1. 冯若依曼在思考EDVAC项目时,根据图灵机的思想,完成了影响计算机历史走向的《EDVAC报告书的第一份草案》。为现代计算机指明了道路。

1、机器内部使用二进制表示数据。

2、像存储数据一样存储程序。

3、计算机由输入模块输出模块存储器控制器计算器,5大模块组成。

image.png

EDVAC(1950)
  1. 第一台现代电子计算机,采用**电子管**作为基本电子元器件,体积大、耗电量大、寿命短、可靠性低 、成本高;存储器采用水银延迟线。

第二代电子计算机(50年代)

50年代后期,随着晶体管技术的成熟,各个计算机制造公司淘汰了电子管,开始生产晶体管计算机

第三代电子计算机(1964)

中小规模集成电路计算机

1964年,IBM研制出了大型集成电路通用计算机。集成电路的基本单元就是晶体管,使计算机的体积和功耗进一步减小,可靠性和运算速度进一步提高。

第三代电子计算机(1971-至今)

大规模集成电路计算机

计算机基本硬件组成

(1)cpu:相当于人的大脑,负责从程序中获得指令并且执行。

(2)内存:程序和cpu沟通的桥梁,计算机中所有程序的运行都是在内存中。

(3)主板:主板上集成了各种电子元件、插槽和接口,为cpu、内存和各种功能卡(网卡、声卡)提供了按照插槽。

  1. 北桥芯片:负责与CPU的联系并控制内存,是主板上离CPU最近的芯片。现在很多处理器上北桥芯片已经内置化了。北桥的总线称为系统总线。
  2. 南桥芯片:负责IO设备接口的控制。南桥的总线称为IO总线。

(4)IO设备:和外界交流的输入输出设备。

(5)显卡:图形处理器。

冯若依曼和哈佛

冯若依曼结构

image.png

哈佛结构

image.png

  1. 冯若依曼结构和哈佛结构的主要区别在于是否区分指令和数据。现在的计算机,在内存里,指令和数据是放在一起的,在cpu内部会区分指令缓存和数据缓存,最终执行的时候,指令和数据是从两个不同地方出来的。因此在cpu外部,采用的是冯若依曼结构,cpu内部采用的是哈佛结构。
  2. 冯若依曼结构的优点是结构简单,缺点是相对效率较低。哈佛结构的优点是效率高,缺点是结构设计复杂。

cpu指令如何执行

java程序的运行流程

1、编写java代码,在.java文件中,此时是人类可读的代码。

2、javac编译.java文件变成class字节码文件(二进制)。

3、将class文件读到内存中(内存)。

3、jvm虚拟机解释编译,操作系统调用cpu执行指令(cpu)。

cpu的组成

控制单元:从内存中提取指令并解码执行。

算术逻辑单元(ALU):处理算数和逻辑运算。

从功能来看:cpu的内部由寄存器、控制器、运算器和时钟四部分组成。

image.png

寄存器:暂存指令、数据、地址,一个cpu中会有许多寄存器

控制器:将内存中的指令、数据读入寄存器,并根据指令的结果控制计算机。

运算器:负责运算。

时钟:负责发出cpu开始计时时的时钟信号。

cpu相关的系统总线

cpu和内存来回传数据,主要涉及两类总线,一个是地址总线,一个是数据总线

地址总线的位数,决定了cpu能访问地址有多广。

数据总线的位数,决定了cpu一次能拿多少个数。

cpu指令执行过程

冯若依曼计算机的cpu,工作可以分5个阶段,(1)取指令(2)指令译码(3)执行指令(4)获取数据(5)结果写回

/、官网资料
https://www.yuque.com/books/share/227872c0-1f19-4c83-960e-5e13e39343c8