




已阅读5页,还剩68页未读, 继续免费阅读
(通信与信息系统专业论文)数字信号处理器的设计研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江大学硕士学位论文 摘要 随着芯片业的飞速发展,数字信号处理器 ( d s p ) 无论从制造 _ 艺、体系结构等方面都 取得了巨大的发展。随着d s p芯片性价比和开发手段的不断提高,数字信号 处理技术已经 在通讯,多媒体,信息家电等各个领域得到了极为广泛的应用。作为当今一个应用的热点, 多媒体应用也强劲地推动着芯片业的发展。d s p以其体系结构上的特殊性,强大的处理能 力和相对较低的功耗水平,特别适合于多媒体领域的应用 本文讲述的是山浙江大学信息与电子工程学系s o c r 据预测,到2 0 1 0 年, d s p 芯片的集成度将提升到在单个芯片内将能集成 1 0 亿只晶体 管的水平。 如此高的集成度使得原先需要多传统处理器并行 i : 作的系统可以集成到一块芯片 上工作,因此现代d s p处理器的发展已 经超出了 传统d s p 的处理范畴, 逐步形成了一个完 善的片 上s o c ( s y s t e m o n c h i p ) 系统,同 时 在高 集 成 度的 条件下 如何构 造d s p 系 统的 体 系结构, 如何有效解决日益复杂的的嵌入式应用, 特别对十不断发展的多媒体领域应用,已 经成为当今集成电路设计行业的一个热点问题 浙江大学硕士学位论文 1 . 2 d s p处理器特点 数字信号处理器不同于通用型的计算机,它有着自己独特特点: .d s p 属于h a r v a r d 架构 具有两条内部总线: 数据总线、 程序总线。 程序与数据存储空间分开, 各有独立的地址 总线和数据总线,取指和读数可以同时进行。 .大多采用流水作业 每条指令的执行划分为取指令、 译码、 取数、 执行等若十步骤,由片内多个功能单元分 别完成。相当于多条指令并行执行,从而大大提高了运算速度 .独立的硬件乘法器 乘法指令在单周期内完成,优化卷积、数字滤波、f f t 、相关、矩阵运算等算法中的大 量重复乘法。独特的乘累加指令。 .循环寻址 ( c i r c u l a r a d d r e s s i n g ) ,位倒序 ( b i t - r e v e r s e d ) 循环寻址和位倒序使 f f t 、卷积等运算中的寻址、排序及计算速度大大提高。1 0 2 4点 f f t的时问已小于 i ps . .独立的d m a 和总线控制器 有一组或多组独立的d m a总线, 与( :p l的程序、 数据总线并行工作, 在不影响c p u工作 的条件下, d m a 速度己 达s o o m b y t e / s以上。 .多处理器接口。 使多个处理器可以 很方便的并行或串 行工作以 提高处理速度。 j t a g ( j o i n t t e s t a c t i o n g r o u p )标准测试接口 ( i e e e 1 1 4 9 标准接口) ,便于对d s p 作片上的在线仿真和多d s p 条件 下的调试。 .片内片外两级存储体系 采用片内片外两级存储体系,是 d s p芯片结构的又一特色。片内存储器的特点是速度 快, 可以多个存储器块并行访问, 但是容量不可能太大。 片外存储器的容量大,由于要通过 总线与处理器交换数据,因此速度不能太快。 .零开销循环控制 大部分 d s p处理器具有零开销循环控制的专门硬件。零开销循环是指处理器不用花时 间测试循环计数器的值就能执行一组指令的 循环, 硬件完成循环跳转和循环计数器的增减。 有些d s p还通过一条指令的超高速缓存实现高速的单指令循环。 1 . 3 d s p的分类 d s p 处 理 器 可 以 按 照 以 下 的 二 种 方 式 进 行 分 类 1 -3 1 .按基础特性分 浙江大学硕士学位论文 这是根据d s p 处理器的工作时钟和指令类型来分类的。 如果d s p 处理器在某时钟频率范 围内的任何频率上能正常 作, 除计算速度有变化外, 没有性能的下降, 这类d s p处理器 般称之为静态 d s p处理器。 如果有两种或两种以上的d s p 处理器, 它们的指令集和相应的机器代码、管脚结构相互 兼容, 则这类 d s p处理器称之为一致性的d s p处理器。 .按数据格式分 这是根据d s p 处理器工作的数据格式来分类的。 数据以定点格式_ 作的d s p 处理器称之 为定点d s p处理器。以浮点格式工作的称为浮点d s p 处理器。 对于定点处理器, 按数据处理的格式又可分为1 6 , 2 4 和 3 2 位处理器。 在早期的d s p 处理 器设计中, 由 于生产工艺的限制, 芯片的集成度不能做到很高, 处理器核的电路门 数占整个芯 片门数的很大部分, 其对处理器的成本影响很大, 因此从性价比考虑, 这些不同数据格式的处 理器有界限比较分明的使用场合, 如在电气控制和一般信号处理领域, 1 6 位d s p处理器己经 有足够的精度。对于音频领域, 2 4 位数据运算才能保证音质。而3 2 位处理器则应用于高端 的数据信号处理场合。在这些处理器中, 其中1 6 位d s p 处理器应用最为广泛, 占据最大的市 场份额。但随着生产s艺的巨大进步, 尤其是1 0 亿晶体管电路整合在一个芯片上成为可能, 处理器核的电路门 数限制己 不是重要参量, 因此 1 6 位, 2 4 位与3 2 位处理器的界限己 经日渐 模糊, 整个市场迅速向3 2 位处理器倾斜。 对于浮点处理器, 通常是处理器在具有定点处理单元和定点寄存器的同时, 额外附加专 门的浮点处理单元和浮点寄存器, 浮点和定点数据通道并没有交集。 不同的处理器具有不同 的浮点格式, 有些采用自 定义的浮点格式, 有的d s p 处理器则采用工 e e e 的标准浮点格式。 浮 点 d s p处理器相比定点处理器具有更大的动态范围,在某些场合如雷达和声纳的信号处理 中,数据的动态范围很大,按定点处理会发生溢出,而浮点处理可以很好的解决这个问题 对于 1 6 位定点d s p处理器, 其动态范围为 9 6 d 6 , 甸增加一位, 动态范围增加6 d b , 而 3 2 位浮 点d s p 处理器数据的动态范围 为 1 5 3 6 d b ,因 此浮点运算特别适合大数据动态范围的 信号 处 理 虽然从理论上讲, 虽然浮点d s p的动态范围比定点 d s p大, 且更适合于d s p的应用场 合, 但采用定点设计可以简化电路的设计, 同时可以大大减少执行单元的执行时间和实现的, 其对存储器的要求也较低, 因此有利于提高处理器的运行频率, 同时可以有效降低处理器的 功耗和成本, 这点对于移动消费电子产品特别重要。 同时定点d s p 可以适应大多数数字信号 处理任务,因此,定点运算的可编程 d s p器件仍是市场上的主流产品。据统计,目前销售 的d s p 器件中的8 0 %以上属于1 6 位定点可编程d s p器件,随着生产工艺的进步,预计今 后3 2 位定点可编程d s p 的比重将逐渐增大。 而浮点处理器适用于对成本和功耗不敏感并且 定点处理器无法胜任的高端应用场合 .按用途分 按照d s p处理器的用途来分, 可分为通用型d s p处理器和专用型的d s p处理器。 通用 型d s p处理器具有较丰富的硬件接口 和很强的可编程性,适合于各种通常的应用场合,如 浙江人学硕士学位论文 t 1 公司的一系列d s p处理器 专用型d s p处理器是针对某种具体应用而设计的, 其针对特 定算法用硬件直接实现,从而达到很高的数据处理能力。常见的有 f f t专用 d s p ,卷积/ 相 关器、复数乘加器和模/ 角等;例如mo t o ro l a 公司的d s p 5 6 2 0 0 就是专用的d s p处理器。 专 用d s p芯片的缺点是灵活性差,不具备自 适应处理能力。 1 .4 d s p的实时信号处理 数字信号处理器, 对实时信号的处理取决于其高速计算的能力。 同r i s c 和c i s c 微处理 器相比,d s p 有许多为高速数学操作所进行的结构化优化。 除了快速数学计算外, 一个专门 设计的d s p 组合了 其他的结构化特性以“ 平衡” 体系结构。 在支持d s p 计算能力方面, 存储 器带宽、工 / 0 带宽和快速中断响应也是处理实时信号时非常重要的方面。d s p 和 i / 0 是紧密 相 关 淤改 在“ 现实世界”中实时信号是时间的连续函数。 它们必须在进行数字处理前经采样而转 换成数字信号。 由于d s p 执行实时算法, 在单独的样本或实时样本块到达时它将进行离散计 算。 为了 保证实时处理, d s p 必须在样本间隔内 或在下一个样本块收集完之前完成这个算法。 例如,在处理4 4 . 1 k h z 采样的实时音频信号时,d s p 对一个样本的处理时间不能长于2 2 . 6 7 微秒,这是两次样本间的时间间隔。5 0 m o p s ( 每秒兆操作次数) 的 d s p完成处理的时间仅有 1 , 1 0 0多个指令周期。 这 1 , 1 0 0周期包括所有的计算、 数据传输和 1 / 0操作。 要想成功, d s p 体系结构必须在每个新数据到来时以高度重复的方式有效地执行实时程序。 解决重复计算的 方法是使精心设计的 d s p能把循环特性组合到硬件中,以 便程序流不会浪费宝贵的指令周 期。 通常,一个 d s p系统的信号处理性能并不主要由 其计算性能所决定,更多地取决于其 存储99带宽、i / 0 带宽和程序效率。 精心设计的d s p必须为有效的数据传输而进行优化, 以 保证宝贵的计算周期不会浪费。 有效的d s p体系结构可以同时完成两个数据传输,因为d s p操作大多数是双操作数的。这 些数据传输在计算时并行完成。 大的片内存储器和宽的片内总线方便了这些数据传输, 并大 都消除了片外瓶颈。 表征实时信号 的数据流通常是高速的。例如,医用图象系统可以很好地依赖高于 1 0 0 k s p s的数据率 对实时d s p系统, 对采样数据与d s p之间的通讯的支持能力也是很重要的。 精心设计的d s p可以在不停止或终止处理的情况下便利地执行 1 / 0 操作。在一些d s p中可 以发现满足这些要求的无干扰( n o n - i n t r u s i v e ) 的d m a ( 直接存储器存取) 能力。 目 前的d s p 体系结构己经通过增加一个指令周期内活动的计算部件数目 来提高它们的 计算能力。但是,如果没有对存储器和1 / o 带宽的平衡,计算部件很可能遭受 “ 吃不饱” 数据之苦,从而使性能持纯降低 浙江大学硕士学位论文 1 . 5 接口总线 任何一个处理器都要与一 定数量的部件和外围设备连接, 但如果将各部件和每一种外围 设备都分别用一组线路与处理器直接连接, 那么连线将会错综复杂, 甚至难以实现。 为了简 化硬件电路设计和相应的系统结构, 常用一组线路, 配置以适当的接口电路, 与各部件和外 围设备连接, 这组共用的连接线路被称之为总线。 采用总线结构便于部件和设备的扩充, 尤 其是制定了统一的总线标准后,则可很容易的实现不同设备间的互连。 自1 9 7 。 年美国d e c公司在其p d p i 1 / 2 0 小型计算机上采用u n ib u s 总线以来,随着计 算机技术的迅速发展, 推出了各种标准的、 非标准的总线。 总线技术之所以能够得到迅速发 展, 是由于采用总线结构在系统设计、 生产、 使用和维护上有很多优越性。 概括起来有以下 几点: .便于采用模块结构设计方法,简化了系统设计。 . 标准总线可以得到多个厂商的) 一 泛支持,便于生产与之兼容的硬件板卡和软件。 . 模块结构方式便于系统的扩充和升级。 . 便于故障诊断和维修,同时也降低了成本。 总之,先进的总线技术对于解决系统瓶颈提高整个系统的性能有着十分重要的影响, 总线结构也不断地发展变化。 在系统中除了采用总线技术外,还采用了标准接口技术,其目的也是为了便于模块结 构设计, 可以得到多个厂商的广泛支持, 便于生产与之兼容的外部设备和软件。 接口一般是 指主板和某类外设之间的适配电路, 其功能是解决主板和外设之间在电压等级、 信号形式和 速度上的匹配问题。因此不同类型的外设需要不同的接口,不同的接口 是不通用的。 例如, 硬盘和软盘驱动器的接口是不兼容的,因此不能在硬盘接口上接入软盘驱动器。另一方面, 由于目前的一些新型接口标准,如u s b , i e e e 1 3 9 4 等,允许同时连接多种不同的外设,因 此也把它们称为外设总线。 总线一般有内部总线、 系统总线和外部总线。 内部总线是内部各外围芯片与处理器之问 的总线, 用于芯片一级的互连; 而系统总线则是各插件板与系统板之间的总线, 用于插件板 一级的互连; 外部总线是和外围设备之间的总线, 通过该总线和其他设备进行信息与数据的 交换,它用于设备一级的互连 1 . 6 系统的软硬件协同设计 传统的设计方法将硬件设计和软件设计隔离开来,采取的是所谓硬件 ( 硅片)先行的 方法,即先设计硬件, 再根据算法设计软件。 这种方法不能保证算法应用在该硬件平台上运 行的有效性,因此,必须考虑软件和硬件的协同设计问题。 从历史上看,软硬件协同设计技术的兴起有两个深层次的原因。 其一是由于芯片集成度的提高, 带来了硬件设计费用的提高, 人们希望通过在相同硬件 浙江大学硕士学位论文 上运行不同应用软件的方法来降低设计成本, 通过从纯硬件设计向可运行软件的硬件设计过 渡,可以允许在设计的最后阶段修改系统说明,也可以根据已有系统结构来设计新的系统, 从而获得较好的重用性 其二是随 着v l s i 技术的 发展, e d a l _ 具越来越多地介入到系统设计中 来, 一些成功地 软硬件协同设计工具可以及早地发现设计问题或缺陷 ( 如软硬件协同验证工具) ,从而大幅 度减少了电子产品的开发周期。 针 对 嵌 入 式 系 统 , w . w o l f 给 出 了 一 个 比 较 详 细 的 软 硬 件 协 同 设 计 流 程 / 1 - 5 , 见 图1 - 1 , 硬件 寄存器传输棋块 逻辑 物理 图1 - 1 嵌入式系统的软硬件系统协同设计流程 在确定系统结构后, 系统设计将被分成以下4 个步骤完成: .分割 根据系统需求说明,进行软硬件的划分, 初步确定哪些功能由硬件实现,哪些由软件实 现 。 g u p t a 等 提 出 了 一 种 将 功 能 从 硬 件 向 软 件 迁 移 的 算 法 11 -6 , 而 e r n s t 等 提 出 了 一 种 通 过 在 指 令 流 中 寻 找 关 键 功 能 并 将 其 映 射 成 硬 件 的 算 法 /1 刃 。 .定位 对步骤 1 中分离出的功能进行重新定位, 原来由软件执行的功能可能因为性能或时间上 的要求, 将被硬件( 通常以协处理器的形式出现) 代替, 而原来由 硬件完成的功能可能由于考 虑到可适应性以及开发时间的要求, 将以软件的形式由处理器完成。 .调度 在硬件上表现为因为资源( 如数据总线) 共享而分配给每个任务一定的时间片: 编译器的 浙江大学硕士学位论文 指令调度是由于指令运行时存储单元( 如寄存器) 和运算单元 a l u ) 的限制,而将指令重排, 以消除它们之间各种相关性: 实时操作系统上任务的调度主要是考虑到不同任务的实时响应 要求。 .映射 硬件由固核生成硬核, 软件被编译成可运行的代码。 g . m i c h e l i 对 w o l f的理论进行了扩展, 虽然在数字系统的设计过程中, 由于应用领域、 可编程性以 及实现特性的不同, 个 阶 段 11 -8 1 。 其 中 实 现 阶 段 就 是 需要不同的设计策略,但是可以归纳为建模、验证和实现三 w . w o l f 所提出的 4 个步骤。建模是将系统功能说明概念化 和细化, 并分别建立硬件和软件的模型, 而验证就是判断系统能否按照设计正常工作,以取 得 一 定 的 确 信 度 的 过 程 。 建 模 过 程 的 细 化 11 -9 1 , 见 图1 - 2 . 系统功能说明 细化过程 建立模型 处理器 模型 处理器 模塑丁 .x11? 图1 - 2 细化的建模过程 1 . 7多媒体m d 1 6 核 由于系统对于硬件开销的要求也越来越高,就迫使 d s p硬件系统越来越多的设计成嵌 入 式 的d s p 核 1 1 - 1 0 1 。 因 此 嵌 入 式 系 统 是 用 来 实 现 通 用 目 的 或 者 复 杂 的 应 用 算 法 的 首 要 选 择。在此情形下,我们针对多媒体应用的d s p处理器设计了1 6 位嵌入式d s p的核,称之 为md 1 6 ,其中m代表是多用途和多媒体,d代表d s p , 1 6 代表是 1 6 位的处理器。md 1 6 处理器微结构见图 1 - 3 . 浙 江 大 学硕 上学位 论文 图 1 - 3 md 1 6 处理器微结构图 md 1 6 内核包括三个主要运算单元( al u , m a c, s h i f i e r ) , 两个地址产生单元( a g u o , a g u i )以及流水线控制单元等:片上存储器包括片七 程序存储器 ( 每字为3字节,2 4位; 井且程序存储器司以配胃为任意组合的程序和数翻段) ,片上数据存储器 ( 每字为2字节, . 6 位) ,二维的数据存储模式可以支持同时访问两个数据 ( 一个从数据存储器,另一个从程 序存储器数据段) , 因此对实现f i r , i i r和f f t算法特别有效: 并且,处理器包含内置i t a g 模块和接17,支持 t f a g调试模式;其可配置的d m ab o o t控制器具有变位宽传输 ( 8 . 1 6或2 4 位)功能,从而支持高速灵活的片内外数据交换;另外.md 1 6处理器具有丰富的 最大可至4 8 m字节的片外存储空间,大大方便了多媒体应用程序和数据的存储. 1 . 8 本文主要研究工作和内 容安排 本文的主要研究工作都围绕媒体数字信号处理器m d 1 6的设计展开的主要1作和后面 各章的内容安排如下 第二章探讨了指令集设计,讨论了v l i w指令和md1 6 指令。对 md 1 6 核的设计,重 点在流水线数据竟争的克服,以及功能单元和内部存储器的构造。 为了提高系统的性能.需 要硬件逻辑尽量并行化。本章提出了部分并行的概念,以及部分 s imd 第三章给出了md1 6的总线设计,结合md l 6 和 md 3 2的d ma控制器设计框架,从 软、 硬件两个方面, 结合 d s p的特点, 对d m a控制器进行了设计 给出了md1 6 和 m d 3 2 d ma 的传输时间公式以及多传输序列的实现方法 第四章给出了u s b ip核在md1 6 测试验证平台上的集成, 同时还给出了md 1 6的芯片 在该平台上的测试方法 浙江大学硕 _ 学位论文 第二章 数字信号处理器核微结构设计 2 . 1 指令集体系结构设计 2 . 1 . 1 指令集设计 数字信号处理器指令集首先决定于处理器的功能,其次决定于哪些功能由硬件来实现 ( 提供专 用指令 ) , 哪 些功能由 软 件实 现 山 基本指 令组合实 现) 。 此外选 择指令集的 指令时, 还应考虑其对处理器性能的影响以及实际使用的统计分布,同时还应考虑对编译性能的影 响。 .处理器应用范围 在选择指令时,首先需要考虑的是处理器的应用范围。根据不同的处理器的应用范围, 可以 添加不同的专用指令, 添加专用硬件实现特殊的功能。 指令按应用范围分为三类: 基本 指令,提供用户最常用的指令: 专用指令, 根据应用领域的特殊要求设计, 供用户使用; 特 权指令,供系统程序员和操作系统使用,一般不允许普通用户使用。 . 指令使用概率 根据a m d a h l 定律, 处理 器性能的 改善 程度受 其采用的 快 速部 件( 被 提高性能的 部 件) 在 任 务 中 使 用 所 占 的 时 间 百 分 比 限 制 12 - 1 1 提 高 使 用 概 率 高 的 指 令 执 行 速 度 就 可 以 提 高 系 统 性 有 en . .其他因素 指令的设计还适应技术的发展和实际应用情况, 同时还应能支持编译系统工作, 支持编 泽高效性、简易性和可移植性等。此外,设计的指令使硬件译码单元结构简单、速度快。因 此,指令设计还应做到: a . 正交性。指令编码的正交性是指各指令构成要素的编码相互正交,不允许出现 彼此重复的现象。 指令编码正交性保证了微结构译码的唯一性, 也保证了指令 功能的唯一性。 b规整性。规整性指相同类型的指令应具有相同的指令编码段。指令编码具有规 整的结构能够大大简化译码单元的设计, 加快译码速度, 而译码单元速度往往 是处理器速度的瓶颈所在。 c可扩充性。指令编码要保留一定的空间以备今后的扩展。 d 对称性 尽可能保持源操作数和目 的操作数对称, 这样有利于提高编译的效率。 在 嵌 入 式 系 统 领 域 , m ip s 指 令 12 -2 1 12 -3 1 以 其 简 单 、 规 整 的 特 点 成 为r i s c 12 4 1处 理 器 中 较为典型的指令结构。而对于 d s p ,有采用类 r i s c指令格式的 ( 例如 t i公司的 丁 ms 3 2 0 c 4 x ) , 也有采用编码格式的 ( 例如a d公司的a d 2 1 8 x ) . 浙江大学硕士学位论文 2 . 1 . 2 v l i w指令 超 长 指 令 字 (v e r y l o n g i n s t r u c t i o n w o r d , v l l w ) 结 构 i2 -5 1 是8 0 年 代 提 出 来 的 一 种 计 算机体系结构,在很多领域最新的,高性能的处理器设计中己 经被广泛使用。 v l i w类微处理器的指令格式各有不同, 但是总的结构特征就是将很多标准的指令捆绑 到一条长的指令字中, 这个指令字包含了可以在不同的片上或者同一片上的不同功能单元里 同时执行的指令。 例 如 在 工 a - 6 4 12 .6 1体 系 结 构 中( i a - 6 4 指 令 构 成 见 图 2 - 2 ) , 邮条 类 r 工 s c 指 令 和 一 个 指 令模j r ( t e m p l a t e , 5 位) 构成指令束( b u n d l e ) ,指令束中每条指令长度为4 1 位,包括操作码、 判断寄存器( p r e d i c a t e r e g i s t e r ) , 源寄存器1 ( s o u r c e r e g i s t e r i ) , 源寄存器2 ( s o u r c e r e g i s t e r 2 ) 、目标寄存器 ( d e s t i n a t i o n r e g i s t e r )操作码扩展、分支目标等 ( o p c o d e x t e n s i o n / b r a n c h t a r g e t / m i s c ) 。模板包括成束信息和预取提示( g r o u p i n g i n f o r m a t i o n a n d p r e f e t c h h i n t s ) 。 成 束信息 用于指明 束中 指 令的 类型。 这些信息 在处理 器取出1 束指令时指明各指令分配的功能单元。 i n s t r u c t i o n 2 s l o t i n s t r u c t i o n 1 s l o t i n s t r u c t i o n 0 s l o t t e m p l a t e 图2 - 2 i a - 6 4 指令构成 v l 工 w 结构通过编译 器来发现指令间的并行性, 通过全局调度技术 ( g l o b a l s c h e d u l i n g t e c h n 咖e ) 12 -7 1* 能 够 并 行 执 行 的 指 令 合 并 在 一 起 成 为 一 个 超 长 的 指 令 , 一 次 发 射 一 条 长 指令,其中包含多个操作,由执行部件中的多个功能单元同时执行。 v l i w 指令的最重要的思想,即把若干条可以同时发射的指令 可以采用r i s c 指令集, 也 可以采用其他编码指令集)打包为一条长字指令。对于d s p 系统,设计相应的v l i w 指令,一 方面要设计好相应的多条指令的打包策略, 另一方面还要注意使每条长指令中包含的多个指 令适应d s p 的应用。 v l 工 w 结构可以有效地缓解c p u 内部和外围的i / 0 瓶颈。由于高度的并行性,v l i w 系统的 ( c y c l e p e r i n s t r u c t i o n , c p i ) 平 均每条 指令所需的 周期数是 很低的, 每条指 令周期 数大约 只有0 . 2 - 0 . 4 . 2 . 1 . 3 md 1 6 指令集 d s p的应用程序一般都是放到片上存储器中的,为了减少芯片面积和功耗要限制指令 的宽度。 选择指令宽度、芯片的数据宽度、或存储器单元位宽, 一般d s p有 1 6 , 2 4 , 3 2 位 宽的指令形式。md 1 6 指令位宽选定为2 4 位 浙江大学硕士学位论文 d sp 指令针对数据处理领域而设计,重点在于数据处理能力的提高方面,具有丰富的 指令寻址模式和指令操作, 可进行大量的、 实时的数据算术运算, 在数据处理程序执行方面 功能强大而灵活。d s p处理器除了l o 耐s to re指令外,其它指令也可以直接访问存储单元, 并且 一条指令可以同时访问多个存储单元,加快了数据的访问速度。除了面向存储器寻址, d s p指令所支持的寻址模式和地址产生方式也是灵活多样 如窗口寻址、比 特反转) ,指令 操作较为丰富 ( 如乘累加、 零开销循环等) , 一条指令可以在一个时钟周期内执行多项操作。 m d16 的 指 令 采 用 编 码 指 令 形 式 12 一 81 , 即 不 同 指 令 的 控 制 段 可 能 是 不 同 的 字 段 。 正 确 的 译码由指令中的指定位数的值来决定。d s p处理器的指令译码将翻译指令到各控制信号, 来控制不同的运算单元。 对于编码指令形式 ( 即要限制指令的位宽) ,要获得很大程度上的 指令并行性是个很大的挑战。指令结构见表 2 一 2 。 图 j 左】 “阿严匹 门“ ” 尸il尸 川妞 , 川j 4 _ 尸一 曰半 干 件洲恶 巴丝 = 一 一 l 缈一华 毕 一井 月 奥 共 - -l 竺 二 井一书 - , 3ijo 。匡丫限面 盛 d dr 1 扛q l4- 沙 1 曰冈卜匡, 萝 一a 盯 如pl 沐 姐 。 以以 件) 珍 目书 弓 月 于甲瓷 【 互日 论 1 恤1 荞 峥1 知 姚 心 - ;漏尸兰一 2 : 。 0 生 1【 丁,口 昭 p 一 id山_1 地蜻! 月条争 任,用曰图书 争 一- 一一 碍 需 洲麦 器 一斗 手 黑 辫 台 示渠 黔 罕 竿 升 份 l9 luu ll陌,口 尸一1下,a 盯 肠 乡 知pl 心 0 卜 。 10 1 切州 d 门加幻 1 1 可 了阿- r 一 鑫 m 鉴冈 o l xdpl 。 o idll一 1 山n di 厂节口 u ll【 r一阿一 口- 博研曰,1 场ic灯 那1 1 11 寸 廿 曰于别宁圈甲事墨粉,卜缪,华率一牛今尸粤- 心 o j刃 匕 , 之 乙 日 了,甲,尸一 一 1 11。 00 一阵-匡一一 t 一 血 心 r 吹 丁 沼 犯日 1 1 2 。 。0 1匹下【 万一 万一盯,匹二i d i 犷 父 。 p 一 力 吐肠1 11 . 阁 uuu 万cc 一甲甲甲甲甲括 斗1升 一 -雀 毛 黔 一 一拐 各 瓷 旨一 一 锰锰黔一 1 , 000匡二叮一 厅一 门,门一 u 汁1 1 如 趁 叮一 口 不 ,0 00 口 立 二口 , 犷. 口一尸 产。 1 5 犷卜叉 峥 。仰 卜 。 10 一 1 祠 划 军 1 ,门 lu 。 。匡 - 口一日,匡 叮一 。 ! 。 。 u 此 , 石 州 3 肚胜 由 卜 u 即 拉g一 o u 盆 么 堆幼】 11 。 臼 。 1口一门 , 厂 万 ,爪 产 ,i ll m mi 部1 以 日 亏 皿 口 助1 0 1 0 1 9 uoo 1了,口 , 丫 口一厂 r ,门 一 川。 。 1 0 0 。 1u u lu 且 。 , c i尸 目 d ”1 哥 uuu 1 厂 , 一布一甲曰图田田侣 州 侣 斗 料 召 月 于侣 丹 瑞 从 争瑞 斗 酱 丹 等 一 伪m 心 工 m 一 22 1! u uo 1芍 门日 下 了, rr 口 门u 0 0 1 0 冲 0 1 0 u i卜 u 四 1 o 101 伪. dl 哥于 干一 豁田图干田田升钊钊七件镖共科召 斗 号 书一 别舟险份 l 丝 i o uo 一阿 牛陌一门 产 - 口一口 一 了 1 0 10 lu l u lo 旧阳1 。 1 0 10 u lol 。 。 l u l o 1 1 2 1 o ou 一而川匡一币 , 可 一1 节 一 山 0 冲 。 10 0 1 0 1 o 1 一 u u l o 101 勃 ilpl 。 切 朋 uuu 000 田甲甲甲田 血 洲 补 己 ld 白 01 和 扣1 和下哪污硫 曰 里 习 二 圈 000 000 -甲孚甲哥田令 普 鹦 锦币巾日 分 布 卡卞 石 六卜携午旷亩 3 11 i o u。 口 门冈下 了门 口勺1 飞 门 ll u 。卜 u lu 妞 10 。 1 o i u iu lu l ! u u l o l u l 表2- 2指令结构类型表 编码指令同mips指令的区别是显而易见的,那就是期i p s指令的规则性,而编码指令 则显的有点凌乱。 编码方式的差异直接影响到处理器译码电路的复杂度差异, 进而对处理器 的结构产生影响。但是编码指令也有自己的优势,即编码自由,可以随意添加新的相今 浙江大学硕士学位论文 2 . 2 m d 1 6 核的微结构设计 2 . 2 . 1 md 1 6 流水线 m d 1 6采用四级流水线结构:即 i f( 取指) 级, i d ( 指令译码) 级, e x( 执行) 级, m e m / w r ( 存储器访问 和指令结果生成) 级, 其中 m e m 和 w r功能时域重叠在第四级。 流 水线结构和功能见图2 - 3 . .i f级 从程序存储器中读取单条2 4 位指令,并产生下一条指令地址。 .工 d级 译码i f级读取的指令、产生各种控制信号以及从源寄存器读取数据。检查各种数据和 控制相关性,从而决定下一条指令的流向。 .e x级 执行算术、逻辑、移位和乘累加等运算,产生存储器访问地址。 .me m/ wr级 读写数据存储器和程序存储器的数据段,选择判断指令运行最终结果并向下一个i d级 传递数据和写寄存器的控制信号。 c l o c k i s t a g e 1 - . . . t l p p f e rn 1 i ns e . u c hp n d. . . d , dma心 已 心 昌 吕 f u n c t i o n r n e x t p c g - . . . tp . p ip e lin , c o n tr o lsh i ft pm - r e 日 , 之 . . f i l e s 人 c 色, , m a c i m a e 1 人 r .o n a . - 图2 - 3 m d 1 6 流水线结 构和功能划分 设计流水线时, 必须要考虑流水的均衡问题,即各级流水的时延应大致相等。由于处理 器的时钟频率决定于流水线的时延最大的流水级, 所以当流水级间时延差异过大, 将会致使 流水线的性能下降。 流水各级均衡, 可以避免流水线时钟频率受制于少数时延较大的复杂运 算操作,提高系统的运行频率。流水均衡示意图见图2 - 4 . 浙江大学硕十学位论文 2 。2m d i6 核的微结构设计 2 2 1 m d l 6 流水线 m d l 6 采用四级流水线结构:即i f m e m w r ( 存储器访问和指令结果生成) 级, 水线结构和功能见图2 3 。 一 1 f 级 ( 取指) 级,i d ( 指令译码) 级,e x ( 执行) 级, 其中m e m 和w r 功能时域重叠在第四级。流 从程序存储器中读取单条2 4 位指令,并产生下一条指令地址。 i d 级 译码i f 级读取的指令、产生各种控制信号以及从源寄存器读取数据。检查各种数据和 控制相关性,从而决定下一条指令的流向。 e x 级 执行算术、逻辑、移位和乘累加等运算,产生存储器访问地址。 一m e m w r 级 读写数据存储器和程序存储器的数据段,选择判断指令运行最终结果并向下一个i d 级 传递数据和写寄存器的控制信号。 c l o c k s t a g e f u n c t i o 1 田冈m r o g is t e tf i ics 图2 - 3m d l 6 流水线结构和功能划分 设计流水线时,必须要考虑流水的均衡问题,即各级流水的时延应大致相等。由于处理 器的时钟频率决定于流水线的时延最大的流水级,所以当流水级间时延差异过大,将会致使 流水线的性能下降。流水各级均衡,可h 避免流水线时钟频率受制于少数时延较大的复杂运 算操作,提高系统的运行频率。流水均衡示意图见图2 - 4 。 6 浙江大学硕士学位论文 厂 厂 厂 露薹薹薹互卫 = 互互互卫区王互夏互圈臣薹窭趸互卫 均衡流水示意 厂 厂 厂 臣互互噩瑟譬如囵圆匦圃 图2 - 4 流水均衡示意图 m d l 6 流水线在取指、译码、回写等级所需的时间大致相当,但在执行级某些功能单元 计算上所需的时间就可能相差很大。根据m d l 6 流水线结构,综合流水线各级以及执行级 各功能单元的硬件综合的时延数据。m d l 6 的1 6 x 1 6 位乘累加运算单元( m a c ) 的时延远 大于其他功能单元。当时钟设计为1 5 0 m h z 时,执行级的a l u 、s h i f t e r 、地址产生( a g u ) 等功能单元可以一拍内完成,取指、译码、回写等级也可以保证在一拍内完成,而m a c 则 不能。根据初步综合的结果,m a c 关键路径占e x 级总关键路径9 0 以上。 为避免m a c 的影响而致使m d l 6 的系统频率上不去,m d l 6 采用了一种基于按序发射 按序完成的可伸缩e x 级流水扩展方案;即e x 级的流水级数是可变的( 1 拍或2 拍) ,相对 于不同的指令,e x 级执行不同的流水拍数。m a c 运算功能部件根据运算操作的复杂度和 流水时钟周期约束,分解成适当的流水级数。由于采用按序发射按序完成,因此不会带来控 制的复杂化,同时可以有效避免w a w 型数据竞争。可扩展流水线结构的原理图见图2 - 5 。 将流水线扩展后,从概率统计的角度看程序在流水线上时每条指令运行时间的长度大于4 个时钟而小于5 个时钟,但是m d l 6 的系统频率可以满足15 0 m h z 的要求,流水线的性能 优于不扩展时的性能。经过内部流水扩展,m a c 关键路径占e x 级总关键路径的7 41 , 而此时的e x 级总的关键路径缩短了1 2 1 2 。 图2 - 5 可扩展e x 级流水线结构原理示意图 2 2 2 数据竞争的克服 流水线丁作时的主要障碍就是流水线竞争。流水线竞争会使处理器的加速比远小于理想 7 浙江大学硕士学位论文 情况,而加速比是衡量流水线的一个重要指标【2 1 j 。必须要采取措施克服流水线的竞争问题。 一般在i d 级检测所有的数据竞争。如果检测到有数据竞争存在,则在指令发射前插入 s t a l l 或者启动旁路机构。数据竞争检测是越早越好,这样可以减少硬件的复杂性。对旁路情 况的检测可以在进入使用相关操作数流水级开始时进行。 对于数据竞争叫以通过软件和硬件的方法加以克服: ( 1 ) 硬件 a 旁路机制 m d l 6 中的旁路分为以下几类: _ 流水级间的旁路 i d 接受i d 本身的界面寄存器的输出、e x 级界面寄存器的输出和m e m 级界面寄存器 的输出三路旁路通路。这些旁路通路节省了典型r i s c 结构处理器的写回级,在构造上为降 低c p i 做出了贡献。 功能单元间的旁路 作为内部流水扩展的m a c 算术功能单元它的部分输出为下一个时钟周期m a c 运算 的输入,故需要有内部的旁路。可以看到,这类旁路也是寄存器锁存后输出,故不会引起组 合逻辑的回路,导致核关键路径的延长。 _ 寄存器文件的旁路 当寄存器文件在当前时钟周期被写入,同时又被后续指令读取时,这类旁路的存在进一 步加快寄存器文件的访问,降低了数据竞争的出现概率。 m d l 6 的旁路机制包括数据和控制旁路通道。目标数据从译码产生控制信号到将其写入 寄存器之前在流水线中需要经过四个周期的流动,如果当前操作需要此数据,本着即得即用 的原则,数据一得出,通过专用的数据通道直接传送,而前置的控制通道可以同步的提供控 制选择信号;通过这种机制,程序的数据冲突可以有效消除,流水线的停顿亦大大减少。 旁路数据通道都是基于时钟锬存后输出,不会在各流水级中形成回路,因此各级流水线 的关键路径时延不会显著增加。 b 停顿 旁路机制可以有效消除大部分的数据竞争,但仍有少部分的数据竞争不能消除,可以 采用在流水中加入插入s t a l l 的方法。在流水线内锁电路检测数据相关,并插入s t a l l ,直到 数据竞争可以用旁路电路消除为止。 ( 2 ) 软件 用编译调度来调度指令的序列,即流水线静态调度或者指令调度。编译调度改善流水线 性能,不仅可以连续指令问的次序调度,在同一个基本块中还可以调用其他的指令,插入l o a d 指令后来消除竞争。采用这种软件调度避免数据竞争是成功的。l o a d 操作后的指令不用其 浙江大学硕士学位论文 结果的方法也称为延时加载( d e l a y e dl o a d ) ,而在l o a d 指令后,要安插调度指令的地方称为 延时槽( d e l a vs l o t ) 1 2 9 】当编译器没有指令可用来调入延时槽时,可以用n o p 空操作指令代 替,这样不会影响执行时间,仅仅是增加了代码空间。 2 2 3 m d l 6 功能单元 alu a l u 模块除了完成基本的a l u 操作外,还必须处理寄存器问数据移动。a l u 模块中 的核心部件是a l u ,它是一个组合电路,能完成加减、逻辑等基本操作。寄存器间数据移 动主要通过对寄存器使能信号的控制来实现。 a l u 是一个1 6 位宽的有着两个1 6 位输入端口x 和y ,以及一个输出端口r 。x 端口 的源可以为:a x o ,a x i ,a r ,m r 0 ,m r i ,m r 2 ,s r 0 ,s r l :y 端口的源可以为:a y 0 ,a y l ,a f ; r 端口的目的可以为:a r , a f 。a l u 接收一个进位c i ,这个进位是从处理器的算术状态寄 存器( a s t a t ) 得到的。a l u 产生6 个状态信号零状态( a z ) 信号,负状态( a n ) ,进位 状态( a c ) ,溢出状态( a v ) ,x 输入符号状态( a s ) ,以及商状态( a q ) 。所有的算术状 态信号在周期的最后都被锁存在算术状态寄存器( a s r a t ) 中。 a l u 的输入x 端口可以接收两个来源的数据:a x 寄存器文件或者r 总线。r 总线连 接输出寄存器的所有的计算单元,允许它们可以直接用作输入操作数。a x 寄存器文件专门 为x 输入端口,它由两个寄存器a x 0 和a x l 。这些a x 寄存器是可以被d m d 总线可读可 写的。指令集也提供指令在p m d 总线上可以读取这些寄存器,但是没有直接的连接,这些 操作是采用p m d ,d m d 总线交换单元。a x 寄存器文件输出是一个双端口,以便一个寄存器 可以提供输入到a l u 而同时可以驱动d m d 总线。 a l u 的y 端口输入可以接收两个来源的数据:a y 寄存器文件和a l u 反馈( a f ) 寄存 器。a y 寄存器是专门对于y 输入端口,它由两个寄存器组成,a y 0 和a y l 。这些寄存器是 d m d 总线可读可写的,对于p m d 总线也是可写的。指令集也提供在p m d 总线上读这些寄 存器,但是没有直接的连接,这些操作是采用p m d d m d 总线交换单元。a y 寄存器单元输 出同样也是双口的:一个a y 寄存器可以提供输入到a l u 中去,而另一个同时驱动d m d 总线。 a l u 的输出载入到a f 寄存器或者a l u 结果寄存器( a r ) 或者被丢弃。a f 寄存器是 一个a l u 内部的寄存器,允许a l u 的结果作为y 的输入,直接应用。a r 寄存器可以驱动 d m d 总线和r 总线。它同样也是可以从d m d 总线直接载入。指令集同样提供在p m d 总 线上读a r ,但是还是没有直接的连接,这些操作采用p m d d m d 总线交换单元。 所有同a l u 操作相关的寄存器可以在同一个时钟周期内同时读取和写 。在一个处理 器时钟开始的时候读寄存器,在结束的时候写寄存器。一个寄存器读,读出的值是在上一个 周期的结束时写
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医学检验质量控制体系与实施要点
- 海外留学生接送与住宿全面质量监控补充协议
- 虚拟现实网络游戏原创角色道具设计独家授权合同
- 智能家居设备安装与全面保养服务长期合同
- 大宗商品物流配送与仓储一体化承包合同
- 网络广告投放与精准营销服务合同
- 法院执行法拍房税费承担及支付协议合同
- 新能源企业ESG债券发行合规性法律审查协议
- 专业美容美发技术培训与授权服务合同
- 快递网点加盟快递业务代理合同
- GB/T 22642-2008电子、电力电容器用铝箔
- GB/T 13663.1-2017给水用聚乙烯(PE)管道系统第1部分:总则
- GB 2725.1-1994肉灌肠卫生标准
- 受处分以来的思想工作生活情况【4篇】
- 课件:第四章 社会工作项目的执行(《社会工作项目策划与评估》课程)
- 冷库施工组织设计施工方案
- 登杆作业课件共
- 吸痰技能操作及评分标准(评分表)
- 尼可地尔调研
- 发酵法生物制氢技术课件
- 机械制造技术基础(第7章完成)课件
评论
0/150
提交评论