01 计算机系统基础-1

计算机系统组成

计算机系统
图1 计算机系统

计算机硬件组成

  • 计算机的基本硬件系统 由运算器、控制器、存储器、输入设备和输出设备5大部件组成。
  • 运算器、控制器等部件被集成在一起统称为中央处理单元 (Central Processing Unit,CPU)。CPU是硬件系统的核心,用于数据的加工处理,能完成各种算术、逻辑运算及控制功能。
  • 存储器是计算机系统中的记忆设备,分为内部存储器外部存储器。前者速度高、容量小,一般用于临时存放程序、数据及中间结果。而后者容量大、速度慢,可以长期保存程序和数据。
  • 输入设备和输出设备合称为外部设备(简称“外设”),输入设备用于输入原始数据及各种命令,而输出设备则用于输出计算机运行的结果。
    冯·诺依曼计算机组成
    图2 冯·诺依曼计算机组成

CPU的功能

  • 程序控制。CPU 通过执行指令来控制程序的执行顺序,这是CPU的重要功能。
  • 操作控制。一条指令功能的实现需要若干操作信号配合来完成,CPU 产生每条指令的操作信号并将操作信号送往对应的部件,控制相应的部件按指令的功能要求进行操作。
  • 时间控制。CPU 对各种操作进行时间上的控制,即指令执行过程中操作信号的出现时间、持续时间及出现的时间顺序都需要进行严格控制。
  • 数据处理。CPU通过对数据进行算术运算及逻辑运算等方式进行加工处理数据加工处理的结果被人们所利用。所以,对数据的加工处理也是CPU 最根本的任务
    此外,CPU还需要对系统内部和外部的中断(异常)做出响应,进行相应的处理。

CPU的组成

CPU 主要由运算器、控制器、寄存器组和内部总线等部件组成。

  • 运算器:由算术逻辑单元ALU(实现对数据的算术和逻辑运算)、累加寄存器AC(运算结果或源操作数的存放区)、数据缓冲寄存器DR(暂时存放内存的指令或数据)、和状态条件寄存器PSW(保存指令运行结果的条件码内容,如溢出标志等)组成。执行所有的算术运算,如加减乘除等;执行所有的逻辑运算并进行逻辑测试,如与、或、非、比较等。
  • 控制器:由指令寄存器IR(暂存CPU执行指令)、程序计数器PC(存放指令执行地址)、地址寄存器AR(保存当前CPU所访问的内存地址)、指令译码器ID(分析指令操作码)等组成。控制整个CPU的工作,最为重要。

CPU依据指令周期的不同阶段来区分二进制的指令和数据,因为在指令周期的不同阶段,指令会命令CPU分别去取指令或者数据。

指令系统类型

指令系统类型
图3 指令系统类型
指令的组成:操作码 + 操作数
计算机指令执行过程:取指令–分析指令–执行指令三个步骤

指令流水线

原理: 指令流水线原理:将指令分成不同段,每段由不同的部分去处理,因此可以产生叠加的效果,所有的部件去处理指令的不同段
RISC中的流水线技术:

  1. 超流水线(Super Pipe Line)技术:通过细化流水、增加级数和提高主频,使得在每个机器周期内能完成一个甚至两个浮点操作。时间换空间
  2. 超标量(SuperScalar)技术: 它通过内装多条流水线来同时执行多个处理,其时钟频率虽然与一般流水接近,却有更小的CPI。空间换取时间
  3. 超长指令字(VeryLongInstruction Word,VLIW)技术:充分发挥软件的作用,而使硬件简化,实现性能提高性能,同时执行多条指令。

流水线时间计算

  • 流水线周期: 指令分成不同执行段,其中执行时间最长的段为流水线周期。

  • 流水线执行时间: 1条指令总执行时间+(总指令条数-1)*流水线周期

  • 流水线吞吐率计算: 吞吐率即单位时间内执行的指令条数。
    公式: 指令条数/流水线执行时间。

  • 流水线的加速比计算: 加速比即使用流水线后的效率提升度,即比不使用流水线快了多少倍,越高表明流水线效率越高。
    公式:不使用流水线执行时间/使用流水线执行时间

