1.6、计算机系结构

Flynn分类法

Flynn分类法是1966年,M. J. Flynn提出的根据指令流、数据流的多倍性特征对计算机系统的分类方法。

  • 指令流为机器执行的指令序列。
  • 数据流是由指令调用的数据序列。包括输入数据和中间结果,不包括输出数据
    在这里插入图片描述

分类

Flynn把计算机系统的结构分为4类
记法:列个表格(看上图),纵列代表Data数据,横向代表Instruction指令

单指令流、单数据流(Single Instruction stream Single Data stream,SISD)

SISD机器是一种传统的串行计算机,它的硬件不支持任何形式的并行计算,所有的指令都是串行执行。并且在某个时钟周期内,CPU只能处理一个数据流。因此这种机器被称作单指令流单数据流机器。在早期的计算机都是SISD机器,如冯诺.依曼架构中的IBM PC机,早期的巨型机和许多8位的家用机等。

单指令流、多数据流(Single Instruction stream Multiple Data stream,SIMI)

SIMD是采用一个指令流处理多个数据流。这类机器在数字信号处理、图像处理、以及多媒体信息处理等领域非常有效。早期的单核计算机用的就是这种结构,另外需要额外注意GPU(显卡)采用的也是这样的品牌。

多指令流、单数据流(Multiple Instruction stream Single Data stream,MISD)

只是作为理论模型出现,没有投入到实际应用中。(需要额外记一下)

多指令流、多数据流(Multiple Instruction stream Multiple Data stream,MIMD)

当前主流计算机都是用的这种架构,比如Intel和AMD的双核处理器等都属于这个类型

总结

体系结构类型说明
单指令流单数据流
SISD
一种传统的串行计算机,
比如:冯诺.依曼架构,IBM PC机,早期的巨型机。
单指令流多数据流
SIMD
单核计算机、GPU,
在数字信号处理、图像处理、以及多媒体信息处理等领域非常有效。
多指令流单数据流
MISD
只是作为理论模型出现,没有投入到实际应用中
多指令流多数据流
MIMD
当前主流计算机,
如Intel和AMD的多核处理器。

练习题

Flynn分类法根据计算机在执行程序的过程中( )的不同组合,将计算机分为4类。当前主流的多核计算机属于( )计算机。
A.指令流和数据流
B.数据流和控制流
C.指令流和控制流
D.数据流和总线带宽

A.SISD
B.SIMD
C.MISD
D.MIMD

答案:A D

CISC与RISC

指令系统:CISC(Complex Instruction Set Computer,复杂指令集计算机)和RISC(Reduced Instruction Computer,精简指令集计算机)
这部分内容在考试中考得不会太深,大家只需要掌握下列表格里的CISC和RISC的比对特点就可以了

指令系统类型指令寻址方式实现方式其他代表
CISC(复杂)数量多,使用频率差别大,可变长格式支持多种微程序控制技术
(微码)
研制周期长X86
RISC(精简)数量少,使用频率接近,定长格式,大部分为单周期指令,操作寄存器, 只有Load/Store操作内存支持方式少增加了通用寄存器;硬布线逻辑控制为主; 适合采用流水线优化编译,有效支持高级语言,例如JAVARISC-V
ARM

练习题

以下关于RISC和CISC的叙述中,不正确的是( )(2022年上半年)
A.RISC的大多指令在一个时钟周期内完成
B.RISC普遍采用微程序控制器,CISC则普遍采用硬布线控制器
C.RISC的指令种类和寻指方式相对于CISC更少
D.RISC和CISC都采用流水线技术

答案:B

流水线

