(电路与系统专业论文)视频dsp并行接口与cache的软核设计.pdf_第1页
(电路与系统专业论文)视频dsp并行接口与cache的软核设计.pdf_第2页
(电路与系统专业论文)视频dsp并行接口与cache的软核设计.pdf_第3页
(电路与系统专业论文)视频dsp并行接口与cache的软核设计.pdf_第4页
(电路与系统专业论文)视频dsp并行接口与cache的软核设计.pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

(电路与系统专业论文)视频dsp并行接口与cache的软核设计.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

绪论 第一章绪论 视频信号处理是当今通讯、图像处理等众多领域的技术热点,目前视频信号 处理通常有几种解决方案: 1 视频数据的编解码,实时的图象压缩( 如m p e g 标准) ,这种方法是目前最常 用的一种解决方案。第一代压缩芯片有c c u b e ,l s il o g i c ,a n ds g s t h o m s o n 。它们或者是硬连接的处理器,或者是单功能的处理器,利用硬件 实现压缩算法的大量运算,如运动估计,离散余玄变换( d c t ) 等。这些硬 线连接的和单一功能的图象处理芯片适用于批量大、实现单一标准、长期不 变化的产品,如可视电话、数字v c r 和卡拉o k 系统。为了支持多个压缩标 准,一些厂家如a r r a ym i c r o s y s t e m s 和c c u b e 等采用混合的方法,即在芯片 中具有硬件计算单元进行大量的集中的计算,同时又具有可编程的处理器来 控制数据流,这种可编程性是有限的,在多数情况下,终端用户难以进行这 种编程。这些就限制了这种视频处理芯片的应用范围。 2 一般的数字信号处理器( d s p ) 也被用来进行视频信号的处理。主要供应商包 括美国t i 公司、a d 公司、荷兰p h i l i p s 公司等,可以提供单片解决方案, 支持功能设计上的灵活性,但弱点是价位较高、对产品开发商要求较高。并 不能完全适合视频和多媒体信号的处理。例如运动图象的显示和传输就有它 自己的特点。利用通用的d s p 进行处理时,效率低,编程工作量大。 3 近几年,在国外出现了视频信号处理器( v i d e os i g n a lp r o c e s s o r ) 芯片。类似 的芯片有p h l i p s 公司的媒体处理器t r i m e d i at m l 3 0 0 ,它是利用图象并行性 和超长的指令字进行视频信号处理,因此可以获得较好的性能。美国8 x 8 公 司在9 8 年4 月年发布了单片视频通讯处理器。它的结构是结合了一个3 2 位 i l i s c 和一个6 4 位d s p ,性能是1 8b o p s 。在机顶盒、视频会议、可视电话 等方面提供灵活性很大的单片解决方案。 综上所述,视频处理单片解决d s p 方案在性能、使用灵活性、价格等方面都 有诸多的优势。视频单片d s p 解决方案在市场上有很大的需求。但是目前,国外 的一些公司掌握视频处理芯片的设计技术,从国外购买芯片不但价格昂贵,而且 整机功能、性能的改进与完善会受到制约,从而使系统设计处于被动地位。因此 要发展我国视频处理产业,就必须研究丌发自己的视频处理芯片。本课题j 下是在 这种形势下提出的。 本课题是国家8 6 3 项目( 8 6 3 一s o c y 2 1 - 6 ) “视频数字信号处理p 核的设 计”。本项目以研制出高性能视频处理i p 核( 代号x y v d s p ) 为目标。该项目的成 果,一个方面作为口软核,可以出售它的使用权。我们将要按照国家科技部的安 视频处理d s p 一并行接口与c a c h e 的软核设计 排,在国内以合适的方式共享,供国内a s i c 设计者利用这个软核设计视频产品 的专用芯片。另一个方面,我们将自己利用这个软核设计各种视频应用产品的核 心芯片,并可以广泛应用于模式识别、图象处理、远程医疗、远程教学、视频压 缩和解压等领域。 本人的主要工作是,完成视频d s p 的c a c h e 和并行接口的软核设计工作。目 前基本完成了软核的f p g a 后仿真。 本论文将重点讨论c a c h e 和并行接口的设计和实现,论文共分为以下五章: 第一章、介绍并比较当前视频处理领域的常用解决方案,说明单片视频 d s p 解决方案的优点,并概述了国内外这方面的进展,明确了本论 文的来源和实用价值。 第二章、介绍并行处理的相关知识,概述了我们设计的视频d s p 的体系结 构和各部分功能模块的组成,同时介绍c a c h e 和并行d m a 接口在系 统中的作用,从而引出下两章的设计内容。 第三章、并行接口的设计。介绍并行接口的设计与实现,详细讲述的并行 接口的设计思路,功能模块分析和划分,以及各个模块的设计。 第四章、c a c h e 的设计。在分析c a c h e 各种结构特点的基础上,提出数据 c a c h e 和指令c a c h e 的设计方案,确定c a c h e 内部的结构,并且进 行功能模块的划分和设计。 第五章、介绍了a l t e r af p g a 的结构,和f p g a 的设计流程,并且讲述了 一些设计中的碰到的问题和解决办法。 第六章、介绍了电路与系统的的仿真和测试工作。 第二章x y v d s p 系统结构设计 第二章x y v d s p 系统结构设计 2 1 通用并行处理结构介绍 一并行性开发的途径 为了提高计算机系统的并行性,可以通过多种多样的技术途径来达到, 以下几种是最常用的方法。 1 时间重叠 时间重叠是在并行性概念中引入时间因素,让多个处理过程在时间上 相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件运转周 期而赢得速度。指令内部个操作步骤采用重叠流水的工作方式就是最典型的 例子。如图2 1 所示,每条指令的取指、分析、执行分别在相应的硬件上完 成。若各部分的通过时间为t ,则在2 t 到3 t 期间,第k + 2 条指令在取 指令部件取指,同时第k + l 条指令在分析部件分析,而第k 条指令则在执行 部件执行。整个三条指令的执行只需要5 t 就可以完成,加快了程序的执行 速度。时间重叠基本上不必要增设硬件设备就可以提高计算机系统的性能价 格比。 ( d ) 执行 分析 取指 ih ll “2 kl “li “2 ki “l l 1 + 2 五了i 五i3 a t 4 a ,5 a tt ( ) 图2 - 1 时间重叠的例子 ( a ) 指令流水线( b ) 指令在流水线各部件中流过的时间关系 2 资源重复 资源重复是并行性概念中引入空间因素,通过重复设置硬件资源来提 高性能。如图2 2 所示,设置n 个完全相同的处理单元( p e ) ,让它们受同一 个控制器( c u ) 控制,控制器每执行一条指令就可以同时让各个处理单元对 各自分配到的数据完成同一种运算或操作。这是利用资源重复提高速度的例 子。 第二章x y v d s p 系统结构设计 第二章x y v d s p 系统结构设计 2 1 通用并行处理结构介绍 一并行性开发的途径 为了提高计算机系统的并行性,可以通过多种多样的技术途径来达到, 以下几种是最常用的方法。 1 时间重叠 时间重叠是在并行性概念中引入时间因素,让多个处理过程在时间上 相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件运转周 期而赢得速度。指令内部个操作步骤采用重叠流水的工作方式就是最典型的 例子。如图2 1 所示,每条指令的取指、分析、执行分别在相应的硬件上完 成。若各部分的通过时间为t ,则在2 t 到3 t 期间,第k + 2 条指令在取 指令部件取指,同时第k + l 条指令在分析部件分析,而第k 条指令则在执行 部件执行。整个三条指令的执行只需要5 t 就可以完成,加快了程序的执行 速度。时间重叠基本上不必要增设硬件设备就可以提高计算机系统的性能价 格比。 ( d ) 执行 分析 取指 ih ll “2 kl “li “2 ki “l l 1 + 2 五了i 五i3 a t 4 a ,5 a tt ( ) 图2 - 1 时间重叠的例子 ( a ) 指令流水线( b ) 指令在流水线各部件中流过的时间关系 2 资源重复 资源重复是并行性概念中引入空间因素,通过重复设置硬件资源来提 高性能。如图2 2 所示,设置n 个完全相同的处理单元( p e ) ,让它们受同一 个控制器( c u ) 控制,控制器每执行一条指令就可以同时让各个处理单元对 各自分配到的数据完成同一种运算或操作。这是利用资源重复提高速度的例 子。 视频处理d s p 并行接口与c a c h e 的软核设计 图2 - 2资源重复的例子 3 资源共享 资源共享就是利用软件的方法让多个用户按一定时间顺序轮流地使用同一套 资源,以提高其利用率,这样相应地也可以提高整体系统的性能。 这几种结构不是孤立存在的,在很多系统结构中常常同时使用这几种途径来 实现并行性处理。 二r i s c 指令集结构特征 从8 0 年代开始,计算机在系统结构上有很多创新和突破,其中精简指令系统 计算机( r i s c ) 就属于影响较大的一种。r i s c 是相对c i s c ( 复杂指令系统计算 机) 而言的。 精简指令集结构有有些共同的特征: 1 每周期一条指令 机器周期被定义成由寄存器取两个操作数,完成一个a l u 操作,然后在 将结构写入寄存器所用的时间。r i s c 机器指令比c l s c 微指令简单,简单的单周 期指令不需要微代码,机器指令能以硬联线方式实现。这样指令执行起来相对较 快。 2 寄存器到寄存器的操作 大多数操作应是寄存器到寄存器的,只以简单的l o a d 和s t o r e 操作访问 存储器。这个设计特点简化了指令集,进而也简化了控制器。例如,一个r i s c 指令集可只包括一条或两条a d d 指令( 如整数加,带进位加) ;而有些c i s c 指令 系统有2 5 种不同的a d d 指令。这种结构的另个好处是它鼓励寄存器的优化使 用,从而频繁存取的操作数是保留在高速存储装置中。 3 简单的寻址方式 几乎所有的指令都使用寄存器寻址方式,其他复杂的寻址方式可由这些简单 方式用软件来合成。这个设计特点简化了指令集和控制器。 第二章x y v d s p 系统结构设计 4 简单的指令格式 通常,只使用一种或少数格式。指令长度固定并且在字边界上对齐。字段位 置,特别是操作码字段位置是固定的。这个设计特点有几个好处。对于固定的字 段,操作码的译码和寄存器操作数的访问能同时出现。简化的格式也就简化了控 制器。因为以字长单位来取,取指令也就被优化了。 三视频处理并行计算机结构 视频信号处理的特点就是处理大批量的向量或矩阵数据,实时性要求高,需要 快速的运算,所以,视频处理的并行计算机结构通常增加处理单元,形成阵列。 常见的视频处理并行计算机的结构有: 1 超长指令字结构v l r w ( v e r yl o n gi n s t r u c t i o nw o r d ) 完全由编译对程序所要求的操作进行调整,按一定要求产生多个可以同 时处理的操作,并将它们包装成一个很长的指令,这种技术就叫做超长指令 字技术。超长指令字结构的最重要特色主要表现在它的程序具有对硬件的大 量同步和资源控制的直接支 配能力。它的结构如图2 3 所示。 v l l w 机器一般具有如 下特征: 1 ) 单一控制流。机器中只有 一个程序计数器,一个控制 单元,每个时钟周期启动一 条v l i w 指令。 2 ) v l i w 指令被划分成许多 段,每段直接地、独立地控 制特定的功能部件;一个 v l i w 指令可以理解为针对 图2 - 3 超长指令字机器的一般 不同的功能部件f u ,在指令格式中提供不同的域。 3 ) 机器中设置大量数据通路和功能部件,功能部件的操作可以采用流水线技 术来进一步提高机器性能,每个操作的执行周期数是已知的;编译器在对操 作调度时已考虑可能出现的数据相关和资源相关,因此控制硬件非常简单。 4 ) 由编译器安排,在一个时钟周期内,执行的是一组不同操作,这些操作各 自作用于独立的对象。 但是,v l i w 处理机能否成功很大程度取决于代码压缩的效率,也就是编译器 能否合理的找出程序中潜在的可并行处理的数据,而且指令字很长而且操作段格 式固定,经常使指令字中许多字段没有操作,资源利用率不高。市场上常见的采 视频处理d s p 一并行接口与c a c h e 的软核设计 用v l l w 结构有的芯片有p h l i p s 公司的媒体处理器t r im e d i at m l 0 0 0 。 2 阵列处理机 阵列处理机是操作级并行的s i m d ( s i n g l ei n s t r u c t i o nm u l t i p l ed a t as t r e a m ) 计 算机。通过重复设置大量相同的处理单元p e ,将它们相连成阵列,在单一控制部 件c u 控制下,对各自分配的数据并行执行同一指令所规定的操作。处理单元p e 是不带指令控制部件的算术逻辑运算单元。 在系统中,处理单元阵列通过控制部件接到一台管理处理机上。管理处理机 通常是一种通用计算机,用于管理整个系统的全部资源,完成系统维护、输入输 出、存储分配、设备管理等功能。因此,包括处理单元阵列、互连网络和控制部 件在内的阵列处理部分可以看成是系统的一个后端处理机。 阵列处理机的单指令流多数据流处理方式和它产生的特殊结构是以诸如有限 差分、矩阵、信号处理等一系列计算问题为背景发展起来的。这些计算问题的共 同特点是可以通过各种途径把它们转化成为对数组或向量的处理,而阵列处理机 j 下好利用多个处理单元对向量或数组所包含的各分量同时计算,从而获得很高的 处理速度。 处理单元之间的互连网络是设计的重点,互连网络的结构形式限定了阵列处 理机适用的解题算法类型,也会对整个系统的多种指标产生明显的影响。 2 2 x y v d s p 软硬件结构设计 在确定x y v d s p 硬件结构的时候,我们主要参考两种体系结构,一种是v l l w 结构,另一种是阵列处理机结构。两种结构的特点我们在前面已经叙述过的。 从编译系统来说,v l l w 结构的计算机的编译程序与系统结构密切相关,必 须同时设计,所以设计就必须抽出很多精力从事编译程序设计;阵列处理器所用 的编译系统就相对简单和独立一些,编译程序主要完成语法的检查,一些相关性 检查,指令编译等功能,实现起来相对简单。从处理器实现难度来说,定点处理 器相对与浮点处理器要简单些。 综上所述我们的系统针对视频数字信号处理系统而开发的具有完全可编程的 视频d s p 。系统采用3 2 位r i s c 处理器作为标量处理器,并且采用了阵列处理机 的结构,为视频数字信号处理专门增加了阵列处理单元。系统的设计主要包括了 两方面,一方面是硬件系统设计,包括硬件电路的功能模块划分和设计:另一方 面是软件系统设计,包括指令集、指令格式的设计。 2 2 1x y - v d s p 系统硬件结构设计 视频处理d s p 一并行接口与c a c h e 的软核设计 用v l l w 结构有的芯片有p h l i p s 公司的媒体处理器t r im e d i at m l 0 0 0 。 2 阵列处理机 阵列处理机是操作级并行的s i m d ( s i n g l ei n s t r u c t i o nm u l t i p l ed a t as t r e a m ) 计 算机。通过重复设置大量相同的处理单元p e ,将它们相连成阵列,在单一控制部 件c u 控制下,对各自分配的数据并行执行同一指令所规定的操作。处理单元p e 是不带指令控制部件的算术逻辑运算单元。 在系统中,处理单元阵列通过控制部件接到一台管理处理机上。管理处理机 通常是一种通用计算机,用于管理整个系统的全部资源,完成系统维护、输入输 出、存储分配、设备管理等功能。因此,包括处理单元阵列、互连网络和控制部 件在内的阵列处理部分可以看成是系统的一个后端处理机。 阵列处理机的单指令流多数据流处理方式和它产生的特殊结构是以诸如有限 差分、矩阵、信号处理等一系列计算问题为背景发展起来的。这些计算问题的共 同特点是可以通过各种途径把它们转化成为对数组或向量的处理,而阵列处理机 j 下好利用多个处理单元对向量或数组所包含的各分量同时计算,从而获得很高的 处理速度。 处理单元之间的互连网络是设计的重点,互连网络的结构形式限定了阵列处 理机适用的解题算法类型,也会对整个系统的多种指标产生明显的影响。 2 2 x y v d s p 软硬件结构设计 在确定x y v d s p 硬件结构的时候,我们主要参考两种体系结构,一种是v l l w 结构,另一种是阵列处理机结构。两种结构的特点我们在前面已经叙述过的。 从编译系统来说,v l l w 结构的计算机的编译程序与系统结构密切相关,必 须同时设计,所以设计就必须抽出很多精力从事编译程序设计;阵列处理器所用 的编译系统就相对简单和独立一些,编译程序主要完成语法的检查,一些相关性 检查,指令编译等功能,实现起来相对简单。从处理器实现难度来说,定点处理 器相对与浮点处理器要简单些。 综上所述我们的系统针对视频数字信号处理系统而开发的具有完全可编程的 视频d s p 。系统采用3 2 位r i s c 处理器作为标量处理器,并且采用了阵列处理机 的结构,为视频数字信号处理专门增加了阵列处理单元。系统的设计主要包括了 两方面,一方面是硬件系统设计,包括硬件电路的功能模块划分和设计:另一方 面是软件系统设计,包括指令集、指令格式的设计。 2 2 1x y - v d s p 系统硬件结构设计 视频处理d s p 一并行接口与c a c h e 的软核设计 用v l l w 结构有的芯片有p h l i p s 公司的媒体处理器t r im e d i at m l 0 0 0 。 2 阵列处理机 阵列处理机是操作级并行的s i m d ( s i n g l ei n s t r u c t i o nm u l t i p l ed a t as t r e a m ) 计 算机。通过重复设置大量相同的处理单元p e ,将它们相连成阵列,在单一控制部 件c u 控制下,对各自分配的数据并行执行同一指令所规定的操作。处理单元p e 是不带指令控制部件的算术逻辑运算单元。 在系统中,处理单元阵列通过控制部件接到一台管理处理机上。管理处理机 通常是一种通用计算机,用于管理整个系统的全部资源,完成系统维护、输入输 出、存储分配、设备管理等功能。因此,包括处理单元阵列、互连网络和控制部 件在内的阵列处理部分可以看成是系统的一个后端处理机。 阵列处理机的单指令流多数据流处理方式和它产生的特殊结构是以诸如有限 差分、矩阵、信号处理等一系列计算问题为背景发展起来的。这些计算问题的共 同特点是可以通过各种途径把它们转化成为对数组或向量的处理,而阵列处理机 j 下好利用多个处理单元对向量或数组所包含的各分量同时计算,从而获得很高的 处理速度。 处理单元之间的互连网络是设计的重点,互连网络的结构形式限定了阵列处 理机适用的解题算法类型,也会对整个系统的多种指标产生明显的影响。 2 2 x y v d s p 软硬件结构设计 在确定x y v d s p 硬件结构的时候,我们主要参考两种体系结构,一种是v l l w 结构,另一种是阵列处理机结构。两种结构的特点我们在前面已经叙述过的。 从编译系统来说,v l l w 结构的计算机的编译程序与系统结构密切相关,必 须同时设计,所以设计就必须抽出很多精力从事编译程序设计;阵列处理器所用 的编译系统就相对简单和独立一些,编译程序主要完成语法的检查,一些相关性 检查,指令编译等功能,实现起来相对简单。从处理器实现难度来说,定点处理 器相对与浮点处理器要简单些。 综上所述我们的系统针对视频数字信号处理系统而开发的具有完全可编程的 视频d s p 。系统采用3 2 位r i s c 处理器作为标量处理器,并且采用了阵列处理机 的结构,为视频数字信号处理专门增加了阵列处理单元。系统的设计主要包括了 两方面,一方面是硬件系统设计,包括硬件电路的功能模块划分和设计:另一方 面是软件系统设计,包括指令集、指令格式的设计。 2 2 1x y - v d s p 系统硬件结构设计 第二章x y v d s p 系统结构设计 一系统硬件结构设计 我们的视频d s p 采用采用哈佛总线结构,如图2 - 4 所示,视频d s p 芯片主要 由以下各主要功能模块组成: s d r a m 存储器接口 负责与外部s d r a m 的接口逻辑控制,并且负责内部内存总线使用的优先级控制。 并行接口 系统中有三个并行接口,采用i ) m a 传送方式,主要完成系统启动时初始化程序的 装入:与其它系统通讯;视频数据的输入和输出。 指令单元 指令单元负责取指令、指令译码与执行等操作。指令单元由个多级流水线和多 个控制器组成。流水线负责不问断地将指令送往控制器。控制器负责指令译码, 并产生送往有关功能单元的控制信号 幽2 - 4 视频d s p 结构框图 标量处理器单元( 3 2 b ) 标量运算单元为矢量运算单元和自身提供运算所需要的内存地址和程序 所需要的控制机制 并行处理器单元( 3 2 1 6 b ) 8 行( r o w 0 r o w 7 ) ,每行4 个共3 2 个矢量处理器组成。3 2 个矢量处理器 视频处理d s p 一并行接口与c a c h e 的软核设计 中的任何一个处理器都可以对多达1 2 8 位( 1 6 个字节) 数据中的任何个8 位( 一 个字节) 或1 6 位( 一个字) 并行操作数进行处理 运动估计协处理器 八个运动估计协处理器,每一个协处理器对应一行的四个矢量处理器。 每一个协处理器可以利用对应的这四个并行矢量处理器同时处理8 对像素的比 较,并且通过一个连续的比较过程可以找出最佳的匹配块 交叉开关( c r o s s b a r ) 负责数据c a c h e 与矢量处理器和标量处理器之间传送数据。 4 k b 指令c a c h e 指令部件从指令c a c h e 中取出指令。 8 k b 数据c a c h e 数据c a c h e 为矢量处理器和标量处理器提供数据。 二并行接口设计 并行接口目前是我们的x y v d s p 最重要的也是唯一的i o 接口( 以后系统改 进时还可以增加一些i o 接口,如串行接口,u a r t 接口等) ,它的重要性表现在 一下几点: 1 它是系统与外界联系的重要数据通路,负责系统与外部通讯: 2 它是视频信号的重要通路,由于视频信号数据量很大,所以通过并行接口 可以方便的将视频数据输入输出系统。 3 系统内部没有启动存储部件,所以系统的启动和程序的调入目前就必须通 过并行接口在调入。 考虑到以上几点重要性和功能要求,我们对并行接口的设计采用了一下一些 方案: 1 并行接口可以与外部总线进行数据传输,传输的过程可以在一系列握手 信号的联系下完成,如数据总线的请求,总线的响应,数据发送的使能, 接收数据的响应,等等,为此我们设置了包工作模式,这种模式的特点 就是能在系统与外部总线之间进行准确的传送,并且能够传送指定大小 数据。 2 视频信号处理是本系统的重要任务,所以视频信号的输入输出是一个重 要任务。为此我们设计的并行接口有视频传送模式,这种传送模式可以 与一些常用的数字视频解码芯片( 如,s a a t l l 3 等) 直接连接,利用线 同步信号,场同步信号等进行视频数据的传送,无须在中间添加任何其 它逻辑电路。 3 视频信号数据量大,处理实时性强,所以要求数据能够迅速的传送到内 存中等待处理器的处理,为此我们设计与内存传送方式时采用了d m a 第二章x r y v d s p 系统结构设计 的方式,这样可以减少c p u 的负担,为其它处理节省大量c p u 时间, 另外,我们也可以通过非d m a 方式进行传送,为用户提供多种灵活的 选择。 4 外部总线的时钟与系统内部数据总线的时钟经常相差较大,如何将外部 数据实时、连贯的送入内存,也是个需要解决的问题。为此我们在传送 过程中设计了1 2 8 字节的f i f o ,通过f i f o 数据就可以在不同时钟频率 的总线间平滑的传送了。 并行接口设计的详细内容在第三章中有详细论述。 三c a c h e 设计 c a c h e 已经是微处理器中必不可少的模块,从i n t e l 微处理器的演变我们可以 看到c a c h e 结构的演变。8 0 3 8 6 没有片内c a c h e 。8 0 4 8 6 有一个片内c a c h e 。p e n t i u m 机内包括两个片内c a c h e ,一个用于数据,一个用于指令。 对于我们设计的x y v d s p 系统,我们采用了数据c a c h e 和指令c a c h e 分离 的结构,c a c h e 的重要性表现在如下几个方面: 1 内存采用s d r a m ,s d r a m 的数据存取如果采用单字或单个字节的 方式,那么效率将是非常低。通常的s d r a m 一般采用块存储方式,一 次读取或写入内存一块数据,利用c a c h e 的结构,将需要的数据或指令 按页面( 6 4 个字节) 调入,这样可以提高内存操作效率。 2 并行操作时需要能对多种数据类型进行操作,交叉开关( c r o s s b a r ) 发出的读取或写入的数据,使用了数据c a c h e 就可以使并行处理单元通 过交叉开关灵活的存取多种数据类型。 3 程序的运行中,指令和数据的就一定会有数据的相关性,c a c h e 的存 在就使得一些常用数据、指令或指令、数据附近的一些数据也调入c a c h e 这些数据被处理器使用的几率非常高,这样也可以减少内存操作提高系 统运行效率。 4 随着系统性能的提升,e p u 的处理速度将大大提高,将比存储器使用 的时钟高,如果每个内存操作数都去从内存取数,处理器必定有很多时 间处于等待时间。有了c a c h e 就可以将经常使用的数据保存,不必要每 个数据都去进行存储器操作。 c a c h e 设计的详细内容见第四章的叙述。 四系统主要的参数: c p u 时钟:5 0 m h z 内存数据总线宽度:3 2 位 标量处理器数据总线:3 2 位 s d r a m 接口时钟:1 0 0 m h z 内存地址总线宽度:2 4 位 标量处理器地址总线:1 0 位 视频处理d s p 一并行接口与c a c h e 的软核设计 并行接口数据总线:1 6 位并行处理单元:3 2 个 运动估计协处理单元:8 个 五系统工作流程 系统外部接口原理如图2 5 所示,主并行接口外面接的e p r o m 中装有系统 引导程序和系统应用程序,当系统启动或系统复位时,引导程序通过主并行口从 e p r o m 中调入到系统的存储器s d r a m 中,这样系统就可以通过引导程序完成 系统的初始化工作。通过指令设置左右并行接口的工作方式,如视频信号的输入 输出方向、视频信号的是否为交叠信号,还有视频信号需要传送的内存地址,以 及在内存中存放的要求等,左右并行接口就可以在不受c p u 控制的情况下,采 用d m a 传送的方式将视频信号送入或送出系统内存。并行接口可以通过中断方 式与标量处理器进行通讯,比如信号传送开始时,视频信号的一场信号、一帧信 号传送完毕时,都可以发送中断,如果编程人员需要在这些情况下进行相应的处 理或配置,那么编好中断响应程序,并放在约定好的中断服务程序地址中就行了。 视频信号的处理完全由软件编程来实现,硬件只提供并行处理的资源。所以可以 在这个系统上实现多种视频处理算法。 v i d e o s d r a m j 上 | 视频。s p j e b o o te p r o m 图2 - 5 视频d s p 外部接口示意 v i d e o i 0 辱= 2 2 2 视频d s p 系统软件结构 指令是一个处理器的重要组成部分,它的结构直接关系到硬件的控制设备, 译码电路,控制电路等的设计。 我们的视频d s p 系统采用r i s c 结构,每周期一条指令,简单的单周期指令 视频处理d s p 一并行接口与c a c h e 的软核设计 并行接口数据总线:1 6 位并行处理单元:3 2 个 运动估计协处理单元:8 个 五系统工作流程 系统外部接口原理如图2 5 所示,主并行接口外面接的e p r o m 中装有系统 引导程序和系统应用程序,当系统启动或系统复位时,引导程序通过主并行口从 e p r o m 中调入到系统的存储器s d r a m 中,这样系统就可以通过引导程序完成 系统的初始化工作。通过指令设置左右并行接口的工作方式,如视频信号的输入 输出方向、视频信号的是否为交叠信号,还有视频信号需要传送的内存地址,以 及在内存中存放的要求等,左右并行接口就可以在不受c p u 控制的情况下,采 用d m a 传送的方式将视频信号送入或送出系统内存。并行接口可以通过中断方 式与标量处理器进行通讯,比如信号传送开始时,视频信号的一场信号、一帧信 号传送完毕时,都可以发送中断,如果编程人员需要在这些情况下进行相应的处 理或配置,那么编好中断响应程序,并放在约定好的中断服务程序地址中就行了。 视频信号的处理完全由软件编程来实现,硬件只提供并行处理的资源。所以可以 在这个系统上实现多种视频处理算法。 v i d e o s d r a m j 上 | 视频。s p j e b o o te p r o m 图2 - 5 视频d s p 外部接口示意 v i d e o i 0 辱= 2 2 2 视频d s p 系统软件结构 指令是一个处理器的重要组成部分,它的结构直接关系到硬件的控制设备, 译码电路,控制电路等的设计。 我们的视频d s p 系统采用r i s c 结构,每周期一条指令,简单的单周期指令 第二章x y v d s p 系统结构设计 不需要微代码,机器指令能以硬联线方式实现,这样指令执行起来相对较快:大 多数操作应是寄存器到寄存器的,只以简单的l o a d 和s t o r e 操作访问存储器, 简化了指令集,进而也简化了控制器;几乎所有的指令都使用寄存器寻址方式, 其他复杂的寻址方式可由这些简单方式用软件来合成,这个设计特点简化了指令 集和控制器:指令长度固定并且在字边界上对齐,字段位置,特别是操作码字段 位置是固定的。对于固定的字段,操作码的译码和寄存器操作数的访问能同时出 现。简化的格式也就简化了控制器。因为以字长单位来取,取指令也就被优化了。 一指令结构 我们的视频d s p 指令有两种格式。一种是3 2 位指令,一种是6 4 位指令。 3 2 位指令是最基本的的格式,6 4 位指令是当有一个操作数为立即数时,指令的 高3 2 位为立即数值。指令的结构如图2 - 6 所示。其中指令操作码用来区分不同 的指令类型;标量操作码用来区分不同的标量操作:矢量操作码用来指示并行处 理单元进行的操作;标量寄存器a 、b 用来指示标量操作的源操作数和目的操作 数;矢量寄存器a 、b 用来指示并行处理单元的源操作数和目的操作数。 b i t :3 1 2 82 7 2 32 2 1 81 7 1 41 3 98 4 3 0 指令操矢量寄矢量寄矢量操标量寄标量寄标量操 作码存器a存器b作码存器a存器b作码 豳2 - 6 指令格式示意图 指令的一个特点是标量指令与矢量指令同时在一条指令中出现,标量指令与 矢量处理指令在编译时合成一条指令。标量指令处理的结果可以作为矢量指令操 作的一个操作数的地址。当不需要矢量操作时,就可以只写标量指令。 如指令vm v m w r 4 ,a c 0 sa d ds r 8 ,s r 4 其中vm v m 是矢量乘法指令,w r 4 是矢量处理器中的寄存器,a c 0 是累加 寄存器用来存放乘法的计算结果。s _ a d d 是标量处理器的加法指令,s r 4 ,s r 8 都是 标量处理器中的寄存器。 sa d ds r 8 s r 4 是标量操作,操作等式为s r 4 = s r 4 + s r 8 s r 4 的运算结果是矢量处理器的一个操作数,它与w r 4 在矢量处理其中进行 乘法操作,并把结果放入a c 0 中。 二指令分类 视频处理d s p 并行接口与c a c h e 的软核设计 指令根据功能可以分成一下几种: 控制指令 c a l l , j u m p ,等控制程序执行循序的指令 标量操作指令 用来指示标量处理器的操作,如进行加法,移动等操作。 堆栈指令 p o p ,p u s h ,等堆栈操作指令 测试指令 进行标量、矢量处理器的一些测试 c a c h e ,i 0 指令 c a c h e 的回写指令,i 0 接口控制指令 矢量基本操作指令 用来指示矢量处理器的操作,如进行加法,移动等操作。 矢量乘法、卷积、运动估计指令 矢量数据装入存储指令 用来内存和并行处理单元之间装入或存储数据的指令 三流水线 指令单元中的流水线有五级: ( 1 ) 取指( i f ) ( 2 ) 指令译码( i d ) ( 3 ) 标量指令执行( s c a l a r e x e ) ( 4 ) 矢量指令执行第一级( v e c t o r e x e 一1 ”) ( 5 ) 矢量指令执行第二级( v e c t o r - e x e 一2 ”) 指令单元的执行流程: 1 ) 程序计数器的内容用于访问指令c a c h e ,时钟周期结束时锁存读出的指令 到指令寄存器中,并更新程序计数器。 2 ) 译码寄存器的内容( 6 4 位长) 被部分译码以决定接下来要译码的是一条3 2 位的基本指令还是6 4 位的扩展指令。同时操作码的修正码被译码,以便对标量 操作码字段进行二次译码。译码标量处理器操作数读入控制信号,下一条指令地 址。提前一级译码矢量处理器操作数读入控制信号。在每个时钟周期结束时, 标量执行控制信号的内容被装入标量指令寄存器,矢量处理器操作数读入控制信 号装入矢量指令寄存器。当前指令锁存用于下一级的译码。 3 ) 标量指令寄存器的内容由标量处理器执行,矢量指令寄存器的内容由矢量 处理器执行。操作码的修f 码和锁存的指令被再次用来进行矢量操作控制信号译 码。时钟周期结束时,矢量执行控制信号的内容被装入矢量指令寄存器。 第二章x y v d s p 系统结构设计 4 ) 矢量指令寄存器的内容被矢量处理器执行。矢量处理器中主要的数据通路 和矢量寄存器寻址被直接控制。 5 ) 矢量处理器中乘法累加和运动估计操作延时较长,用二级流水线完成。 第三章x y v d s p 并行接口设计 第三章x y - v d s p 并行接口设计 并行接口是我们设计的视频处理d s p 中的重要组成部分,它完成视频 数据和其他数据输入或输出d s p 的内存,传送的视频数据能够兼容多种视频图象 格式,很方便的与视频编码或解码芯片交换数据。 3 1 d m a 传送介绍 一i o 传送方式 计算机系统中,i o 传输控制方式有以下三种 1 程序查询i o 程序查询方式不能使i o 数据直接放入存储器,而是要处理机执行一段 程序,从i o 接口把数据读入,并用s t o r e 指令把数据放入存储器。这种方法 的特点是电路简单,缺点是处理机效率不高。 2 中断驱动i o 为了克服查询i o 方式的不足,采用中断驱动方式,就可以有效避免处理机 对不必要的查询时间消耗。处理机首先对i o 接口及一个中断控制器进行初始化, 然后执行其他程序。当i o 数据准备好时,由中断控制器向处理机发出中断请求。 处理机再收到中断请求后,暂时停止当前程序的执行,这样就大大提高了处理机 的效率。 3 直接存储器访问d m a 。 上两种方法数据的传输都是由处理机执行指令的办法完成的,而且都是 在处理机与i o 设备之间传送数据。d m a 方式是在存储器与i o 设备之间直接传 送数据,传送的过程并不需要处理机干预,而是由d m a 控制器加以控制的。处 理机只需要对d m a 控制器进行初始化。d m a 传送方式特别适合用于外部设备与 存储器之问高速成批的数据传送。 二d m a 工作方式 1 c p u 暂停方式 主机响应d m a 请求后,让出存储总线,直到一组数据传送完毕后,d m a 控制器才把总线控制权交还给c p u ,采用这种工作方式的i o 设备,在其接口中一 般设置有小容量存储器,i o 设备先与小容量存储器交换数据,然后由小容量存储 器与主机交换数据,这样可减少d m a 传送占用存储总线的时间,也减少c p u 暂停 工作时间。 第三章x y v d s p 并行接口设计 第三章x y - v d s p 并行接口设计 并行接口是我们设计的视频处理d s p 中的重要组成部分,它完成视频 数据和其他数据输入或输出d s p 的内存,传送的视频数据能够兼容多种视频图象 格式,很方便的与视频编码或解码芯片交换数据。 3 1 d m a 传送介绍 一i o 传送方式 计算机系统中,i o 传输控制方式有以下三种 1 程序查询i o 程序查询方式不能使i o 数据直接放入存储器,而是要处理机执行一段 程序,从i o 接口把数据读入,并用s t o r e 指令把数据放入存储器。这种方法 的特点是电路简单,缺点是处理机效率不高。 2 中断驱动i o 为了克服查询i o 方式的不足,采用中断驱动方式,就可以有效避免处理机 对不必要的查询时间消耗。处理机首先对i o 接口及一个中断控制器进行初始化, 然后执行其他程序。当i o 数据准备好时,由中断控制器向处理机发出中断请求。 处理机再收到中断请求后,暂时停止当前程序的执行,这样就大大提高了处理机 的效率。 3 直接存储器访问d m a 。 上两种方法数据的传输都是由处理机执行指令的办法完成的,而且都是 在处理机与i o 设备之间传送数据。d m a 方式是在存储器与i o 设备之间直接传 送数据,传送的过程并不需要处理机干预,而是由d m a 控制器加以控制的。处 理机只需要对d m a 控制器进行初始化。d m a 传送方式特别适合用于外部设备与 存储器之问高速成批的数据传送。 二d m a 工作方式 1 c p u 暂停方式 主机响应d m a 请求后,让出存储总线,直到一组数据传送完毕后,d m a 控制器才把总线控制权交还给c p u ,采用这种工作方式的i o 设备,在其接口中一 般设置有小容量存储器,i o 设备先与小容量存储器交换数据,然后由小容量存储 器与主机交换数据,这样可减少d m a 传送占用存储总线的时间,也减少c p u 暂停 工作时间。 视频处理d s p 一并行接口与c a c h e 的软核设计 2 c p u 周期窃取方式 d m a 控制器与主存储器之间传送一个数据,占用( 窃取) 一个c p u 周 期,即c p u 暂停工作一个周期。 3 直接访问存储器工作方式 这是标准的d m a 工作方式,如传送数据时c p u 正好不占用存储总线, 则对c p u 不产生任何影响。如d m a 和c p u 同时需要访问存储总线,则d m a 的优先级高于c p u 。 三d m a 传送方式 1 字节传送方式 这种方式传送一个字或字节后就结束d m a 操作。 2 指定大小传送方式 这种方式在传送前,先设定好要传送的字节的大小,然后进行传送。 3 块传送方式 没一次传送都传送一个规定大小的数据块,这个数据块大小一旦约定,就不 能改变。 3 2 数字视频介绍 数字视频信号是对常见的模拟视频信号进行采样及数字化后的能够被计 算机所识别和处理的视频信号,并行d m a 接口的主要任务之一就是要把数字视 频信号输入或输出我们的视频d s p 系统,所以有必要介绍一下数字视频信号的知 识。 1 黑白数字信号 这种信号是简单的黑白图象,一个像素点可以为8 位或1 6 位的灰度值。 2 彩色数字视频信号 模拟视频的数字化包括不少技术问题,如电视信号具有不同的制式而且采用 复合的y u v 信号方式,而计算机工作在r g b 空间:电视机是隔行扫描,计算机 显示器大多逐行扫描;电视图像的分辨率与显示器的分辨率也不尽相同等等。因 此,模拟视频的数字化主要包括色彩空阳j 的转换、光栅扫描的转换以及分辨率的 统一。 模拟视频一般采用分量数字化方式,先把复合视频信号中的亮度和色度分离, 得到y u v 或y i q 分量,然后用三个模数转换器对三个分量分别进行数字化, 最后再转换成r g b 空间。 1 ) 数字视频的采样格式 根据电视信号的特征,亮度信号的带宽是色度信号带宽的两倍。因此其 视频处理d s p 一并行接口与c a c h e 的软核设计 2 c p u 周期窃取方式 d m a 控制器与主存储器之间传送一个数据,占用( 窃取) 一个c p u 周 期,即c p u 暂停工作一个周期。 3 直接访问存储器工作方式 这是标准的d m a 工作方式,如传送数据时c p u 正好不占用存储总线, 则对c p u 不产生任何影响。如d m a 和c p u 同时需要访问存储总线,则d m a 的优先级高于c p u 。 三d m a 传送方式 1 字节传送方式 这种方式传送一个字或字节后就结束d m a 操作。 2 指定大小传送方式 这种方式在传送前,先设定好要传送的字节的大小,然后进行传送。 3 块传送方式 没一次传送都传送一个规定大小的数据块,这个数据块大小一旦约定,就不 能改变。 3 2 数字视频介绍 数字视频信号是对常见的模拟视频信号进行采样及数字化后的能够被计 算机所识别和处理的视频信号,并行d m a 接口的主要任务之一就是要把数字视 频信号输入或输出我们的视频d s p 系统,所以有必要介绍一下数字视频信号的知 识。 1 黑白数字信号 这种信号是简单的黑白图象,一个像素点可以为8 位或1 6 位的灰度值。 2 彩色数字视频信号 模拟视频的数字化包括不少技术问题,如电视信号具有不同的制式而且采用 复合的y u v 信号方式,而计算机工作在r g b 空间:电视机是隔行扫描,计算机 显示器大多逐行扫描;电视图像的分辨率与显示器的分辨率也不尽相同等等。因 此,模拟视频的数字化主要包括色彩空阳j 的转换、光栅扫描的转换以及分辨率的 统一。 模拟视频一般采用分量数字化方式,先把复合视频信号中的亮度和色度分离, 得到y u v 或y i q 分量,然后用三个模数转换器对三个分量分别进行数字化, 最后再转换成r g

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论