软件设计师教程(第5版)第1章 计算机系统知识(更新中)

第1章 计算机系统知识

1.1 计算机系统基础知识

1.1.1 计算机系统硬件基本组成

计算机系统是由【硬件】和【软件】组成的。

计算机的基本硬件系统由【运算器】、【控制器】、【存储器】、【输入设备】和【输出设备】5大部件组成。

【CPU】是硬件系统的核心。

【运算器】、【控制器】等部件被集成在一起统称为中央处理单元(CPU)。

存储器分为【内部存储器】和【外部存储器】。

1.1.2 中央处理单元

中央处理单元(CPU)是计算机系统的核心部件,它负责获取程序指令、对指令进行【译码】并加以【执行】。

1 CPU的功能

(1)【程序控制】。(2)【操作控制】。(3)【时间控制】。(4)【数据处理】。此外,CPU还需要对系统内部和外部的【中断】(【异常】)做出响应,进行相应的处理。

2 CPU的组成

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

在这里插入图片描述

1)运算器

【运算器】由【算术逻辑单元】(【ALU】)、【累加寄存器】(【AC】)、【数据缓冲寄存器】(【DR】)和【状态条件寄存器】(【PSW】)等组成。

【算术逻辑单元】(【ALU】):算术运算,逻辑运算。

【累加寄存器】(【AC】):,为ALU提供一个工作区。例如,在执行一个减法运算前,先将被减数取出暂存在这个部件中。

【数据缓冲寄存器】(【DR】):暂时存放由内存储
器读/写的一条指令或一个数据字。作为CPU和内存、外部设备之间数据传送的中转站。

【状态条件寄存器】(【PSW】):主要分为状态标志和控制标志。

2)控制器

【控制器】一般包括【指令】控制逻辑、【时序】控制逻辑、【总线】控制逻辑和【中断】控制逻辑等几个部分。

【指令】控制逻辑要完成【取指令】、【分析指令】和【执行指令】的操作,其过程分为【取指令】、【指令译码】、【按指令操作码执行】、【形成下一条指令地址】等步骤。

控制器用到的寄存器:【指令寄存器】(【IR】)、【程序计数器】(【PC】)(又称【指令计数器】)、【地址寄存器】(【AR】)、【指令译码器】(【ID】)。

【时序控制逻辑】要为每条指令按时间顺序提供应有的控制信号。

【总线逻辑】是为多个功能部件服务的信息通路的控制电路。

【中断控制逻辑】用于控制各种中断请求,并根据优先级的高低对中断请求进行排队,逐个交给CPU处理。

3)寄存器组

【寄存器组】可分为【专用寄存器】和【通用寄存器】。

运算器和控制器中的寄存器是【专用】寄存器,其作用是固定的。

【通用】寄存器用途广泛并可由程序员规定其用途,其数目因处理器不同有所差异。

3 多核CPU

【核心】又称为【内核】,是CPU最重要的组成部分。

1.1.3 数据表示

1)原码、反码、补码和移码

【反码】:对于-1,先求1的原码00000001,然后取反11111110。

【补码】:对于-1,先求1的原码00000001,然后取反加一11111111。

【移码】:对于-1,先求1的原码00000001;再符号位变成一10000001;-1是负数,需要把符号位变成零00000001。-0和+0一样。

2)定点数和浮点数
(1)定点数

【定点数】:【定点整数】、【定点小数】。
在这里插入图片描述
带符号数的范围:【原码】和【反码】一样,【补码】和【移码】一样。

(2)浮点数

【浮点数】由【阶符】、【阶码】、【数符】、【尾数】组成。

在浮点表示法中,阶码为带符号的【纯整数】,尾数为带符号的【纯小数】。

浮点数所能表示的数值范围主要由【阶码】决定,所表示数值的精度则由【尾数】决定。

浮点数的阶码(包括1位阶符)用R位的【移码】表示,尾数(包括1位数符)用M位的【补码】表示。

在这里插入图片描述

1.1.4 校验码

绍常用的3种校验码:【奇偶校验码】、【海明码】和【循环冗余校验码】。

1 奇偶校验码

常用的奇偶校验码有3种:【水平】奇偶校验码、【垂直】奇偶校验码和【水平垂直】校验码。

水平偶校验示例:
1011001 0
1100100 1
0101110 0