前面提到的CISC和RISC都采用流水线。其中RISC更适合流水线,那什么是流水线呢?
流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。
各种部件同时处理是针对不同指令而言的,它们可同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度。
在这里插入图片描述
看上图,我们将一个指令的具体过程分成取指、分析、执行三个步骤。每个步骤都会用到不同的硬件,取指有取指设备,分析有分析设备,执行有执行设备。
假设取指、分析、执行每一个步骤都用的时间都是1ms,那顺序来看的话,我们把它就做顺序执行过程。
在这个过程当中,第一条指令我们用红色标记,取指、分析、执行这一段时间用了3ms。然后紧接着又开始了第二条指令,我们用蓝色标记,它从第3ms开始取指、分析、执行也是用了3ms。第三条指令我们用黄色标记,在第二条指令结束后,马上就开始了取指、分析和执行,也用了3ms。一共用了9ms的时间。
每一条指令一次顺序执行形成一个指令串,看起来好像是新云流水,没有任何空闲,但是放大拉开来看,我们用时空图(上图右下角)来看。我们会发现这里有时间空余,那都是空出来的时间。
假如我们把这些步骤左移,把这些空余时间都利用起来,那么就形成了新的时空图(上图左下角)。它也是取指、分析和执行,但是会显得更加紧凑。首先它把各个设备空余的时间片都利用起来,其次它提高了每个部件的执行效率,而最关键的是从时空图可以看到同样是执行三条指令只需要5ms,而刚刚按顺序执行需要9ms。所以使用流水线的执行效率是非常高的。
针对每个部件来看:我们的空闲时间都减少了,每个部件的利用率也都会显著的提高。
那流水线执行的过程来看:在某一个时间点上看会发现第一、第二、第三条指令在不同的部件上同时运行起来了(左下角时序图的2-3ms之间)。
在取指、分析、执行三个设备上同时运行起来的过程就就做准并行。准并行并不是真正的并行,大家齐头并进同时开始,而这里它并没有同时开始只是在某个时间上在不同的部件上形成了准并行的结构

流水线计算公式

在这里插入图片描述
流水线周期为执行时间最长的一段
流水线计算公式为:
第1条指令执行时间+(指令条数-1)* 流水线周期

  • 理论公式:(t1+t2+…+tk)+(n-1)*t
    K是一条指令可以分解为K个步骤
    t是流水线周期
    考试默认用理论公式,若没有答案再用实践公式
  • 实践公式:K*t+(n-1)*t

题目

一条指令的执行过程可以分解为取指、分析和执行三步,在取指时间t取指=3△t、分析时间t分析=2△t、执行时间t执行=4△t的情况下,若按串行方式执行,则10条指令全部执行完需要( )△t;若按流水线的方式执行,流水线周期为( )△t,则10条指令全部执行完需要( )△t。

答案:
(3△t+2△t+4△t)*10
4△t
(3△t+2△t+4△t)+ (10-1) * 4△t

吞吐率和加速比

流水线的吞吐率(Though Put rate,TP)是指在单位时间内流水线所完成的任务数量或输出的结果数量。
计算流水线吞吐率的最基本公式如下:

T P = 指令条数 流水线执行时间 TP=\frac{指令条数}{流水线执行时间} TP=流水线执行时间指令条数

流水线最大吞吐率:(记住,考试直接使用)

T P m a x = lim ⁡ n → ∞ n ( k + n − 1 ) t = 1 t TP_{max}=\begin{aligned} \lim_{n\to \infty} \tfrac{n}{(k+n-1)t} \end{aligned}=\frac{1}{t} TPmax=nlim(k+n1)tn=t1

流水线的加速比是指完成同样一批任务,不使用流水线所用的时间与使用流水线所用的时间之比。

S = 不使用流水线执行时间 使用流水线执行时间 S=\frac{不使用流水线执行时间}{使用流水线执行时间} S=使用流水线执行时间不使用流水线执行时间

练习题

执行指令时,将每一节指令都分解为取指、分析和执行三步。已知取指时间5△t,分析时间2△t,执行时间3△t,如果按照取指、分析、执行重叠的流水线方式执行指令,从头到尾执行完500条指令需( )△t。(2019年下半年)
A. 2500
B. 2505
C. 2510
D. 2515

答案:B
理论公式 (5△t+2△t+3△t)+(500-1)*5△t = 2505△t
实践公式3 * 5△t +(500-1)*5△t = 2510△t
默认用理论公式

冯诺依曼结构和哈佛结构

在考试当中,偶尔会出一道选择题

冯诺依曼结构

