文章目录
- 计算机发展历程
- 计算机系统层次结构
- 计算机的性能指标
- 一点问题
-
- 计算机体系结构和计算机组成原理区别?
- 兼容的定义
- 寄存器位数关系
- 各种字长
- 一点探究
-
- 软件/程序/指令的关系
- 32位与64位操作系统的不同
- 字与字长
- 关于以运算器为核心和以存储器为核心
计算机发展历程
计算机硬件与软件发展
硬件
- 四代计算机
- 电子管
- 晶体管
- 中小规模集成电路
- 超大规模集成电路
-
摩尔定律
集成电路上可以容纳的晶体管数目在大约每经过24个月便会增加一倍【面临失效】
软件
- 语言的发展
- 机器语言(面向机器),机器语言是计算机唯一可以直接执行的语言
- 汇编语言(面向机器)
- 高级语言(面向问题)
- 翻译程序
- 编译程序,将高级语言源程序一次性全部翻译成目标程序,生成目标代码文件(目标程序)
- 解释程序,将源程序的一条语句翻译成目标代码,并立即执行,然后翻译下一条语句。是不会生成目标代码文件(目标程序)
- 汇编程序,将汇编语言翻译为机器源程序(汇编语言是是面向机器的低级语言,是机器语言的符号表示)
计算机分类
按使用场景
- 电子模拟计算机
- 数字计算机
- 专用计算机
- 通用计算机:巨型机,大型机,中型机,小型机,微型机(PC),单片机
按指令与数据流
- 单指令流和单数据流(SISD):传统冯·洛依曼体系结构
- 单指令流和多数据流(SIMD):阵列、向量处理器系统
- 多指令流和单数据流(MISD):实际不存在
- 多指令流和多数据流(MIMD):多处理器/多机系统
计算机发展方向
两极分化
- 微型计算机向更微型化
- 巨型机向更巨型化
计算机系统层次结构
计算机系统组成
**硬件:**计算机的实体部分
**软件:**在硬件上运行的程序和相关的数据及文档
【硬件与软件在逻辑功能上是等效的(不是等价)】
固件:具有硬件特性的软件&具有软件功能的硬件,将软件永恒的存储于ROM中
计算机硬件基本组成
冯·洛依曼体系结构
- 存储程序思想
- 以运算器为中心(控制流驱动)
- 按地址访问并顺序执行指令(冯诺依曼机的工作方式的基本特点)
现代计算机体系结构
- 以存储器为中心(数据流驱动)
- 仍遵循存储程序设计思想
计算机的功能部件
- 控制器:控制程序和数据的输入 运行以及处理运算结果
- 运算器:完成算术运算和逻辑运算
- 存储器:存放数据和程序
- 输入设备:将人们熟悉的信息形式转换为机器能识别的信息形式
- 输出设备:将机器运算结果转换为人们熟悉的信息形式
指令执行过程
计算机的工作过程实质上就是不断从存储器中逐条取出指令,送至控制器,经分析后由CU发出执行各种操作命令,指挥各部件完成各种操作,按照程序既定的顺序执行下一条程序,直至程序中全部指令执行结束
- 取指令: P C → M A R → M → M D R → I R PC\rightarrow MAR\rightarrow M\rightarrow MDR\rightarrow IR PC→MAR→M→MDR→IR
- 分析指令: O P ( I R ) → C U OP(IR)\rightarrow CU OP(IR)→CU
- 执行指令: A d ( I R ) → M A R → M → M D R → A C C Ad(IR)\rightarrow MAR\rightarrow M\rightarrow MDR\rightarrow ACC Ad(IR)→MAR→M→MDR→ACC
计算机软件的分类
系统软件
- 作为系统资源,用于对整个计算机系统进行调度、管理、监视及服务的软件
- OS、DBMS、语言处理程序、网络软件系统、标准库程序
应用软件
- 是用户自行编写的程序,用于解决各类问题
计算机的性能指标
机器字长
- 一次整数运算所能处理的二进制数据的位数
- 一般等于CPU的寄存器位数,等于CPU内部的数据总线宽度
- 决定了计算机的运算精度,与寻址能力上限有关(MAR位数一定不大于机器字长,MAR的位数反映寻址范围上限)
数据字长(数据通路的带宽)
- 指数据总线一次所能并行传输信息的位数,一般等于MDR的位数
- 指的是外部数据总线的宽度,不是CPU内部的数据总线宽度
主存容量
主存容量是指主存储器所能存储信息的最大容量,通常以字节来衡量,也可用字数×字长(如512K×16位)来表示存储容量。
- MAR的位数反映了可寻址范围的最大值
- MDR的位数对应存储字长(存储器中一个存储单元所存储的二进制代码的位数)
运算速度
- CPU执行时间 = CPI*指令条数/主频 = CPU时钟周期数/主频
吞吐量
- 单位时间内处理请求的数量,主要取决于主存的存取周期
响应时间
- 指从用户向计算机发送一个请求到计算机做出响应并获得对应结果的所有时间
CPU主频
- 主频表示在CPU内数字脉冲信号震荡的速度
- 输出脉冲将接到中断控制器上,定期产生时钟中断信号【不要混淆时钟中断和时钟脉冲】
CPI
- 执行一条指令所需的时钟周期数
-
与主频无关
主频提高,时钟周期会变短,但执行一条指令所需的时钟周期数不会变。因为在内部逻辑电路不改变的情况下,主频越高,说明CPU计算的越快,也就是用更短的时钟周期完成了之前较长时钟周期能完成的事,但时钟周期数不变。
MIPS
- 每秒执行多少百万条指令=主频(MHz)/CPI = 指令条数/(执行时间*10^6)
一点问题
计算机体系结构和计算机组成原理区别?
- 体系结构指那些能够被程序员所见到的计算机系统的属性
- 组成原理指如何实现计算机体系结构所体现的属性,它包含对许多对所有程序员来说透明的硬件细节。
兼容的定义
- 向后兼容,又叫“向下兼容”,指时间上向过去兼容
- 向前兼容,又叫“向上兼容”\
寄存器位数关系
- 指令寄存器(IR)
- 取决于指令字长(非定长则取最长的)
- 程序计数器(PC),MAR
- 等于地址总线宽度
- 其余CPU内的寄存器一般等于机器字长
各种字长
- 机器字长:一次整数运算所能处理的二进制数据的位数
- 存储字长:存储器中一个存储单元(存储地址)所存储的二进制代码的位数,即存储器中的MDR的位数。
- 指令字长:一个指令字的位数(指令字长是可以不同的)
- 数据字长:数据总线一次所能并行传输信息的位数,即数据通路宽度,可以不等于MDR的位数。(指的是外部数据总线的宽度,不是CPU内部的数据总线宽度,内部宽度一般等于机器字长)
一点探究
软件/程序/指令的关系
32位与64位操作系统的不同
- 32,64位指的是机器字长
- 运算速度不同。硬件层次上的加法器是并行的,所以从理论上讲,64位的CPU运算速度比32位的快一倍
- 寻址能力不同。机器字长还与寻址能力上限有关,因为地址使用的是特殊的整数,机器字长大,ALU和寄存器可以处理更大的整数。
字与字长
- 字是指在计算机中作为一个整体被存取、传送、处理的一组二进制数,字通常为若干个字节
- 注意区分字与字长,字是物理实体,而字长是单位,例如,存储字是指存放在一个存储单元中的二进制代码组合;存储字长指存放在一个存储单元中二进制代码位数
关于以运算器为核心和以存储器为核心
以运算器为中心,当外部设备与存储器交换信息时,需经过运算器(CPU)致使运算器停止运算,严重影响了CPU的工作效率
从运算器为核心到以存储器为核心的进步和I/O控制方式的进步思想是一样的,从程序查询全程需要CPU来处理,到中断方式偶尔需要CPU,到DMA(几乎)不需要CPU