总线 | CO
总线概述早期计算机的各部件之间是通过单独的连线互连的,这种方式称为分散连接。但是,随着 IO 设备的种类和数量越来越多,为了更好地解决 IO 设备和主机之间连接的灵活性,计算机的结构从分散连接发展为总线连接。为了进一步简化设计,又提出了各类总线标准。
总线基本概念总线定义
一组能为多个部件分时共享的公共信息传送线路。
分时和共享是总线的两个特点:
分时:同一时刻只允许有一个部件向总线发送信息,若系统中有多个部件,则它们只能分时地向总线发送信息。
共享:总线上可以挂接多个部件,各个部件之间互相交换的信息都可通过这组线路分时共享。在某一时刻只允许有一个部件向总线发送信息,但多个部件可同时从总线上接收相同的信息。
总线设备
总线上所连接的设备,按其对总线有无控制功能可分为主设备和从设备两种:
主设备:获得总线控制权的设备。
从设备:被主设备访问的设备。只能响应从主设备发来的各种总线命令。
同一时刻只能有一个主设备控制总线的传输操作,可以有一个或多个从设备从总线接收数据。
总线特性
机械特性:尺寸、形状、管脚数、排列顺序。
电气特性:传输方向和有效的电平范围。
功能特性: ...
中央处理器 | CO
CPU 的功能和基本结构CPU 的功能
指令控制
完成取指令、分析指令、执行指令的操作,即程序的顺序控制。
操作控制
一条指令的功能往往是由若干操作信号的组合来实现的。
CPU 管理并产生由内存取出的每条指令的操作信号,把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作。
时间控制
严格控制各种操作信号的出现时间、持续时间及出现的时间顺序。
数据加工
对数据进行算术和逻辑运算。
中断处理
对计算机运行过程中出现的异常情况和中断请求进行处理。
控制器的功能整个系统的指挥中枢。
负责协调并控制计算机各部件执行程序的指令序列,包括取指令、分析指令、执行指令(基本功能是执行指令,执行指令就是发出有关操作控制信号)。
在控制器的控制下,运算器、存储器和输入/输出设备等功能部件构成一个有机的整体,根据指令的要求指挥全机协调工作。
运算器的功能数据加工处理中心。
运算器接收从控制器送来的命令并执行相应的动作,对数据进行加工和处理(算术运算/逻辑运算/条件测试)。
CPU 的基本结构CPU 主要由 运算器 和 控制器 两大部分组成。
CPU 结构的其他分法:
数据通 ...
指令系统 | CO
指令系统机器指令
简称指令,是指示计算机执行某种操作的命令。
是计算机运行的最小功能单位。
指令集体系结构 ISA
ISA 完整定义了软件和硬件之间的接口。
ISA 是软件和硬件之间接口的一个完整定义,包含了基本数据类型、指令集、寄存器、寻址模式、存储体系、中断和异常处理及外部 I/O。
ISA 规定了执行每条指令时所需要的操作码、操作数、寻址方式等信息,以及指令的功能和效果。
ISA 规定的内容主要包括:
指令格式,指令寻址方式,操作类型,以及每种操作对应的操作数的相应规定。
操作数的类型,操作数寻址方式,以及是按大端方式还是按小端方式存放。
程序可访问的寄存器编号、个数和位数,存储空间的大小和编址方式。
指令执行过程的控制方式等,包括程序计数器、条件码定义等。
ISA 规定了机器级程序的格式,机器语言或汇编语言程序员必须对机器的 ISA 非常熟悉。
高级语言抽象层太高,隐藏了许多机器级程序的细节,使得高级语言程序员不能很好地利用与机器结构相关的一些优化方法来提升程序的性能。若程序员对 ISA 和底层硬件实现细节有充分的了解,则可以更好地编址高性能程序。
指令系统 / 指令集
一 ...
存储系统 | CO
存储器概述存储器的分类按在计算机中的作用(层次)分类主存储器 / 主存 / 内存储器 / 内存
用来存放计算机运行期间所需的程序和数据。
CPU 可直接随机地对其进行访问,也可以和高速缓冲存储器(Cache)及辅助存储器交换数据。
特点:容量较小、存取速度较快、每位的价格较高。
辅助存储器 / 辅存 / 外存储器 / 外存
用来存放当前暂时不用的程序和数据,以及一些需要永久保存的信息。
辅存的内容需要调入主存后才能被 CPU 访问。
特点:容量大、存取速度较慢、单位成本低。
高速缓冲存储器 Cache
位于 CPU 和主存之间,用来存放当前 CPU 经常使用的指令和数据,以便 CPU 能高速地访问它们。
特点:存取速度可与 CPU 的速度相匹配、存储容量小、价格高。
现代计算机通常将它们制作在 CPU 中。
按存储介质分类磁芯存储器
磁表面存储器
磁盘、磁带。
半导体存储器
MOS 型半导体存储器
金属氧化物半导体 MOS (Metal Oxide Semiconductor)。
SRAM、DRAM、非易失型 MOS 存储器(ROM)。
读写速度慢、集成度高、功耗小。
双极型半导体 ...
数据的表示和运算 | CO
数制与编码进位计数制及其相互转换计算机内部信息使用二进制编码的原因
二进制只有两种状态,使用有两个稳定状态的物理器件就可以表示二进制数的每一位,制造成本比较低。
二进制位 1 和 0 正好与逻辑值 “真” 和 “假” 对应,为计算机实现逻辑运算和程序中的逻辑判断提供了便利条件。
二进制的编码和运算规则都很简单,通过逻辑门电路能方便地实现算术运算。
进位计数法
基数
每个数位所用到的不同数码的个数。每个数位计满基数就向高位进位。
例如,十进制的基数为 10(0~9),逢十进一。
位权
每个数码所表示的数值等于该数码本身乘以一个与它所在数位有关的常数,这个常数称为位权。
$r$ 进制第 $i$ 位的权为 $r^i$($i$ 从右往左、以 0 为始)。
一个 $r$ 进制数($K_nK_{n-1}…K_0K_{-1}…K_{-m}$)的数值大小就是它的各位数码按权相加,表示为:
$K_nr^n+K_{n-1}+…+K_0r^0+K_{-1}r^{-1}+…+K_{-m}r^{-m}=\sum^{-m}_{i=n}K_ir^i$
常用进制
二进制(binary),前缀 0b/0B, ...
绪论 | CO
计算机发展历程*本节内容已从大纲删除
计算机硬件的发展计算机的四代变化第一代计算机 —— 电子管时代(1946—1957)
逻辑元件:电子管。
主存:延迟线/磁鼓,容量极小。
编程语言:机器语言。
运算速度:较低,一般只有几千次到几万次每秒。
体积庞大,成本高。
第二代计算机 —— 晶体管时代(1958—1964)
逻辑元件:晶体管。
主存:磁芯存储器。
编程语言:开始出现高级语言,如 FORTRAN。
软件:有了操作系统的雏形。
运算速度:提升到几万次到几十万次每秒。
第三代计算机 —— 中小规模集成电路时代(1965—1971)
逻辑元件:中小规模集成电路。
存储器:半导体存储器开始取代磁芯存储器。
编程语言:高级语言发展迅速。
软件:操作系统进一步发展,开始有了分时操作系统。
第四代计算机 —— 超大规模集成电路时代(1972—至今)
逻辑元件:大规模集成电路和超大规模集成电路,产生了微处理器。
诸如并行、流水线、高速缓存和虚拟存储器等概念用在了这代计算机中。
1~4 代都采用冯·诺依曼体系结构(控制器、存储器、运算器、输入输出设备)。
第五代计算机 —— 智能计算机
具备人 ...
输入输出管理 | OS
I/O 管理概述I/O 管理需要完成以下 4 部分的内容:
状态跟踪
要能实时掌握外设的状态
设备存取
要实现对设备的存取操作
设备分配
在多用户环境下,负责设备的分配和回收
设备控制
包括设备的驱动、完成和故障的中断处理
I/O 设备基本概念设备属性
固有属性:决定设备的使用方式。
独立性:用户编程时使用的设备与实际使用的设备无关。可以提高设备分配的灵活性和设备的利用率。
安全性:可以保证设备不会永久被阻塞。
设备编号(绝对号)
将系统中的每台设备按照某种原则统一进行编号,以便区分和识别设备。
I/O 接口见 CO7。
I/O 端口见 CO7。
I/O 控制方式见 CO7。
I/O 软件层次结构
每层都是利用其下层提供的服务,完成输入/输出功能中的某些子功能,并屏蔽这些功能实现的细节,向高层提供服务。
在层次式结构的 I/O 软件中,只要层次间的接口不变,对某一层次中的软件的修改都不会引起其下层或高层代码的变更,仅最底层才涉及硬件的具体特性。
用户层软件实现与用户交互的接口,通常情况下用户调用在用户层提供的、与 I/O 操作有关的库函数对设备进行操作。也可以直接使用操 ...
文件管理 | OS
文件系统基础基本概念数据项
文件系统中最低级的数据组织形式,可分为两种类型:
基本数据项
用于描述一个对象某种属性的一个值。
数据中可命名的最小逻辑数据单位(原子数据)。
组合数据项
由多个基本数据项组成。
记录
一组相关的数据项的集合,用于描述一个对象在某方面的一系列属性。
文件
由创建者所定义的、具有文件名的一组相关元素的集合。
在用户进行的输入、输出中,以文件为基本单位。
文件的组成:数据、分类和索引的信息、关于访问权限的信息。
文件逻辑上可分为:
有结构文件/记录式文件
文件由若干个相似的记录组成。
无结构文件/流式文件
被视为一个字符流,比如一个二进制文件或字符文件。
虽然上面给出了结构化的表述,但实际上并无严格的定义。在操作系统中,通常将程序和数据组织成文件。文件可以是数字、字符或二进制代码,基本访问单元可以是字节或记录。
文件是以硬盘为载体的存储在计算机上的信息集合,文件可以是文本文档、图片、程序等。文件可以长期存储在硬盘中,允许可控制的进程间共享访问,能够被组织成复杂的结构。
文件实际上是一种抽象数据类型,我们要研究它的逻辑结构、物理结构,以及关于它的 ...
进程管理 | OS
进程与线程进程的概念和特征程序顺序执行的特征
顺序性
严格按序。
封闭性
程序一旦开始运行,其结果不受外界因素影响。
程序运行时独占各种资源,这些资源的状态(除初始状态外)只有本程序才能改变。
可再现性
只要初始条件和执行环境相同。
程序并发执行的特征
间断
程序间相互制约关系导致走走停停。
失去封闭性
资源是共享的。
并发进程共享变量,其执行结果与速度有关。
不可再现性
失去封闭性导致的。
为使进程在并发运行时虽具有异步性,但仍能保证执行结果是可再现的,操作系统配置了相应的进程同步机制。
引入进程的目的
深刻描述程序动态执行过程的性质乃至更好地支持和管理多道程序的并发执行,提高资源利用率和系统吞吐量,实现操作系统的并发性和共享性(最基本的两个特性)。
进程的概念
程序的一次执行过程。
一个程序及其数据在处理机上顺序执行时所发生的活动。
具有独立功能的程序在一个数据集合上运行的过程。
进程实体的运行过程,系统进行资源分配和调度的一个独立单位。
“动态的”、“过程性的”。
进程映像/进程实体(组成)
程序段
相关数据段
原始数据、中间数据、结果数据。
进程控 ...