冯·诺伊曼结构也称普林斯顿结构,在1946年第一台计算机诞生,人类从此进入了计算机时代。后来由美籍的匈牙利数学家:冯.诺依曼提出了计算机“存储程序”的计算机设计理念,也就是将计算机指令进行编码后存储在计算机的存储器中,需要的时候可以顺序地执行程序代码,从而控制计算机运行,这就是冯.诺依曼计算机体系的开端。

冯.诺依曼结构的核心设计思想主要体现在如下三个方面:

  1. 程序、数据的最终形态都是二进制编码。程序和数据都是以二进制方式存储在存储器中的,二进制编码也是计算机能够所识别的可执行编码。
  2. 程序、数据和指令序列都是事先存在内存当中,以便计算机在工作时能够高速地从内存当中取得指令并加以分析和执行。
  3. 确定了计算机的五个基本组成部分分别是运算器、控制器、存储器以及输入设备和输出设备(I/O设备)

冯诺依曼结构是一种将程序指令存储器和数据存储器合并在一起的存储器结构。另外哈佛结构是将程序指令存储器和数据存储器分开的存储器结构。这个区别需要记住

特点:

  • 冯诺依曼结构一般用于PC处理器,我们的电脑基本上都是冯诺依曼结构。无论CPU是AMD、英特尔的酷睿i3,i5,i7处理器,都属于冯诺依曼结构
  • 指令与数据存储器合并在一起
  • 指令与数据都通过相同的数据总线传输。这一点也和哈佛结构有区别

哈佛结构

在这里插入图片描述

哈佛架构(Harvard architecture)是一种计算机体系结构,与冯·诺依曼架构相对。它以哈佛大学计算机实验室在20世纪40年代开发的哈佛Mark I计算机为基础,并以其命名。

  • 一种将程序指令存储和数据存储分开的存储器结构。
  • 一种并行体系结构,主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个独立的存储器,每个存储器独立编址、独立访问。

特点:

  • 一般用于嵌入式系统处理器(DSP)数字信号处~(DSP,Digital SignalProcessing)~ (历年考过)
  • 指令与数据分开存储,可以并行读取,有较高数据的吞吐率;
  • 四条总线:指令和数据的数据总线与地址总线。

总结

区别:如何处理指令和数据
冯诺依曼结构:指令和数据存放在同一个存储器当中。CPU只能执行一条指令,因为需要等待指令和数据都被读取到CPU当中
哈佛结构:指令和数据存储在不同的存储器当中。CPU可以同时的访问指令和数据的内存,因此可以同时执行多条指令

冯诺依曼结构
缺点

  • 在同时存储指令和数据的情况下,会导致存储器和处理器之间效率相对于哈佛结构低一些
  • 在存储器当中,指令和数据是合并在一起存储的。指令可以被当做数据进行处理。因此程序可以动态的修改自身的代码,这样就容易收到病毒和恶意程序的攻击。
  • 位宽需要相同

优点:简单,易于设计,所以是当前主流PC的处理器

哈佛结构:有两个单独的处理器,就像多车道一样
优点

  • 因为程序和数据可以单独运行,运行效率会更高一些
  • 指令和数据分开存储,因此程序无法直接修改自身的代码,这样会更加安全
  • 位宽可以不同

缺点:实现复杂,只能适用于一些特定的领域比如DSP

冯·诺伊曼结构哈佛结构
也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。一种将程序指令存储和数据存储分开的存储器结构。
一种并行体系结构,主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个独立的存储器,每个存储器独立编址、独立访问。
(1)一般用于PC处理器,如AMD、英特尔的酷睿i3,i5,i7处理器;
(2)指令与数据存储器合并在一起;
(3)指令与数据都通过相同的数据总线传输。
(1)一般用于嵌入式系统处理器(DSP)数字信号处~(DSP,Digital SignalProcessing);~
(2)指令与数据分开存储,可以并行读取,有较高数据的吞吐率;
(3)四条总线:指令和数据的数据总线与地址总线。

练习题

  1. 目前处理器市场中存在CPU、GPU和DSP多种类型处理器,分别用于不同场景,这些处理器具有不同的体系结构,DSP采用( )。
    A. 冯.诺依曼结构
    B. 哈佛结构
    C. FPGA结构
    D. 与GPU相同结构

