# 计算机系统概述
# 计算机系统层次结构
计算机系统:硬件与软件共同组成。硬件效率高,成本高;软件灵活性高。两者逻辑上等效
# 计算机硬件的基本组成
冯 · 诺依曼机--“存储程序”
- 硬件系统由运算器、存储器、控制器、输入设备和输出设备组成
- 指令和数据同等地位存储在存储器中,并可按地址寻访
- 指令、数据均用二进制代码表示
- 指令由操作码和地址码组成,操作码表示操作类型,地址码给出操作数地址
- 指令在存储器中顺序存放
- 以运算器为中心,输入/输出设备通过运算器与存储器传送数据
现代计算机的组织的结构--IO与CPU的差距
- 以存储器为中心,IO绕过CPU(中央处理器)
# 计算机功能部件
(1)输入设备
(2)输出设备
(3)存储器
主存储器:CPU能够直接访问(内存),逻辑图如下所示
MAR(地址寄存器)用于寻址,位数对应存储单元个数,与地址码长度相同
MDR(数据寄存器)位数与存储字长(1B的偶次倍)相等。存储字为一串二进制代码
hits: MAR与MDR存在现代存于CPU中
与相联存储器区别:内存智能按存储单元地址存取,相联存储器还可以按内容(某些字段)寻址。
辅助存储器:帮助主存记忆更多信息(外存)
CPU存取速度比较
寄存器 > Cache > 内存
(4)运算器
ALU(算术逻辑单元)、ACC(累加器)、MQ(乘商寄存器)、X(操作数寄存器) 必须具备
、IX(变址寄存器)、BR(基址寄存器)
PSW(程序状态寄存器)
(5)控制器
PC(程序计数器)、IR(指令寄存器)、CU(控制单元)
冯·诺依曼模型机CPU结构略
CPU和主存通过一组总线(地址、控制和数据信号线)相连
# 计算机软件的分类
# 系统软件和应用软件--按功能分类
系统软件
保证计算机高效、正确运行的基础软件:OS(操作系统)、DBMS(数据库管理系统)、语言处理程序、分布式软件系统、网络软件系统、标准库程序、服务性程序。
应用软件
为解决某个应用领域中的各类问题而编制的程序:各种科学计算类程序、工程设计类、数据统计与处理程序。
注意
DBMS(数据库管理系统)与DBS(数据库系统)区别:DBMS为系统软件,DBS构成:数据库、数据库管理系统、数据库管理员(DBA)、应用系统
# 各种级别的语言
机器语言(二进制代码语言):计算机唯一可以直接识别和执行的语言
汇编语言:用引文单词或其缩写代替二进制指令代码,ccl(编译器)产生的文本
高级语言:方便程序设计人员解决问题的语言。先编译为汇编语言,在汇编得到机器语言
# 各种程序
编译程序:将高级语言一次性全部翻译成目标程序(机器级目标代码)。
解释程序:一条源程序语句翻译成对应机器目标代码并立即执行,直至所有源程序语句被翻译并执行完成。
汇编程序:汇编语言翻译为机器语言程序。as
链接程序:将可重定位模块(目标程序与标准库函数)合并生成可执行文件。ld
# 计算机的工作过程--以C为例
三步走
- 把程序和数据装入内存
- 将源程序转换成可执行文件
- 从可执行文件的首地址开始逐条执行指令
将源程序转换为可执行文件过程图如下所示
指令执行过程的描述
第一条执行置于PC,取出第一条指令,译码,执行完成后计算下一条指令的地址,继续读出新地址的指令并执行,直到程序结束
待完善~指令执行过程详情请看第五章
# 计算机系统的多级层次结构
下层是上层的基础,上层是下层的扩展
对于某层使用者而言,只能通过该层次了解与使用计算机,不必关心下层是如何工作的
# 计算机性能指标
# 计算机的主要性能指标
# 1.机器字长
一次整数运算所能处理的二进制数据位数,字长越长,数的表示范围越大,计算精度越高
# 2.数据通路的带宽
数据总线一次所能并行传送信息的位数,通常是外部数据总线宽度,可能与CPU内部不同
# 3.主存容量
主存储器所能存储信息的最大容量,以字节来衡量,字数 x 字长512K x 16位
表示.MAR位数反映可寻址范围的最大值
# 4.运算速度
吞吐量:单位时间内处理请求的数量,主要取决于主存的存取时间
响应时间:从用户向计算机发送一个请求,到系统对该请求做出响应并获取所需结果的等待时间。CPU时间+等待时间I/O,磁盘访问,存储器访问等
CPU时钟周期:节拍脉冲或T周期,即主频的倒数。CPU最小时间单位,执行指令动作的最小时钟周期为1
主频(CPU时钟频率):机器内部主时钟的频率,主频高,执行指令所用时间越短,单位Hz
CPI:执行一条指令所需的时钟周期
CPU执行时间:运行一个程序所花费的时间
MIPS:每秒执行多少百万条指令
MFLOPS(每秒执行多少百万次浮点运算,10^6)、GFLOPS(每秒执行多少十亿浮点运算,10^9)、TFLOPS(每秒执行多少万亿次浮点运算,10^12)
# 5.基准程序
# 易混淆知识整理
在CPU中,IR、MAR、MDR对各类程序员都是透明的
机器字长:计算机能直接处理的二进制数据位数,数据运算的基本单位长度
指令字长:一个指令字中包含的二进制代码的位数,指令字长一般取存储字长的整数倍
存储字长:一个存储单元存储的二进制代码的位数(长度)
数据字长:总线一次能并行传送信息的位数
← 备战索引