首页 > 其他分享 >软件设计师教程(第5版)第1章 计算机系统知识(更新中)

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

时间:2024-08-15 20:22:50浏览次数:13  
标签:计算机系统 教程 存储器 指令 寄存器 流水线 设计师 CPU

第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

相关文章

  • 博客建站6 - 一文搞懂域名解析(保姆级教程和原理讲解)
    1.本网站的系统架构2.(阿里云)域名解析配置2.1.快速配置2.2.自定义配置2.2.1.记录类型2.2.2.主机记录2.2.3.记录值2.2.4.解析请求来源3.域名解析原理3.1.什么是DNS3.2.DNS的解析原理3.2.1.1.本地查询3.2.2.2.客户机到服务器查询3.2.3.3.服务......
  • 全面掌握 Spring Cloud LoadBalancer:从自定义到策略优化的实战教程
    引言在微服务架构中,负载均衡是保障系统高效运行的关键技术之一。无论是服务端负载均衡还是客户端负载均衡,合理的负载均衡策略都能显著提升系统的稳定性和响应速度。本文将从基础概念入手,详细讲解如何在SpringCloud中实现和优化负载均衡,并结合实际案例,帮助读者快速上手并......
  • XMind 2024安装教程(Pro版)
    下载链接:https://docs.qq.com/doc/DSWZBQUtkeU1QS2N0软件介绍Xmind是一款全功能的思维导图和头脑风暴软件。像大脑的瑞士军刀一般,助你理清思路,捕捉创意。精良的设计,流畅的体验,强大的功能,多年精细打磨,为你提供极致的产品体验。全功能:提供9种专业的的思维导图结构,丰富的模......
  • EndNote21.4安装教程(最新版)
    下载链接:https://docs.qq.com/doc/DSVZXTVRvYXdEd21q软件介绍、EndNote文献管理软件是由科睿唯安公司开发的文献管理软件,可用于帮助研究人员管理和组织参考文献、引用和注释,从文献检索、组织科研活动、撰写论文,到发表文章和共享科研成果,助力机构用户加速科研流程。EndNote......
  • 【2024最新版版】PyCharm安装教程
    简介由于Python语法简单容易入门,并且Python在办公自动化等领域的功能非常强大,所以现在越来越多非IT行业的人也开始学起了Python,要学习和使用一门编程语言,一个好用的IDE是必不可少的,而对于Python来说,最好的IDE无疑是Pycharm。本文就给大家介绍一下如何从零到一来安装Pycharm......
  • Windows11 微软Microsoft官方制作系统U盘方法,系统安装最详细教程
    准备一个8G容量以上的U盘制作系统盘注意,在制作系统盘时会格式化U盘,所以最好准备个空U盘,请做好备份!防止资料丢失。因为做系统盘要清空原有U盘的所有数据。制作系统盘windows系统一般建议安装最新版本,如果习惯使用win10可以安装win10版本,如果是12代之后的英特尔CPU最好安装win11,对......
  • 《熬夜整理》保姆级系列教程-玩转Wireshark抓包神器教程(5)-Wireshark捕获设置
    1.简介WireShark的强大之处就在于不用你再做任何配置就可以抓取http或者https的包。今天宏哥主要是讲解和分享如何使用WireShark抓包。2.运行Wireshark安装好Wireshark以后,就可以运行它来捕获数据包了。方法如下:1.在Windows的“开始”菜单中,单击Wireshark菜单,如下图所示......
  • 最完整版Linux安装mysql8.0(保姆教程)
    目录前言删除已安装的mysql通过yum源安装mysql前言安装mysql可以通过yum源和压缩包两种方式安装,压缩包安装的mysql通常使用的是旧的SysVinit脚本,使用命令如:servicemysqlstart。如果想要交给服务器的任务管理器管理需要进行额外配置,配置中可能会出现一些问题,推荐使......
  • nexus安装及配置图文教程
    nexus安装及配置图文教程更新时间:2021年05月28日14:49:24  作者:我的宠物-王小兔 Nexus是Maven仓库管理器,通过nexus可以搭建maven仓库,同时nexus还提供强大的仓库管理功能,构件搜索功能等,文中有非常详细的图文介绍,对小伙伴们很有帮助,需要的朋友可以参考下+目......
  • Windows11 微软Microsoft官方系统安装、重装操作教程
    01系统镜像下载推荐到微软中国官网下载Windows正版系统,或者可以到第三方的系统镜像下载站获取下载链接,使用迅雷工具进行下载,我这里推荐两个下载站,如果不想弄迅雷下载那么麻烦,也可以用我的123盘分享下载还是那句话,非常不建议下载各种奇葩定制系统,大部分系统中有夹带私货,安全性和......