垂直偶校验示例:
10110010
11001001
01011100
00100111(这一行是每列的奇偶校验位)

水平垂直偶校验码示例:
1011001 0
1100100 1
0101110 0
0010011 1(这一行是每列的奇偶校验位)

【水平垂直偶校验码】也叫【汉明码】,也叫【纵横奇偶校验】。

2 海明码

海明码的构成方法是在数据位之间的特定位置上插入k个校验位,通过扩大【码距】来实现检错和纠错。

【海明码】:设数据位是n位,校验位是k位,则n和k必须满足以下关系: 2 k ≥ n + k 2^k≥n+k 2kn+k

在这里插入图片描述

3 循环冗余校验码

在这里插入图片描述

循环冗余校验码是由两部分组成的,左边为【信息码】(【数据】),右边为【校验码】。

1.2 计算机体系结构

1.2.1 计算机体系结构的发展

1 计算机系统结构概述

【体系结构】由【结构】、【组织】、【实现】、【性能】4个基本方面组成。

【结构】指计算机系统各种硬件的互连。

【组织】指各种部件的动态联系与管理。

【实现】指各模块设计的组装完成。

【性能】指计算机系统的行为表现。

【计算机体系结构】(Computer Architecture)是指计算机的概念性结构和功能属性。

【计算机组织】(Computer Organization)是指计算机体系结构的逻辑实现,包括机器内的数据流和控制流的组成以及逻辑设计等(常称为计算机组成原理)。

【计算机实现】(Computer Implementation)是指是指计算机组织的物理实现。

2 计算机体系结构分类

从【宏观】上按处理机的数量进行分类,分为【单处理系统】、【并行处理与多处理系统】和【分布式处理系统】。

【单处理系统】(Uni-processing System)。利用一个处理单元与其他外部设备结合起来,实现存储、计算、通信、输入与输出等功能的系统。

【并行处理与多处理系统】(Parallel Processing and Multiprocessing System)。为了充分发挥问题求解过程中处理的并行性,将两个以上的处理机互连起来,彼此进行通信协调,以便共同求解一个大问题的计算机系统。

【分布式处理系统】(Distributed Processing System)。指物理上远距离而松耦合的多计算机系统。其中,物理上的远距离意味着通信时间与处理时间相比已不可忽略,在通信线路上的数据传输速率要比在处理机内部总线上传输慢得多,这也正是松耦合的含义。

从【微观】上按并行程度分类,有【Flynn分类法】、【冯泽云分类法】、【Handler分类法】和【Kuck分类法】。

Flynn把计算机系统的结构分为单指令流、单数据流(【SISD】),单指令流、多数据流(【SIMD】),多指令流、单数据流(【MISD】)和多指令流、多数据流(【MIMD】)4类。

冯泽云把计算机系统分成字串行位串行(【WSBS】)计算机、字并行位串行(【WPBS】)计算机、字串行位并行(【WSBP】)计算机和字并行位并行(【WPBP】)计算机4类。

汉德勒把计算机的硬件结构分为3个层次:【处理机级】、每个处理机中的【算逻单元级】、每个算逻单元中的【逻辑门电路级】。

Kuck把系统结构分为单指令流单执行流(【SISE】)、单指令流多执行流(【SIME】)、多指令流单执行流(【MISE】)和多指令流多执行流(【MIME】)4类。

3 指令系统

一个处理器支持的【指令】和指令的【字节级编码】称为其【指令集体系结构】(【ISA】)。

1)指令集体系结构的分类

按【暂存机制】分类,根据在CPU内部存储操作数的区别,可以把指令集体系分为3类:【堆栈】、【累加器】和【寄存器组】。

【通用寄存器】(【GPR】)的关键性优点是编译程序能有效地使用寄存器,无论是计算表达式的值,还是从全局的角度使用寄存器来保存变量的值。

2)CISC和RISC

RISC的关键技术:①重叠寄存器【窗口】技术。②【优化编译】技术。③【超流水】及【超标量】技术。④【硬布线逻辑】与【微程序】相结合在微程序技术中。

3)指令的流水处理

【指令控制方式】有【顺序方式】、【重叠方式】和【流水方式】3种。

【顺序方式】是指各条机器指令之间顺序串行地执行,执行完一条指令后才取下一条指令,而且每条机器指令内部的各个微操作也是顺序串行地执行。

