国科大计算机体系结构期末考试——停更,手写更快

news2024/12/27 10:46:54

题型一、第二章的画图

给一个逻辑表达式,画出晶体管级别的电路图

cmos电路的基本电路:

与非门的功能是对多个输入信号进行逻辑与操作,然后对结果进行取反。

或非门的功能是对多个输入信号进行逻辑或操作,然后对结果进行取反。

非门(NOT gate),也称为反相器(inverter)

将表达式用CMOS支持的门表示

所以与门有两级延迟,因为

与门需要用与非门和非门串联实现

或门需要用或非门和非门串联实现

上图中重要的这一条,AB的与的非等于AB分别取非然后或,相当于非 把括号里面的东西都非了一遍

AB的或的非,等于AB分别非的与

怎么画

难道这样表示

如果是反向n管变成p管,串联变成并联,接地GND变成接入VDD,

都是N管接地,P管接电

正反逻辑串联等于整个表达式的非

如上图,下面一半是N管的表达,上面一半是P管的表达,正反逻辑串联起来,得到表达式的非 

两级与非表达与或

例子

这个用了8个晶体管,因为

是这个与非门的电路图

题型二、 第二章触发器相关计算(较难,可能不考)给出一个触发器,然后给出延迟

2.1 RS触发器

nc表示not care 不关心状态

R表示reset,S表示Setup

RS触发器组合形成D触发器

C为时钟,D是数据,个人感觉C的意思更像是Control,控制

意思是,在C等于1的时候,D能把值传递给Q,如果C=0,S和R一直等于1,原来的值不变

这是一个非门,不是二极管!!

相关参数理解和计算

之前写verilog在FPGA上仿真就碰到过这个情况,上升沿来了,但是值没有存好,今天正好看看

setup time:

里面(这样下一回合时钟过来从1变零的时候,触发锁存锁的就是正确的值),因为后面C变成0之后,就不能再存数据了。D的值在被采集采集完毕之前,需要setup坚挺的时间,我的理解是需要的采集到第一个Q的需要的时间。

hold time:

想要稳定采集到D之前的值,那么在时钟的下降沿(因为图中的C端没有接反相器,是下降沿触发储存D的数据)之后的一段时间内,D不能变化,因为控制信号沿着下图所示路径到达与或们需要时间,如果是下降沿触发,C端还需要一个反相器,延迟就从0变成一个反相器的延迟,两个门的延迟

clock to q:

是在下图

触发器的延迟等于setuptime + clock to q,但是也要保持住hold time

给C增加一个反相器,hold time 加一级, setup 就可以减一级,clock to q 增加一级

这个传输门算是一个二极管,不过选择的是高低电平是否能通过

Tlh,time from low to high 时间从低到高

题型三、使用LL/SC的同步原语

题型四、静态流水线时空图和代码流水线优化

1、一般的指令,执行了之后就能前递给另一条指令的EX执行级

2、load 指令会是要在MEM 级才能拿到值,然后用于前递的。

3、黑色字体的一般是和别的一起组合,红色字体未必??,优先顺成一个流水线??

不对,有三个空格都可以写ID,那么就写在能写的最右边。

4、加法指令只能WB写回之后   前递到ID级吗?

无旁路,那就只能WB写回,然后传给需要的那一级的ID译码阶段

有旁路,就能直接传递到执行级

改一下,无旁路,WB写回传递给EX

有旁路,LD指令MEM级传递写回给加法指令,别的在EX执行级就可以写回给加法指令

5、单发射就是如果有两条指令都可以执行了,但是上一条指令还没执行完,下一条的执行只能等待它执行完毕才能执行,表现在时空图上就是——红字的ID和IF很多

疑问

期末考试复习题的静态流水线第三题,R0是个什么东西,先背着,看看最后一节课的视频下来恶了,能不能知道为什么

会不会有这么一种可能,不添加声明的寄存器的值,默认为零

加法指令难道一定只能前递到译码级,需要知道两个加法数的值吗? 

对于加法指令,在译码阶段(Instruction Decode)只需要知道操作数的寄存器标识符(例如R1和R2),而不需要实际的操作数值。译码阶段的主要任务是解析指令并准备执行所需的操作。

