阅读日记:computer organization and design——RISC-V——chapter4-2

2023-12-08 05:59

本文主要是介绍阅读日记:computer organization and design——RISC-V——chapter4-2,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

4.2 Logic Design Conventions

为了讨论计算机的设计,我们必须决定实现计算机的硬件逻辑是如何工作的,以及计算机是如何计时的。本节回顾了数字逻辑中的一些关键思想,我们将在本章中广泛使用这些思想。如果你很少或没有数字逻辑的背景,你会发现在继续之前阅读附录A是有帮助的

RISC-V实现中的数据路径元素由两种不同类型的逻辑元素组成:elements that operate on data values and elements that contain state. 

1)The elements that operate on data values are all combinational,(An operational element, such as an AND gate or an ALU
)这意味着它们的输出只依赖于当前的输入。给定相同的输入,组合元素总是产生相同的输出。因为它没有内部存储器。

2)elements that contain state. :我们可以选择保存并恢复状态元素,就好像计算机从未断电一样。因此,这些状态元素完全表征了计算机。在图4.1中,指令和数据存储器以及寄存器都是状态的例子

状态元素至少有两个输入和一个输出。The required inputs are the data value to be written into the element and the clock, which determines when the data value is written. 

The output from a state element provides the value that was written in an earlier clock cycle. 


包含状态的逻辑组件也被称为顺序的,因为它们的输出依赖于它们的输入和内部状态的内容。例如,表示寄存器的功能单元的输出既取决于提供的寄存器号,也取决于先前写入寄存器的内容。

Clocking Methodology

The approach used to determine when data are valid and stable relative to the clock.

定义何时可以读取和何时可以写入信号。指定读和写的时间是很重要的,因为如果在读信号的同时写入信号,则读的值可能与旧值、新写入的值或两者的某些混合值相对应!计算机设计不能容忍这种不可预测性。为了使硬件具有可预测性,设计了一种时钟方法是必要的。

edge-triggered clocking:一种时钟方案,其中所有的状态变化都发生在时钟边缘。

 

为了简单起见,我们假设一个边缘触发时钟方法论。边缘触发时钟方法意味着存储在顺序逻辑元件中的任何值仅在时钟边缘上更新,时钟边缘是从低到高或从低到高的快速转换(见图4.3)。因为只有状态元素才能存储数据值,所以任何组合逻辑集合的输入都必须来自一组状态元素,其输出必须写入一组状态元素。输入是在前一个时钟周期中写入的值,而输出是可以在下一个时钟周期中使用的值。

图4.3显示了在一个时钟周期内工作的组合逻辑块周围的两个状态元素:所有信号必须在一个时钟周期内从状态元素1通过组合逻辑传播到状态元素2。信号到达状态元件2所需的时间定义了时钟周期的长度。

control signal:用于多路复用器选择或指示功能单元的操作;与包含由功能单元操作的信息的数据信号形成对比

时钟信号和写入控制信号都是输入,并且只有当写入控制信号是逻辑高并且时钟边缘发生时,状态元素才被改变。我们将使用asserted这个词来表示逻辑上高的信号,assert指定一个信号应该被逻辑上高的驱动,deassert或deasserted表示逻辑上低的 

An edge-triggered methodology允许我们读取寄存器的内容,通过某种组合逻辑发送值,并在同一个时钟周期内写入该寄存器。图4.4给出了一个通用示例。不管我们假设所有写操作都发生在上升的时钟边缘(从低到高)还是下降的时钟边缘(从高到低)(since the inputs to the combinational logic block cannot change except on the chosen clock edge.)在这本书中,我们使用上升的时钟边缘。

4.4

FIGURE 4.4 An edge-triggered methodology allows a state element to be read and written in the same clock cycle without creating a race that could lead to indeterminate data values. Of course, the clock cycle still must be long enough so that the input values are stable when the active clock edge occurs. 一个周期内是可读可写的,但是时钟周期要足够长,因为必须保证当时钟边缘来的时候输入值是稳定的。

 

