计算机组成原理-中央处理器-指令流水线和多处理器

news/2024/11/27 23:45:52/

目录

一、指令流水线基本概念

1.1影响流水线的因素

1.1.1结构相关(资源冲突)

1.1.2 数据相关(数据冲突)

1.1.3 控制相关(控制冲突)

1. 2 流水线分类

 二、流水线的多发技术

2.1 超标量技术

2.2 超流水技术

  2.3 超长指令字

 三、五段式指令流水线

 四、多处理器系统基本概念

4.1 SISD(单指令流单数据流)

4.2 SIMD(单指令流多数据流)

 4.3 MISD(多指令流单数据流)

 4.4 MIMD(多指令流多数据流)

 4.5 向量处理器

 五、硬件多线程

5.1细粒度多线程

5.2 粗粒度多线程

5.3同时多线程(SMT)


一、指令流水线基本概念

IF:取指。

ID:指令译码器。

EX:执行运算器和计算地址

MEM:对存储器进行读写操作

WB:将指令执行结果写回寄存器堆

1.1影响流水线的因素

1.1.1结构相关(资源冲突)

由于多条指令在同一时刻争用同一资源而形成的冲突称为结构相关

1.1.2 数据相关(数据冲突)

数据相关指在一个程序中,存在必须等前一条指令执行完才能执行的后一条指令情况,则这两条指令即为数据相关

1.1.3 控制相关(控制冲突)

当流水线遇到转移指令和其他改变pc值的指令而造成断流时,会引起控制相关 

1. 2 流水线分类

 二、流水线的多发技术

2.1 超标量技术

2.2 超流水技术

  2.3 超长指令字

 三、五段式指令流水线

IF  :  ID  :  EX  :  MEM  :  WB

 四、多处理器系统基本概念

4.1 SISD(单指令流单数据流)

4.2 SIMD(单指令流多数据流)

 4.3 MISD(多指令流单数据流)

 4.4 MIMD(多指令流多数据流)

 4.5 向量处理器

SIMD的进阶

 

 五、硬件多线程

 

5.1细粒度多线程

5.2 粗粒度多线程

5.3同时多线程(SMT)

 


http://www.ppmy.cn/news/105254.html

相关文章

ai写作软件怎么写文章?这篇文章介绍三个好方法

在人工智能技术的迅速发展下,ai写作成为创作领域的一项炙手可热的新技术。随着越来越多的创作者开始借助ai写作工具,ai写作逐渐引起了广泛的关注。ai写作是指利用人工智能技术和自然语言处理算法,为创作者提供文章的初版。不过有很多小伙伴对…

3DMAX车缝线生成器插件使用方法详解

3dMax车缝线生成器插件,用于创建缝合对象和一个对象,以沿样条线或仅通过绘制选定边上的缝合之间的孔。 目前有两种类型的缝线,圆形缝线和平面缝线。对于给定类型的针脚,它们的厚度是最常用的。缝线的长度和间距以及旋转都可以很容易地调整,这些参数也可以随机设置,以创造…

利用引用计数对C++对象进行管理

利用引用计数对C对象进行管理 引用计数(reference count)是这样一个技巧,它允许有多个相同值的对象共享这个值的实现。 在引用计数中,每一个对象负责维护对象所有引用的计数值。当一个新的引用指向对象时,引用计数器…

数据库sqlserver-----触发器的插入,更新和删除

在学习触发器之前,先弄清DDL,DML,DQL,DCL的区别: http://t.csdn.cn/Le3wA 触发器就是当执行某个事件的时候触发另一个事件的执行,根据事件的触发时间可分为 before和after Before与After区别:before:(insert、update)可以对new…

rsync删除同步出错,rsync: failed to set times on ‘xxxx‘: Operation not permitted

错误消息 “rsync: failed to set times on ‘xxxx’: Operation not permitted” 表示在执行 rsync 命令时无法设置文件的时间属性。这通常是因为你没有足够的权限来更改文件的时间戳。 要解决这个问题,你可以尝试以下方法: 使用管理员权限执行 rsync …

并发编程 原子性 可见性 有序性

并发编程的三个重要特性 原子性所谓原子性是指在一次的操作或者多次操作中,要么所有的操作全部都得到了执行并且不会受到任何因素的干扰而中断,要么所有的操作都不执行。可见性可见性是指,当一个线程对共享变量进行了修改,那么另…

Spring Boot注解的使用细节

RequestParam: 1、在前端传入多个相同的属性时,若使用数组接收,则无需使用RequestParam注解。若使用集合接收,则须使用RequestParam来绑定参数。 2、当前端发送的属性名与服务端接收的不一致时,可以使用RequestParam&a…

java-反射

反射 示例代码 import java.lang.reflect.*; public class Example {public static void main(String[] args) throws Exception {// 获取 Class 对象Class<?> clazz Class.forName("java.lang.String");// 获取类名、包名和修饰符String className clazz…