计组复习

第一章 计算机系统概论

记录一些概念性的内容,理解性的和计算的部分要落在纸上、多练

果然时间紧张,没记完。。。

1. 软硬件

计算机系统由“硬件”和“软件”两大部分组成。

硬件

计算机的实体部分

软件

看不见摸不着,友人们实现编制的具有各类特殊功能的程序组成

  • 系统软件(系统程序)

    主要用来管理整个计算机系统,监视服务,使系统资源得到合理的调度,高效运行

    包括:标准数据库,语言处理程序,操作系统,数据库管理系统,网络软件等

  • 应用软件

    用户更具任务需要所编制的各种程序

    如:科学计算程序,数据处理程序,过程控制程序,事物管理程序

2. 计算机系统的层次结构

层次 作用 类型
虚拟机器 M4
(高级语言机器)
用编译程序翻译成
汇编语言程序
虚拟机
虚拟机器 M3
(汇编语言机器)
用汇编程序翻译成
机器语言程序
虚拟机
虚拟机器 M2
(操作系统机器)
用机器语言解释
操作系统
虚拟机
传统机器 M1
(机器语言机器)
用为程序解释
机器指令
实体机
微程序机器 M0
(微指令系统)
由硬件直接执行
微指令
实体机

翻译程序: 将高级语言程序翻译成机器语言程序的软件

  1. 编译程序

    将高级语言程序一次全部翻译成机器语言程序,然后再执行机器语言程序

  2. 解释程序

    翻译完一条语句执行一条语句,每次想执行一条语句都要重新翻译,即使刚刚翻译过

一条机器指令对应一组微指令,一组微指令构成一个微程序。

操作系统

  1. 提供了在汇编语言和高级语言的使用和实现过程中所需的某些基本操作
  2. 控制管理计算机系统全部硬件和软件资源

3. 计算机组成和计算机体系结构

计算机体系结: 能够被程序员所见到的计算机系统的属性,即概念和结构与功能特性

计算机组成: 如何实现计算机体系结构所体现的属性,包含了许多对程序员来说是透明的硬件细节

举例说明:

  1. 结构:一台机器是否有乘法指令功能

    组成:一台机器如何实现乘法指令功能

  2. 一种体系结构可能会维持多年,但是机器的组成会随着技术的发展而不断变化。

4. 计算机基本组成

冯·诺依曼计算机

现代计算机

