应对RISC-V挑战:ARM CPU引入自定义指令功能!( 二 )

“第一步:CPU从文件系统里读出原始数据,分离出图形数据,然后放在系统内存中,这个时候GPU在发呆。

第二步:CPU准备把图形数据交给GPU,这时系统总线上开始忙了,数据将从系统内存拷贝到GPU的显存里。

第三步:CPU要求GPU开始数据处理,现在换CPU发呆了,而GPU开始忙碌工作。当然CPU还是会定期询问一下GPU忙得怎么样了。

第四步:GPU开始用自己的工作间(GPU核心电路)处理数据,处理后的数据还是放在显存里面,CPU还在继续发呆。

第五步:图形数据处理完成后,GPU告诉CPU,我忙完了,准备输出或者已经输出。于是CPU开始接手,读出下一段数据,并告诉GPU可以歇会了,然后返回第一步。”

可以看到,其他内核通过内存映射与CPU进行数据交换,都会遇到一个问题,那就是处理器的加速始终是受到总线速度的影响,并且会出现一定的延迟。

当然,芯片设计厂商也可以选择直接连接到CPU的协处理器的解决方案,但是毕竟是两个独立的模块,数据交换也存在着延迟。

推荐阅读