第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 2k≥n+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
标签:计算机系统,教程,存储器,指令,寄存器,流水线,设计师,CPU From: https://blog.csdn.net/weixin_48502062/article/details/141210955