存储系统

在这里插入图片描述

  • 计算机采用分级存储体系的主要目的是为了解决存储容量、成本和速度之间的矛盾问题。
    两级存储:Cache-主存、主存-辅存(虚拟存储体系)
  • 局部性原理:总的来说,在CPU运行时,所访问的数据会趋向于一个较小的局部空间地址内,包括下面两个方面:
    时间局部性原理:如果一个数据项正在被访问,那么在近期它很可能会被再次访问,即在相邻的时间里会访问同一个数据项,典型原因是由于程序中存在着大量的循环操作
    空间局部性原理:在最近的将来会用到的数据的地址和现在正在访问的数据地址很可能是相近的,即相邻的空间地址会被连续访问,其典型情况是程序顺序执行
  • 高速缓存Cache用来存储当前最活跃的程序和数据,直接与CPU交互,位于CPU和主存之间,容量小,速度为内存的5-10倍,由半导体材料构成。其内容是主存内存的副本拷贝,对于程序员来说是透明的。
  • Cache控制部分存储器组成,存储器存储数据,控制部分判断CPU要访问的数据是否在Cache中,在则命中,不在则依据一定的算法从主存中替换。
  • 地址映射:在CPU工作时,送出的是主存单元的地址,而应从Cache存储器中读/写信息。这就需要将主存地址转换为Cache存储器地址,这种地址的转换称为地址映像,由硬件自动完成映射,分为下列三种方法:
    1. 直接映射:将cache存储器等分成块,主存也等分成块并编号,二者块号相同才能命中。
    2. 全相联映像:同样都等分成块并编号。主存中任意一块都与Cache中任意一块对应。因此可以随意调入Cache任意位置,但地址变换复杂,速度较慢。
    3. 组组相连映像:将Cache存储器先分块再分组,主存也同样先分块再分组,组间采用直接映像,即主存中组号与Cache中组号相同的组才能命中,但是组内全相联映像,也即组号相同的两个组内的所有块可以任意调换。

输入输出技术

图4
图4 输入输出效率

  • 计算机系统中存在多种内存与接口地址的编址方法,常见的是下面两种:

    1. 内存与接口地址独立编址方法:内存地址和接口地址是完全独立的两个地址空间。访问数据时所使用的指令也完全不同,用于接口的指令只用于接口的读/写。缺点是用于接口的指令太少、功能太弱。
    2. 内存与接口地址统一编址方法: 内存地址和接口地址统一在一个公共的地址空间,即内存单元和接口共用地址空间。优点是原则上用于内存的指令全都可以用于接口,这就大大地增强了对接口的操作功能,而且在指令上也不再区分内存或接口指令。缺点就在于整个地址空间被分成两部分,其中一部分分配给接口使用,剩余的为内存所用,这经常会导致内存地址不连续
  • 计算机和外设间的数据交互方式

    1. 程序控制(查询)方式:CPU主动查询外设是否完成数据传输,效率极低
    2. 程序中断方式: 外设完成数据传输后,向CPU发送中断,等待CPU处理数据效率相对较高。中断响应时间指的是从发出中断请求到开始进入中断处理程序。中断处理时间指的是从中断处理开始到中断处理结束。中断向量提供中断服务程序的入口地址。多级中断嵌套,使用堆栈来保护断点和现场。
    3. DMA方式(直接主存存取):CPU只需完成必要的初始化等操作,数据传输的整个过程都由DMA控制器来完成在主存和外设之间建立直接的数据通路,效率很高。
    4. 在一个总线周期结束后,CPU会响应DMA请求开始读取数据;CPU响应程序中断方式请求是在一条指令执行结束时。

总线结构

  • 总线(Bus): 重要特征是由总线上的所有设备共享,因此可以将计算机系统内的多种设备连接到总线上。
  • 从广义上讲,任何连接两个以上电子元器件的导线都可以称为总线,通常分为以下三类:
    内部总线: 芯片与处理器之间通信。
    系统总线: 计算机内各部分之间的连接,数据总线(并行数据传输位数)、地址总线(系统可管理的内存空间的大小)、控制总线(传送控制命令)。
    外部总线: 微机和外部设备的总线。

