第二章-典型DSP芯片介绍教学文案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PEx内部的寄存器组:R0-R15; PEy内部的寄存器组:S0-S15; 对于浮点操作,所有的40位数据都有效,程序 设计中标为: PEx内部的寄存器组:F0-F15; PEy内部的寄存器组:SF0-SF15 。
图2.1 ADSP21160内部结构图
PEx和PEy-(SIMD)
处理 处理器 DAG 程序4 器 核2 3
❖ 并能自动处理地址指针的回转,减小了开销, 提高了性能,简化了编程,其起始地址和结束 地址在存储区内可以任意指定。
ADSP21160的两个DAG介绍1
❖ 两套地址产生器DAG1、DAG2分别指向DM地 址总线和PM地址总线;
❖ 每套DAG都配有8个地址索引寄存器Ix,8个地 址修改寄存器Mx,其中:
用于运算单元与数据总线间的数据传输,并 存取中间结果。
2.1.1 处理单元的构成(续)
每个处理单元中各包含一个通用数据寄存器组 40位宽, 每组32个寄存器(16个主,16个辅)用 于运算单元和数据总线间的数据传输,并暂存结果。 其中的寄存器可与内部存储器间不受约束地进行数 据传输。
对于定点和小数操作,只有高32位数据有效, 程序设计中标为:
❖ Bx:为环形缓冲区循环寻址提供起始地址; ❖ Lx:为环形缓冲区循环寻址提供地址范围; ❖ 也就是说:Bx中存放缓冲区起始地址;
Lx中存放缓冲区长度。
ADSP21160的两个DAG介绍3
注(1)对于通常的寻址方式,我们只使用I, M寄存器,而不使用B寄存器,此时L寄存器写 零,环形缓冲区操作被Disable。
这样4次读操作的寄存器是:F0,F4,F8和F12; 3次写操作的寄存器是:F12,F8和F9; 两次存储器访问是:F0与F4。
2.1.2 单周期取四个操作数
❖ ADSP21160具有增强型超级哈佛结构。其中 数据存储器(DM),程序存储器(PM)总线 即可传送数据又可传送程序指令;
❖ ADSP21160还有一个内部指令缓存; ❖ 正是由于具有上面所述的结构-(其程序和数
利用通用数据寄存器实现高度并行的指令操作
❖ 每个周期能实现多达9次的数据传输 (一句内)例如: F12=F0×F4,F8=F8+F12,F9=F8-F12, F0=DM(I1,M1),F4=PM(I8,M8);
上述指令执行时,首先读F0,F4的值,求出其乘积,写 到F12中; 然后F0,F4的值被相应存储单元的值更新,同时读F8, F12的值,求出其和、差;再分别写到F8,F9中;
❖ (1)索引寄存器Ix存放的地址值是指向存储器的 指针;
❖ (2)修改寄存器Mx为索引寄存器的预修改和后 修改提供地址增量,
❖ M与I两个寄存器相配合可以完成:
(1)指令执行前的地址预修改;
(2)执行完毕后地址后修改操作。
ADSP21160的两个DAG介绍2
❖ 每个DAG中还有八个基址寄存器Bx和八个长 度寄存器Lx;
本单元或其他单元的输入。
算术逻辑单元(ALU)
❖ ALU指令包括定点和浮点加、减、取平均、 取绝对值、取反及定浮点转换等。
❖ 对于定点操作,有逻辑与、或、非、异或 等。
❖ 对于浮点操作,有取对数、平方根、倒数 等。
❖ 输入的操作数可以是1个或2个,在时钟周 期的前半周期操作数从数据寄存器送入 百度文库LU,在后半周期将运算结果输出到数据 寄存器。
点、浮点)?寄存器位数是多少?
数据地址产生器(DAG)
❖ 在通用CPU中,数据地址的产生和数据的处 理都是由ALU来完成的,而在DSP中,设置 了专门的数据地址发生器(有的设置了多个 数据地址发生器)来产生所需要的数据地址。 数据地址的产生与CPU的工作是并行的。从 而节省了CPU的时间,提高了信号处理的速 度
2.1.3 带有硬件循环缓冲的数据地址产生器 DAG (循环寻址)与PM和DM总线
❖ ADSP21160有两个数据地址产生器,可实现 间接寻址,并可实现硬件数据循环缓冲,从而 可以使数字信号处理中所需的延迟线及其它数 据结构获得高效率的编程,所以常用于数字滤 波及傅立叶变换。
❖ ADSP21160每个DAG有足够的寄存器(4组, 每组8个寄存器,每个寄存器32位宽)。
第二章-典型DSP芯片介绍
2.1 ADSP21160处理器核
❖ADSP SHARC 系列处理器是构建在 ADSP 21000 DSP核的基础上,形成一 个完整SoC。
❖(System-on-Chip ,中文称为系统 集成到芯片上或片上系统);
❖ 有一个双口的在片SRAM; ❖ 加上集成周边IO和为单指令多数据
据总线是分开的,并有内部指令缓存),所以 该处理器可在单周期内同时取四个操作数(每 套总线两个)及一条指令(从指令缓存中读 取)。从而实现了单指令多数据(SIMD)
ADSP-21160 SHARC DSP 的SIMD结构
小测验
❖ ADSP 21160M中处理器核由哪几部分组成? ❖ 每个处理单元的构成如何? ❖ 两个处理单元中通用数据寄存器的代号(定
乘法器(Multiplier)
❖ 浮点乘 ❖ 定点乘 ❖ 乘法器与ALU、数据寄存器的结合,使
处理器能在1个周期内实现多功能并行 计算(如乘/累加操作,可大大提高数字 滤波与FFT的运算速度)。
移位器(Shifter )
进行逻辑移位或算术移位、位段存取、位清 零、置位、测试、取反等操作。
通用数据寄存器
(SIMD) 提供支持的附加处理单元。
2.1 ADSP SHARC 系列处理器核
❖ 处理器核是由以下几个部分组成: (1)两个处理器单元; (2) 1个程序控制器; (3) 2个数据地址产生器; (4) 1个定时器; (5) 1个指令缓存;
所有数字信号处理都在处理器核里实现。
2.1.1 处理单元的构成(两个处理单元):
❖ 每个处理单元包含: (1)算术逻辑单元(ALU); (2)乘法器; (3)移位器; (4)通用数据寄存器组;
处理单元的构成(续)
❖ 算术逻辑单元(ALU)、乘法器(Multiplier) 、 移位器(Shifter )在结构上并行排列,分别完成 加、减、乘和逻辑移位运算等操作;
❖ 指令执行时间都是1个周期; ❖ 任何一个单元的输出都可以在下一个周期作为
图2.1 ADSP21160内部结构图
PEx和PEy-(SIMD)
处理 处理器 DAG 程序4 器 核2 3
❖ 并能自动处理地址指针的回转,减小了开销, 提高了性能,简化了编程,其起始地址和结束 地址在存储区内可以任意指定。
ADSP21160的两个DAG介绍1
❖ 两套地址产生器DAG1、DAG2分别指向DM地 址总线和PM地址总线;
❖ 每套DAG都配有8个地址索引寄存器Ix,8个地 址修改寄存器Mx,其中:
用于运算单元与数据总线间的数据传输,并 存取中间结果。
2.1.1 处理单元的构成(续)
每个处理单元中各包含一个通用数据寄存器组 40位宽, 每组32个寄存器(16个主,16个辅)用 于运算单元和数据总线间的数据传输,并暂存结果。 其中的寄存器可与内部存储器间不受约束地进行数 据传输。
对于定点和小数操作,只有高32位数据有效, 程序设计中标为:
❖ Bx:为环形缓冲区循环寻址提供起始地址; ❖ Lx:为环形缓冲区循环寻址提供地址范围; ❖ 也就是说:Bx中存放缓冲区起始地址;
Lx中存放缓冲区长度。
ADSP21160的两个DAG介绍3
注(1)对于通常的寻址方式,我们只使用I, M寄存器,而不使用B寄存器,此时L寄存器写 零,环形缓冲区操作被Disable。
这样4次读操作的寄存器是:F0,F4,F8和F12; 3次写操作的寄存器是:F12,F8和F9; 两次存储器访问是:F0与F4。
2.1.2 单周期取四个操作数
❖ ADSP21160具有增强型超级哈佛结构。其中 数据存储器(DM),程序存储器(PM)总线 即可传送数据又可传送程序指令;
❖ ADSP21160还有一个内部指令缓存; ❖ 正是由于具有上面所述的结构-(其程序和数
利用通用数据寄存器实现高度并行的指令操作
❖ 每个周期能实现多达9次的数据传输 (一句内)例如: F12=F0×F4,F8=F8+F12,F9=F8-F12, F0=DM(I1,M1),F4=PM(I8,M8);
上述指令执行时,首先读F0,F4的值,求出其乘积,写 到F12中; 然后F0,F4的值被相应存储单元的值更新,同时读F8, F12的值,求出其和、差;再分别写到F8,F9中;
❖ (1)索引寄存器Ix存放的地址值是指向存储器的 指针;
❖ (2)修改寄存器Mx为索引寄存器的预修改和后 修改提供地址增量,
❖ M与I两个寄存器相配合可以完成:
(1)指令执行前的地址预修改;
(2)执行完毕后地址后修改操作。
ADSP21160的两个DAG介绍2
❖ 每个DAG中还有八个基址寄存器Bx和八个长 度寄存器Lx;
本单元或其他单元的输入。
算术逻辑单元(ALU)
❖ ALU指令包括定点和浮点加、减、取平均、 取绝对值、取反及定浮点转换等。
❖ 对于定点操作,有逻辑与、或、非、异或 等。
❖ 对于浮点操作,有取对数、平方根、倒数 等。
❖ 输入的操作数可以是1个或2个,在时钟周 期的前半周期操作数从数据寄存器送入 百度文库LU,在后半周期将运算结果输出到数据 寄存器。
点、浮点)?寄存器位数是多少?
数据地址产生器(DAG)
❖ 在通用CPU中,数据地址的产生和数据的处 理都是由ALU来完成的,而在DSP中,设置 了专门的数据地址发生器(有的设置了多个 数据地址发生器)来产生所需要的数据地址。 数据地址的产生与CPU的工作是并行的。从 而节省了CPU的时间,提高了信号处理的速 度
2.1.3 带有硬件循环缓冲的数据地址产生器 DAG (循环寻址)与PM和DM总线
❖ ADSP21160有两个数据地址产生器,可实现 间接寻址,并可实现硬件数据循环缓冲,从而 可以使数字信号处理中所需的延迟线及其它数 据结构获得高效率的编程,所以常用于数字滤 波及傅立叶变换。
❖ ADSP21160每个DAG有足够的寄存器(4组, 每组8个寄存器,每个寄存器32位宽)。
第二章-典型DSP芯片介绍
2.1 ADSP21160处理器核
❖ADSP SHARC 系列处理器是构建在 ADSP 21000 DSP核的基础上,形成一 个完整SoC。
❖(System-on-Chip ,中文称为系统 集成到芯片上或片上系统);
❖ 有一个双口的在片SRAM; ❖ 加上集成周边IO和为单指令多数据
据总线是分开的,并有内部指令缓存),所以 该处理器可在单周期内同时取四个操作数(每 套总线两个)及一条指令(从指令缓存中读 取)。从而实现了单指令多数据(SIMD)
ADSP-21160 SHARC DSP 的SIMD结构
小测验
❖ ADSP 21160M中处理器核由哪几部分组成? ❖ 每个处理单元的构成如何? ❖ 两个处理单元中通用数据寄存器的代号(定
乘法器(Multiplier)
❖ 浮点乘 ❖ 定点乘 ❖ 乘法器与ALU、数据寄存器的结合,使
处理器能在1个周期内实现多功能并行 计算(如乘/累加操作,可大大提高数字 滤波与FFT的运算速度)。
移位器(Shifter )
进行逻辑移位或算术移位、位段存取、位清 零、置位、测试、取反等操作。
通用数据寄存器
(SIMD) 提供支持的附加处理单元。
2.1 ADSP SHARC 系列处理器核
❖ 处理器核是由以下几个部分组成: (1)两个处理器单元; (2) 1个程序控制器; (3) 2个数据地址产生器; (4) 1个定时器; (5) 1个指令缓存;
所有数字信号处理都在处理器核里实现。
2.1.1 处理单元的构成(两个处理单元):
❖ 每个处理单元包含: (1)算术逻辑单元(ALU); (2)乘法器; (3)移位器; (4)通用数据寄存器组;
处理单元的构成(续)
❖ 算术逻辑单元(ALU)、乘法器(Multiplier) 、 移位器(Shifter )在结构上并行排列,分别完成 加、减、乘和逻辑移位运算等操作;
❖ 指令执行时间都是1个周期; ❖ 任何一个单元的输出都可以在下一个周期作为