答案:B

以下关于冯诺依曼计算机的叙述中,不正确的是( )(2022年上半年)
A.程序指令和数据都采用二进制表示
B.程序指令总是存储在主存中,而数据则存储在高速缓存中
C.程序的功能都由中央处理器(CPU)执行指令来实现
D.程序的执行工作由指令进行自动控制

答案:B

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/874687.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

初学MWA(Modern Web App)那些事-3-做一个简单的计算器

初学MWA(Modern Web App)那些事-3-做一个简单的计算器 目录 初学MWA(Modern Web App)那些事-3-做一个简单的计算器前言一、本节学习目标二、计算器实例项目创建过程2.1 创建一个HTML文档2.2 查看新建的html文档2.3 Web应用开发:初始化设置2.4…

linux C++ onnxruntime yolov8 视频检测Demo

linux C onnxruntime yolov8 视频检测Demo 目录 项目目录 效果 ​编辑CMakeLists.txt 代码 下载 项目目录 效果 ./yolov8_demo --help ./yolov8_demo -c2 -ptrue ./yolov8_demo -c1 -strue CMakeLists.txt # cmake needs this line cmake_minimum_required(VERSION 3…

AMD EPYC处理器性能宣称远超Nvidia Grace CPU

AMD近期发布了一份博客文章,其中对比了其EPYC处理器与Nvidia Grace Hopper Superchip(基于Arm架构的72核CPU)在一系列基准测试中的性能,声称EPYC处理器在多种工作负载下的表现最多可高出两倍。这一比较突显了AMD在数据中心CPU市场…

Covalent(CXT)运营商网络规模扩大 42%,以满足激增的需求

Covalent Network(CXT)是领先的人工智能模块化数据基础设施,网络集成了超过 230 条链并积累了数千名客户,目前 Covalent Network(CXT)网络迎来了五位新运营商的加入,包括 Graphyte Labs、PierTw…

使用PicGo操作gitee图床(及web端html不能访问图片的解决办法)

1.新建仓库 2.输入仓库名称,也就是图床名称,必须设置开源可见 也可以在创建仓库后,点击管理->基本信息->是否开源进行设置 鼠标悬浮到右上角头像->设置 点击私人令牌 点击生成新令牌,填写描述,直接点提交即可 点击提交后输入登录密码会生成一个token秘钥,如下,这个…

【C++】——初识模版

文章目录 前言函数模版函数模版的原理函数模版的实例化 类模版类模版的实例化 前言 当我们使用一个通用的函数: //为每一个类型都编写一个重载版本 void Swap(int& left, int& right) {int temp left;left right;right temp; } void Swap(double& …

在Linux、Windows和macOS上释放IP地址并重新获取新IP地址的方法

文章目录 LinuxWindowsmacOS 在Linux、Windows和macOS上释放IP地址并重新获取新IP地址的方法各有不同。以下是针对每种操作系统的详细步骤: Linux 使用DHCP客户端:大多数Linux发行版都使用DHCP(动态主机配置协议)来自动获取IP地址…

七、系统配置与性能评价(考点篇)

1 性能指标 性能指标,是软、硬件的性能指标的集成。在硬件中,包括计算机、各种通信交换设备、各类网 络设备等;在软件中,包括:操作系统、协议以及应用程序等。 1.计算机 对计算机评价的主要性能指标有: 时…

【嵌入式开发之数据结构】树的基本概念、逻辑结构和四种常用的遍历算法及实现

树(Tree)的定义及基本概念 树的定义 树(Tree)是个结点的有限集合T,它满足两个条件: 有且仅有一个特定的称为根(Root)的节点;其余的节点分为个互不相交的有限合集,其中每一个集合又…

日常开发记录分享——C#控件ToolTip实现分栏显示内容

文章目录 需求来源实现思路实施请看VCR等等别走,有优化 需求来源 需要在鼠标浮动到指定位置后提示出详细的信息,一开始使用的tooltip实现,但是里面的内容效果并不理想,需要有条理性,于是就想到能不能将展示的东西分列…