操作系统

操作系统的层次结构图
图5 操作系统的层次结构图

操作系统分类

定义

能有效地组织和管理系统中的各种软/硬件资源,合理地组织计算机系统工作流程,控制程序的执行,并且向用户提供一个良好的工作环境和友好的接口

作用

操作系统有三个重要的作用:

  1. 管理计算机中运行的程序和分配各种软硬件资源;
  2. 为用户提供友善的人机界面;
  3. 为应用程序的开发和运行提供一个高效率的平台。

操作系统的4个特征并发性共享性虚拟性不确定性
以下几种常见的操作系统:
操作系统分类
操作系统分类2
图6 操作系统分类图
备注: 嵌入式系统初始化过程按照自底向上、从硬件到软件的次序依次为:片级初始化板级初始化系统初始化

操作系统功能

功能

  • 进程管理: 进程控制、进程同步、进程通信和进程调度。
  • 文件管理: 文件存储空间管理、目录管理、文件的读/写管理和存取控制。
  • 存储管理: 主存储器“空间”,存储分配与回收、存储保护、地址映射(变换)和主存扩充。
  • 设备管理: 输入/输出设备的分配、启设备管理。
  • 作业管理: 任务、界面管理、人机交互、图形界面、语音控制和虚拟现实等。

进程管理

概念

进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。它由程序块进程控制块(PCB)数据块三部分组成。

  • 程序块:进程要做什么
  • PCB(唯一标志):怎么做?什么时候做?
  • 数据块(存放进程执行时所需数据):用什么做?在哪儿做?

备注:PCB是进程存在的唯一标志。内容包含进程标识符、状态、位置信息、控制信息、队列指针(链接同一状态的进程)、优先级、现场保护区等。

三态图

进程基础的状态是下左图中的三态图以及进程三态之间的转换。
三态图
三态图
等待:又被称为“睡眠”和“阻塞”。
三态图及其转化
进程三态的转化

进程与线程

进程的2个基本属性:可拥有资源的独立单位;可独立调度和分配资源的基本单位。【程序,进程,线程】
进程和线程
临界资源:诸进程间需要互斥方式对其进行共享的资源。(进程中访问临界资源的那段代码称为临界区)

进程管理——PV操作

P操作: 申请资源,S=S-1,若S>=0,则执行P操作的进程继续执行;
若S<0,则置该进程为阻塞状态(因为无可用资源),并将其插入阻塞队列。
V操作: 释放资源,S=S+1,若S>0,则执行V操作的进程继续执行;
若S<=0则从阻塞状态唤醒一个进程,并将其插入就绪队列(此时因为缺少资源被P操作阻塞的进程可以继续执行),然后执行V操作的进程继续。
进程管理--PV操作

  • 信号量:可以表示资源数量,且为全局变量。信号量存在范围区间,且信号量初值最大,当信号量为负数时,表示待补资源,绝对值即为排队进程数。
  • 原语:有多个步骤,要么都做要么都不做。

前趋图

前趋图

进程资源图

进程资源图用来表示进程和资源之间的分配和请求关系,如下图所示。
进程资源图

  • P代表进程,R代表资源,R方框中有几个圆球就表示有几个这种资源,在上图中,R1指向P1,表示R1有一个资源已经分配给了P1,P1指向R2,表示P1还需要请求一个R2资源才能执行。
  • 阻塞节点: 某进程所请求的资源已经全部分配完毕,无法获取所需资源,该进程被阻塞了无法继续。如上图中P2。
  • 非阻塞节点: 某进程所请求的资源还有剩余,可以分配给该进程继续运行。如上图中P1、P3。
  • 当一个进程资源图中所有进程都是阻塞节点时,即陷入死锁状态
  • 13
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Whitney_mao

您的认可和鼓励是持续分享的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值