(电路与系统专业论文)一种三维结构的寄存器组及其64bit扩展指令集.pdf_第1页
(电路与系统专业论文)一种三维结构的寄存器组及其64bit扩展指令集.pdf_第2页
(电路与系统专业论文)一种三维结构的寄存器组及其64bit扩展指令集.pdf_第3页
(电路与系统专业论文)一种三维结构的寄存器组及其64bit扩展指令集.pdf_第4页
(电路与系统专业论文)一种三维结构的寄存器组及其64bit扩展指令集.pdf_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

中国科学技术大学硕士学位论文 致谢 在科大攻读硕士学位的三年研究生学习期间,首先要感谢我的导师罗玉平教 授。罗老师学识渊博,思维活跃,治学严谨,对我的科研和学习产生了积极和重 要的影响,尤其是他幽默、风趣的谈吐,平易近人的作风,宽广的胸襟,平等、 自由、豁达的人生态度,对我的人生观和世界观都给予了许多有益的启发。 其次,我还要感谢电子科学与技术系的郭立教授、李辉教授,他们都曾给予 过我许多关怀和帮助;在我这几年的研究生的学习和生活过程中,还离不开朱领 娣老师的支持和教诲,她的认真工作、一丝不苟的工作精神使我终生难忘。 此外,我要向与我一起合作过的师兄师弟致以谢意。他们是徐伟光、尹社广、 施业斌、陈海涛、林森、赵建华、叶欣、蒋勇、马燕。与他们的讨论常使我受益 匪浅。 最后,我要感谢我的家人,感谢他们对我永远的支持。 中国科学技术大学硕士学位论文 摘要 本文在参考了现有的i n t e lp e m i u m l v 处理器的寄存器组及其指令的基础上, 提出了一种三维的寄存器组结构及其扩展指令集,用来实现大规模、高速、实时 的一维、二维和三维的数据处理。整个三维寄存器组的结构共分寄存器单元、行 寄存器组、面寄存器组和整个三维寄存器组四个层次以及x 、y 、z 三个方向, 由5 1 2 个1 6 b i t 寄存器单元组成。共用到四类数据总线:数据载入写入总线、数 据存储总线、源操作总线和目的操作总线,x 、y 、z 每个方向各有一条。在三 维寄存器组和内存之间使用数据载入和数据存储总线;在三维寄存器组和运算部 件之间使用源操作和目的操作总线以及数据写入总线,其中数据载入和写入总线 是复用的。涉及到的运算部件主要包括一个1 2 8 比特的复合加法器和复合乘法 器,可以进行分组并行的对应位相加、相乘和交叉相乘运算。与三维寄存器组相 关的扩展指令集主要包括数据存取指令、乘加运算指令、移位、复制和方向轴转 移指令等。每条指令的长度为6 4 b i t ,按照一定格式进行编码。具体的指令实现 分为指令读取、指令译码和指令操作这几个步骤来进行。指令译码中需要一个特 殊的地址译码器( 根据三维寄存器组的特点设计) 和操作码的微码表译码器。译 码信号和时钟信号经过一个组合逻辑输出具体的控制信号,来控制指令的具体执 行过程。该三维寄存器组及其扩展指令集可以应用在卷积与相关、矩阵运算和离 散余弦变换等各种数字信号处理领域。经分析表明,与常规的寄存器及其指令相 比,该方案在数据处理的容量、速度和并行度上都有很大提高,可以用来实现微 机的c p u 上的大批量、高速、实时的一维、二维和三维的分组并行运算。 中国科学技术大学硕士学位论文 a b s t r a c t w e p r o p o s e d a l l d e s i g n s c h e m eo ft h et h r e e d i m e n s i o n a l r e g i s t e r s a n d c o r r e s p o n d i n gi n s t r u c t i o n s ,r e f e r r i n gt h er e g i s t e r sa n di n s t r u c t i o n so f i n t e lp e n t i u m4 i tc a nb eu s e dt o i m p l e m e n tl a r g e - s c a l e ,h i g h s p e e d ,r e a l - t i m e a n do n e ,t w oo r t h r e e - d i m e n s i o n a ld a t a p r o c e s s i n g t h e w h o l es t u c t u r eo ft h et h r e e d i m e n s i o n a l r e g i s t e r sc o n s i s to f f o u rl e v e l s :u n i t ,l i n e ,s q u a r ea n dc u b e i th a st h r e ed i r e c t i o n s :x ,y a n dz ,a n di n c l u d e s51216 b i t r e g i s t e ru n i t s f o u rk i n d so fd a t ab u s e sw e r eu s e di n t h i sd e s i g n t h e ya r cl o a d w r i t eb u s ,s t o r eb u s ,s o u r c eo p e r a n db u sa n dd e s t i n a t i o n o p e r a n db u s ,e a c hb u s i nx ,y ,zd i r e c t i o n l o a db u sa n ds t o r eb u sa r eu s e db e t w e e n t h et h r e e d i m e n s i o n a lr e g i s t e r sa n dm e m o r y ;s o u r c eo p e r a n db u s ,d e s t i n a t i o no p e r a n d b u sa n dw r i t eb u sa r eu s e db e t w e e nt h et h r e e - d i m e n s i o n a lr e g i s t e r sa n da r i t h m e t i c o p e r a t i o nc o m p o n e n t s d a t aw r i t i n ga n ds t o r i n gu s et h es a m eb u s t h ea r i t h m e t i c o p e r a t i o nc o m p o n e n t si n c u d ea 1 2 8b i tc o m p o s i t ea d d e ra n da1 2 8b i tc o m p o s i t e m u l t i p l i e r t h e yc a nb eu s e dt oi m p l e m e n tt h ea d d i t i o na n dm u l t i p l i c a t i o nf o rt w o o p e r a n d si nc o r r e s p o n d i n gp o s i t i o na n dt h em u l t i p l i c a t i o nf o rt w oo p e r a n di nc r o s s p o s i t i o n t h ee x t e n d i n gi n s t r u c t i o n s i n c l u d ed a t al o a d i n ga n ds t o r i n gi n s t r u c t i o n s , a d d i t i v ea n dm u l t i p l i c a t i v eo p e r a t i o ni n s t r u c t i o n s ,a x i sc h a n g ei n s t r u c t i o n s ,s h i f ta n d c o p yi n s t r u c t i o n s ,e t c t h el e n g t ho f ai n s t u c t i o ni s6 4b i t i tc a nb ee n c o d e da n d f o r m a t t e db yas p e c i a lr u l e t h ei m p l e m e n t a t i o no fai n s t r u c t i o nc a nb ed i v i d ei n t o t h r e es t e p s :i n s t u c t i o na c c e s s i n g ,i n s t r u c t i o nd e c o d i n ga n di n s t r u c t i o no p e r a t i n g a s p e c i a la d d r e s s d e c o d e ra n dam i c r o c o d e - t a b l ed e c o d e rf o ro p e r a t i o nc o d ea r en e e d e d f o rt h ed e c o d i n g t h ed e c o d e ds i g n a l sa n dc l o c ks i g n a l sa r ep u ti n t oap a l ,a n dt h e n t h e s i g n a l s t oc o n t r o lt h e i m p l e m e n t a t i o n o ft h ei n s t u c t i o na r e o u t p u t t h e t h r e e d i m e n s i o n a lr e g i s t e r sa n dc o r r e s p o n d i n gi n s t r u c t i o n sc a nb eu s e di nt h ed i g i t a l s i g n a lp r o c e s s i n gf i e l d ,f o re x a m p l e ,c o n v o l u t i o na n dc o r r e l a t i o n ,m a t r i xo p e r a t i o n a n dd c t i nc o m p a r i s o nw i t hu s u a lr e g i s t e r sa n di n s t r u c t i o n s ,t h et h r e e - d i m e n s i o n a l r e g i s t e r sa n d t h ee x t e n d i n gi n s t r u c t i o n sc a ni m p l e m e n td a t ap r o c e s s i n gw i t ht h el a r g e r c a p a c i t y a n dh i g h e r s p e e d ,m e e t i n g t h e r e q u i r e m e n t o fl a r g e 。s c a l e ,h i g h 。s p e e d , r e a l t i m ea n do n e ,t w oo rt h r e e - d i m e n s i o n a ld a t ap r o c e s s i n g 3 中国科学技术大学硕士学位论文 引言 当今世界随着多媒体和流媒体技术的发展,对计算机、电信和图像工业产生 深远的影响,对微机上的c p u 处理器的性能要求越来越高,迫使c p u 处理器不 断的升级换代,以达到大规模的高速、实时的处理数据的要求。作为c p u 处理 器重要组成部分的寄存器组和相关指令集,也随着c p u 处理器的升级和更新不 断的改进和扩展。作为计算机工业的代表的i n t e l 公司,自从2 0 世纪9 0 年代推 出p e n t i u m 系列处理器以来,根据计算机技术的发展趋势,在考虑向下兼容的基 础上对c p u 的寄存器组及其相关指令不断的进行扩展,增加寄存器的个数和位 宽,提高指令的并行度,增强c p u 处理二维和三维图像以及语音和视频信号的 能力。在未来的几十年内,随着多媒体和流媒体技术的不断发展和成熟,以及新 的媒体技术的出现,必然要求对c p u 的寄存器组及其相关指令从结构和并行度 上进一步的改进和扩展,使得高速、实时的多维的数据和信号处理成为现实。 本文共分为八章。第一章c p u 处理器的寄存器及其指令集发展简介,主要介 绍了i n t e lp e n t i u m4 处理器的寄存器组和相关指令的发展情况以及方向和趋势。 第二章一种三维结构的寄存器( 组) ,主要介绍了如何按照不同的层次和方向把 一个8 8 8 1 6 b i t 的寄存器组进行分组并设计出三维结构的寄存器单元,还简 要介绍了三维寄存器组的编址和辅助的参数寄存器组。第三章三维寄存器组的总 线结构和运算部件,主要介绍了与三维寄存器组相关的数据、地址和控制总线以 及1 2 8 b i t 的复合的乘法和加法运算部件。第四章三维的寄存器组的扩展指令集, 分组介绍了与三维寄存器组相关的数据存取、乘加运算和移位复制等扩展指令。 第五章三维寄存器组的扩展指令集的操作实现,详细阐述了扩展指令集的指令格 式、指令编码以及指令实现的步骤过程、逻辑方程和时序。第六章三维寄存器组 及其扩展指令集在数字信号处理中的应用,举例说明三维寄存器组及其扩展指令 集在卷积相关、矩阵变换和离散余弦变换等数字信号处理领域中的应用。第七章 三维寄存器组及其扩展指令集的性能分析,主要从运算速度和运算精度两个方面 来分析三维寄存器组及其扩展指令集的性能,指出它的优势与不足。第八章结论, 总结本文中的提出的三维结构的寄存器( 组) 及相关的扩展指令集的设计方案, 并且提出未来工作的方向。 中国科学技术大学硕士学位论文 第一章c p u 处理器的寄存器及其指令集发展简介 我们以当今世界流行的奔腾系列处理器为例来概括介绍c p u 处理器的寄存器 ( 组) 及其相关的指令集的发展概况以及发展方向和趋势。 1 c p u 处理器的寄存器( 组) 的发展 最新的i n t e lp e n t i u m4 处理器的寄存器组的结构如下: ( 1 ) 基本程序执行寄存器组( b a s i cp r o g r a me x e c u t i o nr e g i s t e r s ) 通用寄存器组( g e n e r a l - p u r p o s er e g i s t e r s ) :包括8 个3 2 b i t 寄存器 段寄存器组( s e g m e n tr e 酉s t e r s ) :包括6 个1 6 b i t 寄存器 标志寄存器( e f l a g sr e g i s t e r ) :1 个3 2 b i t 寄存器 指令指针寄存器( e i p ( i n s t r u c t i o np o i n t e rr e 西s t e r ) ) :1 个3 2 b i t 寄存器 基本程序执行寄存器组为那些通用指令的执行提供了一个执行环境。这些通 用指令是以字节( b y t e ) 、字( w o r d ) 和双字( d o u b l ew o r d ) 的整型为单位进行 的一些基本的算术运算,程序流程控制和内存读写等操作。 ( 2 ) 浮点单元寄存器组( f p u ( f l o a t i n g p o i mu n i t ) r e g i s t e r s ) 浮点数据寄存器组( g e n e r a l p u r p o s er e g i s t e r s ) :包括8 个8 0 b i t 寄存器 控制寄存器( c o n t r o lr e g i s t e r ) :1 个1 6 b i t 寄存器 标志寄存器( t a gr e g i s t e r ) :1 个1 6 b i t 寄存器 状态寄存器( s t a t u sr e g i s t e r ) :1 个1 6 b “寄存器 操作码寄存器( o p c o d er e g i s t e r ) :1 个1l b i t 寄存器 f p u 指令指针寄存器( f p u i n s t r u c t i o np o i n tr e g i s t e r ) :1 个4 8 b i t 寄存器 f p u 数据指针寄存器( f p ud a t a ( o p e r a n d ) p o i n tr e g i s t e r ) :1 个4 8 b i t 寄存器 浮点单元寄存器组为那些浮点运算指令提供了一个执行环境。这些指令是以 单精度( s i n 9 1 e p r e c i s i o n ) 、双精度( d o u b l e p r e c i s i o n ) 和扩展双精度( d o u b l e e x t e n d e d - p r e c i s i o n ) 浮点数以及字、双字、四字( q u a d w o r d ) 的整型和b c d ( b i n a r yc o d e dd e c i m a l ) 数为单位进行的浮点算术运算等操作。 ( 3 ) 多媒体增强指令寄存器组( m m x ( m u l t im e d i ae x t e n s i o n ) r e g i s t e r s ) 包括8 个6 4 b i t 寄存器,为现在多媒体环境下用到的一些指令提供了一个执行 的环境。这些指令是以6 4 比特的复合的字节、字和双字的整型为单位的s i m d ( s i n g l ei n s t r u c t i o n - - m u l t id a t a :单指令流一多数据流) 操作。 6 中国科学技术大学硕士学位论文 ( 4 ) 流媒体s i m d 扩展寄存器组( s s e ( s t r e a m i n gs i m d e x t e n s i o n ) a n ds s e 2 r e g i s t e r s ) x m m 寄存器组:包括8 个1 2 8 b i t 寄存器 m x c s r 寄存器:1 个3 2 b i t 寄存器 流媒体s i m d 扩展寄存器组为流媒体环境下的一些运算指令提供了一个执行 环境。这些指令是以1 2 8 比特复合的单精度、双精度浮点型以及1 2 8 l e 特的字、双 字和四字的整型为单位进行的s i m d 操作。s s e 被设计用来增强二维和三维图像, 运动视频,图像处理,语音识别和视频会议等流媒体运算。s s e 2 进一步加强了三 维图像、视频的编码解码,电子贸易,互联网和工程应用等方面的功能。 可以看出,以上每一种类型的寄存器组都是在前一类寄存器组的基础上发展 而来的,并在兼顾兼容性的基础上,c p u 的寄存器的位数不断翻番,个数不断增 加,功能不断加强,从一般运算到浮点运算,从单指令流一单数据流到单指令流 一多数据流,从简单的一维运算到复杂的二维和三维运算。 2 与寄存器( 组) 相关的指令集的发展 寄存器组为相关指令的执行提供了一个环境,随着c p u 的寄存器组的不断发 展,与之相关的指令集也不断得到扩展。下面同样以最新的i n t e lp e n t i u m4 处 理器的与寄存器( 组) 相关的一些指令为例来介绍这些指令集的发展概况以及发 展方向和趋势。 我们以算术运算中的和上面所述的四类寄存器组分别相关的加法指令为例: ( 1 ) a d d 指令 a d d 指令的操作为:d e s t d e s t + s r c a d d 指令是典型的和基本程序执行寄存器组相关的指令,它把目的操作数 ( d e s t i n a t i o no p e r a n d ) 和源操作数( s o u r c eo p e r a n d ) 相加,并把结果赋给目的操 作数。其中目的操作数可以是寄存器或内存中的数,而源操作数可以是立即数、 寄存器或内存中的数,但目的操作数和源操作数不能同时为内存中的数。操作数 均为字节( 8 b i t ) 、字( 1 6 b r ) 或双字( 3 2 b r ) 的整型数。寄存器0 f 、s f 、z f 、 a f 、c f 和p f 的值根据加法运算的结果进行设置。很显然,这是单指令流l 单数 据流的操作。 ( 2 ) f a d d 指令 f a d d 指令操作为:d e s t d e s t + s r c ; 中国科学技术大学硕士学位论文 a d d 指令是典型的和浮点单元寄存器组相关的指令,它把目的操作数和源操 作数相加,并把结果赋给目的操作数。其中目的操作数必须是浮点单元寄存器( 缺 省时为s t 0 】) ,而源操作数可以是寄存器或内存中的数( 单精度或双精度的浮 点型以及字或双字的整型) 。这也是单指令流一单数据流的操作。 ( 3 ) p a d d b 指令 p a d d b 指令操作为:d e s t 7 0 】一d e s t 7 0 】+ s r c 7 0 】; d e s t 1 5 8 一d e s t 1 5 8 】+ s r c 1 5 8 】; d e s t 6 3 5 6 】一d e s t 6 3 5 6 】+ s r c 6 3 5 6 】 ( 或d e s t 1 2 7 1 2 0 】一d e s t | 2 7 。1 2 0 】+ s r c 1 2 7 1 2 0 p a d d b 指令是典型的和m m x 寄存器和x m m 寄存器组相关的指令,它把目 的操作数和源操作数相加,并把结果赋给目的操作数。该指令可以操作在6 4 b i t 或1 2 8 b i t - 种模式下。当p a d d b 指令操作在6 4 b i t 模式下时,目的操作数必须是 m m x 寄存器,而源操作数可以是m m x 寄存器或内存中的6 4 b i t 数;当p a d d b 指 令操作在1 2 8 b i t 模式下时,目的操作数必须是x m m 寄存器,而源操作数可以是 x m m 寄存器或内存中的1 2 8 b i t 数。p a d d b 用一条指令实现了一组多个数的加法 运算,是一种单指令流一多数据流的操作。 ( 4 ) a d d p d 指令 a d d p d 指令操作为:d e s t 6 3 0 】一d e s t 6 3 0 】+ s r c 6 3 - o 】; d e s t 1 2 7 - 6 4 】一d e s t 1 2 7 6 4 】+ s r c 1 2 7 - 6 4 a d d b 指令是典型的和x m m 寄存器组相关的s e e 指令,它把目的操作数和源 操作数相加,并把结果赋给目的操作数。其中目的操作数必须是x m m 寄存器, 而源操作数可以是x m m 寄存器或内存中的1 2 8 b i t 数。目的操作数和源操作数都是 组合的双精度浮点数。这也是单指令流多数据流的操作。 可以看出,每种指令都随着相关寄存器组的发展而不断扩展,位数不断增加, 精度不断提高,功能不断加强,从一般运算到浮点运算,从单指令流一单数据流 到单指令流一多数据流,从单个数据的运算到批量数据的并行运算。 对c p u 寄存器组及其相关指令集的发展探索下去,我们可以在原有的寄存器 组的基础上对寄存器的结构进行调整,增加寄存器的个数和位宽,提高指令运算 的并行度。从而进一步加强二维和三维运算的功能以及指令运算的速度,为此, 提出一种三维结构的寄存器组以及与之相关的扩展指令集。 中国科学技术大学硕士学位论文 第二章一种三维的寄存器( 组) 结构 本文提出的三维寄存器组的方案由s j ,j ,k ( 吼k = 0 - - 7 ) 共5 1 2 个1 6 b “寄存器组 成,分别沿x 、y 、z 三个方向构成一个8 8 x 8 的c u b e ,具体如下图所示: 图1 三维结构的寄存器组示意图 我们把这个三维寄存器组按行( l i n e ) 、面( s q u a r e ) 和方向轴分组: 1 平面寄存器组、行寄存器组和单个1 6 b i t 寄存器单元的结构 ( 1 ) 面寄存器组 沿x 轴方向( 平面与x 轴垂直) :s x o 、s x l 、s x 7 : 沿y 轴方向( 平面与y 轴垂直) :s v o 、s y l 、s v 7 ; 沿z 轴方向( 平面与z 轴垂直) :s z o 、s z i 、s z 7 每个面寄存器组s u i 包括8 8 个1 6 b i t 寄存器( 可以在两个方向) 。如下图所示 图2 平面寄存器组示意图 9 中国科学技术大学硕士学位论文 ( 2 ) 行寄存器组 在面寄存器组的基础上,把每个面寄存器组分成8 个行寄存器组: 先沿x 轴方向确定平面寄存器组,再沿y 轴方向确定行寄存器组( x 轴方向和 y 轴方向分别为面寄存器组和行寄存器组的法线( 轴) 方向,z 轴方向则是 行寄存器组中的寄存器的方向,以下同) : s x o v o s x o v 7 、s x l v o s x l w 、s x 7 y o s x 7 y 7 ; 先沿x 轴方向确定平面寄存器组,再沿z 轴方向确定行寄存器组: s x o z o s x o z 7 、s x l z o s x l z 7 、s x 7 z o s x 7 2 7 ; 先沿y 轴方向确定平面寄存器组,再沿x 轴方向确定行寄存器组: s v o x o s v o x 7 、s v l x o s v l x 7 、s v t x o s v 7 x 7 ; 先沿y 轴方向确定平面寄存器组,再沿z 轴方向确定行寄存器组: s v o z o - s v o z 7 、s v l z o - s v l z 7 、s v 7 z o - s v t z 7 先沿z 轴方向确定平面寄存器组,再沿x 轴方向确定行寄存器组: s z o x o s z o x 7 、s z l x o - s z l x 7 、。”、s z 7 x o s z 7 x 7 ; 先沿z 轴方向确定平面寄存器组,再沿y 轴方向确定行寄存器组: s z o y o s z o v 7 、s z t y o s z l v 7 、s z t v o s z 7 y 7 ; 每个行寄存器组s u i v j ( u ,v = x ,y ,z ;i j = o 7 ) 包括8 个1 6 b i t 寄存器。 如下图所示: 图3 行寄存器组示意图 0 中国科学技术大学硕士学位论文 ( 3 ) 单个1 6 b i t 寄存器单元的结构 每个1 6 b i t 寄存器单元s i ,i ,k ( u k = 0 7 ) 在到内存的方向分别有3 个缓冲 w x b i l f ;、w y b u f j 和w z b u f k 或3 个缓冲s x b u f i 、s y b u f j 和s z b u 最把寄存器数据送 上x 、y 或z 方向的装载写入( l o a d w r i t e ) 总线或存储( s t o r e ) 总线( 具体为x 方向8 i 8 ( i + 1 ) 一l ,y 方向8 j 8 0 + 1 ) - l ,z 方向8 k 8 ( k + 1 ) 一1 ) ,控制使能信号分别 r e g w e x i 、r e g w e y j 、r e g w e z k 和r e g s e x i 、r e g s e v j 、r e g s e z k ;在到运算部件 方向分别有3 个缓冲d x b u f i 、d y b 嫡和d z b u f k 或3 个缓冲r x b u f i 、r y b l l f ;和 r z b u f k 把寄存器的数据送上x 、y 或z 方向的1 2 8 b r 的源( r e s o u r c e ) 操作总线或 目的( d e s t i n a t i o n ) 操作总线( 由一个d m u x 来决定数据送入源操作总线还是目 的操作总线) ,控制使能信号分别为r e g d o e x i 、r e g d o e v j 、r e g d o e z k 和 r e g r o e x i 、r e g r o e v j 、r e g r o e z k 。具体结构如下图所示: 图41 6 b i t 寄存器单元的结构示意图 中国科学技术大学硕士学位论文 对单个1 6 b i t 寄存器单元来说,它的装载和存储以及源操作和目的操作之间是 分离的( 不能够同时进行) ,但对整个三维寄存器组来说,它的装载和存储以及 源操作和目的操作之间是可以并行的。 2 三维的寄存器组在内存中的编址 三维的寄存器组的首地址存储在寄存器c s 中( 缺省时为o ) ,然后按照沿x 方 向从左到右,沿y 方向从上到下,沿z 方向从前到后顺序编址。如下图所示: 由图可知,沿x 方向从左到右,地址偏移量为1 ;沿y 方向从上到下,地址偏 移量为8 ( 1 0 0 0 ) ;沿z 方向从前到后,地址偏移量为6 4 ( 1 0 0 0 0 0 0 ) 。这样,在进 行对行( 面) 寄存器组的并行运算时,只要知道行( 面) 寄存器组的第一个寄存 器的内存地址,即可算出所有相关寄存器的内存地址。 单个1 6 比特寄存器s i ,j “的地址编码为:i + 8 j + 6 4 k ; 行寄存器组s u i v j 的首地址编码为:u = x ,v = y :i + 8 j ; u = x ,v = z :i + 6 4 j ; u = y ,v = x :i + 8 i ; u = y ,v = z :8 x i + 6 4 j u = z ,v = x :j + 6 4 i : u = z v 2 y :8 j + 6 4 i i 平面寄存器组s u i 的首地址编码为:u = x :i l u = y :8 x i3 i j = z :6 4 x i 。 3 参数,临时平面寄存器组 参数临时平面寄存器组的结构和三维寄存器组中的任何一个平面寄存器组 基本相同,共有6 4 个1 6 b i t 寄存器,分成8 个行寄存器组c 旷c 7 。只是没有方向参数, 用来存储一些在运算中不变的参数( 常数) 和中间结果( 包括移位运算时移出的 数据) 中国科学技术大学硕士学位论文 第三章三维寄存器组的总线结构和运算部件 1 总线结构 ( 1 ) 数据总线 在三维寄存器组到内存的方向分别有三条( x 、y 、z 方向) 1 2 8 b i t 的装载写 入( l o a d w r i t e ) 和存储( s t o r e ) 数据总线;在三维寄存器组到运算部件方向也 分别有三条( x 、y 、z 方向) 1 2 8 b i t 的源( r e s o u r c e ) 操作和目的( d e s t i n a t i o n ) 操作数据总线。而且三维寄存器组的数据的装载和运算部件结果的写回是共用一 条总线的。具体如下图所示: 图5 三维寄存器组的数据总线结构示意图 ( 2 ) 地址总线 使用一条3 2 b i t 的地址总线,用于内存的数据存取。 ( 3 ) 控制总线 使用一条1 2 8 b i t 的控制总线,用于三维寄存器组和运算部件的m u x 和d m u x 的设置以及其它一些常规的控制操作。 2 运算部件 与三维寄存器组相关的运算部件是直接挂在数据总线( 包括源总线、目的总 线和写总线) 上的,运算部件的源操作数和目的操作数的选择是通过m u x 和 中国科学技术大学硕士学位论文 d m u x 控制的,可以通过向控制总线上发送控制字来对m u x 和d m u x 以及运算 部件的工作模式进行设置。 这里主要介绍个1 2 8 b i t 的复合加法器和一个1 2 8 b i t 的复合乘法器。 ( 1 ) 1 2 8 b i t 复合加法器 该复合加法器的结构如下图所示: 目酬引制hhh 引悟 q i润岩肖斟肖肖爿h 基基裘盎莹 控制逻辑 t t 0 0 、a d d l i n e 、n u l 等 外部控制信号 图61 2 8 b i t 复合加法器结构示意图 由图可知要进行加法操作的源操作数和目的操作数分别来自源总线r b u s 和目的总线db u s ,1 2 8 b i t 的源,目的总线分为8 路( 每路1 6 比特) ,经过8 选l 的 m u x 进入1 6 b i t j j i l 法器( m u x 在缺省情况下按照上图所示由低到高每1 6 比特顺序 进入加法器,如果有特殊要求,可以用外部控制信号对m u x 的输出进行编程) 。 这8 个1 6 比特加法器各有一个加法运算使能a e 0 a e 7 ,除了最高位的1 6 比特加法 器外,每个加法器还有一个进位使能, e c 0 - e c 6 。加法器运算结果的输出可以有两 1 4 中国科学技术大学硕士学位论文 种选择:一种是赢接送上1 2 8 比特的写总线( 对应位和输入相同) ,这种选择主要 是对运算的最终结果,它将被写回三维寄存器组或内存;另一种是送入中间结果 寄存器组t e m p ( 由8 个1 6 比特寄存器t o t 7 组成) ,这种选择主要是对运算的中 间结果,它将通过2 选1 的d m u x 按照用户要求( 输入的外部控制信号) 选择送上 源总线或目的总线,进行下一轮运算。 该复合加法器既可以作为一个单独的n x l 6 b i t ( n = 1 7 ) 或n x 3 2 b i t ( n = 1 3 ) 或6 4 b i t 的加法器( 这三种情形时,复合加法器并没有用完全部的加法器资 源) ,或者作为一个1 2 8 b i t 的加法器,还可以作为2 x m 个并行的1 6 n b i t ( ( m n ) = ( 1 ,4 ) ,( 2 ,2 ) 或( 4 ,1 ) ) 的加法器组进行运算( 这四种情形时,复合加 法器资源已用完) ,具体的选择由外部控制信号a d d ,a d d l i n e 和n u m 0 ,n u m l 以 及b i t 0 ,b i t l 来控制( 具体见下表) : 表1 加法器工作模式 模式f 言号 a d da d d l i n eb i t lb i t 0 说明 n a d d l 61o0 o r 1 个1 6 比特加法 n a d d 3 2 1o01 n 个3 2 比特加法 a d d 6 41olo 单个6 4 比特加法 a d d l 2 81o1l单个1 2 8 比特加法 a d d l i n e l 6ol0 o 一对8 个1 6 p 特连加 a d d l i n e 3 2o101 一对4 个3 2 e 特连加 a d d l i n e 6 401l 0 一对2 个6 4 l e 特连加 无加法操作 o o 根据运算模式的不同,各个加法器的加法运算使能和进位使能的设置不同, 具体如下所示: n a d d l 6 :加法运算使能a e i = i ( i = 0 n - 1 ) ,其余为o ;进位使能全为0 。 n a d d 3 2 :加法运算使能a e i = 1 ( i = 0 2 n - 1 ) ,其余为o ;进位使能e c j = 1 ( j = 0 , 2 ,2 ( n 一1 ) ) ,其余为0 。 a d d 6 4 :加法运算使能a e i = l ( i = 0 3 ) ,其余为o ;进位使能e q = 1 ( j - 0 2 ) , 其余为0 。 中国科学技术大学硕士学位论文 a d d l 2 8 :加法运算使能全为1 ;进位使能全为1 。 a d d l i n e l 6 :加法运算使能全为1 ,其余为o ;进位使能全为0 。 a d d l i n e 3 2 :加法运算使能全为l ,其余为0 ;进位使能中e c l 、e c 3 和e c 5 = 0 , e c o 、e c 2 、e c 4 和e c 6 = i 。 a d d l i n e 6 4 :加法运算使能全为1 ,其余为o :进位使能中e c 3 = 0 ,其余为1 。 ( 2 ) 1 2 8 b i t 复合乘法器 由于乘法器不能像加法器那样简单的用进位把低比特数的加法器组合成高比 特的加法器,下面举例说明怎样用低比特数的乘法器组合成高比特数的乘法器。 我们来做2 个8 b i t 数的乘法: 1 0 0 1 1 1 0 l 苎q 11 q 嫂! q o o o o o o o o 1 0 0 1 1 1 0 1 o o o o o o o o 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 0 1 l 0 0 1 1 l o l q q q q q q 鲤 0 0 1 1 1 1 0 0 0 0 0 l l o l o 我们再把2 个8 比特数都分成高4 位和低4 位1 0 0 1 ,1 1 0 1 和0 1 1 0 ,0 0 1 0 并做对应 和交叉相乘( 乘数和被乘数位置不变) : 1 1 0 11 0 0 11 1 0 l 1 0 0 1 丕q q ! q 丕q q ! q丕q ! l 垒丕 q l ! q 0 0 0 00 0 0 00 0 0 0 0 0 0 0 1 1 0 1 1 0 0 11 1 0 11 0 0 1 0 0 0 00 0 0 0 1 1 0 11 0 0 1 q q q qq q q qq q q q q q q q 0 0 0 1 1 0 1 00 0 0 1 0 0 1 00 1 0 0 1 1 1 0 0 0 l 1 0 1 1 0 然后把4 个结果移位相加如下: 0 0 0 1 1 0 1 0 0 0 0 1 0 0 1 0 0 1 0 0 1 1 1 0 q q l ! q ! ! q 0 0 1 1 1 1 0 0 0 0 0 1 1 0 1 0 可见2 个8 b i t 数相乘的结果和把它们分成4 b i t 数对应和交叉相乘,再移位相加 1 6 中国科学技术大学硕士学位论文 的结果相同。同理可得,只要把乘法器的相乘部分保留( 但乘得的结果分成4 个 部分) ,对移位相加部分进行改进,分成4 个独立的部分各自输出结果( 得到4 个 低比特数( 原来比特数的半) 的对应相乘和交叉相乘的结果,再把结果按照特 定的顺序移位相加,可得原高比特数的相乘结果。这样就可以用4 个1 6 b i t 乘法器 组合成1 个3 2 b i t 复合乘法器,同理可得6 4 b i t 和1 2 8 b i t 的复合乘法器。 一个3 2 b i t 复合乘法器( 又可作为4 个1 6 b i t 乘法器) 结构如下: o u t 2 0 u t 3 硎圈孺硎n 3 2 b i t 岛r r u s ( 二 二 l 。l 相等分 u , 醉串申电 儿 7 移位累加部分 0 u t 图73 2 b i t 复合乘法器结构示意图 r o u t o o u t l 其中1 6 b i t o u t 0 和1 6 b i t o u t 2 分别输出低位和低位以及高位和高位的1 6 b i t d 乘结果,1 6 b i t o u t l 和1 6 b i t o u t 3 是高位和低位1 6 b i t 交叉相乘的结果,3 2 b i t o u t 是3 2 b i t 数的相乘结果。 同上可用4 个3 2 b i t 乘法器组合成6 4 b i t 乘法器如下: i l l ir h 4 b i t r r i m ; 商。z 蛳i d j lj k 锄n 一们z 蛐q j k m n 一 “m 囊浩器 3 2 b i t 3 2 b i t3 2 b i t3 2 b i t 乘法嚣 乘法嚣莱法嚣乘法器 姆。,姊姊儿彬彬儿姑姆儿姑 m u x m u x m u x m u x 3 2 0 u t 0 图8 3 2 0 u t 26 4 0 u t3 2 0 u t l 由4 个3 2 b i t 乘法器组合成6 4 b i t 乘法器的示意图 1 7 中国科学技术大学硕士学位论文 图中每个3 2 比特乘法器输出的左边2 项是高低两部分对应相乘的结果( 合并 成3 2 b i t ) ,右边2 项是高低两部分交叉相乘的结果( 合并成3 2 b i t ) ,中间是作为3 2 b i t 乘法输出的结果,经过3 选1 m u x 以后输出。同理3 2 0 u t 0 和3 2 0 u t 2 是3 2 b i t 对应 相乘输出,3 2 0 u t l 和3 2 0 u t 3 是3 2 b i t 交叉相乘输出,6 4 0 u t 是整个作为6 4 比特 乘法器的输出。 最后,组合后的1 2 8 b i t 复合乘法器的结构如下图所示: z、 1 ,r h i t r r 盘: 一 ) 、 高6 4 帆o ll 高6 4 b n r 低6 4 m d | | l 低6 4 吼r 7 1 2 8 b n 囊浊韪 6 4 b n8 4 b n6 4 b r 6 4 b i t 乘法器乘法器乘法器乘法器 姆儿姑姑儿紫儿姑劳儿 m u x m u x m u x m u x j 上j 上j 上j 上 m u x m u x lt 。,j l m ,u x , ,鸽b 。惦。 t e 舻l 1 2 8 ( 8 个1 6 ) 断t 寄存器 、盛jjr : 控制逻辑 l 。w 。u l ,肚w u 。l 等l i 外n e 部, h 控 u l 制c r 信o s 号s 豳91 2 8 b i t 复合乘法器结构示意图 图中,高低6 4 b i t 对应相乘和交叉相乘以及作为1 2 8 b i t 相乘的结果经过3 选1 的 m u x 后,要么送上1 2 8 比特写总线写回三维寄存器组,要么送入1 2 8 比特中间寄 存器( 8 个1 6 比特寄存器) 再经过一个d m u x 送上1 2 8 h 6

温馨提示

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

评论

0/150

提交评论