说明:

对于64位RISC-V体系结构,几乎所有这些状态和逻辑元素都有64位宽的输入和输出.当一个单元的输入或输出的宽度不是64位时,我们会说清楚。有时,我们希望组合多个总线以形成更宽的总线;例如,我们可能希望通过组合两个32位总线来获得64位总线。Finally, color indicates a control signal contrary to a signal that carries data

 

 

 

这篇关于阅读日记:computer organization and design——RISC-V——chapter4-2的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

软件架构模式:5 分钟阅读

原文: https://orkhanscience.medium.com/software-architecture-patterns-5-mins-read-e9e3c8eb47d2 软件架构模式:5 分钟阅读 当有人潜入软件工程世界时,有一天他需要学习软件架构模式的基础知识。当我刚接触编码时,我不知道从哪里获得简要介绍现有架构模式的资源,这样它就不会太详细和混乱,而是非常抽象和易

【阅读文献】一个使用大语言模型的端到端语音概要

摘要 ssum框架(Speech Summarization)为了 从说话人的语音提出对应的文本二题出。 ssum面临的挑战: 控制长语音的输入捕捉 the intricate cross-mdoel mapping 在长语音输入和短文本之间。 ssum端到端模型框架 使用 Q-Former 作为 语音和文本的中介连接 ,并且使用LLMs去从语音特征正确地产生文本。 采取 multi-st

RISC-V (十二)系统调用

系统模式:用户态和内核态         当前的代码都是实现在machine模式下。 系统模式的切换         epc寄存器的值存放的是ecall指本身的地址 。 用ecall指令 系统调用的执行流程         mret这条指令会利用status的mpp值恢复到之前的特权级别。  蓝色的线表示涉及到权限切换。  系统调用的传参

Axure元件库Ant Design中后台原型模板:提升设计与开发效率的利器

企业对于中后台产品的设计与开发需求日益增长。为了提升用户体验和开发效率,设计者和开发者们不断寻求更加高效、统一的解决方案。Ant Design,作为阿里巴巴开源的一套企业级UI设计语言和React组件库,凭借其丰富的组件和统一的设计风格,已成为众多项目的首选。而在Axure中使用Ant Design元件库,更是为中后台产品的原型设计带来了极大的便利。 Ant Design简介 Ant D

RISC-V (十)任务同步和锁

并发与同步 并发:指多个控制流同时执行。         多处理器多任务。一般在多处理器架构下内存是共享的。           单处理器多任务,通过调度器,一会调度这个任务,一会调度下个任务。  共享一个处                                理器一个内存。                 单处理器任务+中断: 同步: 是为了保证在并发执行的环境中各个控制流可

Banana Pi BPI-F3 进迭时空RISC-V架构下,AI融合算力及其软件栈实践

RISC-V架构下,AI融合算力及其软件栈实践 面对未来大模型(LLM)、AIGC等智能化浪潮的挑战,进迭时空在RISC-V方向全面布局,通过精心设计的RISC-V DSA架构以及软硬一体的优化策略,将全力为未来打造高效且易用的AI算力解决方案。目前,进迭时空已经取得了显著的进展,成功推出了第一个版本的智算核(带AI融合算力的智算CPU)以及配套的AI软件栈。 软件栈简介 AI算法部署旨

【UVA】11400-Lighting System Design(动态规划)

这道题感觉状态式不是很好推。。。 WA了好几次是因为排序的时候出问题了。 这道题出在线性结构里了,先说一下最长上升子序列吧。 dp[i]代表了以array[i]结尾的时候,最长子序列长度。 推导的时候,以起点递增的顺序进行推导。 #include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#i

研1日记5

x = torch.tensor(x),numpy 转tensor 三维矩阵相加 screen -S pid 进入之前创建好的screen transpose()只能一次操作两个维度;permute()可以一次操作多维数据,且必须传入所有维度数, transpose()中的dim没有数的大小区分;permute()中的dim有数的大小区分 PyTorch 两大转置函数 trans