对于显示设备的命令调度的制作方法

文档序号:8361277阅读:339来源:国知局
对于显示设备的命令调度的制作方法
【技术领域】
[0001] 本公开涉及计算系统,并且具体而言(但非排他地),涉及用于对显示系统中的命 令进行调度的技术。
【附图说明】
[0002] 图1是示出了包括多核处理器的计算系统的框图的实施例的图。
[0003] 图2是示出了低功率计算平台的实施例的图。
[0004] 图3是示出了低功率数据传输平台的实施例的图。
[0005] 图4是示出了将数据沿通信接口发送至显示设备的片上系统(SoC)设备的实施例 的图。
[0006] 图5是示出了在命令模式的操作期间显示存储器的操作的实施例的图。
[0007] 图6是显示控制器硬件的配置。
[0008] 图7是示出了符合本公开的显示控制器硬件的实施例的图。
[0009] 图8是示出了符合本公开的显示控制器硬件的另一实施例的图。
[0010] 图9是示出了利用撕裂效应信号来指示显示设备的功能性的方法的流程图的图。
[0011] 图10是示出了在显示系统中对命令进行调度的方法的流程图的另一图。
【具体实施方式】
[0012] 在下面的描述中,阐述了多个具体细节,例如,具体类型的处理器和系统配置、具 体硬件结构、具体体系结构和微体系结构的细节、具体寄存器配置、具体指令类型、具体系 统部件、具体测量/高度、具体处理器流水线阶段以及操作等的示例,以提供对本公开的全 面理解。然而,对于本领域技术人员显而易见的是,所述具体细节不需要被应用以实现本 公开。在其它实例中,公知的部件或方法(例如,具体的和可替换的处理器体系结构、用于 所描述的算法的具体的逻辑电路/代码、具体的固件代码、具体的互联操作、具体的逻辑配 置、具体的制造技术和材料、具体的编译器实现,代码中算法的具体表达、具体的下电和门 控技术/逻辑以及计算机系统的其他具体的操作细节)未被详细地描述,以避免不必要地 使本公开难以理解。
[0013] 尽管如下实施例可以参考具体的集成电路中(例如,在计算平台或微处理器中) 的能量节省和能效来进行描述,但其他实施例适用于其他类型的集成电路和逻辑设备。本 文描述的实施例的类似的技术和教导可以应用于还可以受益于更好的能效和能量节省的 其他类型的电路或半导体设备。例如,所公开的实施例不限于桌面计算机系统或超极本?。 并且还可以用于其它设备(例如,手持设备、平板电脑、其他薄型笔记本、片上系统(SOC) 设备以及嵌入式应用)中。手持设备的一些示例包括蜂窝电话、互联网协议设备、数码照 相机、个人数字助理(PDA)以及手持PC。嵌入式应用通常包括微控制器、数字信号处理器 (DSP)、片上系统、网络计算机(NetPC)、机顶盒、网络集线器,广域网(WAN)交换机或可以执 行以下教导的功能和操作的任何其他系统。此外,本文描述的装置、方法以及系统不限于 物理计算设备,而还可以涉及用于能量节省和效率的软件优化。正如在以下描述中将变得 显而易见的,本文描述的方法、装置和系统的实施例(无论是关于硬件、固件、软件、或其组 合),对于未来考虑性能的"绿色技术"都是至关重要的。
[0014] 由于计算系统的改进,其中的部件变得更加复杂。因此,用于在部件之间进行耦合 并且通信的互联体系结构也增加了复杂度,以保证带宽需求满足最佳部件操作。此外,不同 的市场分割需要互联体系结构的不同方面,以适应市场的需要。例如,服务器需要更高的性 能,而移动生态系统有时能够牺牲总体性能以用于功率节省。但是,大多数结构的单一目的 在于提供具有最大功率节省的最高可能的性能。以下,讨论了潜在地受益于本文描述的公 开的方面多个互联。
[0015] 注意,上述装置、方法和系统可以实现于前述任何电子设备或系统中。正如具体示 出的,以下附图提供了用于利用本文描述的发明的示例性系统。正如以下系统更详细地描 述的,多个不同的互联根据上述讨论进行公开、描述、并且重新讨论。并且正如完全显而易 见的,上述优点可以应用于互联、结构或体系结构中的任何一个。
[0016] 参考图1,描绘了包括多核处理器的计算系统的框图的实施例。处理器100包括任 何处理器或处理设备,例如,微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器、 手持处理器、应用处理器、协处理器,片上系统(SOC)或用于执行代码的其他设备。在一个 实施例中,处理器100包括至少两个核--核101和102,所述处理器100可以包括非对称 核或对称核(示出的实施例)。然而,处理器100可以包括可以是对称或非对称的任何数量 的处理元件。
[0017] 在一个实施例中,处理元件指代用于支持软件线程的硬件或逻辑。硬件处理元件 的示例包括:线程单元、线程槽、线程、处理单元、上下文、上下文单元、逻辑处理器、硬件线 程、核和/或能够保持处理器的状态(例如,执行状态或体系结构状态)的任何其他元件。 换言之,在一个实施例中,处理元件指代能够独立地与代码(例如,软件线程、操作系统、应 用或其他代码)相关联的任何硬件。物理处理器(或处理器插槽)通常指代潜在地包括任 何数量的其他处理元件(例如,核或硬件线程)的集成电路。
[0018] 核通常指代位于集成电路上能够维持独立的体系结构状态的逻辑,其中,每一个 独立维持的体系结构的状态与至少某些专用的执行资源相关联。与核相反,硬件线程通常 指代位于能够维持独立的体系结构状态的集成电路上的任何逻辑,其中,独立地维持体系 结构的状态共享对执行资源的访问。正如所看见的,当某资源是共享的而其他资源专用于 体系结构状态时,在硬件线程和核的命名之间的线重叠。通常,核和硬件线程由操作系统视 为独立的逻辑处理器,其中,操作系统能够独立地调度在每一个逻辑处理器上的操作。
[0019] 物理处理器100,如图1所示出的,包括两个核--核101和102。这里,核101和 102被考虑为对称核,S卩,具有相同配置、功能单元和/或逻辑的核。在另一实施例中,核101 包括乱序处理器核,而核102包括顺序处理器核。然而,核101和102可以从任何类型的核 中独立地选择,所述任何类型的核例如是本地核、软件管理的核、适用于执行本地指令集体 系结构(ISA)的核、适用于执行翻译指令集体系结构(ISA)的核、协同设计的核或其他已知 的核。在不同种类的核环境(即非对称核)中,某些形式的翻译(例如,二进制译码),可以 被利用以在一个或两个核上调度或执行代码。有待于进一步讨论,核101中示出的功能单 元将在下面进行进一步地描述,例如,核102的单元在描绘的实施例中以类似方式的进行 操作。
[0020] 正如所描述的,核101包括两个硬件线程IOla和101b,所述两个硬件线程还可以 被称为硬件线程槽IOla和101b。因此,软件实体(例如,操作系统),在一个实施例中潜在 地将处理器100视为四个独立的处理器,即,能够并行地执行四个软件线程的四个逻辑处 理器或处理元件。如上所提及的,第一线程与体系结构状态寄存器IOla相关联、第二线程 与体系结构状态寄存器IOlb相关联、第三线程可以与体系结构状态寄存器102a相关联、 而第四线程可以与体系结构状态寄存器l〇2b相关联。这里,体系结构状态寄存器(101a、 101b、102a以及102b)中的每一个都可以被称为处理元件、线程槽或线程单元,如所上述。 正如所示出的,体系结构状态寄存器IOla在体系结构状态寄存器IOlb中被复制,因此单独 的体系结构状态/上下文能够被存储用于逻辑处理器IOla和逻辑处理器101b。在核101 中,其他更小的资源(例如,分配器和重命名器块130中的指令指针和重命名逻辑)还可以 被复制用于线程IOla和101b。某些资源(例如,重排序/退出单元135中的重排序缓冲 器、ILTB120、加载/存储缓冲器以及队列)可以通过分区来共享。其他资源(例如,通用 内部寄存器、页表基寄存器、低级数据高速缓存和数据TLB115、执行单元140以及乱序单 元135的部分)潜在地被完全共享。
[0021] 处理器100通常包括其他资源,所述其他资源可以被完全共享、通过分区来共享 或由处理元件专用/专用于处理元件。在图1中,示出了具有处理器的示出性的逻辑单 元/资源的仅示例性的处理器的实施例。注意,处理器可以包括或省略这些功能单元中的 任何一个,以及包括未描绘的任何其他已知的功能单元、逻辑或固件。正如所示出的,核 101包括简化的、表示性的乱序(〇〇〇)处理器核。但可以在不同的实施例中利用顺序处理 器。000核包括分支目标缓冲器120,用于预测要执行/处理的分支;以及指令翻译缓冲器 (I-TLB) 120,用于存储指令的地址翻译条目。
[0022] 核101进一步包括耦合于取指单元120的解码模块125,用于对所取回的单元进 行解码。在一个实施例中,取指逻辑包括分别与线程槽IOla和IOlb相关联的独立的定序 器。通常核101与第一ISA相关联,所述第一ISA定义/指定了在处理器100上可执行的 指令。通常,是第一ISA的部分的机器代码指令包括指令的一部分(被称为操作码),所述 机器代码指令提及/指定要执行的指令或操作。解码逻辑125包括从指令的操作码识别所 述指令并且在流水线中传递解码的指令以用于处理的电路,正如由第一ISA定义的。例如, 如以下更详细地讨论的,在一个实施例中,包括被设计或适用于识别具体的指令(例如,事 务指令)的逻辑。作为由解码器125识别的结果,体系结构或核101采取具体的、预定义的 动作,以执行与合适的指令相关联的任务。重要的是,注意本文所描述的任务、块、操作以及 方法中的任何一项都可以响应于单个或多个指令而执行;所述单个或多个指令中的某些可 以是新的或旧的指令。注意在一个实施例中,解码器126识别同一ISA(或其子集)。可替 换的,在不同种类的核环境中,解码器126识别第二ISA(或第一ISA的子集或不同的ISA 二者之一)。
[0023] 在一个示例中,分配器和重命名器块130包括用于保存资源的分配器,例如,用于 存储指令处理结果的寄存器文件。然而,线程IOla和IOlb潜在地能够乱序执行,其中分配 器和重命名器块130还保存其他资源,例如,用于跟踪指令结果的重排序缓冲器。单元130 还可以包括寄存器重命名器,所述寄存器重命名器用于将程序/指令参考寄存器重命名为 处理器100内部的其他寄存器。重排序/退出单元135包括部件,例如,上述提到的重排序 缓冲器、装入缓冲器以及存储缓冲器,用于支持乱序执行和随后的乱序执行的指令的顺序 退出。
[0024] 在一个实施例中,调度器和执行单元块140,包括用于在执行单元上调度指令/操 作的调度器单元。例如,浮点指令在具有可用的浮点执行单元的执行单元的端口上进行调 度。还包括与执行单元相关联的寄存器文件,用于存储信息指令处理结果。示例性的执行 单元包括浮点执行单元、整数执行单元、跳转执行单元、加载执行单元、存储执行单元以及 其他已知执行单元。
[0025] 更低级的数据高速缓存和数据翻译缓冲器(D-TLB) 150耦合于执行单元140。数据 高速缓存用于存储最近使用/操作的元素(例如,数据操作数),其潜在地抑制存储器一致 性状态。D-TLB用于存储最近虚拟/线性物理地址翻译。作为具体的示例,处理器可以包括 页表结构,所述页表结构用于将物理存储器分为多个虚拟页。
[0026] 这里,核101和102共享到更高级或进一步的高速缓存(例如,与片上接口 110 相关联的第二级高速缓存)的访问。注意,更高级或进一步指代从执行单元增加或远离执 行单元的高速缓存的级别。在一个实施例中,更高级的高速缓存是最后一级数据
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1