Uploaded by leneer

基于校正指令的音质提升系统的设计与实现x

advertisement
论 文
基于校正指令的音质提升系统的设计与实现
论文完成时间: 2022
年
7
月
23
日
论文原创性声明
基于校正指令的音质提升系统的设计与实现,是独立进行研究工作所取得的
原创性成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经发
表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中标明。
本声明的法律后果由本人承担。
论文作者(签名):李明杰
2022 年
7月
23 日
摘
要
寄存器的功能是存储二进制代码,它是由具有存储功能的触发器组合起来构成的。
一个触发器可以存储 1 位二进制代码,故存放 n 位二进制代码的寄存器,需用 n 个触发
器来构成和一个新的基于"BASIC"标准的"高级"编程语言· 它兼容其它任何 "BASIC"
编译器(PureBasic 6.0)开发出来的小型应用程序。根据功能不同,寄存器可以分为两
类:基本寄存器和移位寄存器。 基本寄存器只能并行发送数据,只能并行输出。 移位
寄存器中的数据在移位脉冲的作用下可以逐位右移或左移。 数据可以并行输入和输出,
串行输入和串行输出,或并行输入和串行输出。 或串行输入,并行输出,非常灵活用
途广泛。从而起到在数据结构教学中帮助理解、辅助教学和自我学习的作用。
关键词:CPU 寄存器;DDR4DDR5;时钟校正;VCO;音频;数模转换
目
录
第1章
前言....................................................................................................................................................1
第2章
基本理论知识....................................................................................................................................2
2.1 DDR4....................................................................................................................................................2
2.2 DDR5....................................................................................................................................................2
2.3 PLL 锁相环.........................................................................................................................................3
2.4 CPU 寄存器(Register)................................................................................................................ 3
2.5 音频采样率........................................................................................................................................4
2.6 音频位深度.........................................................................................................................................6
2.7 音频位速,也叫码率,或者比特率。............................................................................................ 7
第3章
设计的主体内容............................................................................................................................... 8
3.2 实现方案...........................................................................................................................................11
3.3 交互界面的设计和实现..................................................................................................................11
3.4 编译程序:.......................................................................................................................................12
可用寄存器......................................................................................................................................12
3.5 部分代码展示:.............................................................................................................................. 13
第4章
结果分析与讨论............................................................................................................................. 16
第5章
结论..................................................................................................................................................18
5.2 程序下载:........................................................................................................................................18
5.3 程序还存在着许多不足之处。....................................................................................................... 18
致
谢............................................................................................................................. 错误!未定义书签。
参考文献..........................................................................................................................................................19
第1章
前言
随着现代生活水平的提高和科技日新月异带来的变化,传统影音娱乐已经无法满足
人们的要求,娱乐方式也有了天翻地覆的变化,尤其是与人们最息息相关的声音和画面
已经由传统的低画质低音质形成了质的提升,曾经的试听方式诸如磁带、CD/DVD、随
身听 MP3 等逐渐提升为数字在线无损媒介,再加上编解码技术和芯片技术的改进,影
音体验得到了突飞猛进的效果;
由于我十分喜欢欣赏音乐,十多年前就追求极致的音质体验,常年浏览于国内外音
乐论坛和编码器、播放器论坛,经常为了找到一首无损原版音质的音乐而翻遍国内外搜
索引擎,并乐此不疲,从录音机卡式磁带到现在无损数字时代,我也收藏购买了好几箱
磁带和国内外正版 CD,尽管现在的音质已经可以满足大多数人的视听体验,但是我从
国外某论坛了解到现在的音质传输仍然存在些许瑕疵,尤其是八成以上人们所使用的
Windows 操作系统,当然其它某些平台的操作系统也存在相同的问题,比如 Linux 等;
由于我对音质的极其苛刻的态度,所以我就打算利用所学的知识改善这个问题,这或许
可以让所有对音质有追求的音乐发烧友得到近乎完美,比之前更好的音质体验。
改善这个问题的关键在于解决 CPU 寄存器与主板内存之间进行数据交换时产生的
数据时钟偏移(偏差),所以就需要不断校正有关声音传递时的那部分二进制数据,进
而实现正确的音频数位传输实现 1:1 的音质还原。
计算机与网络技术的高速发展,特别是面向对象技术的出现,使得 C++的软件开发
得到了迅速普及。
SoC 中的电源噪声通过产生抖动来缩短时钟。这种抖动很重要,因为它会减少时序
裕量,并会限制逻辑电路的速度,甚至导致它们出现故障。当时钟用于 SerDes 时,抖
动会阻止 SerDes 以应有的速度运行。并且抖动也可以看作是失真,因此时钟模拟电路
的 SNR 太低。
本课题主要将计算机 DDR4、DDR5 与 CPU 寄存器之间引起的抖动失真消除,通过
改善传输数据的状态,校正 I2S 波形,实现超低抖动输出;以达到校正传输的二进制数
据的目的,达到增强校正(修复)音频音质的目的,甚至还可以修复校正显示的图像画
质,这对于高端发烧友和编曲后期制作和音乐音频录制和高帧率游戏竞技高端观影而言,
是很有必要的。
1
第2章
基本理论知识
2.1 DDR4
第四代双倍数据率同步动态随机存取存储器,是一种高带宽的电脑存储器规格。它
属于 SDRAM 家族的存储器产品,是自 1970 年 DRAM 开始使用以来取代旧有的存储器
规格。
DDR4-SDRAM 提供比 DDR3/DDR2-SDRAM 更低的供电电压以及更高的带宽,但
由于电压标准、物理接口等诸多设计与 DDR3-SDRAM 等的不一致,因此 DDR4-SDRAM
与前代 DDR3/DDR2/DDR 等一样,不会向下兼容。现时,超微和英特尔两大 x86 处理
器厂商推出的大部分处理器产品都支持 DDR4-SDRAM。
2.2 DDR5
第 四 / 五 代 双 倍 资 料 率 同 步 动 态 随 机 存 取 存 储 器 ( 英 语 : double data rate
fifth-generation synchronous dynamic random-access memory,缩写 DDR5 SDRAM)是一
种高带宽电脑存储器规格。
与 DDR4 内存相比,DDR5 标准具有更高的性能和更低的功耗。 其他变化包括将
电压从 1.2 伏 降低到 1.1 伏、每通道 32/40 位 (ECC)、提高总线效率以及增加预取
Bank Group 的数量以提高性能。
DDR4 和 DDR5 图示和区别 2-1
2
2.3 PLL 锁相环
锁相环是一种反馈控制电路,简称锁相环(PLL,Phase-Locked Loop)。锁相环的
特点是环内振荡信号的频率和相位受外部输入的参考信号控制。由于锁相环可以实现输
出信号频率对输入信号频率的自动跟踪,所以闭环跟踪电路中通常使用锁相环。在锁相
环工作过程中,当输出信号的频率与输入信号的频率相等时,输出电压与输入电压保持
固定的相位差,即输出电压的相位与输入电压被锁定,即锁相。戒指名称的由来。锁相
环通常由三部分组成:鉴相器(PD,Phase Detector)、环路滤波器(LF,Loop Filter)
和压控振荡器(VCO,Voltage Controlled Oscillator)。锁相环的原理框图如图所示。显
示:
锁相环中的相位检测器也称为相位比较器。其作用是检测输入信号与输出信号的相
位差,并将检测到的相位差信号转换成 uD(t)电压信号输出。经低通滤波器滤波后,形
成 压 控 振 荡 器 的 控 制 电 压 uC(t) , 控 制 振 荡 器 输 出 信 号 的 频 率 。
数字锁相环原理框图 2-2
2.4 CPU 寄存器(Register)
寄存器是 CPU 内部用来存储数据的一些小的存储区域,用来临时存储运算涉及的
数据和运算结果。 实际上,寄存器是一种常用的时序逻辑电路,但这种时序逻辑电路
只包含一个存储电路。 寄存器的存储电路由锁存器或触发器组成。 因为锁存器或触发
器可以存储 1 位二进制数,所以 N 个锁存器或触发器可以组成一个 N 位寄存器。 寄
3
存器是中央处理单元的一个组成部分。 寄存器是存储容量有限的高速存储元件,可用
于临时存储指令、数据和地址。
CPU 寄存器与内存间数据交换 2-3
2.5 音频采样率
计算机通过定期测量其幅度来采样信号,通常每秒 44,100 次。每个测量值都存储
为具有固定精度的数字,通常为 16 位。
计算机通过或多或少地反转上述过程来发出声音。采样被送入产生与样品值成比例
的电势的装置。然后扬声器或其他类似设备可以将电信号转换为气压变化。进行测量的
速率称为采样率。常见的采样率为每秒 44,100 次(用于光盘或 CD 音频)。一组数字
音频数据的比特率是每秒声音所需的比特存储量。如果数据具有固定的采样率和精度
(CD 音频也是如此),那么比特率就是它们的乘积。例如,CD 音频的一声道比特率
为 44,100 样本/秒×16 比特/样本 = 705,600 比特/秒。比特率是一种通用的存储量度,
并不总是简单的采样率和精度的产物。
采样频率最直观的影响是什么?是影响声音的频率范围表现力,采样频率越高,能
4
表现的频率范围就越大。44.1KHz 采样频率,可以表现的频率范围是 0Hz-22050Hz;
48KHz 采样频率可以表现的频率范围就是 0Hz-24000Hz;96KHz 采样频率可以表现的频
率范围是 0Hz-48000Hz。人耳能听到的平均频率范围,大概是 20Hz-20000Hz。
16Bit 44.1KHz,代表这个数字音频能够表现"96dB 的动态范围"和"0 赫兹-22050 赫
兹"的频率范围;
24Bit 48KHz,代表这个数字音频能够表现"144dB 的动态范围"和"0 赫兹-24000 赫
兹"的频率范围。
信号采样示图 2-4
原始模拟信号波形曲线 2-5
5
数字化采样波形曲线 2-6
2.6 音频位深度
位深度也叫采样位深,音频的位深度决定动态范围。
采样深度可以理解为采集卡处理声音的解析度。这个数值越大,解析度就越高,录
制和回放的声音就越真实。电脑中的声音文件是用数字 0 和 1 来表示的。
连续的模拟信号按一定的采样频率经数码脉冲取样后,每一个离散的脉冲信号被以
一定的量化精度量化成一串二进制编码流,这串编码流的位数即为采样深度,也称为量
化精度。
我们常见的 16Bit(16 比特),可以记录大概 96 分贝的动态范围。那么,您可以大
概知道,每一个比特大约可以记录 6 分贝的声音。同理,20Bit 可记录的动态范围大概
就是 120dB;24Bit 就大概是 144dB。
假如,我们定义 0dB 为峰值,那么声音振幅以向下延伸计算,那么,CD 音频可的
动态范围就是"-96dB~0dB。",依次类推,24Bit 的高清音频的的动态范围就是
"-144dB~0dB。"。由此可见,位深度较高时,有更大的动态范围可利用,可以记录更低
电平的细节。
44 分贝 - 属于人类可以接受的程度
55 分贝 - 开始感觉到烦
60 分贝 - 开始没有睡意
70 分贝 - 令人精神紧张
85 分贝 - 长时间让人无法忍受而捂住耳朵
100 分贝 - 可以让耳朵暂时的失去听觉
120 分贝 - 可以一瞬间把人的耳膜击穿
160 分贝 - 导致玻璃碎裂
200 分贝 - 人类会死亡
6
采样精度对应的动态范围示图 2-7
2.7 音频位速,也叫码率,或者比特率。
位速是指在一个数据流中每秒钟能通过的信息量,也可以理解为:每秒钟用多少比
特的数据量去表示。
原则上,音频位速越高质量越好。
不过,如果是有损压缩音频,不同的压缩算法,即使位速相同,也会导致音质结果
完全不同。
典型代表:96kbps 的 WMA 音频格式的音质明显要比 96kbps 的 MP3 音质好。为什
么会这样呢?因为不同的压缩算法,对数据的利用率不同而造成的差异。再举例,假如
MP3 压缩至 48kbps 以下,已经惨不忍睹,而如果是 AAC 音频格式,同样是 48kbps 的
位速下,音质明显比 MP3 好。
而对于无损压缩音频,即使位速完全不同,但是最后的音质却相同。比如把同一个
WAV 文件分别压缩成 FLAC 格式和 APE 格式,得到的文件,位速是不太相同的,但是
音质却是一样的。即使是同一种格式,压缩级别不同,位速也完全不同,可是最后的结
果,音质还是一样(但编码解码时,CPU 占用率不同,编码时间也不同)。
7
第3章
设计的主体内容
在着手进行上机设计之前首先做好大量准备:应熟悉课题,进行调查研究,收集国内、
外资料、分析研究;交互界面的设计和实现。
3.1 系统结构的设计抖动是数字音频信号的录制/播放的时间失真。
许多发烧友数字音频系统所有者担心抖动。下面我们将讨论抖动存在的原因、估计
和抑制的对象。
数模转换器 (DAC) 将样本序列(数字值)转换为模拟电压电平序列。在理想情况
下,应提供样本之间相同的时间距离。距离由我们所说的时钟定义。但是,时钟输入并
不理想,并且恢复的信号失真,因此,抖动是数字和模拟样本之间的时间偏差(采样率
的偏差)
8
数字音频信号回放抖动偏差对比示图 3-1
数字音频录制过程抖动偏差对比示图 3-2
在上面图片中,我们可以看到以数字形式捕获的原始音乐信号(绿色)。在图片的
左下方,可以看到捕获的数字信号恢复回放为模拟形式(红色)。
采样(带点的垂直线)在水平轴上具有不稳定的时间位置(抖动)。因此,恢复的
信号失真。我们可以在图片的右侧看到这种失真。
9
时钟偏差区别示图 3-3
抖动是一个样本时钟问题(时钟偏差)。当电子数字信号(线)被转换成二进制序列时,
就会产生抖动。
为了通过线路(电缆)传输音乐数据,数字位序列被转换为电子形式。电子形式的
编码可以用不同的方式实现(电压电平值或其他)。
这里我们考虑简单的幅度编码:高于阈值(上面图片中的虚线)的信号电压电平是
二进制值 1,低于二进制值 0。
线路发射器设备将二进制数据转换为电平,线路接收器设备将电平转换回二进制序
列,时钟参考时刻是电压水平在阈值内升高的点。
线路发射器产生接近正方形的信号。在线路中,由于噪声、频率和非线性失真,信
号的形式出现“丢失”。因此,在线路接收器中检测到的时钟参考时刻可能会偏离其初
始时间位置(图片处的时间偏移/差)。
10
数字信号抖动模拟示图 3-4
抖动产物(伪影和噪声)取决于输入信号和内存与 CPU 寄存器之间的数据交换。
为了检查依赖性,我们可以对不同的输入信号电平和频率进行频谱分析。
3.2 实现方案
通过反转处理重复写入存储芯片的内部状态,重复 1111…0000…两次,然后是 0000...
让我们将此假设作为平均内存状态。
如果将该状态复制到 CPU 的寄存器,电路状态基于存储芯片的内部电路。通过改
善图像质量、声音质量和打印得到的结果,可以判断我们是否能够抑制并校正数字抖动。
3.3 交互界面的设计和实现
本着易于使用和运行的目的,程序编译为绿色双击可执行文件,无需安装,只在关于
界面显示运行原理和版本号等信息,用于展示软件用途。
11
编译完成的程序界面 3-5
3.4 编译程序:
PureBasic x64 Windows 6.00 可以编译 64 位 UNICODE 统一码本地 EXE 应用程序,
也可以制作 64 位 DLL 调用插件。Linux 和 MacOS 系统也可以有条件地编译制作,对系
统配置要求较低。
内联汇编程序 64 位 FASM 可用,可使用 10GB 的内存空间。
可用寄存器
Rax
Rcx Rdx
R8 R9(根据情况 Rbx
R14 R15)
试器仅可检查 Rax mm0-mm7 xmm0-xmm15
ymm0-ymm15
如果用 PureBasic 一行命令记述 FPU 指令的话,则会在 FPU 中全部处理(运算精度
80 位)
MOV Rax、Rax 之后执行 MOV Eax、当执行 Eax 时,则 Rax 将被清除/清零,变为
Eax。
PureBasic 变量,所有声明统一为 Integer 8 bytes 位比较稳妥。
即使是单精度和双/倍精度,作为变量也要预先设定为 Integer 8 位,编写 CALL 处
理!
如果采用 MOVSS xmm2、dword [R8]的处理,则可以进行低抖动处理。
Global abc.i MOV R8, [v̲abc][数字]LEA R8,[v̲abc] MOVQ xmm0, [R8]
12
Global *abc MOV R8, [p̲abc][数字]MOV R8,[p̲abc] MOVQ xmm0, [R8]
Shared abc.i MOV R8, [v̲abc][数字]LEA R8,[v̲abc] MOVQ xmm0, [R8]
Shared *abc MOV R8, [p̲abc][数字]MOV R8,[p̲abc] MOVQ xmm0, [R8]
Protected abc.i MOV R8, [p.v̲abc][Rsp+数字]LEA R8,[p.v̲abc] MOVQ xmm0, [R8]
Protected *abc MOV R8, [p.p̲abc][Rsp+数字]MOV R8,[p.p̲abc] MOVQ xmm0, [R8]
使用 MMX 时的注意事项,最后的 EMMS 是必须的。FPU 命令发生运算错误,特
别是除法失败。
PureBasic 是 FASM 的预编译器;
用 pbcompiler/Commented 输出 FASM 的预编译器结果;
在脚本中编辑 purebasic.asm 之后;
再用 pbcompiler /Reasm purebasic.asm 编译就可以建立了。
寄存器初始化
将寄存器初始化电子位基准“0”复制到寄存器,CPU 电子电路状态更新为变化的
物理寄存器;
寄存器初始化 Rax=0
将电子位基准“0”作为寄存器复制到 MOV Rax,0←test.exe 的记录介质
更新为物理寄存器 MOV Rax,Rax MOV ax,ax MOV ah,ah MOV al,al
3.5 部分代码展示:
PureBasicStart:
VZEROALL VPMOVZXWQ ymm0,
xmm0 VPMOVZXWQ ymm1, xmm1
VPMOVZXWQ ymm2, xmm2
VPMOVZXWQ ymm3, xmm3
VPMOVZXWQ ymm4, xmm4
VPMOVZXWQ ymm5, xmm5
VPMOVZXWQ ymm6, xmm6
VPMOVZXWQ ymm7, xmm7
VPMOVZXWQ ymm8, xmm8
VPMOVZXWQ ymm9, xmm9
VPMOVZXWQ ymm10, xmm10
VPMOVZXWQ ymm11, xmm11
VPMOVZXWQ ymm12, xmm12
VPMOVZXWQ ymm13, xmm13
VPMOVZXWQ ymm14, xmm14
13
VPMOVZXWQ ymm15, xmm15 SIMPLE_MOVE_REGISTERS_Up_and_Down
MOVQ mm0, Rax
MOVQ mm1, Rdx
MOVQ mm2, Rsp
MOVQ mm3, Rsi
MOVQ mm4, R9
MOVQ mm5, R11
MOVQ mm6, R13
MOVQ mm7, R15
XOR_Rax_MOVZX_Rax
XOR_Rdx_MOVZX_Rdx
XOR_Rsp_MOVZX_Rsp
XOR_Rsi_MOVZX_Rsi
XOR_R9_MOVZX_R9
XOR_R11_MOVZX_R11
XOR_R13_MOVZX_R13
XOR_R15_MOVZX_R15
MOVQ Rax, mm0
MOVQ Rdx, mm1
MOVQ Rsp, mm2
MOVQ Rsi, mm3
MOVQ R9, mm4
MOVQ R11, mm5
MOVQ R13, mm6
MOVQ R15, mm7
MOVQ mm0, Rcx
MOVQ mm1, Rbx
MOVQ mm2, Rbp
MOVQ mm3, Rdi
MOVQ mm4, R8
MOVQ mm5, R10
MOVQ mm6, R12
MOVQ mm7, R14
...
MOVQ R12, mm6
MOVQ R14, mm7
EMMS SIMPLE_MOVE_REGISTERS_Up_and_Down
CALL memset
CALL GetModuleHandleW
CALL HeapCreate
CALL SYS_InitString
CALL PB_InitMap
CALL PB_Event_Init
如有对音频底层和音质相关感兴趣的朋友,可以联系我 VX15166553525 索要完整代码或
14
共同合作。
15
第4章
结果分析与讨论
关于波动引发的演示如图 4-1 所示。
波动引发演示图 4-1
4.2 在电力供应非常好的地方,如大型建筑物和大型设施,可能无法获得这种改善效国;
由于原理不可避免的原因,运行程序后无法即时获得效果,需要等待 20 秒以上;
4.3 为了发挥音频音质的极致效果,在不影响计算机正常运行的情况下可以使用如下命
令,进一步减少其它无关进程对音频数据带来的干扰。
保守型命令:
timeout 1
net stop DsmSvc /yes
net stop UserManager /yes
net stop StateRepository /yes
net stop ProfSvc /yes
taskkill /T /F /IM WmiPrvSe.exe
timeout 1
net stop Winmgmt /yes
16
极致型命令:
timeout 1
net stop camsvc /yes (Single PC only)
net stop DeviceAssociationService /yes
net stop netprofm /yes
net stop NlaSvc /yes
net stop QWAVE /yes
net stop LanmanServer /yes
net stop UserManager /yes
net stop StateRepository /yes
net stop lmhosts /yes
net stop ProfSvc /yes
net stop Wcmsvc /yes
net stop EventLog /yes
net stop LanmanWorkstation /yes
net stop NetSetupSvc /yes (Single PC only)
net stop MSDTC /yes
net stop UsoSvc /yes (Control-PC only)
net stop EventSystem /yes
net stop SENS /yes
net stop ShellHWDetection /yes (Single PC only)
taskkill /T /F /IM WmiPrvSe.exe
timeout 1
net stop TimeBrokerSvc /yes
net stop Winmgmt /yes
17
第5章
结论
本课题采用 C++语言、面向音质校正增强的设计方法实现数据结构的重要算法。
5.1 启用本应用程序后可校正数字信号的交换,大幅改善电脑的音质和画质表现,媲美
原汁原味的音质表现;本论文主要侧重于音频,经过大量测试会使音乐整体的细节更加
丰富细腻,低频信号的恢复/还原回放和压缩的高频音域变的更加容易听到。
5.2 程序下载:
百度云盘:https://eyun.baidu.com/s/3kWlREtx 密码:ExRe
谷歌网盘
https://drive.google.com/drive/folders/14b5zxrhKsWb-uJMJqCYl9WpgHTBS3kji?usp=s
haring
MEGA 网盘 https://mega.nz/folder/f8YxzJKC#a_Az0pF_eIlITD2808AQsA
DropBox 网盘
https://www.dropbox.com/sh/qmitu9rhe02utv3/AADK3stcYhznV9ztiDU5PSb6a?dl=0
Yandex 网盘 https://disk.yandex.com/d/AFhOjzGz7vrasQ
OneDrive 网盘 https://1drv.ms/u/s!AlKMNMAC8Gizh2tguAy_s4uzcdsL?e=h8MlgL
为了防止链接被删除,所以使用多个海外网盘,可确保资源有效期五到十年以上;
根据电脑配置的不同编写了标准版和轻量版,标准版占用稍高,所以制作了面向低负荷
设计的轻量版,如果您需要追求严格极致的音质和画质的话选用标准版;如果您想优先
考虑较低占用,请选择轻量版。
另外针对于低端配置的电脑,还有我跟德国著名软件开发者 Michael Tippach 共同开发
的 ASIO4ALL,理论上可兼容任何配置的 PC 电脑,尤其适用于超低端电脑主板的板载集
成声卡,可完美解决低端电脑音频作品录制和播放时音质与延迟过高的问题;
中文网站:
http://asio4all.cn/zh/
国际网站:
https://www.asio4all.org/
https://www.asio4all.com/
5.3 程序还存在着许多不足之处。
目前还未实现线程优先级的自动更改;
目前还未实现开机自启动;
目前还未实现高分屏自动缩放的兼容;
目前不兼容较古老的第四代之前的 CPU,当然随着电脑配置频率越来越高,兼容了意义
也不大
18
参考文献
[1] Gary Willoughby.PureBasic - A Beginner's Guide To Computer Programming.Gary
Willoughby,2006
[2] Randy Caplan, Silicon Creations.Supply Noise Induced Jitter - Don't Let it Kill your Chip
数据传输引起的抖动 - 不要让它毁掉你的芯片
https://www.design-reuse.com/articles/38333/supply-noise-induced-jitter.html,2022.8
[3] Cray-1 Computer System Hardware Reference Manual. Cray Research,November 1977
[4] Intel.Intel 64 and IA-32 Architectures Software Developer Manuals,2019.12.4
[5] Packtpub.CPURegisters|LearningMalware
Analysis,https://subscription.packtpub.com/book/networking-and-servers/9781788392501/4/c
h04lvl1sec33/2-cpu-registers,2022.8
[6] Agner.Instruction tables: Lists of instruction latencies, throughputs and micro-operation
breakdowns for Intel, AMD and VIA
CPUs,https://www.agner.org/optimize/optimization_manuals.zip,2022.8
[7]Sen.M.Kuo.Bob.H.Lee.Wenshund 等著.王永生.王进祥.曹贝译.数字信号处理:原理、实
现及应用(基于 MATLAB/Simulink 与 TMS320C55xx DSP 的实现 [Real-Time Digital
Signal Processing Fundamentals,Implementations and Applications(Third Edition)].清华
开发者书库,2017.6
[8] Robert G. Plantz.Introduction to Computer Organization: ARM Assembly Language
Using the Raspberry Pi.https://bob.cs.sonoma.edu/IntroCompOrg-RPi/sec-cpureg.html,2022.8
[9] Joseph D. Dumas.Computer architecture: fundamentals and principles of computer
design,2006
[10] Agner.Optimizing subroutines in assembly language: An optimization guide for x86
platforms.https://www.agner.org/optimize/optimizing_assembly.pdf,2022.8
19
Download