Hexagon_DSP
文章平均质量分 76
名字太长会导致服务器缓存区溢出
屌丝
展开
-
Hexagon DSP的所有寄存器
本章详细介绍了Hexagon DSP所提供的所有寄存器名以及功能,最重要的是,通过对寄存器的操作,我们可以获得非常便捷的定义原创 2015-01-26 16:54:27 · 4390 阅读 · 0 评论 -
Hexagon处理器的特殊功能
本文将涵盖如下六个内容: l 二级缓存 / 紧耦合存储器l 指令延时l 数据访问l 指令访问l 多线程l 低功耗的代码优化 二级缓存/紧耦合存储器 V5版本的Hexagon处理器包含了内置的二级缓存,同时我们也可以将其用于紧耦合的存储器(TCM)。二级缓存的大小取决于处理器的版本,各版本对应的大小如下:256 KB (V5a)768原创 2015-08-21 15:52:43 · 2400 阅读 · 0 评论 -
HVM的事件模型
事件模型 概述 HVM支持虚拟事件(也称事件)从而在用户模式应用以及访客模式操作系统下转移控件。HVM时间可以由Hexagon处理器的异常或中断来触发事件模型 事件通过对齐的事件号来制定。当事件发生的时候,HVM将使用事件号作为一个索引代入到向量表中从而决定需要处理的事件句柄。向量表以及句柄可以在访客模式下定义。在接受事件前,访客操作系统必须通过HVM注册访客事件向量基础值(BEVB)。在HV原创 2015-10-18 21:37:50 · 889 阅读 · 0 评论 -
HVM的初始化状态
HVM资源在初始时,有三种资源被设置为初始的默认状态,非别是: 虚拟处理器 寄存器 内存虚拟处理器的初始化 虚拟处理器在开启时以访客模式执行。虚拟的MMU仍然运行寄存器的初始化 对于虚拟处理器来说,程序计数器的初始值以及栈指针已经在外界定义了:也就是通过VMM的命令进行参数设置,或者通过虚拟指令vmstart创建了新的虚拟处理器实例。除了以上的初始寄存器设定,其他的原创 2015-10-18 20:04:24 · 640 阅读 · 0 评论 -
Hexagon处理器的指令编码
Hexagon处理器的指令编码概述我将在本文中讲解Hexagon处理器指令以及指令包的二进制编码,它包含如下几个部分l 指令l 子指令l Duplex指令l 指令类l 指令包l 循环包l 立即操作数l 扩展立即操作数l 常数补充l 新值操作数l 指令映射指令所有的Hexagon处理器指令都是基于32位指令字来编码的。原创 2015-09-18 17:30:18 · 1280 阅读 · 0 评论 -
HVM的缓存与内存控制
缓存控制概述 用户级别的Hexagon缓存管理指令可以在HVM用户下进行使用,如dcfetch, icinva,dccleaninva,dccleana,dcinva有些缓存控制指令必须通过VMM进行处理,那么可以用虚拟指令vmcache来实现HVM的缓存操作 虚拟指令vmcache用于实现难以以用户界别的Hexagon缓存控制指令实现的缓存操作。下图列出了所有的HVM指定的缓存控制操作:原创 2015-10-22 22:11:25 · 883 阅读 · 0 评论 -
HVM的中断与异常处理
HVM的中断概述 在HVM中,中断以特殊事件进行处理。当中断事件被调遣时,事件记录中GSR.Cause的值被设置为中断数。中断可以对每个虚拟处理器进行使能或完全失能,通过设置虚拟状态Interrupt Enabled来定义。当事件被激发时,Interrupt Enabled值被清空并将上一次的状态保存至GSR中。虚拟中断控制器 HVM中定义了一个virtual interrupt contr原创 2015-10-22 22:01:54 · 944 阅读 · 0 评论 -
HVM,Hexagon处理器的虚拟器解决方案
什么是HVMHVM的概述 Hexagon虚拟器(HVM)为系统程序员提供虚拟层次的开发。通过对物理硬件资源的虚拟化与分区,多个操作系统或其他用户能够在同一个Hexagon处理器上并行执行。举例来说,HVM使得Hexagon处理器在严格的资源保护下并行运行如下的软件系统: 对特殊硬件以及服务进行管理的单线程实时应用 实现了用户接口以及应用栈的通用操作系统HVM将Hexagon处理原创 2015-10-14 08:43:04 · 1261 阅读 · 0 评论 -
HVM下的两种模式-用户模式与访客模式
概述在虚拟器中,HVM支持两种级别的虚拟器: HVM用户模式 HVM访客模式本文将分别介绍两种模式下的管理与资源HVM的用户模式概述 除了如下的限制,HVM用户模式与Hexagon 程序员开发手册中的权限架构没有任何差异。 限制 HVM用户模式中,存在着内存地址的限制VMM保留了用户模式下的高16MB地址用于VMM的使用(地址0xff00_0000 to 0xffff_ff原创 2015-10-14 09:23:19 · 1676 阅读 · 0 评论 -
HVM的调试方法
概述 HVM的调试必须平衡两个因素:虚拟设备上,简单与高效程序执行调试的开发需求 虚拟设备上,安全与隔离的操作要求用户模式的程序调试 用户模式程序可以通过访客模式的特性来进行调试。举例如下: 内存参考产生的页错误 为断点插入trap0指令以及单步执行操作访客模式下的程序调试 VMM可使用Hexagon处理器的监控模式机制来调试用户模式下的代码。这些相同的处理器级别机制可以用于访客模式程序原创 2015-10-29 16:00:15 · 1250 阅读 · 0 评论 -
HVM的虚拟处理器资源管理
概述 针对处理器资源的管理,HVM支持如下的功能: 细粒度的系统时钟 搁置处理器执行的能力 创建新处虚拟处理器的能力时钟 HVM支持细粒度的时钟,我们可通过虚拟指令vmgettime以及vmsettime来进行访问:Vmgettime返回一个代表当前时间的64位值 Vmsettime重置64位值的时钟标注:HVM的实现可以随意定义时钟对应的是CPU时间还是时钟计时原创 2015-10-29 15:35:15 · 818 阅读 · 0 评论 -
HVM的常用虚拟指令与详解
HVM的指令 概述 HVM为开发者提供了全套的虚拟指令以及事件,用于控制用户模式与访客模式下的转换,并提供了HVM上保护、多用户、多任务操作系统的实现支持虚拟指令是Hexagon指令集的延伸版本,虚拟指令可调用HVM操作,这些操作无法通过一般的Hexagon指令来实现本文中,主要讲述了HVM下的详细的HVM虚拟指令,下面所有的指令都按照字母表进行排序 HVM中所有指令的汇总 所有指令的属原创 2015-10-30 13:02:48 · 3785 阅读 · 0 评论 -
Heagon的程序流程(二)
软件分支 与硬件循环不同,软件分支通过明确的指令来实现一次分支操作。软件分支包括了如下的几种指令:跳转(jump)调用(call)返回(return) 分支指令的目标地址可以通过寄存器间接寻址或程序计数器相对偏移量来确定。PC相对偏移量通常要小于32位,不过可以通过在目标操作数中使用特定的语法来定义成32位。 分支指令可以是无条件执行或有条件执行的,你需原创 2015-08-15 15:35:10 · 983 阅读 · 0 评论 -
Hexagon的软件栈
概述Hexagon处理器中包括了专用的寄存器以及指令,用于为子程序执行实现调用堆栈。堆栈的结构遵循传统C标准。 堆栈的结构下图给出了Hexagon处理器中的堆栈结构 堆栈的地址被定义为从高地址向低地址延伸。堆栈的指针SP指向当前堆栈中的顶部数据元素。 注:Hexagon处理器支持三种堆栈指令:allocframe,deallocframe以及deallo原创 2015-08-19 22:15:53 · 1137 阅读 · 0 评论 -
Hexagon的程序执行顺序(一)
概述Hexagon处理器支持如下的程序流程机制 l 条件指令l 硬件循环l 软件分支l 暂停l 异常 软件分支包括了跳转(jump),调用(call)以及返回(return)。Hexagon一共支持四种不同的跳转(jump): l 推理跳转l 比较跳转l 寄存器转移跳转l 双跳转 条件指令很多Hexagon内部的原创 2015-08-11 20:49:22 · 1191 阅读 · 0 评论 -
Qualcomm_HexagonDSP开发入门与提高概述
Qualcomm的处理器一直是业界性能和稳定性的代表,在功耗上也有不错的表现。纵观Qualcomm骁龙系列芯片的发展,我们可以看到骁龙系列从S1代开始,几乎所有的片上系统(SoC)就一直搭载了低功耗而且处理能力强劲的Pre-Hexagon(QDSP5)或Hexagon(QDSP6)核心原创 2014-11-29 07:19:09 · 8524 阅读 · 1 评论 -
HexagonDSP的简要硬件与指令介绍overview(1)
Overview(1) Qualcomm Hexagon是一种为各种各样多媒体以及调制解调器应用打造的通用高性能低功耗数字信号处理器。文章中所提及的V5版本为Hexagon 处理器架构的第五代版本。在接下来的几章中,我将从以下几个主题来描述该处理器的大概结构以及处理方法:1. Hexagon处理器优点与优势内存:HexagonDSP的程序与数据部分都统一存储在32位的原创 2014-12-02 10:17:25 · 5064 阅读 · 3 评论 -
Qualcomm_HexagonSDK初入门
Qualcomm_HexagonSDK初入门前面两章一直在从硬件部分去探索HexagonDSP的强劲,看我扯了这么多,相信各位读者都会有这么一个疑问:既然它这么强劲,那么我们应该如何开发以及开发都有哪些工具呢。别担心,这一章开始我就将从开发者角度来看待这样一款强劲的芯片如何采纳到我们熟悉的开发阶段以及介绍开发过程中以及Qualcomm官方为我们提供的各种各样让人兴奋的示例与新功能。原创 2014-12-05 20:44:42 · 9913 阅读 · 2 评论 -
Hexagon DSP的指令集
Hexagon DSP所提供的指令集 本文将介绍Hexagon DSP开发中需要使用指令的语法,类,包以及并行的各种形式,我们将以六个角度来探究Hexagon DSP指令。l 指令语法l 指令类l 指令包l 指令内联l 复合指令集l 多普勒指令集指令语法大多数的处理器指令具有如下的语法结构: Dest = instr_name原创 2015-03-08 22:12:06 · 4962 阅读 · 0 评论 -
Hexagon对数据的操作指令
Hexagon处理器对标量与矢量计算提供了丰富的指令,在本文中,我们就给各位介绍一下Hexagon中两种指令集原创 2015-03-31 07:25:52 · 2251 阅读 · 0 评论 -
Hexagon处理器的一些特殊操作
Hexagon处理器的一些特殊操作 作为数据处理部分的一个补充,本章将具体介绍Hexagon在面对实际处理算法或编码格式时所提供的方案,本文将从三个方面:H.264,IP 网络总和校验码,软件无线电来展示Hexagon处理器在处理数据时的强劲性能。原创 2015-03-31 23:31:00 · 1943 阅读 · 2 评论 -
HexagonDSP的内存操作
HexagonDSP的内存操作 概述 Hexagon处理器配备了load/store架构,数值与逻辑计算均在寄存器上进行操作。清晰定义的load指令可将内存中的操作数存放于寄存器中,store指令可将寄存器中的操作数存放于内存中。有一部分指令(mem-ops)可直接在内存上进行数值与逻辑操作。 地址空间已封装,所有的访问都以线性地址空间为目标,可访问的值可以是指令或者数据。 内存模型 本章原创 2015-05-25 15:36:40 · 2051 阅读 · 0 评论 -
Hexagon DSP的十二种寻址模式
Hexagon DSP的十二种寻址模式 绝对寻址 绝对寻址模式将32位的值作为有效内存地址。例如:R2 = memw(##100000) // load R2 with word from addr 100000memw(##200000) = R4 // store R4 to word at addr 200000绝对偏移寻址 绝对偏移寻址模式将32位的常数对其至指定的通用寄存器,然后使原创 2015-05-26 16:17:59 · 3071 阅读 · 0 评论 -
Hexagon处理器的条件执行机制
Hexagon处理器内部的条件执行以及预测原创 2015-08-09 22:24:05 · 1148 阅读 · 0 评论 -
DragonBoard 410c高速扩展口详解
410c高速扩展口详解原创 2015-12-20 10:17:09 · 3250 阅读 · 1 评论