CN104834627B - 半导体设备、处理器系统及其控制方法 - Google Patents

半导体设备、处理器系统及其控制方法 Download PDF

Info

Publication number
CN104834627B
CN104834627B CN201510062130.2A CN201510062130A CN104834627B CN 104834627 B CN104834627 B CN 104834627B CN 201510062130 A CN201510062130 A CN 201510062130A CN 104834627 B CN104834627 B CN 104834627B
Authority
CN
China
Prior art keywords
memory
processor
data
image procossing
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510062130.2A
Other languages
English (en)
Other versions
CN104834627A (zh
Inventor
津田哲治
伊藤义行
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zushi Kyoko Co Ltd
Original Assignee
Zushi Kyoko Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zushi Kyoko Co Ltd filed Critical Zushi Kyoko Co Ltd
Publication of CN104834627A publication Critical patent/CN104834627A/zh
Application granted granted Critical
Publication of CN104834627B publication Critical patent/CN104834627B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)
  • Computer Security & Cryptography (AREA)

Abstract

本申请公开了一种半导体设备、处理器系统及其控制方法。一种处理器系统(10),包括:第一存储控制器(16),其控制向第一存储器(60)写入数据/从第一存储器(60)读取数据;第二存储控制器(17),其控制向第二存储器(70)写入数据/从第二存储器(70)读取数据;第一处理器(13),其通过总线(14)从第一存储器输入数据和向第一存储器输出数据;第二处理器(11),其通过总线从第二存储器输入被处理的数据和向第二存储器输出被处理的数据;以及管理单元(32),其从所述第一处理器解除分配与所述第二存储器对应的地址范围,并且向所述第二处理器分配所述地址范围。

Description