为什么第一题,第一个加法指令的R2写回了,传递给的是译码ID级,第二个加法指令,前递给的是执行级呢?

猜测,WB只能给到ID,但是MEM可以前递到执行级

第二题:同一周期内寄存器的读和写能进行旁路,意味着从ID译码级就可以传递数据出去

not taken 就是预测不正确,在转移指令到了执行级,也就是 BNEZ等跳转指令 ,猜测不需要跳转到Loop,那么就会直接执行Nop指令,   等跳转指令到了EX级发现错了,再重新对正确的指令取指IF

题型五、动态流水线+循环展开

循环的延迟级大头是LD然后计算,然后写回,
得出技巧:

1、把下一级的LD一起放到前面

2、把SW偏移一下(在上面+了偏移,下面存回去的时候一定要记得修正正确,是第几第几个循环),然后放到末尾

3、循环体计算下标的指令,往计算部分塞

4、分支判断指令一定是倒数第二条,然后考虑用SW指令替代延迟槽

5、根据舒服的方法,判断是taken还是not taken

6、如果排了两个循环发现还是有问题,那就再加一个循环进去

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

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

相关文章

适用于安防 音响 车载等产品中中的音频接口选型分析

在人工智能兴起之后,安防市场就成为了其全球最大的市场,也是成功落地的最主要场景之一。对于安防应用而言,智慧摄像头、智慧交通、智慧城市等概念的不断涌现,对于芯片产业催生出海量需求。今天,我将为大家梳理GLOBALCH…

怎么使用EIDE进行调试STM32单片机?

cortex-debug 用法 - Blog - Embedded IDE Forum (em-ide.com) 【VScode Embedded IDE】Keil工程导入VScode,与Keil协同开发MCU_vscode编辑keil工程-CSDN博客 Vscode EIDECortex Debug搭建STM32开发仿真环境_vscode cortex-debug-CSDN博客 可以结合一下上述三位大…

帆软report 设置条件属性,值为负数标为红色功能时,不生效

详细情况: 在设置负数为红色功能前,已经有一个条件属性,数据集获取的值为空或者为0时,转换成 - 符号。如下图: 具体表单显示效果如下: 条件属性2设置 原因 因为条件属性1设置的 - 符号没有设置颜色&#xf…

怎么做拼团链接_生鲜果蔬商家都在用的小程序拼团系统

拼团链接:重塑营销新格局 在当今这个信息爆炸的时代,消费者面对海量信息,选择变得尤为重要。如何在众多品牌中脱颖而出,让消费者愿意主动为你驻足?答案就是——拼团链接。 拼团,是一种社交电商的创新形式。…

【网络】网络层ICMP协议

🦄 个人主页——🎐开着拖拉机回家_Linux,大数据运维-CSDN博客 🎐✨🍁 🪁🍁🪁🍁🪁🍁🪁🍁 🪁🍁🪁&am…

STM32的USB设备库

适用范围:“on the STM32F10xxx,STM32F37xxx, STM32F30xxx and STM32L15xxx devices.” STM32_USB-FS-Device_Lib_V4.0.0.rar(访问密码:1666)https://url48.ctfile.com/f/33868548-1000799917-a5409d?p1666 适用范围&#xff1…

入门实战丨Python小游戏经典案例

文章目录 写在前面判断与循环小游戏猜数游戏龙的世界 写在后面 写在前面 本期内容:两个个简单的Python小游戏入门案例。 实验需求:python 实验目标:掌握基本的判断与循环语句。 判断与循环 判断与循环是编程中非常重要的两个概念&#x…

DAC高速线缆:性能卓越的连接解决方案

DAC高速线缆是一种广泛应用于数据中心和云计算等领域的高性能连接解决方案。它通过直接连接设备之间的端口,实现了高速、低延迟的数据传输。本文将介绍DAC高速线缆的定义、组成、作用以及与光纤线的区别,同时提供详细的使用方法和相关问题的解答。 第一…

AlexNet(fashion-mnist)

