【发布时间】:2016-06-24 02:16:05
【问题描述】:
我的老师每年都在决赛中给我们一个问题,似乎没有人给他预期的结果。我个人不知道如何解决它。问题来了
让我们考虑一个常量数组A[a0 a1 a2 a3 a4 a5 a6 a7],其中每个元素都是 16 位上的自然数,以及一个实时获取的元素数组 U U=[u0 u1 u2 u3 u4 u5 u6 u7],其中每个元素左对齐并以 12 位表示.两个向量的点积是Y=A*U^,其中^是转置运算符。
a) 编写指令序列以计算点积 Y,考虑连续地址处可用的所有数值。考虑到每条指令的循环机器(如执行时间),评估 Y 的执行时间。最终结果将存储在通用寄存器中。
b) 解释 DSP 微处理器硬件模块的组件,这些组件允许降低 Y 的执行时间。
从我能找到的校正规模:
一)
系数列表和循环缓冲区的内存管理 用于采样)1p
寻址指针的管理 0.5p
乘法和加法运算(大小操作数和维度 结果)1p 循环执行获取结果 0.5 p.
b)
- 内存的不同管理,并行的硬件管理 指针 1p
- 乘加 0.5 p 类型指令
- 多指令并行执行 0.5 p
-
zero overhead1p 类型的指令循环 - 来自定时器的中断请求,用于生成采样周期 1p
- 当前样品1p的采购
- 中断子程序的评估。 0.5p
- 采样周期与执行时间的关系 中断例程。 0.5p
对于第一个任务,我有一些想法。他给了我们一个提示,告诉我们即使 U 值是 12 位,8086 处理器也会获取 16 位,这似乎是所有其他学生都没有的事情'似乎没有观察到。对于第二项我不知道。
【问题讨论】:
-
你有什么问题?
标签: real-time x86-16 dot-product