1.1计算机系统简介
第一篇 概论
第一章 计算机系统概论
注: 引用唐朔飞的书籍:计算机组成原理
博客昵称:吴NDIR
个人座右铭:得之淡然,失之坦然
作者简介:喜欢轻音乐、象棋,爱好算法、做题
其他推荐内容:计算机导论速记思维导图
这是一个值得关注的博主,快快一键三连(评论区有想聊天的朋友吗)
目录
*导图
1.1.1计算机的软硬件概念
1.计算机系统包含:
计 算 机 系 统 { 硬 件 : 各 种 电 子 元 器 件 , 如 主 机 、 外 设 软 件 { 系 统 软 件 : 主 要 用 来 管 理 整 个 计 算 机 系 统 , 监 视 服 务 , 调 节 资 源 应 用 软 件 : 用 户 根 据 任 务 需 要 所 编 制 的 程 序 计算机系统 \begin {cases} 硬件:各种电子元器件,如主机、外设\\ 软件\begin{cases} 系统软件:主要用来管理整个计算机系统,监视服务,调节资源\\ 应用软件:用户根据任务需要所编制的程序 \end{cases} \end{cases} 计算机系统⎩⎪⎨⎪⎧硬件:各种电子元器件,如主机、外设软件{
系统软件:主要用来管理整个计算机系统,监视服务,调节资源应用软件:用户根据任务需要所编制的程序
其中硬件是计算机实体设备或零件,软件由人们事先编制的具有各类特殊功能的程序组成,充分发挥硬件的功能并依托硬件。
①而系统软件又包含:
系 统 软 件 { 标 准 数 据 库 : 如 将 汇 编 语 言 翻 译 成 机 器 语 言 程 序 语 言 处 理 程 序 { 批 处 理 系 统 分 时 系 统 实 时 系 统 操 作 系 统 服 务 程 序 { 诊 断 程 序 调 试 程 序 连 接 程 序 数 据 库 管 理 程 序 网 络 软 件 等 系统软件\begin{cases} 标准数据库:如将汇编语言翻译成机器语言程序\\ 语言处理程序\begin{cases} 批处理系统\\ 分时系统\\ 实时系统 \end{cases} \\操作系统\\ 服务程序\begin{cases} 诊断程序\\ 调试程序\\ 连接程序 \end{cases} \\数据库管理程序\\ 网络软件等 \end{cases} 系统软件⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧标准数据库:如将汇编语言翻译成机器语言程序语言处理程序⎩⎪⎨⎪⎧批处理系统分时系统实时系统操作系统服务程序⎩⎪⎨⎪⎧诊断程序调试程序连接程序数据库管理程序网络软件等
②而应用软件又包含:
应 用 软 件 { 科 学 计 算 程 序 数 据 处 理 程 序 过 程 控 制 程 序 事 务 管 理 程 序 应用软件\begin{cases} 科学计算程序\\ 数据处理程序\\ 过程控制程序\\ 事务管理程序 \end{cases} 应用软件⎩⎪⎪⎪⎨⎪⎪⎪⎧科学计算程序数据处理程序过程控制程序事务管理程序
1.1.2计算机系统的层次结构
- 现代计算机的解题步骤:
将用户编写的程序(源程序)及数据一起送入计算机内,再由计算机将其翻译成机器能识别的机器语言程序(目标程序),机器自动运行该机器语言程序,并输出结果。
- 多级层次结构的计算机系统:
机器类型 | 功能 |
---|---|
高级语言机器 | 编译或解释源程序程序 |
汇编语言机器 | 将由注记符表示的指令或数据翻译成机器语言 |
操作系统机器 | 提供汇编、高级语言使用和实现的基本操作,同时控制计算机硬件和管理软件资源 |
机器语言机器 |
直接执行机器语言的机器 |
微指令系统 |
将机器指令依次翻译成一组微指令并依次执行,可看作机器语言机器的分解 |
1.1.3计算机组成和计算机和体系结构
- 两者概念区别和关系:
名称 | 概念 |
---|---|
计算机体系结构 | 能被程序员所见的计算机系统属性,即概念性的结构与功能特性。一般大多是传统机器的属性:指令集、数据类型、存储器寻址技术、I/O机理等(大多抽象的属性) |
计算机组成 | 指如何实现计算机体系结构所体现的属性(如上所说),包含对程序员来说是透明的硬件 |
1.2.1冯诺依曼计算机的特点
冯诺依曼机以“存储程序”的概念为基础。它的特点:
冯 诺 依 曼 机 { 五 大 部 件 组 成 { 运 算 器 存 储 器 控 制 器 输 入 设 备 输 出 设 备 指 令 和 数 据 以 同 等 地 位 存 放 在 存 储 器 内 , 并 按 地 址 寻 访 指 令 和 数 据 均 用 二 进 制 数 表 示 指 令 组 成 { 操 作 码 : 表 示 操 作 的 性 质 , 如 存 取 数 、 四 则 运 算 、 打 印 等 地 址 码 : 表 示 操 作 数 在 存 储 器 的 位 置 指 令 在 存 储 器 内 顺 序 存 放 并 依 序 执 行 机 器 以 运 算 器 为 中 心 , 输 入 输 出 设 备 与 存 储 器 间 的 数 据 传 送 通 过 运 算 器 完 成 冯诺依曼机\begin{cases} 五大部件组成\begin{cases} 运算器\\ 存储器\\ 控制器\\ 输入设备\\ 输出设备\\ \end{cases} \\\\指令和数据以同等地位存放在存储器内,并按地址寻访\\ \\指令和数据均用二进制数表示\\ \\指令组成\begin{cases} 操作码:表示操作的性质,如存取数、四则运算、打印等\\ 地址码:表示操作数在存储器的位置 \end{cases} 指令在存储器内顺序存放并依序执行\\ \\机器以运算器为中心,输入输出设备与存储器间的数据传送通过运算器完成 \end{cases} 冯诺依曼机⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧五大部件组成⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧运算器存储器控制器输入设备输出设备指令和数据以同等地位存放在存储器内,并按地址寻访指令和数据均用二进制数表示指令组成{
操作码:表示操作的性质,如存取数、四则运算、打印等地址码:表示操作数在存储器的位置指令在存储器内顺序存放并依序执行机器以运算器为中心,输入输出设备与存储器间的数据传送通过运算器完成
1.2.2计算机的硬件框图
- 典型的冯诺依曼计算机结构框图,以运算器为中心
双向线:控制线、反馈线
单向线:数据线
下图中控制器与其它部件都存在双向线
- 现代计算机结构框图,以存储器为中心
- 各部件功能如下:
部件名称 | 功能 |
---|---|
运算器 | 完成算术逻辑运算,并将运算的中间结果暂存在运算器内 |
存储器 | 存放数据和程序 |
控制器 | 控制、指挥程序和数据的输入、运行以及处理运算结果 |
输入设备 | 将外部信息转换成机器能识别的信息形式,如键盘、鼠标等 |
输出设备 | 将机器运算结果转换人们熟悉的信息形式,如打印机输出、显示器输出等 |
- 由于运算器和控制器在逻辑关系和电路结构上联系十分紧密,这两大部件往往集成在同一芯片,统称为CPU即中央处理器。而输入设备和输出设备统称为I/O设备。故现代计算机可认为由三大部件组成:CPU、I/O设备、主存储器
图略
1.2.3计算机的工作步骤
两 大 步 骤 { 1. 上 机 前 的 准 备 { ① 建 立 数 学 模 型 ② 确 定 计 算 方 法 ③ 编 制 解 题 程 序 2. 计 算 机 的 工 作 过 程 { ① 主 存 储 器 ② 运 算 器 ③ 控 制 器 ④ I / O 设 备 两大步骤\begin{cases} 1.上机前的准备\begin{cases} ①建立数学模型\\ ②确定计算方法\\ ③编制解题程序\\ \end{cases} \\\\2.计算机的工作过程\begin{cases} ①主存储器\\ ②运算器\\ ③控制器\\ ④I/O设备 \end{cases} \end{cases} 两大步骤⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧1.上机前的准备⎩⎪⎨⎪⎧①建立数学模型②确定计算方法③编制解题程序2.计算机的工作过程⎩⎪⎪⎪⎨⎪⎪⎪⎧①主存储器②运算器③控制器④I/O设备
- 上机前的准备
①建立数学模型
对于许多实际问题需要找到一系列反映研究对象变化规律的数学方程组,建立数学模型是计算机解题的第一步。
②确定计算方法
由于数学模型中的数学方程式往往复杂,欲将其变成合适计算机的四则运算,还必须确定对应的计算方法。
例1:确定 s i n x sinx sinx的近似计算方法
s i n x = x − x ³ 3 ! + x ⁵ 5 ! − x ⁷ 7 ! + x ⁹ 9 ! − ⋯ \boxed{sin x=x-\frac{x³}{3!}+\frac{x⁵}{5!}-\frac{x⁷}{7!}+\frac{x⁹}{9!}-\cdots} sinx=x−3!x³+5!x⁵−7!x⁷+9!x⁹−⋯
例2:解开方的近似方法(迭代方法即牛顿迭代,这里只需了解)
√ x = 1 2 ( y n + x y n ) ( n = 0 , 1 , 2 , ⋯ ) \boxed{\surd{x}=\frac{1}{2}(y_n+\frac{x}{y_n})(n=0,1,2,\cdots)} √x=21(yn+ynx)(n=0,1,2,⋯)
③编制解题程序
程序是适合于机器运算的全部步骤,编制解题程序就是将运算步骤用一一对应的机器指令描述。
例:计算 a x ² + b x + c ax²+bx+c ax²+bx+c
- 计算机的工作过程
①主存储器
主 存 储 器 { 存 储 体 { 若 干 个 存 储 单 元 { 存 储 元 件 ( 或 称 存 储 基 元 、 存 储 元 ) 各 种 逻 辑 部 件 及 控 制 电 路 主存储器\begin{cases} 存储体\begin{cases} 若干个存储单元\begin{cases} 存储元件(或称存储基元、存储元) \end{cases} \end{cases} \\各种逻辑部件及控制电路 \end{cases} 主存储器{
存储体{
若干个存储单元{
存储元件(或称存储基元、存储元)各种逻辑部件及控制电路
-
每个存储元件能寄存一位二进制码“0/1”,所以一个存储单元能存储一串二进制码,二进制码的位数称为存储字长
-
主存的工作方式是按地址存取方式(即按地址访问存储器,简称访存),按存储单元的地址号来实现对存储字各位(写入)、取(读出)。
例如:事先将编好的程序按顺序存入主存各单元,当运行程序时,先给出该程序在主存的首地址,然后采用程序计数器加1的方法,自动形成下一条指令所在存储单元的地址。
- 为了实现按地址访问的方式,主存器还必须配置两个寄存器MAR和MDR
寄存器名称 | 功能 |
---|---|
MAR 存储地址寄存器 | 用来存放欲访问的存储单元的地址,其位数对应存储单元的个数(如MAR为10位,则有 2 10 2^{10} 210个存储单元) |
MDR存储数据寄存器 | 用来存放从存储单元取出的代码,或者存放准备往某存储单位存入的代码。其位数与存储字长相等 |
当然,要想完整地写完一个取或存操作,CPU还得给主存加以各种控制信号。
②运算器
运算器最少包括3个寄存器和一个算数逻辑单元
运 算 器 { 寄 存 器 { A C C 累 加 器 M Q 乘 商 寄 存 器 X 操 作 数 寄 存 器 A L U 算 术 逻 辑 单 元 运算器\begin{cases} 寄存器\begin{cases} ACC累加器\\ MQ乘商寄存器\\ X操作数寄存器 \end{cases} \\ALU算术逻辑单元 \end{cases} 运算器⎩⎪⎪⎪⎨⎪⎪⎪⎧寄存器⎩⎪⎨⎪⎧ACC累加器MQ乘商寄存器X操作数寄存器ALU算术逻辑单元
寄存器(下)/运算(右) | 加法 | 减法 | 乘法 | 除法 |
---|---|---|---|---|
ACC | 被加数及和 | 被减数及差 | 乘积高位 | 被除数及余数 |
MQ | / | / | 乘数及乘积地位 | 商 |
X | 加数 | 减数 | 被乘数 | 除数 |
③控制器
- 控制器由PC程序计数器、指令寄存器和控制单元组成
组成部分 | 功能 |
---|---|
PC | 用来存放当前欲执行的指令的地址,它与主存的MAR之间有一条直接通道,具有自动加1功能 |
IR | 用来存放当前的指令,IR的内容来自主存的MDR,IR的操作码送至CU分析指令,地址码作为操作数送至主存中的MAR |
CU | 用来分析当前指令所需的操作,并发出微操作命令序列,以控制所有被控对象 |
④I/O设备
- I/O子系统包括:I/O设备和I/O接口
- 每一个I/O设备都由I/O接口与主机联系
计算机全过程:
1.3计算机硬件的主要技术指标
1.3.1机器字长
- 机器字长是指CPU一次能处理数据的位数,通常与CPU的寄存器位数有关。
1.3.2存储容量
存 储 器 的 容 量 { 主 存 容 量 : 存 储 单 元 个 数 × 存 储 字 长 辅 存 容 量 : 通 常 用 字 节 数 表 示 存储器的容量\begin{cases} 主存容量:存储单元个数×存储字长\\\\ 辅存容量:通常用字节数表示 \end{cases} 存储器的容量⎩⎪⎨⎪⎧主存容量:存储单元个数×存储字长辅存容量:通常用字节数表示
例:MAR16位,MDR32位,则主存容量为
2 16 × 2 5 = 2 M ( 1 M = 2 20 ) 2^{16}×2^{5}=2M(1M=2^{20}) 216×25=2M(1M=220)
1.3.3运算速度
- 衡量方法:吉普森法——考虑每条指令的执行时间f以及它们在全部操作所占的百分比t,用 T M T_M TM表示机器运行速度,则:
T M = ∑ i = 1 n f i t i T_M=\sum\limits_{i=1}^nf_it_i TM=i=1∑nfiti