【Goland编辑器】Goland编辑器设置代码跳转的地方

记录一下: 关闭了插件里面proto相关的插件后, 在这里将Custom folding regions打开后, 点击代码跳转时,由proto生成的文件,就不会再跳转到proto定义处,而是跳转到代码使用的地方【正是我需要的】。

PHP接入consul,注册服务和发现服务【学习笔记】

PHP接入consul,注册服务和发现服务 consul安装 链接: consul安装 启动consul C:\Users\14684>consul agent -dev安装TP5 composer create-project topthink/think5.0.* tp5_pro --prefer-dist配置consul 创建tp5_pro/application/service/Consul.php <?php /*****…

linux版mysql8配置表名不区分大小写

mysql8的安装步骤可参考&#xff1a; mysql8的安装步骤 如果在安装mysql8&#xff0c;初始化之前&#xff0c;没有在my.cnf配置忽略大小写配置&#xff1a; [mysqld] lower_case_table_names1我们就需要重新初始化mysql 1 备份数据库文件 2 停止mysql服务 systemctl stop …

iOS开发设计模式篇第一篇MVC设计模式

目录 1. 引言 2.概念 1.Model 1.职责 2.实现 3.和Controller通信 1.Contrller直接访问Model 2.通过委托(Delegate)模式 3.通知 4.KVO 4.设计的建议 2.View 1.职责 2.实现 3.和Controller通信 1. 目标-动作&#xff08;Target-Action&#xff09;模式 2…

尾气处理系统工作原理

尾气处理系统工作原理 尾气处理系统是汽车发动机排放净化的重要部分&#xff0c;其中主要包括三元催化器、颗粒捕集器和尿素喷射系统等。以下是尾气处理系统的工作原理&#xff1a; 三元催化器&#xff1a;三元催化器是尾气处理系统中最常见的部件&#xff0c;三元催化器是尾气…

汉明权重(Hamming Weight)(统计数据中1的个数)VP-SWAR算法

汉明权重&#xff08;Hamming Weight&#xff09;&#xff08;统计数据中1的个数&#xff09;VP-SWAR算法 定义 汉明重量是一串符号中非零符号的个数。它等于同样长度的全零符号串的汉明距离(在信息论中&#xff0c;两个等长字符串之间的汉明距离等于两个字符串对应位置的不同…

USB转多路串口 - USB CDC设备枚举

先上参考资料&#xff1a; ST社区的&#xff1a; <<USB CDC类入门培训.pdf>>STM32 USB如何配置多个CDC设备状态与枚举过程CDC串口之从认识到认知 USB CDC 类基础 CDC(Communication Device Class)类是 USB2.0 标准下的一个子类&#xff0c;定义了通信相关设备的抽…

在Ubuntu上安装移远EC200M驱动

最近公司在做降本相关工作&#xff0c;考虑移远 EC20 4G模组成本较高&#xff0c;希望通过更低成本替换硬件&#xff0c;最后找到EC200M芯片&#xff0c;虽然EC200M速率(最大下行10M/s 最大上行5M/s)上低于EC20&#xff08;最大下行150M/s 最大上行50M/s&#xff09;,基本上可以…

tongue通lingual:灵根,舌也!

灵&#xff0c;指心灵、精神意识&#xff1b;灵根&#xff1a;汉语“灵根”&#xff0c;通常指人的舌头主。舌头是人心灵的表达根器&#xff0c;因此&#xff0c;灵根——指心灵外化的肉身凭据、可以像树根&#xff08;或一切植物根部&#xff09;一样延伸、像树根一样重要身体…

磁感应传感器 - 从零开始认识各种传感器【第十二期】

1、什么是磁感应传感器 磁感应传感器又叫做磁力计&#xff0c;是可以测量磁场大小或方向的设备。因为地球本质上是一个巨大的磁铁。磁力计可让您测量空间中某一点的磁场强度以及磁场方向。 图1 磁力计 磁力计已广泛应用于各种应用。它们用于测量地球磁场、地理测量、探测潜艇…