半导体设备、处理器系统及其控制方法
相关申请的交叉引用
本申请基于并且要求优先权的权益于在2014年2月6日提交的日本专利申请No.2014-21127,其公开通过引用被整体并入在此。
技术领域
本发明涉及半导体设备、处理器系统及其控制方法。
背景技术
日本未审查专利申请公布No.1994-324999公开了一种多处理器系统,其具有多个存储装置控制器。在日本未审查专利申请公布No.1994-324999中公开的该微处理器系统包括指令处理器IP0至IP3与存储装置控制器SC0和SC1。该指令处理器IP0和IP1连接到存储装置控制器SC0。指令处理器IP2和IP3连接到存储装置控制器SC1。
存储装置控制器SC0和SC1通过信号线连接到主存储装置MS0和MS1两者。然后,主存储装置MS0和MS1连接到所有的指令处理器IP0至IP3,并且可以向所有的指令处理器IP0至IP3发送从任何一个主存储装置读出的数据。
发明内容
本发明人已经发现在日本未审查专利申请公布No.1994-324999中公开的多处理器系统中的下面的问题。因为两个指令处理器连接到一个主存储装置控制器,所以指令处理器因为带偏差而不能确保足够的数据带宽。特别是,如果指令处理器是执行图像处理的图像处理器,则需要确保足够的带宽。如果图像处理器不能确保足够的带宽,则有在视频的播放期间可能出现丢帧的可能性。
通过本申请的下面的说明书和附图,其他问题和新颖特征将变得显然。
根据本发明的第一方面,一种处理器系统包括:第一处理器,所述第一处理器通过总线向第一存储器输入数据和从第一存储器输出数据;第二处理器,所述第二处理器通过总线向第二存储器输入处理的数据和从第二存储器输出处理的数据;以及,存储器管理单元,所述存储器管理单元从所述第一处理解除分配与所述第二存储器对应的地址范围,并且向所述第二处理器分配所述地址范围。
注意,当根据上述示例的系统采取方法、系统或可另外通过装置或其一部分装置来执行的用于允许计算机执行处理的程序时,根据上述示例的系统作为本实施例也可以是有效的,并且作为包括所述系统的半导体设备也可以是有效的。
根据本发明的第一方面,可以确保处理器的数据带宽。
附图说明
通过结合附图采取的某些实施例的下面的说明,上面和其他方面、优点和特征将更清楚,在附图中:
图1是示出根据第一实施例的半导体设备的结构的框图;
图2示出与第一和第二主存储装置控制器相对应的地址范围;
图3是图示通过CPU的管理单元和图像处理驱动器进行的存储器的分配处理的示意图;
图4是图示由图像处理器驱动器进行的存储器的分配处理的示意图;
图5是图示由通用OS进行的存储器的分配的示意图;
图6是图示其中通过第二存储器控制器路由来自CPU的数据和图像处理IP的示例的示意图;
图7是图示根据第二实施例的存储器的分配处理的示意图;
图8是图示根据第三实施例的存储器的分配处理的示意图;
图9是图示在用于管理存储器的管理信息和页面之间的对应性的示意图;
图10是图示示出了在虚拟地址和物理地址之间的对应性的页表的示意图;
图11是图示改变图像处理IP的分配的控制的示意图;
图12是图示改变图像处理IP的分配的控制的示意图;
图13是示出包括两个图像处理IP的处理器系统的框图;
图14是示出根据第四实施例的半导体设备的结构的框图;
图15是图示在帧间隔和处理时间之间的关系的示意图;
图16是图示将特定地址范围从在通用OS的控制下改变为在管理单元的控制下的示例的示意图;
图17是图示将特定地址范围从在通用OS的控制下改变为在管理单元的控制下的示例的示意图;
图18是图示将特定地址范围从在通用OS的控制下改变为在管理单元的控制下的示例的示意图;
图19是图示将特定地址范围从在管理单元的控制下改变为在通用OS的控制下的示例的示意图;
图20是图示将特定地址范围从在管理单元的控制下改变为在通用OS的控制下的示例的示意图;
图21是图示将特定地址范围从在管理单元的控制下改变为在通用OS的控制下的示例的示意图;
图22是示出了根据第四实施例的控制方法的流程图。
具体实施方式
为了清楚,可以以适当的方式来简化和省略下面的说明和附图。而且,在附图中被描述为用于布置成以执行各种处理的功能块的元件也可以分别通过CPU、存储器或以另一种形式的电路而被配置为硬件,或通过被装载到存储器内的程序而被配置为软件。因此,这些功能块可以以硬件、软件或该两者的组合的形式被实现,如本领域内的技术人员公知,并且不限于任何具体形式。而且,应当注意,在附图中描述的具有实质上相同的特征的元件将被分配相同的附图标号,并且,将适当地不重复其说明。
而且,程序可以通过使用各种类型的非瞬时计算机可读介质被存储,并且被供应到计算机。该非瞬时计算机可读介质包括各种类型的有形存储装置介质。该非瞬时计算机可读介质的示例包括磁记录介质(诸如软盘、磁带和硬盘驱动器)、磁光记录介质(诸如磁光盘)、CD-ROM(只读存储器)、CD-R和CD-R/W以及半导体存储器(诸如掩膜ROM、PROM(可编程ROM)、EPROM(可擦除PROM)、闪存ROM和RAM(随机存取存储器))。而且,该程序可以通过使用各种类型的瞬时计算机可读介质被供应到计算机。瞬时计算机可读介质的示例包括电信号、光信号和电磁波。该瞬时计算机可读介质可以用于通过诸如电导线和光纤的有线通信路径或无线通信路径向计算机供应程序。
第一实施例
以下,将参考图1来描述根据本实施例的处理器系统和半导体设备。图1是示出半导体设备100的整体结构的框图。半导体设备100包括处理器系统10、第一存储装置60和第二存储装置70。
处理器系统例如是SoC(片上系统),并且用于汽车导航系统和信息娱乐设备等。处理器系统10包括图像处理IP 11、CPU(中央处理单元)13、总线14、第一主存储装置控制器16和第二主存储装置控制器17。处理器系统10是具有多个处理器的多处理器系统。
图像处理IP 11是例如图像处理器,并且执行图像处理。例如,图像处理IP 11是IP(知识产权)核心,其解码或编码图像数据。图像处理IP 11产生图像处理所需的图像处理数据。图像处理IP 11通过总线14与第一主存储装置控制器16和第二主存储装置控制器17连接。
CPU 13是控制整个系统的处理器。当处理器系统用于汽车导航系统时,CPU 13执行处理,诸如路由搜索或当前位置的定位。即,CPU 13执行除了图像处理之外的处理。因此,半导体设备可以用于预定应用。CPU 13通过总线14与第一主存储装置控制器16和第二主存储装置控制器17连接。假定CPU 13是第一处理器,图像处理IP 11是第二处理器。
第一主存储装置控制器16是第一存储器控制器,并且控制向第一主存储装置60写入数据/从第一主存储装置60读取数据。第二主存储装置控制器17是第二存储器控制器,并且控制向第二主存储装置70写入数据/从第二主存储装置70读取数据。
主存储装置60和第二主存储装置70例如是诸如SDRAM(同步动态随机存取存储器)的主存储器。主存储装置60和第二主存储装置70存储用于在处理器系统10中的处理的数据。主存储装置60和第二主存储装置70是可用于CPU 13和图像处理IP 11两者的通用存储器。
第一主存储装置控制器16从第一主存储装置60读出数据,并且向CPU 13输出该数据。第一主存储装置控制器16向第一存储装置60写入从CPU 13输出的数据。如上所述,CPU13通过总线14从第一主存储装置60输入和向其输出数据。
第二主存储装置控制器17从第二主存储装置70读出数据,并且向图像处理IP 11输出该数据。第二主存储装置控制器18向第二存储装置70写入从CPU 13输出的数据。如上所述,图像处理IP 11通过总线14向第二主存储装置70输入和从其输出数据。
以下,将参考图2来描述与第一主存储装置控制器16和第二主存储装置控制器17相对应的地址范围。图2是图示与第一和第二主存储装置控制器对应的存储器的物理地址范围的示意图。第一主存储装置控制器16对应于从0x1 0000 0000至0x1 FFFF FFFF的地址范围300。第二主存储装置控制器17对应于从0x2 0000 0000至0x2 FFFF FFFF的地址范围301。因此,如果软件可以占用特定地址范围,则该软件可以占用第二主存储装置控制器17。
将参考图3来描述存储器空间的分配处理。图3是图示由CPU 13执行的存储器空间的分配处理的示意图。CPU 13包括图像处理驱动器31和管理单元32。图像处理驱动器31控制图像处理IP 11。例如,图像处理驱动器31执行与第一主存储装置控制器16对应的地址范围300的分配。管理单元32是软件,其具有用于管理存储器的存储器管理功能。管理单元32执行与第二主存储装置控制器17对应的地址范围301的分配。换句话说,图像处理驱动器31和管理单元32一起执行地址范围301的分配。
将描述在图像处理期间的存储器的分配。首先,在第一分配处理中,图像处理驱动器31向CPU 13分配区域301a。在第二分配处理中,管理单元32向图像处理IP 11分配区域301a。在第三分配处理中,图像处理驱动器31向CPU 13分配区域300b。在第四分配处理中,管理单元32向图像处理IP 11分配区域301b。CPU 13和图像处理IP 11向分配的区域写入数据/从分配的区域读取数据。
在地址范围300或在与第一主存储装置控制器16对应的地址范围中包括区域300a和区域300b。例如,区域300a是地址范围300的前半部分,并且区域300b是地址范围300的后半部分。在地址范围301中或在与第二主存储装置控制器17对应的地址范围中包括区域301a和区域301b。例如,区域301a是地址范围301的前半部分,并且区域301b是地址范围301的后半部分。当然,地址范围300和301可以被划分为三个或更多的区域,并且,可以串行地执行分配。
被管理单元32分配的区域301a和区域301b通过第二主存储装置控制器17被路由。另一方面,被图像处理驱动器31分配的区域300a和区域300b通过第一主存储装置控制器16被路由。因此,仅图像处理IP 11使用区域301a和区域301b,并且因此,图像处理IP 11可以占用第二主存储装置控制器17。即,管理单元32专门地向图像处理IP11分配第二主存储装置70的地址范围。因此,图像处理IP 11可以确保足够的带宽。
如图1中所示,图像处理IP 11的数据带宽121被适配到第二主存储装置控制器17的数据带宽122内。即,如果CPU 13的数据带宽111加宽,则CPU 13的处理的数据不能通过第二主存储装置控制器17被路由。如果图像处理IP 11和CPU 13同时运行,则图像处理IP 11可以占用第二主存储装置控制器17。
为了比较,将参考图4来描述其中图像处理驱动器31执行分配处理而不使用管理单元32的配置。图4是图示没有管理单元32的分配处理的示意图。
在启动时对于图像处理驱动器31设置存储器空间的大小和开始地址。然后,在从该开始地址开始的存储器空间中分配设置的大小。在该情况下,根据分配的顺序来确定分配第一主存储装置控制器16的地址空间或第二主存储装置控制器17的地址空间的哪个。
例如,将描述其中向CPU 13和图像处理IP 11分别分配两次存储器空间的情况。图像处理驱动器31向存储器空间分配开始地址0x1 0000 0000和大小0x2 0000 0000。在第一分配处理中,图像处理驱动器31向CPU 13分配区域300a。在第二分配处理中,图像处理驱动器31向图像处理IP 11分配区域300b。在第三分配处理中,图像处理驱动器31向CPU 13分配区域301a。在第四分配处理中,图像处理驱动器31向图像处理IP 11分配区域301b。
CPU 13确保地址范围300的区域300a和地址范围301的区域301a。图像处理IP 11确保地址范围300的区域300b和地址范围301的区域301b。图像处理IP 11不能占用特定的主存储装置控制器。
另一方面,在本实施例中,图像处理驱动器31仅将第一主存储装置控制器16的地址范围指定为如图3中所示的CPU 13的使用范围。而且,图像处理驱动器31具有管理单元32,该管理单元32仅管理第二主存储装置控制器17的地址范围。图像处理驱动器31设置由管理单元32向图像处理IP 11分配的存储器地址。换句话说,当在第二主存储装置70的地址范围中包括分配的范围时,管理单元32将要被分配的这个范围分配给图像处理IP 11。管理单元32将与第二主存储器70对应的地址范围从CPU 13解除分配,并且向图像处理IP 11分配所解除分配的地址范围。因此,图像处理IP 11可以总是占用第二主存储装置控制器17。
管理单元32管理与用于对第二主存储装置控制器17进行访问的地址范围相关的存储器的分配。管理单元32独立于图像处理驱动器32而运行。因此,如果图像处理驱动器31不管理在地址范围和主存储装置控制器之间的对应性,则在管理单元32的控制下的区域301a和区域301b不被图像处理驱动器31的存储器分配操作而干扰。因此,第二主存储装置控制器17可以被图像处理IP 11唯一地占用。
因此,可以确保用于图像处理IP 11的处理的足够的带宽。因此,可以减少图像处理IP 11用于访问数据的等待时间。也可能防止在视频的播放期间的丢帧等。
第二实施例
在这个实施例中,处理器系统10与第一实施例的不同在处理器系统10嵌入通用OS。因为该实施例除了处理器系统10嵌入通用OS之外类似于第一实施例,所以根据需要省略其一些说明。例如半导体设备100和处理器系统10具有与第一实施例的那些类似的结构。
首先,将描述嵌入通用OS的处理器系统的问题。图5是图示在嵌入通用OS的处理器系统中的存储器空间的分配处理的示意图。
通用OS 33例如是Linux(注册商标)或Windows(注册商标)。通用OS 33分配存储器空间。通用OS 33向通用OS 33的应用等分配第一主存储装置60和第二主存储装置70的地址空间。通用OS 33的应用例如是计算器。图像处理驱动器31在通用OS 33的控制下运行。
当接收到存储器分配请求时,通用OS 33依序在分配时分配未分配的区域。例如,假定已经分配了区域300a和区域301a,并且未分配区域301b和区域301b,如图5中所示。区域300a被分配到通用OS 33的应用。区域301a被分配到图像处理IP 11。
通用OS 33依序向图像处理IP 11和CPU 13分配未分配的区域300b和301b。在第一分配处理中,通用OS 33向图像处理IP 11分配空区域300b。在第二分配处理中,通用OS 33向CPU 13分配空区域300b。
在该情况下,图像处理IP 11和CPU 13共享第二主存储装置控制器17,如图6中所示。因此,CPU 13的数据带宽423和图像处理IP 11的数据带宽421的和可以超过第二主存储装置控制器17的数据带宽427。图像处理IP 11可能不能确保期望的数据带宽。在该情况下,图像处理IP 11用于访问数据的等待时间增大,并且因此,丢帧可能出现。
在这个实施例中,与第二主存储装置控制器17对应的地址范围301在启动时被从在通用OS 33的控制下解除分配。管理地址范围301的管理单元32被与通用OS 33分离地加到CPU 13。将参考图7来描述根据这个实施例的分配处理。图7是图示根据本实施例的处理器系统的控制方法的示意图。
已经分配了作为地址范围300的前半部分的区域300a和作为地址范围301的后半部分的区域301a。区域300a已经被分配到诸如计算器的另一个应用。区域301a已经被分配到图像处理IP 11。
当接收到分配请求时,通用OS 33执行未分配区域的分配。通用OS 33向具有图像处理驱动器31的CPU 13分配区域300b。通用OS 33从图像处理驱动器31接收存储器空间的分配请求,并且执行管理。通用OS 33向CPU 13分配第一主存储装置60的地址范围的至少一部分。管理单元32独立于通用OS 33地执行未分配区域301b的分配。管理单元32向图像处理IP 11分配区域301b。如上所述,管理单元32管理地址范围301的分配。换句话说,管理单元32分配被第二主存储装置控制器17使用的存储器空间。这可以使得图像处理IP 11占用第二主存储装置17。
如上所述,管理单元32管理与用于访问特定的第二主存储装置控制器17的地址范围301相关的存储器的分配。然后,管理单元32独立于通用OS 33的分配处理而执行分配处理。在管理单元32的控制下的区域301a和301b不受通用OS 33的存储器分配操作干扰,通用OS33不知晓在地址范围和主存储装置控制器之间的对应性。
管理单元32在通用OS 33和图像处理驱动器31的控制下分配存储器空间,其中图像处理驱动器31在通用OS 33的控制下运行。这能够使得图像处理驱动器31在通用OS 33的控制下运行。因此,可以实现由通用OS 33提供的各个功能的应用,并且确保图像处理IP 11的带宽。
图像处理IP 11的数据带宽121适配到第二主存储装置控制器17的数据带宽122内,如图1中所示。即,即使CPU 13的数据带宽111加宽,CPU 13的处理的数据也不能通过第二主存储装置控制器17被路由。即使图像处理IP 11和CPU 13同时运行,图像处理IP 11也可以占用第二主存储装置控制器17。图像处理IP 11可以确保期望的数据带宽。图像处理IP11可以降低用于数据访问的等待时间,并且防止丢帧。
第三实施例
在第二实施例中,在处理器系统10的启动时将与第二主存储装置控制器17对应的地址范围从在通用OS 22的控制下解除分配。因此,图像处理IP 11占用第二主存储装置控制器17,而与图像处理IP 11是否在使用中无关。即,当图像处理IP 11未在使用中时,第二主存储装置控制器17的地址范围不在使用中。因此,不能有效地使用存储器。
因此,在这个实施例中,图像处理IP 11仅当图像处理IP 11在使用中时占用第二主存储装置控制器17。即,当图像处理IP 11未在使用中时,向CPU 13分配第二主存储装置控制器17的地址范围301。例如,当图像处理IP 11在使用中时,将与第二主存储装置70对应的地址范围301(0x2 0000 0000至0x2 FFFF FFFF)从在通用OS 33的控制下解除分配。通过独立于通用OS 33增加管理单元32,管理单元33可以管理地址范围301。
在使用图像处理IP 11后,将地址范围301再一次带回到在通用OS 33的控制下。即,在完成图像处理IP 11的处理并且停止图像处理IP 11的运行后,通用OS 33管理地址范围301。因此,图像处理IP 11可以仅当图像处理IP 11运行时占用第二主存储装置控制器17,并且因此,可以确保期望的带宽。而且,当图像处理IP 11未在使用中时,通用OS 33可以不仅使用地址范围300而且使用地址范围301。因此,可以有效地使用存储器。
将参考图8来描述根据第三实施例的处理器系统的控制方法。图8是图示由通用OS33和管理单元32进行的第二主存储装置控制器17的分配处理的示意图。因为该实施例除了当图像处理IP 11不在使用中时地址范围301被分配到CPU 13之外类似于第一和第二实施例,所以根据需要来省略其一些说明。例如,半导体设备100和根据这个实施例的处理器系统具有与第一和第二实施例的那些类似的结构。因此,根据需要省略其说明。
当图像处理IP 11未在使用中时,通用OS 33管理与第一主存储装置控制器16和第二主存储装置控制器17对应的地址范围300和301(步骤11)。即,通用OS 33执行整个存储器空间的分配。
当图像处理IP 11在使用中时,从通用OS 33的控制下解除分配与第二主存储装置控制器17对应的地址范围301。然后,管理单元32管理地址范围301(步骤12)。换句话说,在图像处理IP 11在运行的同时,向图像处理IP 11分配与第二主存储装置控制器17对应的地址范围301。如上所述,仅当图像处理IP 11在运行时,独立于通用OS 33地增加管理单元32。
在图像处理IP 11的使用后,将地址范围301重新分配到通用OS33的控制下。即,当图像处理IP 11停止运行时,通用OS 33执行已经被分配到图像处理IP 11的地址范围301的分配。因此,当图像处理IP11在运行时,图像处理IP 11可以占用第二主存储装置控制器17,并且因此可以确保期望的带宽。
在当第二主存储装置控制器17的分配从CPU 13被改变为图像处理IP 11时的时刻,管理单元32备份已经被存储在第二主存储装置70中的数据。将参考图9和10来描述一种用于备份在第二主存储装置70中存储的数据的方法。图9是图示第一主存储装置60和第二主存储装置70的管理的示意图。图10是图示用于示出在虚拟地址和物理地址之间的对应性的页表的示意图。
如图9中所示,通用OS 33以页面520为单位来管理存储器。即,第二主存储装置70和第一主存储装置60被分离成页面520,并且以页面单位来分配。在图9中,为了标识每一个页面520,图示了页面0、页面1和…以及页面n。页面520具有相同的大小。页面0至(n-1)对应于第一主存储装置控制器16的地址范围300,并且在页面n后的页面对应于第二主存储装置控制器17的地址范围301。
而且,通用OS 33具有用于管理页面520的每一个的管理信息510。管理信息510具有标记511,该标记511指示每一个页面的分配状态。在图9中,与页面0、页面1和页面n对应的标记511被图示为标记511-0、标记511-1和标记511-n。标记511根据页面520指示“被分配”或“未被分配”。因此,通用OS 33可以通过参考管理信息510来确认被分配的页面520。而且,通用OS 33基于分配状态来更新管理信息520。
如图10中所示,通用OS 33使用硬件MMU(存储器管理单元)35来管理物理地址PA和虚拟地址VA。通过页表534来管理在物理地址PA和虚拟地址VA之间的对应性。例如,页表534存储相对于每一个页表520的一对物理地址PA和虚拟地址VA。例如,在页表534中,虚拟地址VA1对应于物理地址PA1。MMU 35参考页表534来转换地址。
将说明用于数据写入的操作。CPU 13指定虚拟地址VA,并且然后执行数据的写入。例如,CPU 13指定用于数据写入的虚拟地址VA1。然后,MMU 35参考页表534指定与虚拟地址VA1对应的物理地址PA1。然后,CPU 13向与物理地址PA1对应的第二主存储装置控制器17输出数据。然后,第二主存储装置控制器17将数据写入到第二主存储装置70的物理地址PA1处。
CPU 13从第二主存储装置70读出数据,就像在数据写入处理中那样。CPU 13指定用于读出数据的虚拟地址VA。然后,MMU 35参考页表534将虚拟地址VA转换为物理地址PA。然后,第二主存储装置控制器17从第二主存储装置70读出物理地址PA的数据,并且向CPU13输出该已读出的数据。
当改变与第二主存储装置控制器17对应的地址范围301的分配时,CPU 13更新页表534。CPU 13改变在物理地址PA和虚拟地址VA之间的对应性。MMU 35使用更新的页表534将虚拟地址VA转换为物理地址PA。通过如此进行,CPU 13可以在未指定物理地址PA的情况下写入/读取数据。因此,CPU 13可以适当地处理数据,而不执行复杂的处理。
将描述用于地址301的重新分配的处理。将参考图11来描述用于将地址范围301从通用OS 33的控制下解除分配的方法。图11是图示当未分配地址范围301时向图像处理IP11分配地址范围301的处理的示意图。
首先,CPU 13参考与地址301的页面对应的标记511来确定是否分配了地址范围301(步骤21)。当在与地址范围301对应的页面(在图11中的在页面n后的页面)中未包括任何“被分配”的标记时,CPU3确定地址范围301未被分配。
然后,管理单元32将在地址范围301中包括的区域从通用OS 33的控制下解除分配(步骤22)。通用OS将与地址范围301的页面对应的标记设置为“被分配”。而且,通用OS 33向页表534加上目标页面的一对物理地址PA和虚拟地址VA。因此,地址范围301从通用OS 33的控制下解除分配,并且分配到管理单元32的控制下。
接下来,将参考图12来描述当分配地址范围301时的处理。图12是图示当通用OS33使用地址范围301时将地址范围301从通用OS33的控制下解除分配的处理的示意图。
CPU 13参考与地址范围301的页面对应的标记来确定是否分配了地址范围301(步骤31)。CPU 13从地址范围301提取被分配的页面。在图12中,分配页面n。然后,管理单元32确保在页面300中的未分配的页面0,并且将页面n的数据复制到页面0。因此,将在地址范围301中的在分配的页面n中写入的数据写入页面0内(步骤32)。CPU13然后更新管理信息。因此,页面0的标记511-0被设置为被分配。
而且,CPU 13将在页表中的物理地址PAn重写到物理地址PA0,并且由此更新页表。即,将虚拟地址VAn配对的物理地址从页面n的物理地址PA更新为页面0的物理地址PA0。
在更新页表后,作为在地址范围301中的复制源的页面n的标记511-n设置为未被分配。通过如此进行,CPU 13可以在重新分配后使用在重新分配之前在页面n中存储的数据。在上面的说明中,虽然仅将页面n的数据复制到页面0,但是当在地址范围301中存在多个被分配的页面时,将所有页面的数据备份到在地址范围300中的页面。即,将在地址范围301中的分配的页面的数据复制到在地址范围300中的未分配的页面。
当在步骤33后将地址范围301带回在通用OS 33的控制下时,执行下面的处理。在图像处理IP 11使用地址范围301后,管理单元32将管理信息的标记改变为未被分配。即,管理单元32将在地址范围301中的所有页面设置为未被分配。因此,通用OS 33可以在存储器的随后分配中覆盖用于分配的地址范围300的页面。
在这个实施例中,管理单元32仅当图像处理IP 11在运行时向图像处理IP 11分配地址范围301。即,通用OS 33当图像处理IP 11未在运行时向除了图像处理IP 11之外的CPU13分配地址范围301。因此,可以有效地使用存储器,并且缩短处理时间。
当图像处理IP 11从非运行状态切换到运行状态时,管理单元32基于指示第一主存储装置60和第二主存储装置79的分配状态的管理信息来将在第二主存储装置70中存储的数据复制到第一主存储装置60。通过如此进行,当改变分配时,CPU 13可以使用在第二主存储装置70中存储的数据。
处理器系统10进一步包括MMU 35,MMU 35参考将存储器的虚拟地址与物理地址相关的表。CPU 13指定虚拟地址。然后,MMU 35参考表,并且由此向第一主存储装置60和第二主存储装置70写入数据/从第一主存储装置60和第二主存储装置70读取数据。当图像处理IP 11被从非运行状态切换到运行状态时,CPU 13更新表。仅改变在虚拟地址和物理地址之间的对应性在表中是必要的。因此,可以通过简单处理来改变分配。
第四实施例
根据这个实施例的一种处理器系统包括多个图像处理器IP。当图像处理器IP同时运行时,图像处理器IP可以共享一个主存储装置控制器。例如,如图13中所示,处理器系统10包括图像处理器IP 11和图像处理器IP 12。第二主存储装置控制器17的地址范围被分配到图像处理器IP 11和图像处理器IP 12。由图像处理器IP 11和图像处理器IP 12使用的数据被向第二主存储装置控制器17偏置。
然后,图像处理器IP 11的数据带宽221和图像处理器IP 12的数据带宽222的和大于第二主存储装置控制器17的数据带宽227。因此,图像处理器IP 11或图像处理器IP 2可能不能确保期望的数据带宽。因此,存在这样的可能性,通过增大图像处理器IP 11或图像处理器IP 12用于访问数据的等待时间而在视频的播放期间可能出现丢帧。
因此,在这个实施例中,如下所述改变分配。图14示出根据这个实施例的具有处理器系统10的半导体设备100。处理器系统10包括图像处理IP 11、图像处理IP 12、CPU 13、硬件IP 15(以下称为H/W IP15)以及第一主存储装置控制器16和第二主存储装置控制器17。即,除了在第一实施例中描述的结构之外,处理器系统10具有图像处理器IP 12和H/W IP15。根据需要省略与上面的实施例类似的说明。
H/W IP 15是控制连接到处理器系统10的硬件的IP核心。H/W IP15控制诸如USB(通用串行总线)的硬件。假定CPU 13是第一处理器,图像处理IP 11是第二处理器,并且图像处理IP 12是第三处理器。图像处理器IP 11和图像处理器IP 12执行诸如解码或编码的图像处理。在图像处理IP 11和图像处理IP 12中执行的解码或编码处理可以相同或可以不同。
在这个实施例中,在图像处理IP 11和图像处理IP 12之间需要较宽的数据带宽的图像处理IP占用第二主存储装置控制器17。即,要分配到第二主存储装置控制器17的图像处理IP被动态地改变。图像处理IP 11和图像处理IP 12以帧为单元改变存储器空间的分配。
如图15中所示,图像处理IP 11或图像处理IP 12的处理时间801必须比帧间隔800更短。如果处理时间801比帧间隔800更大,则丢帧将出现。当帧率是60fps时,帧间隔801是大约16.6msec。图像处理IP 11和图像处理IP 12必须在帧间隔800内执行处理。“(处理时间801)/(帧间隔800)”比率越大,则需要的处理时间的减少越大。即,处理时间801除以帧间隔800的比率越高,则期望分配的带宽越宽。
因此,在这个实施例中,管理单元32测量相对于每一个帧的图像处理IP的处理时间801。然后,管理单元32对于每一个图像处理IP计算处理时间801与帧间隔800的比率,或是(处理时间801)/(帧间隔800)比率。然后,向具有处理时间801与帧间隔800的最大比率的图像处理IP分配与第二主存储装置控制器18对应的地址范围301。管理单元32基于处理时间801与帧间隔800的比率来改变存储器的分配。根据图像处理器IP 11和图像处理IP 2的处理状态来改变分配。
关于存储器分配,存在两种情况。第一种是将存储器分配从在通用OS 33的控制下改变为在管理单元32的控制下。第二种是将存储器分配从在管理单元32的控制下改变为在通用OS 33的控制下。首先,将参考图16至18来描述将存储器分配从在管理单元32的控制下改变为在通用OS 33的控制下的情况。图16至18是图示将存储器分配从在管理单元32的控制下向在通用OS 33的控制下的情况的示意图。
首先,图像处理IP 11在运行中,并且图像处理IP 12不在运行中。在该情况下,图像处理IP 11与关于第一和第二实施例的处理类似地占用第二主存储装置控制器17。即,管理单元32向图像处理IP 11分配第二主存储装置70的地址范围。另一方面,通用OS 33向CPU13和H/W IP 15分配第一主存储装置60的地址范围。
如图17中所示,图像处理IP 12开始运行。管理单元32测量在一个帧中的图像处理IP 11和图像处理IP 12的处理时间。然后,管理单元32分别计算图像处理IP 11和图像处理IP 12的“(处理时间801)/(帧间隔801)”的比率。管理单元32将图像处理IP 11的比率“(处理时间801)/(帧间隔801)”与图像处理IP 12的比率“(处理时间801)/(帧间隔801)”作比较。通过使用比率“(处理时间801)/(帧间隔801)”,可以适当地执行该比较,即使图像处理IP 11的帧间隔与图像处理IP 12的的帧间隔不同。
图像处理IP 12在比图像处理IP 11更紧的时间约束下开始运行。因此,图像处理IP 12的比率“(处理时间801)/(帧间隔801)”大于图像处理IP 11的比率“(处理时间801)/(帧间隔801)”。
管理单元32改变存储器分配,使得图像处理IP 12占用第二主存储装置控制器17。如图18中所示,管理单元32将图像处理IP 11的分配目的地从第二主存储装置控制器17改变为第一主存储装置控制器16。因此,CPU 13、图像处理IP 11和H/W IP 15共享第一主存储装置控制器16。第二主存储装置17被分配到图像处理IP 12。如上所述,图像处理IP 11的分配被从在管理单元32的控制下设置为在通用OS 33的控制下。图像处理IP 12的分配被设置为在管理单元32的控制下。因此,图像处理IP 12占用第二主存储装置控制器17。
在分配中,与H/W IP 15的MMU 35对应的地址被设置为图像处理IP 11。即,向图像处理IP 11分配与第一主存储装置控制器16对应的地址范围的区域。基于管理信息将被图像处理IP 11写入第二主存储装置70的数据复制到第一主存储装置60。即,像在第三实施例中那样,将在第二主存储装置70中存储的图像处理IP 11的图像处理数据写入第一主存储装置60的空页。因此,可以将在第二主存储装置70中存储的图像处理IP 11的图像处理数据备份到第一主存储装置60。
然后,像在第三实施例中那样,更新管理信息和页表。通过如此进行,可以在不改变虚拟地址的情况下改变分配。即,CPU 13仅指定虚拟地址,并且由此向适当的地址写入数据。
接下来,参考图19至21来描述将存储器分配从在通用OS 33的控制下向管理单元32的控制下改变的情况。图19至21是图示将存储器分配从在通用OS 33的控制下改变为在管理单元32的控制下的情况的示意图。
首先,当图像处理IP 11和图像处理IP 12同时运行时,图像处理IP 12占用第二主存储装置控制器17。然后,图像处理IP 12停止运行,如图19中所示。
管理单元32以与上面的情况类似的方式来计算每一个图像处理IP的“(处理时间801)/(帧间隔801)”比率。如图20中所示,图像处理IP 11的比率“(处理时间801)/(帧间隔801)”大于图像处理IP 12的比率“(处理时间801)/(帧间隔801)”。即,因为图像处理IP 12停止运行,所以图像处理IP 11具有最紧的时间约束。
管理单元32使得具有最紧时间约束的图像处理IP 11占用第二主存储装置控制器17。即,图像处理IP 11的分配被设置为从在通用OS 33的控制下改变为在管理单元32的控制下。如图21中所示,管理单元32将图像处理IP 11的分配目的地从第一主存储装置控制器16改变为第二主存储装置控制器17。被第一图像处理IP 11写入到第一主存储装置60的数据被复制到第二主存储装置70。即,像在第三实施例中那样,图像处理IP 11的在第一主存储装置60中存储的图像处理数据被复制到与第三实施例类似的第二主存储装置的空页面。
然后,以与第三实施例类似的方式来更新管理信息和页表。通过如此进行,可以改变分配,而不改变虚拟地址。即,CPU 13仅指定虚拟地址,并且由此向适当的地址写入数据。
具有最紧的时间约束的图像处理IP 11占用第二主存储装置控制器17。因此,当图像处理IP 11和图像处理IP 12同时运行时,图像处理IP 11的数据带宽222被适配到第二主存储装置控制器17的数据带宽227内。
在该同时运行中,图像处理IP 11具有比图像处理IP 12更松的时间约束。因此,图像处理IP 11的数据带宽221比图像处理IP 12的数据带宽222更窄,如图14中所示。需要最宽数据带宽222的图像处理IP 12的数据不通过第一主存储装置控制器16被路由。另一方面,CPU13的数据和图像处理IP 11的数据通过第一主存储装置控制器16被路由。因为图像处理IP 11的数据带宽221窄,所以数据带宽221和CPU13的数据带宽223的和可以适配到第一主存储装置控制器16的数据带宽226内。因此,当多个图像处理IP同时运行时,可以确保必要的带宽,并且防止丢帧。在图14中,省略H/W IP 15的数据带宽。
将参考图22来描述用于分配存储器的方法。图22是图示用于分配存储器的方法的流程图。以下,仅描述图像处理IP 11的处理,然而,图像处理IP 12的处理类似于图像处理IP 11的处理。
开始以帧为单位的处理,并且然后,向图像处理IP 11发送对于开始关于安全区域的处理的请求(步骤101)。即,图像处理IP 11开始关于已经被分配的区域的处理。因此,图像处理IP 11向存储器写入或从存储器读取图像处理数据。然后,图像处理IP 11开始计数处理时间(步骤102)。即,计数开始时间被设置为当请求处理开始时的时间。
向图像处理IP 11发送对于停止关于安全区域的处理的请求(步骤103)。即,图像处理IP 11停止关于已经被分配的区域的处理。因此,图像处理IP 11停止向存储器写入或从存储器读取数据。图像处理IP 11停止计数处理时间(步骤104)。即,计数停止时间被设置为当请求处理停止时的时间。在计数开始时间和计数停止时间之间的差是处理时间。图像处理IP 11计算比率“(处理时间801)/(帧间隔800)”(步骤105)。
CPU 13将图像处理IP 11的比率“(处理时间801)/(帧间隔800)”与另一个图像处理IP的比率“(处理时间801)/(帧间隔800)”作比较。以与图像处理IP 11类似的方式来计算图像处理IP 12的比率“(处理时间801)/(帧间隔800)”。CPU 13将图像处理IP 11的比率“(处理时间801)/(帧间隔800)”与图像处理IP 12的比率“(处理时间801)/(帧间隔800)”作比较。
然后,当图像处理IP 11的比率“(处理时间801)/(帧间隔800)”最大时,处理移动到步骤108。当图像处理IP 11的比率“(处理时间801)/(帧间隔800)”不是最大时,即,当图像处理IP 12的比率“(处理时间801)/(帧间隔800)”最大时,处理移动到步骤112。
当步骤107为是时,执行处理使得图像处理IP 11占用第二主存储装置控制器17。然后确定向图像处理IP 11分配的物理地址是否是从通用OS 33确保的地址(步骤108)。即,确定通用OS 33是否向图像处理IP 11分配存储器。
当向图像处理IP 11分配的物理地址是从通用OS 33确保的地址时(在步骤108中的是),管理单元32解放从通用OS 33确保的物理地址。在此时,虚拟地址不改变。从管理单元32确保要向图像处理IP 11分配的物理地址(步骤110)。即,管理单元43确保与第二主存储装置70对应的地址,并且然后向图像处理IP 11分配该确保的地址。然后,CPU 13更新在虚拟地址和物理地址之间的对应性(步骤111)。即,CPU 13更新页表。如上所述,以帧为单位的处理然后结束。
当向图像处理IP 11分配的物理地址不是从通用OS 33确保的地址时(在步骤108中的否),图像处理IP 12已经占用了第二主存储装置控制器17。即,管理单元32确保在前一个帧中在图像处理IP 12中的地址。因此,不改变存储器的分配,并且图像处理IP 11连续地占用第二主存储装置控制器17。然后,以帧为单位的处理结束。
当步骤107为否时,确定向图像处理IP 11分配的物理地址是从管理单元32确保的地址。即,确定管理单元32是否向图像处理IP 11分配存储器。
当向图像处理IP 11分配的物理地址是从管理单元32确保的地址时(在步骤112中的是),通用OS 33解放从管理单元32确保的物理地址。此时,虚拟地址不改变。然后,要从管理单元32向图像处理IP分配的物理地址被确保(步骤114)。即,通用OS 33确保与第一主存储装置60对应的地址,并且向图像处理IP 11分配被确保的地址。然后,CPU 13更新在虚拟地址和物理地址之间的对应性(步骤115)。即,CPU 13更新页表(步骤115)。然后,以帧为单位的处理结束。
当向图像处理IP 11分配的物理地址不是从管理单元32确保的地址时(在步骤112中的否),已经向图像处理IP 11分配了与第一主存储装置控制器16对应的地址。即,管理单元32确保在前一个帧中在图像处理IP 11中的地址。因此,不改变存储器的分配,并且,与第一主存储装置控制器16对应的地址继续被分配到图像处理IP 11。然后,以帧为单位的处理结束。
如上所述,基于比率“(处理时间801)/(帧间隔800)”的比较的结果来改变分配。通过如此进行,需要最宽带宽的图像处理IP可以占用第二主存储装置控制器17。即,当多个图像处理IP同时运行时,可以向第二主存储装置控制器17分配最需要处理时间的减少的图像处理IP。因此,可以高速执行处理,并且因此防止在视频的播放期间的丢帧。而且,在每一个帧中重复在图22中图示的流程,并且由此,可以根据图像处理IP的处理状态来动态地改变存储器的分配。因此,可以有效地使用存储器。
通过将虚拟地址设置到图像处理IP,可以执行重新分配。当在每一个帧中出现重新分配时,仅需要改变IP的MMU的物理地址。不需要图像处理驱动器的修改。即,可以改变分配,而不改变要向图像处理IP设置的地址。
如上所述,当在帧中图像处理IP 11的处理时间比图像处理IP 12的处理时间长时,从图像处理IP 11解除分配与第二主存储装置70对应的地址范围,并且然后,向图像处理IP 12分配被解除分配的地址。因此,可以有效地使用存储器。
当从图像处理IP 11解除分配与第二主存储装置70对应的地址范围时,基于用于指示第一主存储装置60和第二主存储装置70的分配状态的管理信息,将在第二主存储装置70中存储的数据复制到第一主存储装置60。因此,图像处理IP 11可以在改变分配的情况下使用在第二主存储装置70中存储的图像处理数据。
MMUS 35参考在第一主存储装置60和第二主存储装置70中的使虚拟地址与物理地址相关的表。CPU 13指定虚拟地址,并且因此,MMU35参考该表,并且执行向第一主存储装置60和第二主存储装置70的存储器写入数据/从第一主存储器60和第二主存储器70的存储器读取数据。当从图像处理IP 11解除分配与第二主存储装置70对应的地址范围时,CPU 13更新该表。在该表中,仅需要改变在虚拟地址和物理地址之间的对应性。因此,可以通过简单的处理来改变分配。
在第四实施例中,处理器系统10包括两个图像处理IP 11和12。然而,处理器系统10可以包括三个或更多的图像处理IP。在该情况下,分别对于三个或更多的图像处理IP计算比率“(处理时间801)/(帧间隔800)”。然后,具有最大的比率“(处理时间801)/(帧间隔800)”的图像处理IP可以占用第二主存储装置控制器17。当然,当存在三个或更多的主存储装置和主存储装置控制器时,可以占用两个或更多的主存储装置和主存储装置控制器。在该情况下,管理单元32可以基于比率“(处理时间801)/(帧间隔800)”确定占用主存储装置控制器的两个或更多图像处理IP。
如果H/W IP 15需要比图像处理IP更宽的带宽,则H/W IP 15取代图像处理IP可以占用第二主存储装置控制器17。在所有处理器中具有最紧时间约束的IP可以占用第二主存储装置控制器17。因此,可以有效地使用存储器。
例如,当H/W IP 15是用于控制USB等的IP核心时,管理单元32请求H/W IP 15的实际数据传送率与最大数据传送率的比率。该最大数据传送率是基于标准值的值。然后,将比率“(实际数据传送率)/(最大数据传送率)”与比率“(处理时间801)/(帧间隔800)”作比较。
管理单元32基于比较结果来确定哪个IP占用第二主存储装置控制器17。根据在图像处理IP 11、图像处理IP 12和H/W IP 15之间的处理状态将与第二主存储装置70对应的地址范围分配到H/W IP 15。即,在所有处理器中的具有最紧时间约束的IP根据带的状态而获得相对于其他IP的优先权,并且向这个IP分配第二主装置存储器70。因此,向在所有处理器中的具有最紧时间约束的IP分配第二主存储装置控制器17。因此,可以有效地使用存储器。
如上所述,处理器系统10可以包括控制与处理器系统10连接的硬件的H/W IP 15。根据在图像处理IP 11、图像处理IP 12和H/W IP 15之间的处理状态而专门地向H/W IP 15分配与第二主存储装置70对应的地址范围。通过如此进行,可以有效地使用存储器。
在根据本实施例的处理器系统10中包括的处理器不限于诸如图像处理IP 11的图像处理器。即,在包括除了图像处理器之外的多个处理器的处理器系统中,上述过程可以改变向处理器的存储器分配。在包括除了图像处理器之外的处理器的处理器系统中,可以如在第四实施例中所述那样动态地改变存储器分配。在该情况下,可以将处理器处理预定数据单元的时间与其他处理器的作比较。即,在包括第一至第三处理器的处理器系统中,当用于处理第三处理器的预定数据单元的时间比第二处理器的长时,从第二处理器向第三处理器分配与第二存储器对应的地址范围。
在第一至第四实施例中的至少两个实施例可以如本领域内的普通技术人员所期望的那样被组合。例如,可以组合第三实施例和第四实施例。通过如此进行,可以有效地使用存储器。
也可以将包括处理器系统10的半导体芯片和包括第一主存储装置60和第二主存储装置70的半导体芯片封装为一个系统包。
可以通过但是不限于下面的附记来描述如上所述的示例性实施例的全部或一些。
(附记1)
一种处理器系统,包括:
第一存储器控制器,所述第一存储器控制器控制向第一存储器写入数据/从所述第一存储器读取数据;
第二存储器控制器,所述第二存储器控制器控制向第二存储器写入数据/从所述第二存储器读取数据;
第一处理器,所述第一处理器通过总线从所述第一存储器输入数据和向所述第一存储器输出数据;
第二处理器,所述第二处理器通过所述总线从所述第二存储器输入被处理的数据和向所述第二存储器输出被处理的数据;以及,
管理单元,所述管理单元从所述第一处理器解除分配与所述第二存储器对应的地址范围,并且向所述第二处理器分配该地址范围。
(附记2)
根据附记1所述的处理器系统,其中,
通用OS向所述第一处理器分配与所述第一存储器对应的地址范围的至少一部分,并且
所述管理单元独立于所述通用OS地向所述第二处理器分配与所述第二存储器对应的所述地址范围。
(附记3)
根据附记1所述的处理器系统,其中,
所述管理单元专门地向所述第二处理器分配所述第二存储器的所述地址范围。
(附记4)
根据附记2所述的处理器系统,其中,
当所述第二处理器运行时,所述管理单元将所述第二存储器的所述地址范围从所述通用OS的控制下解除分配,并且将所述第二存储器的所述地址范围分配到所述第二处理器,并且
当所述第二处理器不运行时,所述管理单元将所述第二存储器的所述地址范围分配到所述通用OS的控制下。
(附记5)
根据附记2所述的处理器系统,其中,
当将所述第二处理器从非运行状态切换到运行状态时,所述管理单元基于用于指示所述第一和第二存储器的分配状态的管理信息来将在所述第二存储器中存储的数据复制到所述第一存储器。
(附记6)
根据附记5所述的处理器系统,进一步包括:存储器管理单元,所述存储器管理单元参考与所述第一和所述第二存储器的虚拟地址和物理地址对应的表,
其中,所述第一处理器指定所述虚拟地址,并且然后向所述第一和第二存储器写入/从所述第一和第二存储器读取所述数据,并且
当所述第二处理器被从非运行状态切换到运行状态时,所述第一处理器更新所述表。
(附记7)
根据附记2所述的处理器系统,进一步包括:第三处理器,所述第三处理器与所述第二处理器并行地运行,
其中,当所述第三处理器处理预定数据单元的时间比所述第二处理器的时间长时,与所述第二存储器对应的所述地址范围被从所述第二处理器解除分配,并且被分配到所述第三处理器。
(附记8)
根据附记7所述的处理器系统,
其中,当将与所述第二存储器对应的所述地址范围从所述第二处理器解除分配时,所述管理单元基于用于指示所述第一和所述第二存储器的分配状态的管理信息将在所述第二存储器中存储的所述数据复制到所述第一存储器。
(附记9)
根据附记8所述的处理器系统,进一步包括:存储器管理单元,所述存储器管理单元参考与所述第一和所述第二存储器的虚拟地址和物理地址对应的表,
其中,所述第一处理器指定所述虚拟地址,并且然后向所述第一和第二存储器写入/从所述第一和第二存储器读取所述数据,并且
所述第一处理器在当将与所述第二存储器对应的所述地址范围从所述第二处理器解除分配时的时刻,更新所述表。
(附记10)
根据附记7所述的处理器系统,进一步包括:硬件IP,所述硬件IP控制连接到所述处理器系统的硬件,
其中,基于所述第二处理器、所述第三处理器和所述硬件IP的每一个的处理状态来分配与所述第二存储器对应的所述地址范围。
(附记11)
一种半导体设备,包括:
根据附记1所述的处理器系统;
第一存储器,所述第一存储器存储有数据,所述第一存储器控制器控制向所述第一存储器的数据写入/从所述第一存储器的数据读取;以及
第二存储器,所述第二存储器存储有数据,所述第二存储器控制器控制向所述第二存储器的数据写入/从所述第二存储器的数据读取。
(附记12)
一种处理器系统的控制方法;
所述处理器系统包括:
第一存储器控制器,所述第一存储器控制器控制向第一存储器写入数据/从第一存储器读取数据;
第二存储器控制器,所述第二存储器控制器控制向第二存储器写入数据/从第二存储器读取数据;
第一处理器,所述第一处理器通过总线从所述第一存储器输入数据和向所述第一存储器输出数据;以及,
第二处理器,所述第二处理器通过所述总线从所述第二存储器输入被处理的数据和向所述第二存储器输出被处理的数据;
所述方法包括:
从所述第一处理器解除分配与所述第二存储器对应的地址范围,并且
向所述第二处理器分配与所述第二存储器对应的所述地址范围。
(附记13)
根据附记12所述的方法,
其中,通用OS向所述第一处理器分配与所述第一存储器对应的地址范围的至少一部分,并且
独立于所述通用OS地,向所述第二处理器分配与所述第二存储器对应的所述地址范围。
(附记14)
根据附记12所述的方法,
其中,所述第二存储器的所述地址范围专门地向所述第二处理器分配。
(附记15)
根据附记12所述的方法,
其中,当所述第二处理器运行时,将所述第二存储器的所述地址范围从所述通用OS的控制下解除分配,并且分配到所述第二处理器,并且
当所述第二处理器不运行时,将所述第二存储器的所述地址范围分配到所述通用OS的控制下。
(附记16)
根据附记15所述的方法,其中,
当将所述第二处理器从非运行状态切换到运行状态时,所述管理单元基于用于指示所述第一和第二存储器的分配状态的管理信息来将在所述第二存储器中存储的数据复制到所述第一存储器。
(附记17)
根据附记16所述的方法,
所述处理器系统进一步包括:存储器管理单元,所述存储器管理单元参考与所述第一和所述第二存储器的虚拟地址和物理地址对应的表,
其中,所述第一处理器指定所述虚拟地址,并且然后向所述第一和第二存储器写入/从所述第一和第二存储器读取所述数据,并且
所述第一处理器在当所述第二处理器被从非运行状态切换到运行状态时的时刻,更新所述表。
(附记18)
根据附记16所述的方法,
所述处理器系统进一步包括:第三处理器,所述第三处理器与所述第二处理器并行地运行,
其中,当所述第三处理器处理预定数据单元的时间比所述第二处理器的时间长时,与所述第二存储器对应的所述地址范围被从所述第二处理器解除分配,并且被分配到所述第三处理器。
(附记19)
根据附记18所述的方法,
其中,将与所述第二存储器对应的所述地址范围从所述第二处理器解除分配时,基于用于指示所述第一和所述第二存储器的分配状态的管理信息将在所述第二存储器中存储的所述数据复制到所述第一存储器。
(附记20)
根据附记19所述的方法,
所述处理器系统进一步包括:存储器管理单元,所述存储器管理单元参考与所述第一和所述第二存储器的虚拟地址和物理地址对应的表,
其中,所述第一处理器指定所述虚拟地址,并且然后向所述第一和第二存储器写入/从所述第一和第二存储器读取所述数据,并且
当将与所述第二存储器对应的所述地址范围从所述第二处理器解除分配时,所述第一处理器更新所述表。
(附记21)
根据附记18所述的方法,进一步包括:硬件IP,所述硬件IP控制连接到所述处理器系统的硬件,
其中,基于所述第二处理器、所述第三处理器和所述硬件IP的处理状态,来将与所述第二存储器对应的所述地址范围专门地分配到所述硬件IP。
虽然已经以几个实施例描述了本发明,但是本领域内的技术人员可以认识到,可以在所附的权利要求的精神和范围内以各种修改来实施本发明,并且本发明不限于如上所述的示例。
而且,权利要求的范围不被如上所述的实施例限制。
而且,可以注意到,申请人的意图是涵盖所有权利要求要素的等同内容,即使以后在审查期间被修改。