前言 AlexNet相较于LeNet-5具有更深的网络结构,采用relu激活函数。 AlexNet 参数更多,计算量更大,计算速度更慢,精度更高。 netnn.Sequential(nn.Conv2d(1,96,kernel_size11,stride4,padding1),nn.ReLU(),nn.MaxPool2d(kernel…

启用Hyper-V的三种方法,总有一种适合你

想在Windows 10计算机上的虚拟机中安装并运行Linux或更早版本的Windows操作系统吗?你将很高兴知道,你不需要第三方虚拟化软件(如VirtualBox)来在Windows 10上安装和运行Linux和Windows。 Windows 10中的内置Hyper-V工具允许你创建…

怎么使用好爬虫IP代理?爬虫代理IP有哪些使用技巧?

在互联网时代,爬虫技术被广泛应用于数据采集和处理。然而,在使用爬虫技术的过程中,经常会遇到IP被封禁的问题,这给数据采集工作带来了很大的困扰。因此,使用爬虫IP代理成为了解决这个问题的有效方法。本文将介绍如何使…

vscode中如何解决 Comments are not permitted(JSON中不允许注释)

vs code中如何解决Comments are not permitted(JSON中不允许注释)? 简单几步,让你轻松解决。 1.使用vscode打开json文件后,一些注释显示如图所示,有红色波浪线,影响阅读 2. 悬浮在波浪线报错信…

Flink构造宽表实时入库案例介绍

1. 安装包准备 Flink 1.15.4 安装包 Flink cdc的mysql连接器 Flink sql的sdb连接器 MySQL驱动 SDB驱动 Flink jdbc的mysql连接器 2. 入库流程图 3. Flink安装部署 上传Flink压缩包到服务器,并解压 tar -zxvf flink-1.14.5-bin-scala_2.11.tgz -C /opt/ 复…

史上最全的Mysql优化大全,总结

直接上总结图: MySQL调优与实操 SQL调优 适用于数据量较大的情况下 explain 可以通过explain关键字来分析SQL执行计划,然后进行适当的分析调优。 慢查询日志 永久生效 避免不走索引 1、尽量避免在字段开头模糊查询 2、尽量避免使用in 和 not in 3. 尽量避免进行 null 值的判断…

Redis 内存淘汰策略有哪些?过期数据如何删除?

Redis 在面试中出现的概率非常大,毕竟后端项目如果用到分布式缓存的话,一般用的都是 Redis。目前,还没有出现一个能够取代 Redis 的分布式缓存解决方案。 这篇文章中,我会分享几道 Redis 内存管理相关的问题,都很常见…

[足式机器人]Part2 Dr. CAN学习笔记-Advanced控制理论 Ch04-5稳定性stability-李雅普诺夫Lyapunov

本文仅供学习使用 本文参考: B站:DR_CAN Dr. CAN学习笔记-Advanced控制理论 Ch04-5稳定性stability-李雅普诺夫Lyapunov Stability in the sense of Lyapunov Assympototic Stability

Starrocks监控方案

下载安装包 Download | Prometheus Download Grafana | Grafana Labs 部署prometheus 配置文件 global: scrape_interval: 15s evaluation_interval: 15s scrape_configs: - job_name: StarRocks_Cluster metrics_path: /metrics static_configs: - targets: [192.168.110…

RAG 详解

原文:GitHub - Tongji-KGLLM/RAG-Survey 目录 RAG调查 什么是RAG?RAG的范式 幼稚的 RAG高级 RAG模块化 RAG如何进行增强?RAG 还是微调?如何评估 RAG?前景 严峻的挑战多式联运扩展RAG的生态系统RAG论文清单 增强阶段 …

Leetcode 1049 最后一块石头的重量II

题意理解&#xff1a; 有一堆石头&#xff0c;用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。 每一回合&#xff0c;从中选出任意两块石头&#xff0c;然后将它们一起粉碎。假设石头的重量分别为 x 和 y&#xff0c;且 x < y。 思路转化&#xff1a;我们可…

Unity报错:[SteamVR] Not Initialized (109)的解决方法

问题描述 使用HTC vive 头像进行SteamVR插件的示例场景进行测试&#xff0c;发现头显场景无法跳转到运行场景&#xff08;Unity 项目可以运行&#xff0c;仅出现警告&#xff09;。 具体如下&#xff1a; [SteamVR] Not Initialized (109) [SteamVR] Initialization failed…