《实验2构建基于》PPT课件.ppt_第1页
《实验2构建基于》PPT课件.ppt_第2页
《实验2构建基于》PPT课件.ppt_第3页
《实验2构建基于》PPT课件.ppt_第4页
《实验2构建基于》PPT课件.ppt_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

实验2 构建基于SoCLib的MPSoC,报告人:颜晓星 杨奇,,Logo,MJPEG解码程序,Contents,1,实验结果及性能分析,2,,Logo,MJPEG解码程序,1. FETCH:创建fetch线程:主要用于哈弗曼解码,反锯齿,反量化处理。 pthread_create (显然这个函数是阻塞的。,,Logo,MJPEG解码程序,5 . 任务分配过程:,,Logo,MJPEG解码程序,6 . 线程间通信: fetch_channel0 = channel0; dispatch_channel0 = channel0; for (uint32_t i = 0; i NB_IDCT; i+) fetch_channeli + 1 = channel2 * i + 1; dispatch_channeli + 1 = channel2 * i + 2; idct_channeli0 = channel2 * i + 1; idct_channeli1 = channel2 * i + 2; idct_channel00 idct_channeli0 idct_channel01 dct_channel0i1 dispatch_channel0 dispatch_channel1 dispatch_channeli fetch_channel0 fetch_channel1 fetch_channeli 通过赋值,channel上的奇数块共享给了fetch和idct二维数组参数里的0号位,channel上的偶数块共享给了dispatch和idct二维数组参数里的1号位。,,Logo,MJPEG解码程序,整个并行的过程:主线程创建一个子线程fetchThread运行fetch_process处理程序,参数是fetch_channel,即把fetch的处理结果分块后放到fetch_channel上;创建N个子线程idctThread,并行运行idct_process计算程序,参数是idct_channeli,即第i个子线程运行idct_process程序,从dict_channeli0上取出fetch的某块运行结果,然后将自己处理后的结果放到dict_channeli1上;创建子线程dispatchThread运行dispatch_process程序,参数为dispatch_channel,即从disptch_channel上取出idct的结果,重新组合后,等待diptch_process运行结束后得出最后结果进行输出。,,Logo,注意:top.cpp soclib:caba:VciMultiramDirWtvcimultiram(“vcimultiram“, IntTab(2), IntTab(2), maptab, 2, loader, DATA_BLOCK_SIZE); /specify here the number of cpus/caches 第一幅图:2个核 3个线程 第二幅图:3个核 3个线程,,Logo,结果及性能分析,1.实验结果,2mips,3mips,4mips,,Logo,结果及性能分析,性能分析 上图中mips数域与线程数相同,由上图可以看出,并行计算对于计算性能有很 好的提升作用。4个核与3个核数几乎合重合,即核数到达3时,并行的效果达到了极限。,,Logo,结果及性能分析,2.实验结果及分析 由上图看出,在相同的核数条件下,开不同的线程数对计算性能的会有提升作用,但是不大。线程数一般与处理器数相同。,,Logo,结果及性能分析,3 .实验结果及分析 3.1 cache块大小对运行时间的影响 左图:8*32 右图:16*32 分析:cache块增大加快运行速度,,Logo,结果及性能分析,3.2 cache块数目对运行时间的影响,,Logo,结果及性能分析,assert(icache_words); assert(dcache_words); assert(icache_lines); assert(dcache_lines); assert(icache_words = 16); assert(dcache_words = 16); assert(icache_lines = 1024); assert(dcache_lines = 1024);,/home/vlsi/Programfiles/projet_soc/PLATFORM/HW_PLATFORM/ SoCLib/soclib/module/internal_component/vci_coherent_xcache/ caba/source/src/vci_coherent_xcache.cpp,,Logo,结果及性能分析,CPU增加了其他不同层次的cache(速度和大小),来减少mips的处理。所以设计者可以使内层的cache机构简单,从而使它能在很高的时钟频率上作查询。,MIPS的主Cache总是分成I-cache和D-cache,取指令时察看I-cache,读写数据时察看D-cache。一般 Cache分为两级:一级 Cache(其中又分为数据Cache、代码Cache)、二级Cache。Cache 存储部件一般采用与CPU同类型的半导体存储器件,存取速度比内存快几倍甚至十几倍。CPU在访问内存时,首先判断所要访问的内容是否在Cache中,如果在,就称为“命中

温馨提示

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

评论

0/150

提交评论