Claims (18)

1.一种处理器系统,包括:
第一存储器控制器,所述第一存储器控制器控制向第一存储器写入数据或从所述第一存储器读取数据;
第二存储器控制器,所述第二存储器控制器控制向第二存储器写入数据或从所述第二存储器读取数据;
第一处理器,所述第一处理器通过总线从所述第一存储器输入数据并且向所述第一存储器输出数据;
第二处理器,所述第二处理器通过所述总线从所述第二存储器输入被处理的数据并且向所述第二存储器输出被处理的数据;以及
管理单元,所述管理单元从所述第一处理器解除分配与所述第二存储器相对应的地址范围,并且向所述第二处理器分配所述地址范围,
其中,
通用OS向所述第一处理器分配与所述第一存储器相对应的地址范围的至少一部分,并且
所述管理单元独立于所述通用OS,向所述第二处理器分配与所述第二存储器相对应的所述地址范围。
2.根据权利要求1所述的处理器系统,其中,所述管理单元专门地向所述第二处理器分配所述第二存储器的所述地址范围。
3.根据权利要求1所述的处理器系统,其中,当所述第二处理器运行时,所述管理单元将所述第二存储器的所述地址范围从所述通用OS的控制下解除分配,并且将所述第二存储器的所述地址范围分配到所述第二处理器,并且
当所述第二处理器不运行时,所述管理单元将所述第二存储器的所述地址范围分配到所述通用OS的控制下。
4.根据权利要求1所述的处理器系统,其中,
当将所述第二处理器从非运行状态切换到运行状态时,所述管理单元基于指示所述第一存储器和所述第二存储器的分配的状态的管理信息,来将存储在所述第二存储器中的数据复制到所述第一存储器。
5.根据权利要求4所述的处理器系统,进一步包括:存储器管理单元,所述存储器管理单元参考与所述第一存储器和所述第二存储器的虚拟地址和物理地址相对应的表,
其中,所述第一处理器指定所述虚拟地址,并且然后向所述第一存储器和所述第二存储器写入或从所述第一存储器和所述第二存储器读取所述数据,并且
当将所述第二处理器从非运行状态切换到运行状态时,所述第一处理器更新所述表。
6.根据权利要求1所述的处理器系统,进一步包括:第三处理器,所述第三处理器与所述第二处理器并行地运行,
其中,当所述第三处理器处理预定数据单元的时间比所述第二处理器的时间长时,将与所述第二存储器相对应的所述地址范围从所述第二处理器解除分配,并且被分配到所述第三处理器。
7.根据权利要求6所述的处理器系统,
其中,当将与所述第二存储器相对应的所述地址范围从所述第二处理器解除分配时,所述管理单元基于指示所述第一存储器和所述第二存储器的分配状态的管理信息,来将存储在所述第二存储器中的所述数据复制到所述第一存储器。
8.根据权利要求7所述的处理器系统,进一步包括:存储器管理单元,所述存储器管理单元参考与所述第一存储器和所述第二存储器的虚拟地址和物理地址相对应的表,
其中,所述第一处理器指定所述虚拟地址,并且然后向所述第一存储器和所述第二存储器写入或从所述第一存储器和所述第二存储器读取所述数据,并且
在当将与所述第二存储器对应的所述地址范围从所述第二处理器解除分配时的时刻,所述第一处理器更新所述表。
9.根据权利要求6所述的处理器系统,进一步包括:硬件IP,所述硬件IP控制连接到所述处理器系统的硬件,
其中,基于所述第二处理器、所述第三处理器和所述硬件IP中的每一个的处理状态,来分配与所述第二存储器相对应的所述地址范围。
10.一种半导体设备,包括:
根据权利要求1所述的处理器系统;
第一存储器,所述第一存储器存储有数据,所述第一存储器控制器控制向所述第一存储器的数据写入或从所述第一存储器的数据读取;以及
第二存储器,所述第二存储器存储有数据,所述第二存储器控制器控制向所述第二存储器的数据写入或从所述第二存储器的数据读取。
11.一种处理器系统的控制方法;
所述处理器系统包括:
第一存储器控制器,所述第一存储器控制器控制向第一存储器写入数据或从第一存储器读取数据;
第二存储器控制器,所述第二存储器控制器控制向第二存储器写入数据或从第二存储器读取数据;
第一处理器,所述第一处理器通过总线从所述第一存储器输入数据并且向所述第一存储器输出数据;以及
第二处理器,所述第二处理器通过所述总线从所述第二存储器输入被处理的数据并且向所述第二存储器输出被处理的数据;
所述方法包括:
从所述第一存储器解除分配与所述第二存储器相对应的地址范围;以及
向所述第二处理器分配与所述第二存储器相对应的所述地址范围,
其中,
通用OS向所述第一处理器分配与所述第一存储器相对应的地址范围的至少一部分,并且
独立于所述通用OS,向所述第二处理器分配与所述第二存储器相对应的所述地址范围。
12.根据权利要求11所述的方法,
其中,专门地向所述第二处理器分配所述第二存储器的所述地址范围。
13.根据权利要求11所述的方法,
其中,当所述第二处理器运行时,将所述第二存储器的所述地址范围从所述通用OS的控制下解除分配,并且分配到所述第二处理器,并且
当所述第二处理器不运行时,将所述第二存储器的所述地址范围分配到所述通用OS的控制下。
14.根据权利要求13所述的方法,其中,当将所述第二处理器从非运行状态切换到运行状态时,基于指示所述第一存储器和所述第二存储器的分配的状态的管理信息,来将存储在所述第二存储器中的数据复制到所述第一存储器。
15.根据权利要求14所述的方法,
所述处理器系统进一步包括:存储器管理单元,所述存储器管理单元参考与所述第一存储器和所述第二存储器的虚拟地址和物理地址相对应的表,
其中,所述第一处理器指定所述虚拟地址,并且然后向所述第一存储器和所述第二存储器写入数据或从所述第一存储器和所述第二存储器读取所述数据,并且
在将所述第二处理器从非运行状态切换到运行状态时的时刻,所述第一处理器更新所述表。
16.根据权利要求14所述的方法,
所述处理器系统进一步包括:第三处理器,所述第三处理器与所述第二处理器并行地运行,
其中,当所述第三处理器处理预定数据单元的时间比所述第二处理器的时间长时,将与所述第二存储器相对应的所述地址范围从所述第二处理器解除分配,并且分配到所述第三处理器。
17.根据权利要求16所述的方法,
其中,当将与所述第二存储器相对应的所述地址范围从所述第二处理器解除分配时,基于指示所述第一存储器和所述第二存储器的分配状态的管理信息,来将存储在所述第二存储器中的所述数据复制到所述第一存储器。
18.根据权利要求17所述的方法,
所述处理器系统进一步包括:存储器管理单元,所述存储器管理单元参考与所述第一存储器和所述第二存储器的虚拟地址和物理地址相对应的表,
其中,所述第一处理器指定所述虚拟地址,并且然后向所述第一存储器和所述第二存储器写入或从所述第一存储器和所述第二存储器读取所述数据,并且
当将与所述第二存储器相对应的所述地址范围从所述第二处理器解除分配时,所述第一处理器更新所述表。
CN201510062130.2A 2014-02-06 2015-02-05 半导体设备、处理器系统及其控制方法 Active CN104834627B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014021127A JP6231899B2 (ja) 2014-02-06 2014-02-06 半導体装置、プロセッサシステム、及びその制御方法
JP2014-021127 2014-02-06

