首页 > 其他分享 >DSP原理初步了解

DSP原理初步了解

时间:2024-06-18 15:31:56浏览次数:21  
标签:哈佛 存储 存储器 总线 DSP 初步 Memory 原理

DSP原理初步了解

目录

哈佛结构

冯诺依曼结构

程序和数据混合存储在存储器之中
在这里插入图片描述

冯诺依曼结构是传统的计算机体系结构

优点:

  1. 结构简单:指令和数据存储在同一个物理地址空间,使用单一的总线进行传输。
  2. 成本低:由于结构简单,相对容易设计和制造,因此成本较低。
  3. 兼容性:大多数通用处理器采用冯诺依曼结构,软件兼容性较好。

缺点:

  1. 瓶颈问题:由于指令和数据共享同一条总线,可能会造成数据传输的瓶颈。
  2. 性能限制:在执行指令的同时不能进行数据读取或写入,限制了性能的提升。
哈佛结构

程序和数据存储在不同存储器之中,用不同的总线取出

在这里插入图片描述

哈佛结构是基于冯诺依曼结构的一种改进,主要特点是指令存储和数据存储分开:

优点:

  1. 并行处理:指令和数据有各自独立的存储空间和总线,可以同时进行取指和数据的读取/写入操作,提高了处理速度。
  2. 高效流水线:流水线操作更为高效,因为指令和数据不会在总线上发生冲突。

缺点:

  1. 成本和复杂性:由于需要两套存储器和总线,增加了硬件的复杂性和成本。
  2. 兼容性:与冯诺依曼结构的软件不完全兼容,可能需要特殊的编译器或适配器。
改进的哈佛结构

程序和数据存储在不同存储器之中,用不同的总线取出
常数等不会修改的数据存储在程序存储器中

在这里插入图片描述

改进的哈佛结构是对传统哈佛结构的一种优化,它允许指令和数据存储器有部分重叠,或者提供更多的灵活性来优化性能,是目前市面上最常用的结构。

优点:

  1. 灵活性:改进的哈佛结构提供了更多的灵活性,可以根据具体的应用需求调整指令和数据的存储与访问方式。
  2. 性能提升:通过更高效地利用存储器和总线,可以进一步提高处理器的性能。

缺点:

  1. 设计复杂:相对于传统的哈佛结构,改进的哈佛结构设计更为复杂,需要更高级的硬件设计和测试。
  2. 成本问题:更高的设计复杂度可能导致成本增加。

分布式处埋

在普通处理器中,计算全部在算术逻辑单元ALU(Arithmetic Logic Unit)中完成
在DSP中,除了ALU外,还有若干具有计算功能的部件。

TMS320C54x DSP Reference Set可见TMS320C54x DSP内部硬件框图,如图所示
在这里插入图片描述
集成了大量的运算单元,进行并行运算,极大的提高了运算效率。

例如:(硬件)

1、专用硬件乘法器

  • 8086/8088处理器无乘法
  • 51单片机有乘法器,但乘法和加法不能同时进行
  • DSP的硬件乘法器可以和ALU并行工作而且2个操作数都可以来自存储器

2、数字滤波器、相关、卷积、FFT等的核心运算为乘累加器MAC(multiplication-accumulation)
DSP尤其适合完成这些运算

3、ARAU- Auxiliary Register Arithmetic Unit辅助寄存器算术单元

  • 地址计算:用于计算内存地址,特别是在访问数组或执行其他需要索引或指针的操作时。
  • 循环控制:在执行循环时,ARAU可以用来递增或递减辅助寄存器的值,以跟踪循环的迭代次数。
  • 指针操作:在需要管理多个数据缓冲区或执行指针算法时,ARAU可以用来更新指针值。
  • 算术运算:除了基本的递增和递减操作,ARAU可能还支持更复杂的算术运算,如加法、减法等。

多总线结构

哈佛结构 需要两套以上总线,分别对程序存储空间数据存储空间进行读写操作。

TI DSP为了实现高度并行操作,采用了更为复杂的总线结构。多总线是各种并行操作,包括pipeline(流水线)操作的基础。

Pipeline-流水线操作

一条指令的执行一般可以分为4个阶段(C3x,C4x):
Fetch——Decode——Read——Execute
取指——译码——读数操作——执行

一般来说,一条指令的各个阶段所需要的资源是不一样的,因此,如果安排得当不同指令的不同执行阶段可以同时进行。

顺序执行

