多媒体CPU制作人:胡伟俊组员:胡伟俊,徐宇,徐杭多媒体CPU5.10.1多媒体技术的主要问题5.10.2MMX技术5.10.3动态执行技术返回下一页上一页多媒体CPU媒体一词在涉及信息传递的领域中是指传递信息的媒介,它包括存储信息的实体与传递信息的载体两部分。磁盘、光盘等皆属存储信息的实体,而载体则指用来表达信息的形体,如数值、文字、声音、图形与动静图像等。上一页返回下一页多媒体CPU多媒体技术是指计算机把各种不同的电子媒质集成起来,统一进行存储、处理和传输。这些电子媒质包括计算机屏幕显示、视频光盘、CD-ROM以及语言和声音的综合,同时在这些部件之间建立逻辑连接,从而使整个系统具有交互性。显然,多媒体技术使计算机进一步摆脱了“计算工具”的传统观念,成为处理各种信息的强有力工具。下一页返回上一页多媒体CPU多媒体技术解决的主要问题有:1.图像与声音的压缩技术多媒体技术很重要的内容是对图像与声音进行操作、存储与传送。这就需要将每幅图像从模拟量转换成数字量,然后进行图像处理,与图形文字等复合,再存储在机器内。但是进行管理、操作、存储的图像并不只是数量很少的静止图像,而是符合视频标准的每秒30帧的彩色图像。上一页返回下一页多媒体CPU如果由多媒体计算机存储器能演放1秒钟的音像制品,则信息量就高达22.5兆字节,而目前用来存储图像、程序的光盘CD-ROM,容量只有550兆字节。可见如不对图像采用压缩技术,仅存储图像的要求这一点就无法达到,何况CD-ROM的数据传输率也只有150KB/s,无法做到多幅图像的实时再现。图像数据如不压缩,则实现多媒体通信也就不可能。下一页返回上一页多媒体CPU图像压缩是将图像用像素存储的方式,经过图像变换、量化、高效编码等处理,转换成特殊形式的编码。这样一来,计算机所需存储与实时传送的数据量就可大大降低。上一页返回下一页多媒体CPU2.适应多媒体技术的软件技术为适应多媒体技术发展,一是需要开发具有多媒体功能的OS(操作系统),二是开展以编辑工具为中心的软件技术研究。对第一个课题,Microsoft开发的视窗95至视窗2000系列多媒体OS版获得了很大成功。对第二个课题,编辑工具必须将图形、文档、声音、图像、视像等多种媒质联系在一起,为实际应用提供方便。下一页返回上一页多媒体CPU3.计算机系统结构方面的技术为了在算机系统中增加多媒体数据的获取功能、压缩解压功能、实时处理功能、多媒体数据的I/O与通信功能,在计算机系统结构领域需要做三方面的改进:上一页返回下一页多媒体CPU第一,选择专用芯片和专用插卡来扩充功能,如声卡、视频卡、网卡、内接或外接调制解调器。第二,进一步改善总线的结构和性能,如加宽系统总线,提高时钟速率。第三,将一些重要的多媒体技术融合到CPU芯片或设计全新的多媒体CPU芯片。本节重点介绍多媒体CPU的系统结构特点。下一页返回上一页MMX技术MMX是一种多媒体扩展结构技术,它极大提高了计算机在多媒体和通信应用方式的功能。带有MMX技术的CPU特别适合于数据量很大的图形、图像数据处理,从而使三维图形、图画、运动图像为目标的MPEG视频、音乐合成、语音识别、虚拟现实等数据处理的速度有了很大提高上一页返回下一页MMX技术MMX技术集成到新一代pentiumCPU时,主要体现在:①采用4种新的数据类型,②使用8个64位宽的MMX寄存器,③增设57下一页返回上一页MMX技术1.MMX数据类型MMX技术定义了三种打包的数据类型及一种64位字长的数据类型。打包数据类型中的每个元素以及64位数都是带符号或不带符号的定点整数(字节、字、双字、四字)。四种数据类型定义如下:上一页返回下一页MMX技术紧缩字节类型:8个字节打包成一个64位数据紧缩字类型:4个字打包成一个64位数据紧缩双字类型:两个32位的双字打包成一个64位数据四字类型:一个64位数。下一页返回上一页MMX技术2.MMX寄存器8个MMX寄存器MM0—MM7的宽度为64位,但它们没有单独设置,而是借用浮点处理单元中的8个(80位)数据寄存器,它是通过使用“别名”的办法来实现的。即浮点单元的8个数据寄存器被浮点指令看成ST0—ST7,被MMX指令看成是MM0—MM7。返回下一页上一页MMX技术这样,8个字节或4个字或2个双字被打包装入一个64位的MMX寄存器,一旦执行一条MMX指令时,将所有这些8个、4个或2个的数据同时取出,进行数学运算或逻辑操作,最后结果写入MMX寄存器。事实上,这种运算处理过程是一种并行处理过程,故称为SIMD(单指令多数据)的并行处理。上一页返回下一页MMX技术3.MMX指令集如果一条指令支持多种数据类型:字节(B)、字(W)、双字(D)或四字(Q)的操作,则选用某一数据类型时,相应的字母B,W,D或Q列入指令助记符的后面。对于转换指令要列入两个字母,例如WB表示把字拆成字节,而BW表示把字节拼成字。下一页返回上一页MMX技术MMX指令的先进性体现在以下五个方面:SIMD结构本节以前,我们遇到的计算机是SISD(单指令单数据)的系统结构。而SIMD结构则是单指令多数据的系统结构。MMX指令充分利用CPU64位带宽的处理能力,一次可以并行处理8个8位数据,或4个16位数据,或2个32位数据,因而成为提高计算性能的最基本因素。上一页返回下一页MMX技术饱和运算方式这是运算发生溢出时使用的处理方法。如果运算结果超过最大值,则将此值按最大值处理,低于最小值时按最小值处理。由于不需要进行溢出处理,所以提高了处理能力。饱和运算适合于面向像素数据的处理。下一页返回上一页MMX技术积和运算方式MMX的乘法指令中,PMADDWD指令是一条关键指令,它具有乘法-累加操作动能。下图说明了它的操作功能,将两个紧缩字类型的数中相应的元素(16位)相乘,生成4个32位的积,再将左侧的两个积相加,得出一个结果;右侧的两个积相加,得出另一个结果。这样便生成一个紧缩双字类型的结果数据。积和运算方式特别适合于向量计算与矩阵计算。上一页返回下一页MMX技术图5.101PMADDWD指令功能示意图下一页返回上一页MMX技术比较指令特点MMX的比较指令不建立标志位,而是建立真假条件的屏蔽字,后跟一个逻辑操作,从不同的输入中选择所需要的元素,从而对输入数据并行地分别进行处理。下图表示PCMPGTW指令的功能示意,对应部分比较结果所建立的全“0”表示假条件,全“1”表示真条件。上一页返回下一页MMX技术图5.102PCMPGTW指令功能示意图下一页返回上一页MMX技术当输入数据不同而进行分别处理时,传统的做法是一条比较指令后面紧跟一条条件转移指令。条件转移指令会降低指令流水线的性能。MMX的比较指令通过条件选择能力,取消了转移指令,这是MMX技术的一个重要性能特征。上一页返回下一页MMX技术转换指令特点MMX的转换指令,是紧缩或解紧缩指令,能方便地完成各种精度的数据转换,其中紧缩指令带有饱和操作。下图表示PACKSSDW紧缩指令的功能示意。它取出4个32位数,将其紧缩为4个16位的数。如果某个数比16位数大,则执行饱和操作。下一页返回上一页MMX技术图5.103PACKSSDW指令功能示意图上一页返回下一页MMX技术转换指令广泛用于矩阵的行列转换;以在每对像点之间插入新像点的插值操作;实现RGB与YUV的彩色空间转换等。下一页返回上一页动态执行技术动态执行技术是指通过预测程序流来调整指令的执行,并分析程序的数据流来选择指令执行的最佳顺序。动态执行技术涉及数据相关性及指令调度法、转移预测法、指令的发射顺序与完成顺序等流水技术基本要素。它非常利于MMX指令的加速执行。上一页返回下一页动态执行技术下图是动态执行技术的核心结构示意图。图5.104动态执行技术核心结构示意图下一页返回上一页动态执行技术实现动态执行的关键:取消传统的“取指”和“执行”两阶段之间指令需要线性排列的限制,而使用一个指令缓冲池以开辟一个较长的指令窗口,以便允许执行单元能在一个较大的范围内调遣和执行已译码过的程序指令流。上一页返回下一页动态执行技术与指令缓冲池相连的三个硬件单元是:取指/译码单元其功能是从指令cache读取程序指令流,将其译码成相应的微操作系列,以指明该指令流所需的数据流。遇到转移指令,通过转移目标缓冲器BTB来预测是否发生转移,并给出下一指令地址送往指令指针寄存器IP中。取指/译码单元是一个有序单元,它有三个并行的指令译码器ID,故一个CPU周期能向指令缓冲池同时送入3个微操作。下一页返回上一页动态执行技术调遣/执行单元其功能是从数据cache接收数据流,根据数据的相关性和资源可用性来规划微操作的执行,并暂存推测执行的结果。调遣/执行单元是一个无序单元,它包括五个端口逻辑、两个整数执行部件(IEU)、一个浮点执行部件(FEU)、一个转移部件(JEU)、两个地址生成部件(AGU)。上一页返回下一页动态执行技术使用一种伪FIFO算法对它们进行调度,取得执行结果的伪操作立即返回指令缓冲池。这个过程并不严格按照程序中原来的顺序执行微操作,因此是一个无序完成的过程。调遣/执行单元在一个CPU周期内最多能执行5个微操作(每个端口1个),但一般是执行3个微操作,故称这种指令流水线是超标度为3的超标量结构。下一页返回上一页动态执行技术回收单元其功能是检查指令缓冲池中的微操作状态,找出那些已被执行完的微操作,并且按原始顺序对它们重新排序。如果一条指令的全部微操作均已完成,则按原始顺序逐个回收,将它们保存在回收寄存器RRF中,并删除指令缓冲池中该指令的全部微操作。然后按RRF内容将指令结果写入通用寄存器或存储器中,并设置相应的机器状态。回收单元是一个有序单元。上一页返回下一页动态执行技术虽然调遣/执行单元以无序方式执行指令微操作,而回收单元保证最终能得到符合程序要求的指令执行正确结果。与流水线相对应,回收单元能够在一个CPU周期内同时回收3个微操作。返回上一页