计算机发展历程篇
计算机发展历程
逻辑元件大小决定计算机系统大小
第一代计算机(1946-1957年)
-
电子管时代
ENIAC 第一台电子数字计算机
使用机器语言
耗电量 150 千瓦
包含17,468根真空管
第二代计算机(1958-1964年)
-
晶体管时代
面向过程的程序设计语言:FORTRAN
操作系统雏形初现
第三代计算机(1965-1971年)
-
中小规模集成电路时代
高级语言迅速发展
分时操作系统初现
第四代计算机(1971年至今)
-
大规模、超大规模集成电路时代
微处理器初现
新概念: 并行、流水线、高速缓存、虚拟存储器、、、
计算机编程语言
-
机器语言
二进制代码
可以在机器上直接运行,难以使用,记忆
-
汇编语言
助记符
将机器语言符号化
-
高级语言:C/C++,Java,Python
编译型 :C/C++
通过编译器将高级语言转换为汇编语言,再由汇编语言转换为机器语言
解释型:Python
将代码直接解释为机器语言并运行
计算机硬件的发展
微处理器发展
以微处理器技术为标志
随着微处理器的发展,单个处理器所能承载的晶体管数目和机器字长不断增加
机器字长:计算机一次整数运算所能处理的二进制位数
摩尔定律:集成电路上可容纳的晶体管数目,约每隔18个月便增加一倍,整体性能也将提升一倍
半导体存储器的发展
1970,仙童 于 硅谷生产出第一个较大容量的的半导体存储器
半导体存储器单芯片容量:1KB,4KB,16KB,64KB,256KB,1MB,4MB,16MB,64MB,256MB,1GB
计算机的分类与发展方向
分类
电子模拟计算机 数值连续
电子数字计算机 数值离散
考虑到效率,价格,速度,经济性,适应性
通用计算机
巨型机,大型机,中型机,小型机,微型机,单片机
体积,简易型,性能指标,数据存储容量,指令系统规模,机器价格
专用计算机 有效,经济,快速
结构相对简单
考虑指令和数据流
- 单指令&单数据流(SISD):冯 诺依曼体系结构
-
单指令流&多数据流(SIMD):阵列处理器、向量处理器
-
多指令流&单数据流(MISD):不存在
-
多指令流&多数据流(MIMD):多处理器,多计算机
发展方向
两极分化
智能化,微型化,高性能
巨型化,高速,并行化
计算机硬件基本组成
冯·诺依曼计算机
控制流
存储程序:将指令以代码的形式事先输入到计算机的主存储器中,然后按其在存储器中的首地址执行程序的第一条指令,以后就按照该程序的规定顺序执行其他指令,直至程序执行结束。
特点:
- 计算机硬件系统由运算器,存储器,控制器,输入设备和输出设备 5个部件组成。
- 指令和数据以同等地位存于存储器内,并可按地址寻访。(以不同指令周期区分指令或数据)
- 指令和数据均用二进制代码表示。
- 指令由操作码和地址码组成,操作码用于表示操作的性质,地址码用于表示操作数在存储器中的位置。
- 指令在存储期内顺序存放,通常,指令顺序执行,在特定条件下,可根据运算结果或根据设定的条件改变执行顺序。
- 早期的冯诺依曼机以 运算器为中心,输入/输出设备通过运算器与存储器传送数据
课件区别
指令是程序的基本单位,程序是若干指令的有序集合。
采用存储程序方式(核心)
五大基本构件
计算机硬件系统的组织问题就是讲五大基本构件连起来构成计算机硬件系统
如何实现信息的传送,取决于数据通路的逻辑结构
运算器+控制器 = CPU
CPU + 主存储器 = 主机
I/O设备 = 输入 + 输出设备
存储器
计算机的存储部件
主存(内存储器,内存): CPU能够直接访问,速度快,容量小,易失性存储器
辅存(外存):CPU不能直接访问的大容量,速度较慢,易失性存储器
-
组成
存储体
MAR Memory Address Register 地址寄存器
MDR Memory Data Register 数据寄存器
-
工作流程
- 物理结构
存储元构成存储单元,存储单元构成存储体。
每次读信号读取的字长为 存储字
存储字位数 以 bit 做单位
8bit 为 一字节 Byte
即 1 Byte = 8 bit
使用译码器对地址进行翻译
地址存储器到存储体 -> 译码器+驱动器
数据寄存器字长与存储字长一致
MDR和MAR 逻辑上放到主存中,实际存放于CPU中
运算器与控制器
运算器
计算机的执行部件,对数据进行加工处理,进行算数运算(加减乘除) 和 逻辑运算(与或非)
控制器(CU)
整个计算机指挥中心,用于控制计算机系统中的各部件有条不紊地进行工作。
存储程序方式:程序按指令序列的形式存放于存储器中,控制器依次读出存储器中存放的程序指令实施控制。
计算机工作过程(取指过程)
指令与数据处于同等地位如何区分
CPU根据指令周期的不同阶段区分取到的是指令还是数据
取指阶段就是指令
I/O设备
外设需要提供I/O接口
计算机软件分类与阮硬件联系
系统软件:操作系统,语言处理系统,数据库管理系统,分布式软件系统,网络软件系统,各种服务系统
应用软件:为用户解决某个应用领域中的各类问题而编制的程序
软硬件联系
硬件是计算机系统的物质基础
软件是计算机系统的灵魂
软件和硬件在逻辑功能上等效
除了基本操作外,任何由硬件实现的操作,在原理上,均可用软件来实现;同样任何由软件实现的操作,在原理上都可硬化由硬件实现
硬件的软化:将硬件实现的功能用软件实现
软件的硬化:将软件实现的功能用硬件实现
固件:载有在用户环境中不能加以改变的程序和数据器件
从功能上看是软件,从形态上看是硬件。
将复杂且常用的程序写入只读存储器就构成固件
例子:PC主板BIOS,显卡BIOS
计算机系统多层次结构
粗略分析
系统软件如:数据库,操作系统
程序员眼中的计算机层次
微程序机器:实在存在的物理层,将机器语言分割并生成微指令 组成微程序 操作硬件
机器硬件直接执行微指令
传统机器语言层:由微程序解释机器语言
由微程序解释机器指令系统
操作系统层:由机器指令和广义指令组成,是软件硬件接口
向上皆为虚拟层
未匹配操作系统的被称为裸机
匹配操作系统人往上的被称为虚拟机
计算机性能指标
存储器总容量
地址寄存器:有n位地址,则有2的n次方的存储单元
数据寄存器:有m位地址,即 bit/8 Byte
总容量 = 2 ^n * (m/8);
n位二进制为能表示出2^n个不同状态。
速度
机器字长:计算机进行一次整数运算所能处理的二进制数据的位数 (内部寄存器大小)
指令字长:一个指令中包含的二进制位数
存储字长:一个存储单元存储的二进制代码长度
时钟周期是最小的单位
都是字节的整数倍
指令字长一般为存储字长的整数倍 是几倍则访存几次读取指令
CPU时钟周期和时钟频率
CPI(Clock cycle Per Instruction) 执行一条指令所需要的时钟周期数
某条指令耗时 = CPI * CPU时钟周期 或 (CPI / 主频)
某个程序耗时 = 平均CPI* 指令条数 * CPU时钟周期
CPU执行时间 = CPU时钟周期数/主频 = (指令条数*CPI)/主频
MIPS等
(Million Instructions Per Second),即每秒执行多少百万条指令
MIPS = 指令条数/(执行时间 * 10^6) = 主频 /CPI
数据通路带宽:
数据总线一次所能并行传送信息的位数(外部总线带宽)
吞吐量
系统在单位时间内处理请求的数量。
它取决于信息能多快的输入内存,CPU能多快的取指令,数据能多快的从内存中取出或存入,以及所得的结果能多快的从内存送给一台外部设备。这些步骤中的每一步都关系到主存。
系统吞吐量取决于主存的存取周期
响应时间
从用户向计算机发送请求,到系统对该请求作出响应,并获得它所需腰结果的等待时间。
书
主频与实际运算速度关系
先进的芯片制造工艺是保证先进架构实现和达成高主频的基础