【重叠方式】是指在解释第K条指令的操作完成之前就可以开始解释第K+1条指令。

【流水方式】是模仿工业生产过程的流水线(如汽车装配线)而提出的一种指令控制方式。

①从流水的【级别】上,可分为【部件级】、【处理机级】以及【系统级】的流水。

②从流水的【功能】上,可分为【单功能】流水线和【多功能】流水线。

③从流水的【连接】上,可分为【静态流水线】和【动态流水线】。

④从流水是否有【反馈回路】,可分为【线性】流水线和【非线性】流水线。

⑤从流水的【流动顺序】上,可分为【同步】流水线和【异步】流水线。

⑥从流水线的【数据表示】上,可分为【标量】流水线和【向量】流水线。

解决【局部性相关】有两种方法:【推后法】和【通路法】。

由于流水时机器同时解释多条指令,这些指令可能有对同一主存单元或同一寄存器的“【先写后读】”的要求,这时就出现了【相关】。

这种相关包括【指令相关】、【访存操作数相关】以及【通用寄存器组相关】等,它只影响相关的两条或几条指令,而且最多影响流水线的某些段推后工作,并不会改动指令缓冲器中预取到的指令内容,影响是局部的,所以称为【局部性相关】。

【推后法】是推后对相关单元的读,直至写入完成。

【通路法】设置相关专用通路,使得不必先把运算结果写入相关存储单元,再从这里读出后才能使用,而是经过相关专用通路直接使用运算结果,以加快速度。

转移指令(尤其是条件转移指令)与它后面的指令之间存在关联,使之不能同时解释。执行转移指令时,可能会改动指令缓冲器中预取到的指令内容,从而会造成流水线吞吐率和效率下降,比局部性相关的影响要严重得多,所以称为【全局性相关】。

解决【全局性相关】有3种方法:【猜测转移分支】、【加快和提前形成条件码】、【加快短循环程序】的处理。

RISC中采用的【流水技术】有3种:【超流水线】、【超标量】以及【超长指令字】。

【吞吐率】是指单位时间内流水线处理机流出的结果数。对指令而言,就是单位时间内执行的指令数。如果流水线的子过程所用时间不一样,则吞吐率 p p p应为最长子过程的倒数,即 p = 1 / m a x { Δ t 1 , Δ t 2 , ⋯ , Δ t m } p=1/max\{Δt_1,Δt_2, ⋯ ,Δt_m\} p=1/max{Δt1,Δt2,,Δtm}

流水线开始工作,需经过一定时间才能达到最大吞吐率,这就是【建立时间】。

流水线开始工作,需经过一定时间才能达到最大吞吐率,这就是【建立时间】。若m个子过程所用时间一样,均为 Δ t 0 Δt_0 Δt0,则建立时间 T 0 = m Δ t 0 T_0=mΔt_0 T0=mΔt0

4 阵列处理机、并行处理机和多处理机

【并行性】包括【同时性】和【并发性】。

【同时性】是指两个或两个以上的事件在同一时刻发生。

【并发性】是指两个或两个以上的事件在同一时间间隔内连续发生。

1.2.2 存储系统

1. 存储器的层次结构

在这里插入图片描述

2. 存储器的分类

按存储器所处的位置可分为【内存】和【外存】。

【内存】也称为【主存】。

【外存】也称为【辅存】。

按构成存储器的材料可分为【磁存储器】、【半导体存储器】和【光存储器】。

按存储器的工作方式可分为【读/写存储器】(【RAM】)和【只读存储器】。

只读存储器又可细分为【ROM】、【PROM】、【EPROM】和【EEPROM】等类型。

按访问方式可分为按【地址】访问的存储器和按【内容】访问的存储器。

按寻址方式可分为【随机】存储器、【顺序】存储器和【直接】存储器。

3. 相联存储器

【相联存储器】是一种按【内容】访问的存储器。

在这里插入图片描述

4. 高速缓存

Cache的地址映像有如下3种方法:【直接】映像、【全相联】映像、【组相联】映像。

【直接】映像是指主存的块与Cache块的对应关系是【固定】的。

在这里插入图片描述

【直接】映像方式的优点是地址变换很简单,缺点是灵活性差。例如,不同区号中块号相同的块无法同时调入Cache存储器,即使Cache存储器中有空着的块也不能利用。

36

  • 21
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

福大大架构师每日一题

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值