计组期末复习-第五章CPU(白中英教材)

2024-06-23 06:36

本文主要是介绍计组期末复习-第五章CPU(白中英教材),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、微指令、微程序、微命令关系

二、绘制指令周期流程图

ADD R2,R0

SUB R1,R3

STO R1,[R2] 

LAR (R3),R0

三、数据通路微操作类型判断

四、微程序控制方式

1. 微命令编码两种方式:

2. 水平型微指令格式

3.计算下地址字段位数

4.控制存储器容量的计算

五、流水线

1. 吞吐率、加速比计算

2. 周期

3. 冒险


一、微指令、微程序、微命令关系

  1. 微指令周期=CPU周期=机器周期;微程序周期=指令周期。

(图的来源忘了,如果有人知道请提醒我,我标注上。)

二、绘制指令周期流程图

根据上图,做出以下指令的指令周期流程图。

ADD R2,R0

(R0)+(R2)→R0 (有的教材规定R2是目的,有的规定R0是目的。)

PCo 的意思是PC out   ARi的意思是AR in  两者合起来意思为 从PC出来,放到AR

其中取指周期这三个是固定的,背下来。

SUB R1,R3

(R3) -(R1)→R3

STO R1,[R2] 

R1->[R2]

LAR (R3),R0

[R3]->R0

三、数据通路微操作类型判断

相斥性和相容性。

四、微程序控制方式

1. 微命令编码两种方式:

  1. 直接表示法(直接编码法/直接控制法):每一位代表一个微指令;
  2. 编码表示法(字段直接编码):把一组相斥性的微命令组成一个小组。 

例题:

7<= 2^3-1 (注意要减一,我忘了为啥了,反正就是要减。所以8需要4位,不能8<=2^3)

以此内推。这五个微命令分别对应3,2,4,3,3位。相加为15位。

2. 水平型微指令格式

格式:控制字段+判别测试字段+下地址字段。

  • 测试字段由转移条件决定,默认这些条件互斥,按照直接编码,有几个条件就是几位。
  • 下地址字段看地址个数,eg:存储容量为512*32bit。512=2^9 对应9位地址
  • 控制字段由微操作、微命令决定。注意编码方式。

例题:

3.计算下地址字段位数

取指令跟这些指令和他们的微指令没关系,取完指令后才执行这些指令,他们是分开计算的,这几个指令的微指令不包含“取指令”。

4.控制存储器容量的计算

微指令字长*可访问存储单元个数。

五、流水线

1. 吞吐率、加速比计算

(请忽略我的字)

2. 周期

(2)是把取数放到送的后面。(3)是取数和送可以在同一时钟周期。

(2)

3. 冒险

数据相关的类型:“先读后写”相关,“写-写”相关,“先写后读”相关。

自己作图:主要看读数、写数这两步。

这篇关于计组期末复习-第五章CPU(白中英教材)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1086396

相关文章

Linux进程CPU绑定优化与实践过程

《Linux进程CPU绑定优化与实践过程》Linux支持进程绑定至特定CPU核心,通过sched_setaffinity系统调用和taskset工具实现,优化缓存效率与上下文切换,提升多核计算性能,适... 目录1. 多核处理器及并行计算概念1.1 多核处理器架构概述1.2 并行计算的含义及重要性1.3 并

Linux下进程的CPU配置与线程绑定过程

《Linux下进程的CPU配置与线程绑定过程》本文介绍Linux系统中基于进程和线程的CPU配置方法,通过taskset命令和pthread库调整亲和力,将进程/线程绑定到特定CPU核心以优化资源分配... 目录1 基于进程的CPU配置1.1 对CPU亲和力的配置1.2 绑定进程到指定CPU核上运行2 基于

Java进程CPU使用率过高排查步骤详细讲解

《Java进程CPU使用率过高排查步骤详细讲解》:本文主要介绍Java进程CPU使用率过高排查的相关资料,针对Java进程CPU使用率高的问题,我们可以遵循以下步骤进行排查和优化,文中通过代码介绍... 目录前言一、初步定位问题1.1 确认进程状态1.2 确定Java进程ID1.3 快速生成线程堆栈二、分析

conda安装GPU版pytorch默认却是cpu版本

《conda安装GPU版pytorch默认却是cpu版本》本文主要介绍了遇到Conda安装PyTorchGPU版本却默认安装CPU的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目录一、问题描述二、网上解决方案罗列【此节为反面方案罗列!!!】三、发现的根本原因[独家]3.1 p

Linux CPU飙升排查五步法解读

《LinuxCPU飙升排查五步法解读》:本文主要介绍LinuxCPU飙升排查五步法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录排查思路-五步法1. top命令定位应用进程pid2.php top-Hp[pid]定位应用进程对应的线程tid3. printf"%

判断PyTorch是GPU版还是CPU版的方法小结

《判断PyTorch是GPU版还是CPU版的方法小结》PyTorch作为当前最流行的深度学习框架之一,支持在CPU和GPU(NVIDIACUDA)上运行,所以对于深度学习开发者来说,正确识别PyTor... 目录前言为什么需要区分GPU和CPU版本?性能差异硬件要求如何检查PyTorch版本?方法1:使用命

Android如何获取当前CPU频率和占用率

《Android如何获取当前CPU频率和占用率》最近在优化App的性能,需要获取当前CPU视频频率和占用率,所以本文小编就来和大家总结一下如何在Android中获取当前CPU频率和占用率吧... 最近在优化 App 的性能,需要获取当前 CPU视频频率和占用率,通过查询资料,大致思路如下:目前没有标准的

Go使用pprof进行CPU,内存和阻塞情况分析

《Go使用pprof进行CPU,内存和阻塞情况分析》Go语言提供了强大的pprof工具,用于分析CPU、内存、Goroutine阻塞等性能问题,帮助开发者优化程序,提高运行效率,下面我们就来深入了解下... 目录1. pprof 介绍2. 快速上手:启用 pprof3. CPU Profiling:分析 C

MySQL的cpu使用率100%的问题排查流程

《MySQL的cpu使用率100%的问题排查流程》线上mysql服务器经常性出现cpu使用率100%的告警,因此本文整理一下排查该问题的常规流程,文中通过代码示例讲解的非常详细,对大家的学习或工作有一... 目录1. 确认CPU占用来源2. 实时分析mysql活动3. 分析慢查询与执行计划4. 检查索引与表

使用Python检查CPU型号并弹出警告信息

《使用Python检查CPU型号并弹出警告信息》本教程将指导你如何编写一个Python程序,该程序能够在启动时检查计算机的CPU型号,如果检测到CPU型号包含“I3”,则会弹出一个警告窗口,感兴趣的小... 目录教程目标方法一所需库步骤一:安装所需库步骤二:编写python程序步骤三:运行程序注意事项方法二