在这里插入图片描述

并行流水线执行【4级:一个指令只需要花T/4】
在这里插入图片描述

eg:C54一条指令的执行过程可以分为6个阶段: prefetch, fetch, decode,access,read, execute/write.因此可以构成6级深度的流水线。【6级:一个指令只需要花T/6(8级同理)】
在这里插入图片描述

片内多块存储器

ROM (Read-Only Memory)

ROM 是只读存储器,通常用于存储不需要修改的程序代码和数据。ROM 中的数据在制造过程中被编程,之后在正常操作中不能被修改。ROM 的主要类型包括:

  • Mask ROM:在制造过程中将数据永久性地嵌入到芯片中。
  • PROM (Programmable Read-Only Memory):用户可以编程一次。
  • EPROM (Erasable and Programmable Read-Only Memory):可以通过紫外线擦除和重新编程。
  • EEPROM (Electrically Erasable and Programmable Read-Only Memory):可以电擦除和重新编程,但通常速度较慢,编程次数有限。
  • Flash Memory:一种特殊的EEPROM,可以快速电擦除和重新编程,编程次数较多。
SARAM (Static Random-Access Memory)
  • 单口存取随机存取存储器
  • 每个存储单元由触发器组成,不需要刷新
  • 直接访问触发器,提供快速的访问时间。
  • 在一个时钟周期内只能进行一次存储操作。
  • 每个存储位都由一个触发器保持状态,即使电源关闭,数据也会保持不变,直到被重写。
  • 通常用于高速缓存存储器、微处理器的寄存器文件和其他需要快速访问的应用。
DARAM (Dual-Port Static Random-Access Memory)
  • 双端口随机存取存储器
  • 每个存储位由一个电容一个晶体管组成
  • 因为电容会随时间放电,需要定期刷新,掉电丢失数据。
  • 一个周期内可以读取和写入,可以同时进行两次存储操作。
  • 在较小的空间内容纳更多的存储位,存储密度较高,但访问速度相对SARAM较慢。
  • 通常用于需要大量存储的应用,如图形处理和大型数据缓冲区。
注意!!!!
  • SARAM 和 DARAM 都是属于 SRAM(Static Random-Access Memory)的变体
    而不是 DRAM(Dynamic Random-Access Memory)。
  • SARAM:静态功耗较高,因为触发器需要持续电源;动态功耗较低,因为没有刷新操作。
  • DARAM:静态功耗较低,但在动态操作(读写和刷新)时功耗较高。

灵活的寻址方式

寄存器/累加器寻址(Register addressing/Accumulator Addressing)
立即数寻址(lmmediate Addressing)
直接寻址(Direct Addressing)
间接寻址(lndirect Addressing)
位反转寻址(Bit-Reverses Addressing mode),用于FFT
循环寻址模式Circular Addressing mode),用于卷积等运算

┈┈┈┈▕▔╲┈┈┈┈┈┈┈ ┈┈┈┈▕▔╲┈┈┈┈┈┈┈ ┈┈┈┈▕▔╲┈┈┈┈┈┈┈┈
┈┈┈┈┈▏▕┈┈┈┈┈┈┈ ┈┈┈┈┈▏▕┈┈┈┈┈┈┈ ┈┈┈┈┈▏▕┈┈┈┈┈┈┈ ┈
┈┈┈┈┈▏ ▕▂▂▂▂▂┈┈┈┈┈┈┈▏ ▕▂▂▂▂▂┈┈┈┈┈┈┈▏ ▕▂▂▂▂▂┈┈┈
▂▂▂▂╱┈┈▕▂▂▂▂▏┈ ▂▂▂▂╱┈┈▕▂▂▂▂▏┈ ▂▂▂▂╱┈┈▕▂▂▂▂▏┈┈
▉▉▉┈┈┈┈▕▂▂▂▂▏ ┈ ▉▉▉┈┈┈┈▕▂▂▂▂▏ ┈ ▉▉▉┈┈┈┈▕▂▂▂▂▏ ┈
▉▉▉┈┈┈┈▕▂▂▂▂▏ ┈ ▉▉▉┈┈┈┈▕▂▂▂▂▏ ┈ ▉▉▉┈┈┈┈▕▂▂▂▂▏ ┈
▔▔▔▔╲▂▂▕▂▂▂▂▏┈ ▔▔▔▔╲▂▂▕▂▂▂▂▏┈ ▔▔▔▔╲▂▂▕▂▂▂▂▏┈┈