Publications (2)

Publication Number Publication Date
CN104834627A CN104834627A (zh) 2015-08-12
CN104834627B true CN104834627B (zh) 2019-11-08

Family

ID=53754858

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510062130.2A Active CN104834627B (zh) 2014-02-06 2015-02-05 半导体设备、处理器系统及其控制方法

Country Status (3)

Country Link
US (3) US9619407B2 (zh)
JP (1) JP6231899B2 (zh)
CN (1) CN104834627B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6231899B2 (ja) * 2014-02-06 2017-11-15 ルネサスエレクトロニクス株式会社 半導体装置、プロセッサシステム、及びその制御方法
US9880743B1 (en) * 2016-03-31 2018-01-30 EMC IP Holding Company LLC Tracking compressed fragments for efficient free space management
JP6662735B2 (ja) * 2016-08-03 2020-03-11 ルネサスエレクトロニクス株式会社 半導体装置、割り当て方法及び表示システム
WO2019105029A1 (zh) * 2017-11-29 2019-06-06 北京忆恒创源科技有限公司 去分配命令处理方法及其存储设备
US11044466B2 (en) * 2018-01-26 2021-06-22 Samsung Electronics Co., Ltd. Image processing device
KR20210046348A (ko) * 2019-10-18 2021-04-28 삼성전자주식회사 복수의 프로세서들에 유연하게 메모리를 할당하기 위한 메모리 시스템 및 그것의 동작 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002088970A1 (en) * 2001-05-02 2002-11-07 Portalplayer, Inc. Crossbar multipath resource controller system and method
CN101526844A (zh) * 2008-03-03 2009-09-09 佳能株式会社 信息处理装置及其控制方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06324999A (ja) 1993-05-14 1994-11-25 Hitachi Ltd マルチプロセッサシステム
JP4062441B2 (ja) * 2003-07-18 2008-03-19 日本電気株式会社 並列処理システム及び並列処理プログラム
US7081897B2 (en) * 2003-12-24 2006-07-25 Intel Corporation Unified memory organization for power savings
US20070156947A1 (en) * 2005-12-29 2007-07-05 Intel Corporation Address translation scheme based on bank address bits for a multi-processor, single channel memory system
KR100855701B1 (ko) * 2007-01-26 2008-09-04 엠텍비젼 주식회사 복수의 프로세서 코어가 통합된 칩 및 데이터 처리 방법
JP2010097311A (ja) * 2008-10-15 2010-04-30 Panasonic Corp 半導体装置及び半導体集積回路
US8407444B2 (en) * 2009-12-23 2013-03-26 International Business Machines Corporation Hardware off-load garbage collection acceleration for languages with finalizers
JP5703854B2 (ja) * 2011-03-04 2015-04-22 日本電気株式会社 コンピュータシステム及びコンピュータシステム起動方法
JP2013197731A (ja) * 2012-03-16 2013-09-30 Ricoh Co Ltd 遠隔管理システム用管理装置及び管理対象機器並びに機器設置処理方法
JP6231899B2 (ja) * 2014-02-06 2017-11-15 ルネサスエレクトロニクス株式会社 半導体装置、プロセッサシステム、及びその制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002088970A1 (en) * 2001-05-02 2002-11-07 Portalplayer, Inc. Crossbar multipath resource controller system and method
CN101526844A (zh) * 2008-03-03 2009-09-09 佳能株式会社 信息处理装置及其控制方法

