优化图像存储器访问的制作方法

文档序号:9264749阅读:479来源:国知局
优化图像存储器访问的制作方法
【技术领域】
[0001] 本发明大体设及访问存储器。更具体地,本发明设及使用步进瓦工引擎(stepper Tiler Engine)访问成像存储器。
【背景技术】
[0002] 访问存储在存储器中的图像的计算机行为可能连续访问存储器中的图像的某一 部分。相应地,流式传送来自摄像机的视频或将图像发送到高速打印机可能需要每秒几 千兆的数据带宽。对存储器和数据带宽的差管理可能导致差的成像性能。
[0003] 此外,在访问储存设备中的图像的时候,各种类型的无效率或错误可能发生。例 如,处理器可能试图处理仍未被放在高速缓存中的图像的行或区域,导致从储存设备处理 该行或图像。高速缓存是当与储存设备相比时可被更快访问的较小存储器。当在高速缓存 中未找到之后从储存设备处理图像的该行或区域时,结果是高速缓存未命中。当与在不具 有任何高速缓存未命中的情况下处理图像相比时,高速缓存未命中可能减慢图像存储器访 问。
【附图说明】
[0004] 通过参照附图,可更好理解W下详细描述,附图包含了所公开的主题的许多对象 和特征的具体示例: 图1是可根据实施例使用的计算设备的框图; 图2是图示根据实施例的将图像布置成一维阵列的图; 图3是矩形组装器的图示; 图4A、4B和4C图示了根据实施例的使用矩形缓冲器线性处理图像的示例; 图5A、5B和4C图示了根据实施例使用行缓冲器线性处理图像的示例; 图6是根据实施例的访问存储在存储器中的图像的方法的处理流程图;W及 图7是根据实施例的包含访问存储在存储器中的图像的指令的计算机可读介质的图。
[0005] 贯穿公开文本和图,使用相同数字来引用类似部件和特征。在100系列中的数字 指代最初在图1中发现的特征;在200系列中的数字指代最初在图2中发现的特征;并且W 此类推。
【具体实施方式】
[0006] 本文描述的实施例公开了优化图像存储器访问。图像被布置为一维(1D)阵列,使 得可使能线性访问模式。如本文中使用的图像可W是二维位图、视频的帖或=维对象。图 像数据可W由像素区域构成。如本文使用的术语像素区域可W是单个像素、一组像素、像素 区域或其任意组合中的至少一种。图像可W被处理为像素区域或行的组或矩形区域。在 实施例中,在本文还可W与术语行、行缓冲器、矩形、矩形缓冲器、数据缓冲器、阵列、1D阵列 或缓冲器可互换地称为术语递增。如本文使用的处理可W设及复制、传输或流式传送来自 存储器的图像的递增或像素区域到电子设备(例如计算机、打印机或摄像机)的处理器或输 出。因此,替代对非线性矩形存储器区域或非邮邻行的低效存储器访问的是,将数据的期望 的矩形或行访问模式顺序封装到1D阵列的集合中,W易于存储器访问并且易于计算。本领 域技术人员将认识到,将存储器模式封装到1D阵列中的该方法允许标准矢量处理指令和 自动递增存储器访问指令被采用W高效访问和处理数据。
[0007] 步进瓦工引擎用作流水线机器W预取用于矩形组装器的存储器模式。矩形组装器 将存储器模式组装成高速缓存中的线性封装的1D阵列的集合。步进瓦工引擎可然后使得 该1D阵列的集合是处理器可用的。处理单元然后可W使用指针访问1D阵列。处理单元处 理数据,然后步进瓦工引擎将经处理的数据从1D阵列写回到高速缓存或储存设备。矩形组 装器在处理完成之后可W将1D阵列从高速缓存收回。
[0008] 附加地,步进瓦工引擎包括状态和控制寄存器的集合,该集合可被编程为自动访 问存储器模式并且将它们组装成如上文所讨论的线性封装的1D阵列。可流水线方式 访问存储器模式,其中顺序访问每个模式。步进瓦工引擎包括可编程能力W顺序在将被处 理的整个图像区域上步进,并且将存储器模式(例如矩形和行)组装成封装的线性1D阵列作 为流水线中的预取步骤。存储器模式也可W W重叠方式访问,其还使能预取和处理。当预取 存储器模式时,通过步进瓦工引擎访问存储器并且将存储器组装成高速缓存中的1D阵列, 同时处理器访问来自高速缓存的1D阵列。如上文讨论的,在通过步进瓦工引擎将已经处理 或使用的1D阵列已经写回到存储器中的适当位置中时,可W从高速缓存收回它们。
[0009] 附加地,在实施例中,在处理行或区域之前可W将图像的行或区域放到高速缓存 中,W防止高速缓存未命中。因为图像被布置为一维阵列并且访问模式是线性的,使用存 储器寻址自动递增指令和面向阵列处理的指令集,处理数据的阵列可W更快,因为可预测 在图像存储器访问期间将被处理的下一行或区域。可通过存储在高速缓存中来准备行或区 域,W用于快速访问和处理。使用本文公开的方法来封装存储器模式(例如矩形或选择的 行巧Ij线性1D阵列的集合中,本文描述的实施例可提供对存储器访问的优化W加速处理,因 为处理器将原本在继续处理之前需要等待存储器读取和写入操作完成。
[0010] 在W下描述和权利要求中,可使用术语"禪合"和"连接"W及它们的派生词。应 当理解的是,该些术语非旨在作为相互的同义词。相反,在特定实施例中,"连接"可用于指 示两个或更多元件处于相互的直接物理或电气接触中。"禪合"可表示两个或更多元件处于 直接物理或电气接触中。然而,"禪合"还可表示两个或更多元件不处于相互直接接触中,但 仍然相互协作或交互。
[0011] 一些实施例可W在硬件、固件和软件中的一个或组合中实施。一些实施例还可被 实施为存储在机器可读介质上的指令,其可由计算平台读取和实行W执行本文描述的操 作。机器可读介质可包括用于存储或传输机器(例如计算机)可读形式的信息的任何机构。 例如,机器可读介质可包括只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光学 存储介质;闪存设备;或电、光、声或其它形式的传播信号,例如载波、红外信号、数字信号, 或发送和/或接收信号的接口,等等。
[0012] 实施例是实施方式或示例。在说明书中对"一实施例"、"一个实施例"、"一些实施 例"、"各个实施例"、或"其它实施例"的引用表示结合该实施例描述的特定特征、结构或特 性被包括在本发明的至少一些实施例中,但不一定在所有实施例中。各处出现的"一实施 例"、"一个实施例"或"一些实施例"不一定都指代相同实施例。来自一实施例的元件或方 面可W与另一实施例的元件或方面组合。
[0013] 不是本文描述和图示的所有部件、特征、结构、特性等都需要被包括在特定实施例 或多个实施例中。如果说明书例如陈述了 "可"、"可能"、"能够"或"能"包括部件、特征、结 构或特性,不要求该特定部件、特征、结构或特性被包括。如果说明书或权利要求设及"一" 或"一种"元件,其不表示仅存在一个该元件。如果说明书或权利要求设及"一附加"元件, 其不排除存在多于一个的该附加元件。
[0014] 应当注意,尽管参考特定实施方式描述了一些实施例,但是根据一些实施例,其它 实施方式是可能的。附加地,在图中图示的和/或本文描述的电路元件或其他特征的布置 和/或顺序不需要W图示和描述的特定方式来布置。根据一些实施例,很多其它布置是可 能的。
[0015] 在图中示出的每个系统中,在一些情况下的元件可能每个具有相同附图标记或不 同附图标记来表明表示的该元件可能是不同和/或类似的。然而,元件可W足够灵活W具 有不同实施方式,并且与本文示出或描述的系统中的一些或所有一起工作。图中示出的各 个元件可W是相同或不同的。哪个被称为第一元件并且哪个被称为第二元件是任意的。
[0016] 图1是根据实施例可使用的计算设备100的框图。计算设备100可例如是膝上型 计算机、台式计算机、平板计算机、移动设备或服务器等。计算设备100可包括被配置为执 行存储的指令的中央处理单元(CPU) 102,W及存储由CPU102可执行的指令的存储器设备 104。CPU可通过总线106禪合到存储器设备104。附加地,CPU102可W是单核处理器、多 核储存设备、计算集群、或任意数量的其它配置。此外,计算设备100可包括多于一个的CPU 102。由CPU102执行的指令可被用于优化存储器访问。可W在本发明的实施例中使用除 了CPU之外的很多计算架构,例如单指令多数据(SIMD)指令集、数字信号处理(DSP)处理 器、图像信号处理(ISP)处理器、GPU、或其他类型的阵列处理器,例如超长指令字(VLIW)机 器。
[0017] 计算设备100还可包括图形处理单元(GPU) 108。如示出的,CPU102可W经由总 线106禪合到GPU108。GPU108可W被配置为执行在计算设备100内的任何数量的图形 操作。例如,GPU108可W被配置为擅染或操纵将被显示给计算设备100的用户的图形图 像、图形帖、视频等。在一些实施例中,GPU108包括多个图形引擎(未示出),其中
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1