计算机系统概述
计算机系统是什么
计算机系统=硬件+软件 计算机的性能取决于软硬件之和
graph LR
A[软件]-->B(系统软件)
A-->C(应用软件)
B-->D(用来管理整个计算机系统)
C-->E(按任务需求编制成的各种程序)
系统软件:操作系统、DBMS、标准程序库、网络软件、语言处理程序、服务程序
应用软件:QQ、微信、抖音、王者等
硬件的发展
第一代:电子管(40、50s)
第二代:晶体管(50、60s)
第三代:中小规模集成电路(60、70s)
第四代:大规模、超大规模集成电路(80s-至今)
机器字长:计算机一次整数运算所能处理的而二进制位数
计算机硬件的基本组成
五大设备
- 输入设备:将信息转换成机器能识别的形式
- 输出设备:将结果转换成人们熟悉的形式
- 主存储器:存放数据和程序
- 运算器:算术运算、逻辑运算
- 控制器:指挥各部件,使程序运行
早期冯诺依曼机
首次提出“存储程序”概念
存储程序:将指令以二进制代码的形式事先输入计算机的主存储器,然后按其在存储器中的首地址执行程序的第一条指令,以后就按该程序的规定顺序执行其他命令,直至程序执行结束
以运算器为中心
在计算机系统中,软件和硬件在逻辑上是等效的
特点:
- 计算机由五大部件组成
- 指令和数据以同等地位存于存储器,可按地址寻访
- 指令和数据用二进制表示
- 指令由操作码(eg:加减乘除)和地址码组成
- 存储程序
- 以运算器为中心
(输入/输出设备与存储器之间的数据传送通过运算器完成)
现代计算机的结构
以存储器为中心
CPU=运算器+控制器
认识各个硬件部件
主存储器
MAR:Memory Address Register,存储地址寄存器
MAR位数反映存储单元个数
MDR:Memory Data Register,存储数据寄存器
MDR位数=存储字长
获取数据流程:CPU-->MAR-->存储体-->MDR-->CPU
存储体:数据在存储体中按地址存储
存储单元:每个存储单元存放遗传二进制代码
存储字:存储单元中二进制代码的组合
存储元:存储二进制的电子元件,每个存储元可存1bit
运算器
用于实现算术运算、逻辑运算
ACC:累加器,用于存放操作数或运算结果
MQ:乘商寄存器,在乘、除运算时,用于存放操作数或运算结果
X:通用的操作数寄存器,用于存放操作数
ALU:算术逻辑单元,通过内部复杂的电路实现算术运算、逻辑运算
控制器
CU(control unit):控制单元,分析指令,给出控制信号
IR(instruction register):指令寄存器,存放当前执行的指令
PC(program counter):程序计数器,存放下一条指令地址,有自动加1的功能
PC取指令--》IR分析指令--》CU执行指令
计算机的工作过程
小结:
M(MAR) 取存储单元中的数据
(ACC)… 取相应寄存器中的数据
OP(IR) 取操作码
Ad(IR) 取地址码
CPU区分指令和数据的依据:指令周期的不同阶段
计算机系统的层次结构
下层是上层的基础,上层是下层的扩展
编译程序:将高级语言编写的源程序全部语句一次全部翻译成机器语言程序,然后再执行机器语言程序(只需翻译一次)c、c++
解释程序:将原程序的一条语句翻译成对应于机器语言的语句,并立即执行,紧接着翻译下一句
js、python、shell
计算机体系结构——机器语言程序员所见到的计算机系统的属性概念性的结构与功能特性(指令系统、数据类型、寻址技术、I/O机理)--如何设计硬件与软件之间的接口
计算机组成原理——实现计算机以西结构所体现的属性,对程序员“透明”(具体指令的实现)--如何用硬件实现所定义的接口