如果对你有帮助,点个赞呗!(。・ω・。)ノ♡

标签:哈佛,存储,存储器,总线,DSP,初步,Memory,原理
From: https://blog.csdn.net/a13126099303/article/details/139743475

相关文章

  • 大语言模型中上下文窗口理解和实现原理
    本文由ChatMoney团队出品上下文窗口含义及其作用上下文窗口就像是语言模型在阅读和写作时使用的一个“记忆窗口”。想象一下你在读一本书的时候,为了理解某个句子,你可能需要回顾前面的一两句话来抓住它们之间的联系。同样,语言模型在预测或生成文本时,也需要查看前面的一定数量的......
  • 大语言模型中上下文窗口理解和实现原理
    本文由ChatMoney团队出品上下文窗口含义及其作用上下文窗口就像是语言模型在阅读和写作时使用的一个“记忆窗口”。想象一下你在读一本书的时候,为了理解某个句子,你可能需要回顾前面的一两句话来抓住它们之间的联系。同样,语言模型在预测或生成文本时,也需要查看前面的一定数量的......
  • 高速信号处理板卡设计原理图:519-基于ZU19EG的4路100G光纤的PCIe 加速计算卡
    基于ZU19EG的4路100G光纤的PCIe加速计算卡  一、板卡概述    本板卡系我司自主设计研发,基于Xilinx公司ZynqUltraScale+MPSOC系列SOCXCZU19EG-FFVC1760架构,支持PCIEGen3x16模式。其中,ARM端搭载一组64-bitDDR4,总容量达4GB,可稳定运行在2400MT/s,PL端......
  • LLM大模型: DPO原理和源码解析
     1、前段时间国外某大学反向抄袭国内某团队的大模型闹得沸沸扬扬,国内被抄袭的大模型是MiniCPM,详细资料:https://github.com/OpenBMB/MiniCPM;能被国外同行抄袭,必定有过人之处,粗略看了一下https://github.com/OpenBMB/MiniCPM/blob/main/model/modeling_minicpm.py模型文件,发......
  • 决策树算法介绍:原理与案例实现
    一、引言在机器学习领域,决策树是一种常用且直观的分类和回归方法。它通过一系列简单的决策规则,将数据集分割成更小的子集,最终形成一个树状结构。本文将详细介绍决策树算法的原理,并通过具体案例实现来帮助读者更好地理解和应用这一算法。二、决策树原理1.决策树的基本概念......
  • 计算机组成原理学习 Part 2
    系统总线总线连接各个部件的信息传输线,是各个部件共享的传输介质结构单总线面向CPU的双总线以存储器为中心的双总线三总线三总线的又一形式四总线分类片内总线:芯片内部的总线系统总线:计算机各部件之间的信息传输线\[ \begin{cases} 数据总线&双向\quad......
  • synchronized原理
    锁的四种状态001:无锁。101:偏向锁。00:轻量级锁。此状态下,线程可能通过自旋的方式竞争锁。10:重量级锁。线程阻塞被挂起,需要从用户态切换到内核态进行系统调用,获取CPU调度权,对性能有较大影响。轻量级锁,重量级锁是2Bit锁等级顺序:001无锁--》101偏向锁--》00轻......
  • Spring容器系列-启动原理(下)
    Spring容器系列-启动原理(下)  从上一篇文章《Spring容器系列-启动原理(上)》中,介绍了Spring容器初始化的核心方法refresh()的整体情况。这篇文章来详细展开介绍。其中比较重要的方法会标记上***  一、refresh中的12个方法  1. prepareRefresh  主要作用:记录下容器......
  • Elasticsearch 近实时搜索的底层原理
    我们都知道Elasticsearch的搜索是近实时的,数据写入后,立即搜索(不通过id)文档是搜不到的。这一切的原因要归于lucene所提供的API,因为lucene的API就是非实时的,Elasticsearch在lucene之上盖房子,通过一些增强,实现了查询的近实时和id查询的实时性。本文就来看看这个近实时......
  • 小白next项目初步上手搭建一个随机社会信用代码生成及验证功能网站
    先看看效果网址是:https://xinyongdaima.aitoolpro.work/#主要实现功能实现随机社会信用代码生成及验证;无数据存储功能;技术栈next.jstailwind工具sublimeChatGPT4o步骤准备工作:需要电脑安装node生成项目打开终端并运行以下命令:npxcreate-next-app@late......