现代计算机可以简化为三大部分

  • CPU
  • I/O
  • 主存储器(内存辅存称为外存

运算器中各个寄存器的作用

5. 计算机硬件的主要技术指标

  1. 机器字长:

    CPU一次能够处理数据的位数,通常与CPU的寄存器位数有关。

  2. 存储容量:

    包括主存容量和辅存容量

    存储容量=存储单元个数存储字长存储容量=存储单元个数*存储字长 ,即 2len(MAR)len(MDR)2^{len(MAR)}*len(MDR)

    • MAR 的位数反映了存储单元的个数
    • MDR 的位数反映了存储字长
  3. 运算速度:

    利用吉普森(Gibson)法计算

    衡量单位:

    • MIPS (Million Instruction Per second, 百万条指令每秒)
    • CPI (Cycle Per Instruction)即执行一条指令所需的时钟周期(机器主频的倒数)

第二章 计算机的发展及应用

发展的挺好😀

第三章 系统总线

1. 总线的基本概念

计算机系统的五大部件之间有两种互连方式

  1. 分散连接: 各个部件之间使用单独的连线
  2. 总线连接: 将各个部件连到一组公共信息传输线上

总线: 连接多个部件的信息传输线,是各个部件共享的传输介质。

  • 在某一时刻只允许有一个部件向总线发送信息,而多个部件可以同时从总线上接收信息
  • 每条总线可一位一位传输二进制代码,例如16条传输线组成的总线可以同时传输16位二进制代码

以CPU为中心的双总线结构计算机

存储总线(M总线)连接CPU和主存

输入输出总线(I/O总线)连接CPU和各种I/O设备,进行数据交换

缺点: 当 I/O 与主存进行信息交换时还要占用 CPU ,影响CPU工作效率

单总线结构计算机

将CPU、主存和I/O设备(通过I/O接口)同时挂到一组总线上

缺点: 理论上可以在主存和 I/O 数据交互时,让 CPU 继续工作。但因为只有一组总线,若主存与 I/O 进行信息交换会占用总线,CPU 再与主存进行数据交换会造成总线冲突。

双总线结构计算机

以存储器为中心,再单总线基础上又开辟出一条 CPU 与主存之间独享的存储总线(速度高,专用)。

优点: 提高了传输效率,减轻了系统总线的负担,I/O 与主存交换信息不经过CPU

2. 总线的分类

按连接部件不同划分为三类

  1. 片内总线: 芯片内部的总线

    如,CPU 芯片内部,寄存器与寄存器之间、寄存器与算逻单元 ALU 之间都由片内总线连接

  2. 系统总线: CPU、主存、I/O 设备(通过 I/O 接口)各大部件之间的信息传输线,又称板级总线或板间总线

    按系统总线传输信息的不同分为三类

    1. 数据总线(双向)

      数据总线宽度(位数)由机器字长决定

    2. 地址总线(单向,由 CPU 输出)

      地址总线宽度与存储单元个数有关(地址线20根,对应存储单元个数为 2202^20

    3. 控制总线(对单个控制线,单向;对控制总线总体而言,CPU 控制信号既有输出又有输入)

      • 发出各种控制信号
      • 监视各个部件状态
  3. 通信总线: 用于计算机系统之间或计算机系统与其他系统之间的通信

    按传输方式分为

    • 串行通信

      适合远距离传输(线路搭建便宜很多)

    • 并行通信

      适合仅距地数据传输,通常小于30米(传输速率很高)

3. 总线特性及性能指标

3.1 总线特性

  1. 机械特性

    总线在机械连接方式上的性能,如插口插座使用标准,引脚个数等

  2. 电气特性

    每一根传输线上信号的传递方向和有效的电平范围

  3. 功能特性

    总线中每根传输线的功能(地址总线、数据总线、控制总线)

  4. 时间特性

    任一根线在什么时间有效

3.2 总线性能指标

  1. 总线宽度: 数据总线根数

  2. 总线带宽: 单位时间内总线上传数据的位数,通常用每秒传输信息的字节数 MBps(兆字节每秒)衡量

    如,总线工作频率为 33 MHz,总线宽度为 32 位,总线带宽位,3333/8=132MBps33 * (33 / 8)= 132 MBps

  3. 时钟同步/异步

  4. 总线复用: 一条信号线上分时传送两种信号

    例如将地址总线和数据总线共用一组物理线路,在这组物理线路上分时传送地址信号和数据信号

  5. 信号线数: 地址总线、数据总线、控制总线三种总线的总和

  6. 总线控制方式: 包括突发工作、自动配置、仲裁方式、逻辑方式、计数方式等

  7. 其他指标:

总线标准: 系统与各个模块、模块与模块之间的一个互连的标准界面

4. 总线结构

1.单总线结构:CPU、主存、I/O 挂在一组总线上

2.双总线结构:将 I/O 与主存的交互与 CPU 和主存的数据交换独立出来

3.1三总线结构:在主存和快速 I/O 设备之间连接一条 DMA 总线

3.2三总线结构的又一形式:加入 cache ,CPU 与主存之间不需要直接交换信息了

4.四总线结构:在加入 cache 的基础上,加上了一条高速总线,专门挂载告诉 I/O 设备,“因才施教”更为高效。

5. 总线控制

5.1 总线判优控制

主设备对总线有控制权,从设备只能响应从主设备发来的总线命令,对总线没有控制权。

(1)分布式

控制逻辑分散在与总线连接的各个部件或设备上。

(2) 集中式

将控制逻辑集中在一处(如 CPU 中)

常见的几种控制优先权仲裁方式有以下三种:

  1. 链式查询:2根线确定总线使用权属于哪个设备

  2. 计数器定时查询:log2nlog_2n 根线

  3. 独立请求方式:2nn 根线

5.2 总线通信控制

众多部件共享总线,在通信时间上,按时分方式处理,获得总线使用权的先后顺序时分占用总线,一个接一个论有交替传送。

总线周期: 完成一次总线操作的时间

  1. 申请分配阶段
  2. 寻址阶段
  3. 传数阶段
  4. 结束阶段

总线通信控制主要解决通信双方如何获知传输开始和传输结束,以及通信双方如何协调如何配合。

通常用四种方式:

1. 同步通信

通信双方使用统一的时标控制数据传送

优点: 规定明确,统一,模块间配合简单一致

缺点: 必须按最慢速度的部件来设计公共时钟,严重影响总线的工作效率,也给设计带来了局限性,缺乏灵活性

2. 异步通信

采用应答方式(又称握手方式)

优点: 允许各模块速度的不一致性,给设计者充分的灵活性

异步通信分为串行和并行:

  • 串行

    异步串行通信的数据传送速率用波特率来衡量

    • 波特率: 单位时间内传送二进制数据的位数,单位用 bps(位/秒)表示,记为波特

    异步串行传送字符格式

  • 并行

异步通信应答分为不互锁半互锁全互锁三种:

(1)不互锁

主模块发送请求信号后,不必等待接收到从模块的应答信号,等待一段时间后,撤销请求;

从模块接收到请求信号后,在条件允许的情况下发送回答信号,并经过一段时间后,自动撤销回答信号。

(2)半互锁

主模块发送请求信号后,必须接收到从模块的应答信号后才撤销请求

从模块接收到请求信号后,发送回答信号,并经过一段时间后自动撤销回答信号

(3)全互锁

主模块发送请求信号后,必须接收到从模块的应答信号后才撤销请求

从模块接收到请求信号后,发送回答信号,等待主模块撤销请求信号后撤销回答信号

3. 半同步通信

增设了一条“等待” WAIT\overline{WAIT} 响应信号线,采用插入时钟(等待)周期的措施来协调通信双方的配合问题。

优点: 比异步通信简单,允许不同速度的模块和谐的工作

缺点: 速度不是很高

4. 分离式通信

以上三种通信方式都是从主模块发出地址和读写命令开始,直到数据传输结束,在整个传输周期中,系统总线的使用权完全由占用使用的主模块和它选中的从模块占用。分析读命令传输周期,发现除了申请总线这一阶段外,其余时间主要花费在以下三个方面:

  1. 主模块通过传输总线向从模块发送地址和命令
  2. 从模块按照命令进行读数据的必要准备
  3. 从模块经数据总线向主模块提供数据

可以看到第2部分没有用到系统总线,却占用系统总线。为此人们提出了“分离式”的通信方式,基本思想是将一个传输周期(或总线周期)分解为两个子周期。在第一个子周期中,主模块使用总线后立即放弃总线使用权,第二个子周期中,从模块将数据准备好后申请总线使用权。

第四章 存储器

1. 概述

1.1 存储器的分类

按存储介质分:

  1. 半导体存储器

    优点: 体积小、功耗低、存储时间短

    缺点: 当电源消失时,所存信息也随即丢失,是一种易失性存储器

  2. 磁表面存储器

    优点: 磁表面物质是具有矩形磁滞回线特性的材料,按其剩磁状态的不同区分“0”或“1”,剩磁状态不会轻易丢失

  3. 磁芯存储器

    优点: 不易失的永久记忆存储器

    缺点: 体积过大,工艺复杂

  4. 光盘存储器

    优点: 记录密度高,耐用性好,可靠性高,可互换性强等

按存储方式分类:

  1. 随机存储器 (Random Access Memory, RAM)

    • 静态RAM(SRAM->Cache)以触发器原理寄存信息
    • 动态RAM(DRAM->内存)以电容充电放电原理寄存信息
  2. 只读存储器 (Read Only Memory, ROM)

    MROM(Masked ROM) 掩膜 ROM

    PROM (Programmable ROM, PROM)可编程只读存储器

    EPROM (Erasable Programmable ROM, EPROM) 可擦除可编程只读存储器

    EEPROM (Electrically - Erasable Programmable ROM, EEPROM) 电擦除可编程只读存储器

    Flash Memory 闪存存储器,具有 EEPROM 的特点,而速度比 EEPROM 快得多

  3. 串行访问存储器

    • 顺序存取存储器:只能从起始位置开始顺序寻找

    • 直接存取存储器:可以限制出该存储器的某个小区域(磁道),然后再顺序寻访

按在计算机中的作用分类:

  1. 主存储器

    可以和 CPU 直接交换信息

  2. 辅助存储器

    不能与 CPU 直接交换信息,主存放不下了,暂时放在辅存中

  3. 缓冲存储器

    在两个速度不同得部件之中。例如,在 CPU 和主存之间可设置一个快速缓存,起缓冲作用

1.2 存储器的层次结构

  1. 缓存-主存

    主要解决 CPU 和主存速度不匹配得问题

    主存和缓存之间得数据调动是由硬件自动完成的,对程序员透明

  2. 主存-辅存

    解决存储系统容量问题

    主存和辅存之间的数据调动是由硬件和操作系统共同完成的

    不断发展,逐渐形成了虚拟存储系统

2. 主存储器

2.1 存储器容量的扩展

2.2 存储器校验(汉明校验)

第六章 计算机的运算方法

一、 无符号数和有符号数

计算机中的数均放在寄存器中

机器字长:寄存器的位数

1.有符号数

1.1 机器数与真值

机器数 真值(带符号的数) 小数点位置
0 1011 +0.1011 符号位后面
1 1011 -0.1011 符号位后面
0 1100 +1100 数值后面
1 1100 -1100 数值后面

1.2 原码表示

  • 正数不变
  • 负数符号位置 1
  • 有表示不同的+0和-0

[x]={0,x2n>x02nx0x>2n[x]_原 = \begin{cases} 0,x & 2^n > x \geq 0 \\ 2^n - x & 0 \geq x > -2^n \end{cases}

[x]={x1>x01x0x>1[x]_原 = \begin{cases} x & 1 > x \geq 0 \\ 1-x & 0 \geq x > -1 \end{cases}

1.3 补码

  • 正数不变
  • 负数除符号位取反 +1 (从补码还原到原码同样适用)
  • 只有一个0,比原码多表示一位负数

[x]={0,x2n>x02n+1+x0>x2n[x]_补 = \begin{cases} 0,x & 2^n > x \geq 0 \\ 2^{n + 1} + x & 0 > x \geq -2^n \end{cases}

[x]={x1>x02+x0>x1(mod 2)[x]_补 = \begin{cases} x & 1 > x \geq 0 \\ 2 + x & 0 > x \geq -1 (mod \space2) \end{cases}

  • 当模数为4,即 (mod 22)(mod \space 2^2) 时,形成双符号位

    这种双符号位补码又称变形码,再阶码的运算和溢出判断中有特殊作用

1.4 反码

  • 通常是原码和补码的过度
  • 有两个0,不同表示的+0,-0
  • 除符号位按位取反

[x]={0,x2n>x0(2n+11)+x0x>2n(mod(2n+11))[x]_反 = \begin{cases} 0,x & 2^n > x \geq 0 \\ (2^{n + 1} - 1) + x & 0 \geq x > -2^n & (mod(2^{n+1}-1)) \end{cases}

[x]={x1>x0(22n1)+x0x>1(mod (22n1)[x]_反 = \begin{cases} x & 1 > x \geq 0 \\ (2 - 2^{n-1}) + x & 0 \geq x > -1 & (mod \space (2 - 2^{n-1}) \end{cases}

1.5 移码

  • 补码没法直接比较大小,移码比较大小很方便
  • 0 是唯一的
  • **对每个真值 +2n+2^n **

[x]=2n+x (2n>x2n)[x]_移 = 2^n + x \space (2^n > x \geq -2^n)

同一个真值的移码和补码仅差一个符号位

二、运算

markdown语法参考

  • 方程组
1
2
3
4
5
6
7
$$
\begin{cases}
3x + 5y + z \\
7x - 2y + 4z \\
-6x + 3y + 2z
\end{cases}
$$

{3x+5y+z7x2y+4z6x+3y+2z\begin{cases} 3x + 5y + z \\ 7x - 2y + 4z \\ -6x + 3y + 2z \end{cases}

  • 大于等于
1
\geq

\geq

  • 小于等于
1
\leq

\leq

  • 约等于
1
\approx

\approx