Also Published As

Publication number Publication date
JP6231899B2 (ja) 2017-11-15
CN104834627A (zh) 2015-08-12
US10152259B2 (en) 2018-12-11
US20180067675A1 (en) 2018-03-08
US20150220282A1 (en) 2015-08-06
JP2015148921A (ja) 2015-08-20
US20170147252A1 (en) 2017-05-25
US9846551B2 (en) 2017-12-19
US9619407B2 (en) 2017-04-11

Similar Documents

Publication Publication Date Title
CN104834627B (zh) 半导体设备、处理器系统及其控制方法
CN107077377B (zh) 一种设备虚拟化方法、装置、系统及电子设备、计算机程序产品
CN107003892B (zh) Gpu虚拟化方法、装置、系统及电子设备、计算机程序产品
US8151275B2 (en) Accessing copy information of MMIO register by guest OS in both active and inactive state of a designated logical processor corresponding to the guest OS
KR20200017363A (ko) 호스트 스토리지 서비스들을 제공하기 위한 NVMe 프로토콜에 근거하는 하나 이상의 호스트들과 솔리드 스테이트 드라이브(SSD)들 간의 관리되는 스위칭
US20150135173A1 (en) Virtual machine migration with swap pages
US11720993B2 (en) Dynamic kernel memory space allocation
US20140032854A1 (en) Coherence Management Using a Coherent Domain Table
CN103049328A (zh) 计算机系统中内存资源分配方法
CN107077375B (zh) 用于多操作系统的显示方法、装置和电子设备
US10860352B2 (en) Host system and method for managing data consumption rate in a virtual data processing environment
CN107077376B (zh) 帧缓存实现方法、装置、电子设备和计算机程序产品
CN115629882A (zh) 多进程中的内存的管理方法
CN107533475B (zh) 用于在共享存储设备中协调读取和写入过程的方法和系统
CN109408226A (zh) 数据处理方法、装置及终端设备
CN113032088B (zh) 脏页记录方法、装置、电子设备及计算机可读介质
TW201351276A (zh) 計算工作的排程和執行
US11144207B2 (en) Accelerating memory compression of a physically scattered buffer
US9569373B2 (en) Sharing message-signaled interrupts between peripheral component interconnect (PCI) I/O devices
CN107818014B (zh) 一种内存分配方法以及多核并发的内存分配方法
CN110928575B (zh) 一种多设备同步控制系统和控制方法
WO2010119932A1 (ja) マルチプロセッサシステム、マルチプロセッサシステムにおけるメモリ管理方法及び通信プログラム
CN109725981B (zh) 一种虚拟机升级方法及相关设备
CN110096355B (zh) 一种共享资源分配方法、装置和设备
CN108228496B (zh) 一种直接内存访问内存管理方法、装置和主控设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
CB02 Change of applicant information

Address after: Tokyo, Japan

Applicant after: Renesas Electronics Corporation

Address before: Kanagawa

Applicant before: Renesas Electronics Corporation

COR Change of bibliographic data
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant