CN108958797A - 应用处理器和集成电路 - Google Patents

应用处理器和集成电路 Download PDF

Info

Publication number
CN108958797A
CN108958797A CN201810343336.6A CN201810343336A CN108958797A CN 108958797 A CN108958797 A CN 108958797A CN 201810343336 A CN201810343336 A CN 201810343336A CN 108958797 A CN108958797 A CN 108958797A
Authority
CN
China
Prior art keywords
order
control unit
instruction control
data
block
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.)
Withdrawn
Application number
CN201810343336.6A
Other languages
English (en)
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN108958797A publication Critical patent/CN108958797A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • 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
    • G06F13/1673Details of memory controller using buffers
    • 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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • 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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1615Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using a concurrent pipeline structrure
    • 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
    • G06F13/1694Configuration of memory controller to different memory types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7817Specially adapted for signal processing, e.g. Harvard architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/065Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2205/00Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F2205/06Indexing scheme relating to groups G06F5/06 - G06F5/16
    • G06F2205/067Bidirectional FIFO, i.e. system allowing data transfer in two directions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Microcomputers (AREA)

Abstract

公开应用处理器和集成电路。一种应用处理器(AP)包括知识产权(IP)块和具有第一命令控制器和第二命令控制器的系统总线。第一命令控制器和第二命令控制器中的每一个包括:命令分配器、命令缓冲器和命令仲裁器。每一个命令分配器从中央处理单元(CPU)接收第一命令至第三命令。每一个命令缓冲器从命令分配器顺序地接收第一命令和第二命令,并且在不同的时隙输出第一命令和第二命令。每一个命令仲裁器从命令缓冲器接收第一命令和第二命令并从命令分配器接收第三命令,并且选择性地输出第一命令、第二命令和第三命令。对应于第一命令的第一数据、对应于第二命令的第二数据以及运行标记被存储在命令缓冲器中。

Description

应用处理器和集成电路
本申请要求于2017年5月18日提交到韩国知识产权局的第10-2017-0061642号韩国专利申请的权益,所述韩国专利申请的公开通过引用全部包含于此。
技术领域
本公开涉及一种应用处理器(AP)和集成电路(IC),更具体地讲,涉及一种能够减少用于控制多个知识产权(IP)块的操作的时间段的AP和IC。
背景技术
随着集成电路(IC)的发展,计算机和各种电子装置的小型化、高可靠性、高速度和低功耗正变得更重要。数字集成电路(诸如片上系统(SoC))是用于将具有多个功能的复杂系统集成到单个半导体芯片中的技术。
根据融合计算机、通信和广播的趋势,针对专用集成电路(ASIC)和专用标准产品(ASSP)的需求已经转移到片上系统。此外,由于信息技术(IT)装置的小型化和减重,片上系统和与此相关的业务已经被提升。
片上系统可包括用于知识产权(IP)块之间的通信的系统总线。因此,由于IP块的提高的性能,包括在集成电路中的总线的结构已经成为重要参数。
发明内容
本公开提供一种能够减少用于中央处理单元(CPU)控制知识产权(IP)块的多个操作的时间段的应用处理器(AP)和集成电路(IC)。
根据本公开的一方面,提供一种应用处理器(AP),包括:知识产权(IP)块和具有第一命令控制器和第二命令控制器的系统总线。第一命令控制器和第二命令控制器中的每一个包括:命令分配器、命令缓冲器和命令仲裁器。每一个命令分配器从中央处理单元(CPU)接收第一命令至第三命令。每一个命令缓冲器从命令分配器顺序地接收第一命令和第二命令,并且在不同的时隙输出第一命令和第二命令。每一个命令仲裁器从命令缓冲器接收第一命令和第二命令并从命令分配器接收第三命令,并且选择性地输出第一命令、第二命令和第三命令。对应于第一命令的第一数据、对应于第二命令的第二数据以及运行标记被存储在命令缓冲器中。
根据本公开的另一方面,提供一种应用处理器(AP),包括:多个知识产权(IP)块以及包括多个命令控制器的系统总线,其中,每一个命令控制器包括先进先出(FIFO)电路。所述多个命令控制器中的每一个被配置为从中央处理单元(CPU)顺序地接收第一命令和第二命令,并且顺序地输出第一命令和第二命令。对应于第一命令的第一数据、对应于第二命令的第二数据以及运行标记被存储在FIFO电路中。
根据本公开的另一方面,提供一种集成电路(IC),包括:多个知识产权(IP)块以及被配置为将命令输出到所述多个IP块的系统总线。系统总线包括命令控制器。命令控制器包括:(1)命令分配器,被配置为从中央处理单元(CPU)接收多个命令;(2)先进先出(FIFO)电路,被配置为从命令分配器顺序地接收所述多个命令中的一些命令,存储对应于所述多个命令中的所述一些命令的数据,并且顺序地输出所述多个命令中的所述一些命令;(3)命令仲裁器,被配置为接收并且选择性地输出从FIFO电路接收的所述多个命令中的所述一些命令,以及从命令分配器直接接收的所述多个命令中的另外的命令。
附图说明
通过下面结合附图进行的详细描述,本公开的实施例将被更清楚地理解,其中:
图1是示出根据本公开的示例实施例的集成电路的框图;
图2是示出根据本公开的示例实施例的集成电路的第一命令控制器的框图;
图3至图5是根据本公开的示例实施例的集成电路的操作的流程图;
图6是示出根据本公开的示例实施例的包括在集成电路中的命令缓冲器的框图;
图7是示出包括在图6的命令缓冲器中的先进先出(FIFO)电路的框图并且是用于描述FIFO电路的操作的示图;
图8是用于描述包括在图6的命令缓冲器中的控制器寄存器的示图;
图9是示出根据本公开的示例实施例的集成电路的框图;
图10是示出根据本公开的示例实施例的集成电路的框图;
图11是示出根据本公开的示例实施例的集成电路的框图;
图12是示出根据本公开的示例实施例的包括集成电路的电子系统的示例的示图。
具体实施方式
图1是示出根据本公开的示例实施例的集成电路的框图。
集成电路1可以是控制电子系统的操作的控制器或处理器。根据实施例,集成电路1可以是片上系统(SoC)、应用处理器(AP)、移动AP或者控制芯片。
集成电路1可安装在以下电子装置中:诸如膝上型计算机、智能电话、平板PC、个人数字助理(PDA)、企业数字助理(EDA)、数码相机、便携式多媒体播放器(PMP)、便携式导航装置(PND)、手持游戏机、移动互联网装置(MID)、多媒体装置、可穿戴式计算机、物联网(IoT)装置、万联网(IoE)装置或电子书。
参考图1,集成电路1可包括系统总线10、中央处理单元(CPU)20、多个知识产权(IP)块30_1、30_2和30_n以及ROM和/或RAM 40。
系统总线10可将CPU 20与多个IP块30_1、30_2和30_n互连。CPU 20和多个IP块30_1、30_2和30_n中的每一个可以是主块或者从块。主块和从块中的每一个可执行集成电路1中的特定功能。主块和从块可基于对应的块是否具有使用系统总线10的权限来彼此区分。主块可经由系统总线10访问从块。另一方面,从块可经由系统总线10被主块控制。例如,CPU20可以是主块,而多个IP块30_1、30_2和30_n中的所有IP块可以是从块。然而,本公开不限于此。
系统总线10可被实现为被配置为根据特定标准总线规范的协议进行操作的总线。例如,协议可以是高级精简指令集机器(ARM)的高级微控制器总线架构(AMBA)协议。AMBA协议的总线类型可包括高级高性能总线(AHB)、高级外设总线(APB)、高级可扩展接口(AXI)、AXI4、AXI一致性扩展(ACE)等。在上述总线类型中,AXI是提供多个出色的寻址功能和数据交织功能的IP块之间的接口协议。此外,其他类型的协议可应用于系统总线10,诸如SONICs公司的uNetwork、IBM的CoreConnect和OCP-IP的开放核心协议(Open Core Protocol)。
系统总线10可包括多个命令控制器100,其中,命令控制器100包括第一命令控制器100_1至第m命令控制器100_m。这里,m可以是等于或大于3的自然数。多个命令控制器100可分别从CPU 20接收多个命令,并且可存储对应于多个命令的各个数据。此时,多个命令可包括用于设置包括在多个IP块中的特定IP寄存器(SFR)的值的信息。
多个命令控制器100可基于存储的数据将从CPU 20接收的多个命令顺序地输出到多个IP块30_1、30_2和30_n中的至少一个。多个命令控制器100可暂时存储从CPU 20接收的多个命令中的一些并且执行用于将存储的命令以接收的顺序输出到多个IP块30_1、30_2和30_n中的至少一个的操作。换句话说,可执行类似于命令队列的操作。因此,由于根据本公开的集成电路1包括多个命令控制器100,所以CPU 20可在不受时间影响的情况下,预先输出用于操作多个IP块30_1、30_2和30_n的多个命令。
尽管图1示出系统总线10包括多个命令控制器100,但是本公开不限于此,并且多个命令控制器100可用作连接到系统总线10的单个IP块。下面参考图2详细描述包括第一命令控制器100_1的多个命令控制器100的配置。
CPU 20可处理或执行存储在ROM和/或RAM 40中的程序和/或数据。根据示例实施例,CPU 20可执行存储在ROM和/或RAM 40中的程序。ROM可存储程序和/或数据并且可被实现为可擦可编程只读存储器(EPROM)或者电可擦可编程只读存储器(EEPROM)。此外,RAM可被实现为存储器(诸如动态RAM(DRAM)或静态RAM(SRAM))。
多个IP块30_1、30_2和30_n可包括第一功能块30_1至第n功能块30_n。这里,n可以是等于或大于3的自然数。多个IP块30_1、30_2和30_n中的每一个可经由系统总线10接收命令并且执行系统中的特定操作。因此,系统总线10也可被认为是IP块。多个IP块30_1、30_2和30_n可包括多个特殊功能寄存器,并且可基于多个特殊功能寄存器的值来执行特定操作。
多个IP块30_1、30_2和30_n中的至少一些可分别从包括在系统总线10中的多个命令控制器100接收多个命令。多个IP块30_1、30_2和30_n中的一些可以不通过多个命令控制器100而从CPU 20接收多个命令。
多个IP块30_1、30_2和30_n可对应于特定模块,诸如视频模块、声音模块、显示模块、存储器模块、通信模块和相机模块。根据示例实施例,多个IP块30_1、30_2和30_n可被实现为软件。在这种情况下,CPU 20可通过执行存储在ROM和/或RAM 40中的软件来操作多个IP块30_1、30_2和30_n。然而,本公开不限制多个IP块30_1、30_2和30_n被实现为软件。
图2是示出根据本公开的示例实施例的集成电路的框图并且是具体示出第一命令控制器100_1的框图。尽管图2示出一个第一命令控制器100_1连接到第一IP块30_1并且将多个命令CMD发送到第一IP块30_1,但本公开的示例实施例不限于一个第一命令控制器100_1和一个IP块之间的连接。
参考图2,集成电路1可包括CPU 20、第一命令控制器100_1和第一IP块30_1。第一命令控制器100_1可包括命令分配器110、命令缓冲器120和命令仲裁器130。尽管图2仅示出第一命令控制器100_1,但图2的第一命令控制器100_1的描述可应用于图1的多个命令控制器100中的每一个。
CPU 20可将多个命令CMD输出到第一命令控制器100_1。此时,可将多个命令CMD发送到第一IP块30_1并且将包括在第一IP块30_1中的多个特殊功能寄存器设置为特定值。
第一命令控制器100_1可从CPU 20接收包括第一命令CMD_1至第三命令CMD_3的多个命令CMD。此时,当CPU 20使得第一IP块30_1执行连续操作时,CPU 20可将第一命令CMD_1和第二命令CMD_2顺序地输出到第一命令控制器100_1。当CPU 20需要对第一IP块30_1执行紧急处理时,CPU 20可将第三命令CMD_3输出到第一命令控制器100_1。
命令分配器110可将多个命令CMD分配成将被发送到命令缓冲器120的第一命令CMD_1和第二命令CMD_2,以及将被发送到命令仲裁器130的第三命令CMD_3。根据示例实施例,命令分配器110可以是解码器,并且可基于与多个命令CMD一起接收的地址,将第一命令CMD_1和第二命令CMD_2发送到命令缓冲器120,并且将第三命令CMD_3发送到命令仲裁器130。
根据另一示例实施例,命令分配器110可被配置为允许CPU 20控制命令分配器110的模式。例如,当CPU 20将命令分配器110设置为第一模式并且输出第一命令CMD_1和第二命令CMD_2时,命令分配器110可将第一命令CMD_1和第二命令CMD_2发送到命令缓冲器120。当CPU 20将命令分配器110设置为第二模式并且输出第三命令CMD_3时,命令分配器110可将第三命令CMD_3发送到命令仲裁器130。
命令缓冲器120可包括先进先出(FIFO)结构。命令缓冲器120可顺序地接收第一命令CMD_1和第二命令CMD_2并且以接收的顺序将第一命令CMD_1和第二命令CMD_2输出到命令仲裁器130。
命令仲裁器130可将第一命令CMD_1至第三命令CMD_3发送到第一IP块30_1。当第一命令CMD_1至第三命令CMD_3分别由命令仲裁器130在不同的时隙接收时,第一命令CMD_1至第三命令CMD_3可被独立地发送到第一IP块30_1。另一方面,当第三命令CMD_3与第一命令CMD_1和第二命令CMD_2被命令仲裁器130分别接收的时间段互相重叠时,命令仲裁器130可基于第一命令CMD_1至第三命令CMD_3的优先级,将具有比其他命令更高优先级的命令优先地输出到第一IP块30_1。因此,根据示例实施例,命令仲裁器130可包括存储关于接收到的命令的优先级的寄存器。
例如,当第三命令CMD_3与第一命令CMD_1或第二命令CMD_2被命令仲裁器130接收的时间段互相重叠时,命令仲裁器130可被配置为将第三命令CMD_3输出到第一IP块30_1。换句话说,从命令分配器110接收的第三命令CMD_3可被配置为具有比从命令缓冲器120发送的第一命令CMD_1和第二命令CMD_2更高优先级。
因此,即使在多个命令正从第一命令控制器100_1被顺序地输出时,当需要针对第一IP块30_1的紧急处理时,CPU 20可将新命令发送到第一命令控制器100_1,并且第一命令控制器100_1可将关于新命令的数据直接输出到第一IP块30_1,而不是单独地存储关于新命令的数据。下面将参照图5给出其详细描述。
第一IP块30_1可包括第一IP寄存器31_1。第一IP寄存器31_1可包括多个特殊功能寄存器。当第一IP块30_1从第一命令控制器100_1接收到命令时,包括在第一IP寄存器31_1中的多个特殊功能寄存器中的至少一些基于接收到的命令被设置为特定值,并且第一IP块30_1可基于第一IP寄存器31_1的值来执行特定操作。
当多个命令CMD被顺序地输入到第一IP寄存器31_1时,第一IP寄存器31_1可被设置与命令CMD的数量相对应的次数,并且第一IP寄存器31_1可基于第一IP寄存器31_1的值来执行连续的操作。例如,第一命令CMD_1和第二命令CMD_2可将第一IP寄存器31_1分别设置为第一值和第二值,使得第一IP块30_1执行彼此不同的第一操作和第二操作。
当第三命令CMD_3输入到第一IP寄存器31_1时,第一IP寄存器31_1可与第一命令CMD_1和第二命令CMD_2输入的情况不同地被再次设置,并且基于第一IP寄存器31_1的值,第一IP块30_1可执行新操作。
根据本公开的集成电路1的第一命令控制器100_1可接收从CPU 20输出的多个命令(例如,第一命令CMD_1和第二命令CMD_2),并且顺序地输出多个命令,从而控制第一IP块30_1的操作。在第一IP块30_1正在操作的同时,从第一命令控制器100_1输出多个命令,并且第一IP块30_1被控制为在没有CPU 20干预的情况下执行连续的操作,因此CPU 20的负担可减少。
此外,即使在第一IP块30_1没有周期性地将中断信号发送到CPU 20时,每当第一IP块30_1的操作完成时,仍然从第一命令控制器100_1接收下一命令。因此,可减少第一IP块30_1为特定操作做准备的时间段。
尽管图2仅示出连接到第一命令控制器100_1的第一IP块30_1的操作,但多个IP块30_1、30_2和30_n可分别连接到命令控制器,并且第一IP块30_1的操作的描述可同样地应用于此。
图3和图4是根据本公开的示例实施例的集成电路的操作的流程图,并且描述由第一命令控制器100_1接收第一命令和第二命令以及图2中未接收第三命令的情况。
参考图2和图3,CPU 20可顺序地输出用于控制第一IP块30_1的操作的第一命令CMD_1和第二命令CMD_2(操作S11)。这里,第一IP块30_1的分别根据第一命令CMD_1和第二命令CMD_2的第一操作和第二操作可彼此相关,并且第一操作可以是在第二操作之前的操作。例如,当第一IP块30_1是相机模块时,第一操作和第二操作可以是用于连续拍摄的操作。
第一命令控制器100_1可接收从CPU 20输出的第一命令CMD_1和第二命令CMD_2,并且将分别对应于第一命令CMD_1和第二命令CMD_2的第一数据和第二数据存储在命令缓冲器120中(操作S12)。根据示例实施例,命令缓冲器120可以是FIFO缓冲器,并且第一数据和第二数据可顺序地存储在FIFO缓冲器中。下面将参照图6给出FIFO缓冲器的详细描述。
第一命令控制器100_1可基于第一数据将第一命令CMD_1输出到第一IP块30_1(操作S13)。第一IP块30_1可接收第一命令CMD_1并且基于第一命令CMD_1来设置第一IP寄存器31_1(操作S14)。第一IP块30_1可根据第一IP寄存器31_1的设置的值来执行第一操作。第一IP寄存器31_1可包括多个特殊功能寄存器,并且可通过第一命令CMD_1将多个特殊功能寄存器中的至少一些特殊功能寄存器设置为特定值。
当完成第一IP块30_1的第一操作时,第一IP块30_1可将中断信号发送到第一命令控制器100_1。第一命令控制器100_1可基于存储的第二数据将第二命令CMD_2输出到第一IP块30_1(操作S15)。第一IP块30_1可接收第二命令CMD_2并且基于第二命令CMD_2再次设置第一IP寄存器31_1(操作S16)。第一IP块30_1可根据第一IP寄存器31_1的设置的值来执行第二操作。可通过第二命令CMD_2来设置第一IP寄存器31_1的多个特殊功能寄存器中的至少一些特殊功能寄存器。
参考图2和图4,CPU 20可优先地输出用于控制第一IP块30_1的操作的第一命令CMD_1(S11_1)。第一命令控制器100_1可接收从CPU 20输出的第一命令CMD_1并且将对应于第一命令CMD_1的第一数据存储在命令缓冲器120中(操作S12_1)。第一命令控制器100_1可基于第一数据将第一命令CMD_1输出到第一IP块30_1(操作S13)。第一IP块30_1可接收第一命令CMD_1并且基于第一命令CMD_1来设置第一IP寄存器31_1(操作S14)。第一IP块30_1可根据第一IP寄存器31_1的设置的值来执行第一操作。
在操作S13中第一命令控制器100_1将第一命令CMD_1输出到第一IP块30_1之后,CPU 20可输出用于控制第一IP块30_1的操作的第二命令CMD_2(操作S11_2)。CPU 20输出第二命令CMD_2的操作可与第一IP块30_1设置第一IP寄存器31_1的操作S14重叠。然而,本公开不限于此。第一命令控制器100_1将第一命令CMD_1输出到第一IP块30_1的操作S13可与CPU 20输出第二命令CMD_2的操作S11_2重叠。
第一命令控制器100_1可接收从CPU 20输出的第二命令CMD_2并且将对应于第二命令CMD_2的第二数据存储在命令缓冲器120中(操作S12_2)。因此,可在第一命令控制器100_1输出第一命令CMD_1的操作S13之后执行用于存储第二数据的操作S12_2。
第一命令控制器100_1可将第二命令CMD_2输出到第一IP块30_1(操作S15)。第一IP块30_1可接收第二命令CMD_2并且基于第二命令CMD_2来设置第一IP寄存器31_1(操作S16)。第一IP块30_1可根据第一IP寄存器31_1的设置的值来执行第二操作。
因此,在根据本公开的示例实施例的集成电路1中,CPU 20可:(1)在通过第一命令控制器100_1将命令(例如,第一命令CMD_1)输出到IP块并且该IP块的IP寄存器正在被设置的同时,将新命令(例如,第二命令CMD_2)发送到第一命令控制器100_1,并且(2)将对应于新命令的新数据存储在第一命令控制器100_1中,从而准备该IP块的下一操作。
图5是示出根据本公开的示例实施例的集成电路的操作的流程图并且是用于描述由图2中的第一命令控制器接收第一命令至第三命令的情况的流程图。在图5中,CPU 20顺序地输出第一命令CMD_1和第二命令CMD_2的操作S11、存储分别对应于第一命令CMD_1和第二命令CMD_2的第一数据和第二数据的操作S12、第一命令控制器100_1输出第一命令CMD_1的操作S13以及设置第一IP寄存器31_1的操作S14可与图3的操作相同。因此,将省略其详细描述。
参考图2和图5,CPU 20可在第一命令控制器100_1存储分别对应于第一命令CMD_1和第二命令CMD_2的第一数据和第二数据的操作S12之后输出第三命令CMD_3(操作S21)。尽管图5示出CPU 20输出第三命令CMD_3的操作S21与基于第一命令CMD_1设置第一IP寄存器31_1的操作S14重叠,但本公开的实施例不限于此。根据示例实施例,CPU 20输出第三命令CMD_3的操作S21可与第一命令控制器100_1输出第一命令CMD_1的操作S13或者第一命令控制器100_1存储第一数据和第二数据的操作S12重叠。换句话说,当第一IP块30_1需要执行将在分别根据第一命令CMD_1和第二命令CMD_2的第一操作和第二操作之前执行的第三操作时,CPU 20可输出第三命令CMD_3。
当接收到第三命令CMD_3时,第一命令控制器100_1可比较第二命令CMD_2和第三命令CMD_3的优先级(操作S22)。由第一命令控制器100_1接收的多个命令CMD的优先级可存储在第一命令控制器100_1中。基于存储的优先级,第一命令控制器100_1可将第三命令CMD_3输出到第一IP块30_1(操作S23)。
第一IP块30_1可接收第三命令CMD_3并且基于第三命令CMD_3设置第一IP寄存器31_1(操作S24)。第一IP块30_1可根据第一IP寄存器31_1的值执行第三操作。
第一命令控制器100_1可在操作S23中将第三命令CMD_3输出到第一IP块30_1,然后将第二命令CMD_2输出到第一IP块30_1。第一IP块30_1可基于第二命令CMD_2设置第一IP寄存器31_1并且根据第一IP寄存器31_1的值来执行第二操作。
因此,根据本公开的示例实施例的集成电路1可将对应于多个命令(第一命令CMD_1和第二命令CMD_2)的多条数据存储在第一命令控制器100_1中,然后基于多条数据顺序地将多个命令输出到第一IP块30_1,从而控制第一IP块30_1的连续操作。同时,当CPU 20需要快速地控制第一IP块30_1的操作时,第一命令控制器100_1可经由第一命令控制器100_1的命令分配器110和命令仲裁器130直接将第三命令CMD_3发送到第一IP块30_1而不存储对应于第三命令CMD_3的数据。因此,可在各种环境下有效地使用集成电路1。
图5示出第一命令控制器100_1接收第一命令CMD_1和第二命令CMD_2,在操作S12中存储第一数据和第二数据,然后在操作S13中输出第一命令CMD_1,本公开不限于此。如图4中所示,在第一命令控制器100_1在操作S13中将第一命令CMD_1输出到第一IP块30_1之后,中,CPU 20可在操作S11_2中将第二命令CMD_2输出到第一命令控制器100_1,并且第一命令控制器100_1可接收第二命令CMD_2。
图6是示出根据本公开的示例实施例的包括在集成电路中的命令缓冲器的框图。
参考图2和图6,命令缓冲器120可包括FIFO电路121和FIFO控制器123。
FIFO电路121可被配置为存储多条数据并且以先进先出的方式操作。因此,FIFO电路121可操作为根据先进先出的方式先输出先输入的输入数据。FIFO电路121可提供指示用于写入输入数据的地址的写指针(WP)以及指示用于读取输出数据的地址的读取指针(RP)。
FIFO控制器123可管理FIFO电路121的数据的输入/输出。当发生数据输入时,FIFO控制器123可在由FIFO电路121的WP指示的地址处输入和存储数据,并且增加WP。当发生数据输出时,FIFO控制器123可输出存储在由FIFO电路121的RP指示的地址处的数据,并增加RP。
FIFO控制器123可包括控制器寄存器123_1。控制器寄存器123_1可存储关于FIFO电路121的信息。例如,控制器寄存器123_1可存储关于当前存储在FIFO电路121中的数据的信息以及关于将从存储在FIFO电路121中的数据中输出的数据的信息。
图7是示出包括在图6的命令缓冲器中的FIFO电路的框图并且是用于描述FIFO电路的操作的示图。
参考图2、图6和图7,根据示例实施例,FIFO电路121可使用多个寄存器来实现。对应于第一命令CMD_1的第一数据DATA_1可存储在FIFO电路121的第一寄存器组RegisterSet_1中,并且对应于第二命令CMD_2的第二数据DATA_2可存储在第二寄存器组RegisterSet_2中。第一寄存器组Register Set_1和第二寄存器组Register Set_2中的每一个可包括至少一个寄存器。存储在一个寄存器组中的多条数据可对应于用于指示连接到第一命令控制器100_1的第一IP块30_1执行一个操作的命令。
一旦所有数据存储在一个寄存器组中,则运行标记可存储在与存储所有数据的所述一个寄存器组不同的下一寄存器中。换句话说,在所有数据存储在一个寄存器组中之后,运行标记存储在下一寄存器中,然后其他数据可存储在另一寄存器组中。因此,基于运行标记形成与用于控制IP块的一个操作的命令相对应的一个数据组。FIFO控制器123可通过运行标记基于数据组来管理FIFO电路121,并且FIFO电路121可通过数据组来读取数据。因此,可容易地管理FIFO电路121。
FIFO电路121的状态可由WP和RP确定。当数据存储在FIFO电路121中时,WP可顺序地增加。当数据从FIFO电路121输出时,RP可顺序地增加。这里,WP可在RP增加之前增加。其原因在于数据可在被写入FIFO电路121之后被输出。
FIFO电路121可输入数据,直到存储空间为满,并且可输出数据,直到存储空间为空。当WP和RP之间的差对应于FIFO电路121的深度时,FIFO控制器123可确定FIFO电路121的存储空间为满。相反,当WP和RP指示同一地址时,FIFO控制器123可确定FIFO电路121的存储空间为空。
如图7所示,可观察到,第一数据DATA_1和第二数据DATA_2经由WP存储在第一寄存器组Register Set_1和第二寄存器组Register Set_2中,并且运行标记在其后被存储。此外,可观察到,第一数据DATA_1和第二数据DATA_2还未经由RP从第一寄存器组RegisterSet_1和第二寄存器组Register Set_2输出。
尽管图7示出FIFO电路121包括多个寄存器,并且第一数据DATA_1和第二数据DATA_2分别存储在第一寄存器组Register Set_1和第二寄存器组Register Set_2中,但是本公开不限于此。根据另一示例实施例,FIFO电路121可被实现为存储器。例如,FIFO电路121可被配置为具有输入端口和多个输出端口的高速静态随机存取存储器(SRAM)。在这种情况下,对应于第一命令CMD_1的第一数据DATA_1可存储在存储器的第一区域中,对应于第二命令CMD_2的第二数据DATA_2可存储在存储器的不同于第一区域的第二区域中,并且存储器的第一区域和第二区域可通过存储运行标记的第三区域彼此区分。
图8是用于描述包括在图6的命令缓冲器中的控制器寄存器的示图。
参考图8,控制器寄存器123_1可存储关于存储在FIFO电路121的寄存器组中的数据的信息以及关于将从存储在FIFO电路121中的数据中输出的数据的信息。例如,控制器寄存器123_1存储其中存储数据的FIFO电路121的寄存器组的数量SET_NUM,以及用于从其中存储数据的FIFO电路121的寄存器组中输出数据的寄存器组的数量RUN_CNT。
参考图6至图8,第一数据DATA_1和第二数据DATA_2存储在FIFO电路121中的第一寄存器组Register Set_1和第二寄存器组Register Set_2中,因此数据总共存储在两个寄存器组中。因此,其中存储数据的寄存器组的数量SET_NUM可具有值“2”。
FIFO控制器123可基于WP、RP以及存储在FIFO电路121中的运行标记的数量来确定存储对应于一个命令的数据的FIFO电路121的寄存器组的数量SET_NUM。此外,FIFO控制器123还可基于用于输出数据的寄存器组的数量RUN_CNT和对应的运行标记,从FIFO电路121的多个寄存器组中选择寄存器组以输出数据。
用于从其中存储数据的寄存器组中输出数据的寄存器组的数量RUN_CNT可具有小于其中存储数据的寄存器组的数量SET_NUM的值。例如,用于从其中存储数据的两个寄存器组之中输出数据的寄存器组的数量RUN_CNT可具有值1。CPU可控制FIFO控制器123,使得用于输出数据的寄存器组的数量RUN_CNT被存储在控制寄存器123_1中。
对于控制IP块的操作的命令仲裁器,命令缓冲器120可基于存储在控制器寄存器123_1中的信息来输出与在第二数据DATA_2之前存储的第一数据DATA_1相对应的第一命令CMD_1。由于用于输出数据的寄存器组的数量RUN_CNT具有值1,因此命令缓冲器120可在不输出对应于第二数据DATA_2的第二命令CMD_2的情况下等待。然而,用于输出数据的寄存器组的数量RUN_CNT可根据其操作被控制的IP块的特性而变化。
例如,如图8中所示,当用于输出数据的寄存器组的数量RUN_CNT是2时,命令缓冲器120可在第一命令CMD_1之后连续地将第二命令CMD_2输出到命令仲裁器。换句话说,在命令缓冲器120基于存储在FIFO电路121中的运行标记通过优先地执行针对第一数据DATA_1的读取操作来输出对应于第一数据DATA_1的第一命令CMD_1之后,命令缓冲器120可连续地执行针对第二数据DATA_2的读取操作,或者可在不执行针对第二数据DATA_2的读取操作的情况下等待,直到从CPU接收到单独的命令。
根据示例实施例,根据将被设置的寄存器的数量,FIFO电路121可被实现为存储器,而不是触发器。
图9是示出根据本公开的示例实施例的集成电路的框图。与图2相比,图9是用于描述第一命令控制器100a_1可连接到多个IP块并且可将命令分别发送到多个IP块的示图。在图9中,与上面参考图2给出的描述相同的描述将被省略。尽管图9中仅示出第一命令控制器100a_1,但下面参考图9给出的描述可应用于图1的多个命令控制器100中的每一个。
参考图9,集成电路1a可包括CPU 20、第一命令控制器100a_1、第一IP块30_1以及第二IP块30_2。第一命令控制器100a_1可包括命令分配器110、命令缓冲器120以及命令仲裁器130。命令分配器110、命令缓冲器120以及命令仲裁器130可执行与图2中的命令分配器110、命令缓冲器120以及命令仲裁器130相同的功能。CPU 20可将多个命令CMD输出到第一命令控制器100a_1。
第一命令控制器100a_1可从CPU 20接收包括第一命令CMD_1和第二命令CMD_2的多个命令CMD。第一命令CMD_1可以是用于控制第一IP块30_1的操作的命令,而第二命令CMD_2可以是用于控制第二IP块30_2的操作的命令。
第一命令控制器100a_1可以以接收的顺序,顺序地输出第一命令CMD_1和第二命令CMD_2。当第一命令控制器100a_1输出第一命令CMD_1和第二命令CMD_2时,通过包括在系统总线中的解码器,第一命令CMD_1可被发送到第一IP块30_1并且第二命令CMD_2可被发送到第二IP块30_2。
尽管图9示出第一命令控制器100a_1输出用于控制两个IP块(即,第一IP块30_1和第二IP块30_2)的操作的第一命令CMD_1和第二命令CMD_2,但本公开不限于此。第一命令控制器100a_1还可输出用于控制其他IP块的操作的命令。换句话说,一个命令控制器可控制多个IP块的操作。
第一命令控制器100a_1还可接收第三命令CMD_3。此时,第三命令CMD_3可以是用于控制第一IP块30_1的操作的命令CMD_3_1或者用于控制第二IP块30_2的操作的命令CMD_3_2。第一命令控制器100a_1可不单独地将对应于第三命令CMD_3的数据存储在命令缓冲器120中。换句话说,第一命令控制器100a_1的命令分配器110可直接将第三命令CMD_3发送到命令仲裁器130。
当命令仲裁器130从命令分配器110接收到第三命令CMD_3并且同时地从命令缓冲器120接收到第一命令CMD_1或第二命令CMD_2时,命令仲裁器130可从接收到的命令优先地输出具有较高优先级的命令。
第一IP块30_1可包括第一IP寄存器31_1,并且第二IP块30_2可包括第二IP寄存器31_2。基于接收到的第一命令CMD_1或者第三命令CMD_3_1,第一IP寄存器31_1可被设置为特定值。此外,基于接收到的第二命令CMD_2或者第三命令CMD_3_2,第二IP寄存器31_2可被设置为特定值。第一IP块30_1可基于第一IP寄存器31_1的值来执行操作,并且第二IP块30_2可基于第二IP寄存器31_2的值来执行操作。
图10是示出根据本公开的示例实施例的集成电路的框图。与图2相比,图10是用于描述多个命令控制器100b_1和100b_2可控制同一功能块的操作的示图。尽管图10仅示出控制第一IP块30_1的操作的情况,但本公开不限于此,并且多个命令控制器100b_1和100b_2可控制多个IP块的操作。在图10中,以上参考图2给出的描述将被省略。
参考图10,集成电路1b可包括CPU 20、第一命令控制器100b_1、第二命令控制器100b_2以及第一IP块30_1。这里,第一命令控制器100b_1和第二命令控制器100b_2可构成一个多命令控制器100b_M。除了第一命令控制器100b_1和第二命令控制器100b_2之外,多命令控制器100b_M还可包括分配器110M和仲裁器130M。
CPU 20可将多个命令CMD输出到多命令控制器100b_M。此时,CPU 20可输出用于控制第一IP块30_1的第一连续操作的多个第一命令CMD_1b,可输出用于控制第一IP块30_1的与第一连续操作不同的第二连续操作的多个第二命令CMD_2b,并且当需要针对第一IP块30_1进行紧急操作时,CPU20可将第三命令CMD_3输出到多命令控制器100b_M。
分配器110M可从CPU 20接收多个命令CMD。分配器110M可将多个命令CMD分配为将被发送到第一命令控制器100b_1的多个第一命令CMD_1b、将被发送到第二命令控制器100b_2的多个第二命令CMD_2b以及将被发送到仲裁器130M的第三命令CMD_3。
根据示例实施例,分配器110M可以是解码器,并且基于与多个命令CMD一起接收的地址,分配器110M可将多个第一命令CMD_1b和多个第二命令CMD_2b发送到第一命令控制器100b_1和第二命令控制器100b_2,并且将第三命令CMD_3发送到仲裁器130M。
包括在多命令控制器100b_M中的第一命令控制器100b_1和第二命令控制器100b_2中的每一个可执行与图2的第一命令控制器100_1的操作相同的操作。然而,第一命令控制器100b_1可被配置为控制第一IP块30_1的第一连续操作,并且第二命令控制器100b_2可被配置为控制第一IP块30_1的第二连续操作,从而控制不同的连续操作。
第一命令控制器100b_1和第二命令控制器100b_2中的每一个可包括FIFO结构。对应于多个第一命令CMD_1b的第一数据可存储在第一命令控制器100b_1的FIFO缓冲器中,并且对应于多个第二命令CMD_2b的第二数据可存储在第二命令控制器100b_2的FIFO缓冲器中。根据示例实施例,第一命令控制器100b_1和第二命令控制器100b_2的FIFO缓冲器可类似于图7的FIFO电路121来实现,但不限于此,并且第一命令控制器100b_1和第二命令控制器100b_2的FIFO缓冲器可被实现为存储器。
第一命令控制器100b_1可基于存储在FIFO缓冲器中的第一数据以多个第一命令CMD_1b输入的顺序来顺序地输出多个第一命令CMD_1b。第二命令控制器100b_2也可基于存储在FIFO缓冲器中的第二数据以多个第二命令CMD_2b输入的顺序来顺序地输出多个第二命令CMD_2b。此时,第一命令控制器100b_1和第二命令控制器100b_2可仅从FIFO缓冲器读取第一数据和第二数据的部分或者可仅顺序地输出多个第一命令CMD_1b和多个第二命令CMD_2b中的一些。第一数据和第二数据的未读出的其他部分可不从FIFO缓冲器读取,直到从CPU 20或第一IP块30_1发出信号。
仲裁器130M可将多个第一命令CMD_1b、多个第二命令CMD_2b、或第三命令CMD_3发送到第一IP块30_1。当多个第一命令CMD_1b、多个第二命令CMD_2b和第三命令CMD_3在不同的时隙被仲裁器130M接收时,多个第一命令CMD_1b、多个第二命令CMD_2b或者第三命令CMD_3可被独立地发送到第一IP块30_1。
另一方面,当第三命令CMD_3和多个第一命令CMD_1b或多个第二命令CMD_2b被仲裁器130M接收的时隙彼此重叠时,仲裁器130M可将接收到的命令中具有较高优先级的命令优先地输出到第一IP块30_1。因此,根据示例实施例,仲裁器130M可包括存储关于接收到的命令的优先级的寄存器。
当多个第一命令CMD_1b被顺序地接收时,可基于多个第一命令CMD_1b来顺序地设置第一IP块30_1的第一IP寄存器31_1。可基于第一IP寄存器31_1的设置的值执行各自的操作,从而执行一个第一连续操作。可选择地,当多个第二命令CMD_2b被顺序地接收时,可基于多个第二命令CMD_2b来顺序地设置第一IP块30_1的第一IP寄存器31_1。可基于第一IP寄存器31_1的设置的值执行各自的操作,从而执行一个第二连续操作。可选择地,第一IP块30_1可基于接收到的第三命令CMD_3来设置第一IP寄存器31_1并且执行第三操作。
根据本公开的示例实施例的集成电路1b可在没有CPU 20的干预的情况下,独立地控制第一IP块30_1的多个不同的连续操作。结果,CPU 20的负担可减少,并且用于控制第一IP块30_1以执行多个连续操作的时间段可减小。
尽管图10示出多命令控制器100b_M包括用于控制一个IP块(即,第一IP块30_1)的两个连续操作的第一命令控制器100b_1和第二命令控制器100b_2,但本公开不限于此,并且多命令控制器100b_M可包括多个命令控制器并且可连接到多个IP块以控制多个IP块的多个连续操作。由包括在多命令控制器100b_M中的多个命令控制器控制的IP块可在一些情况下变化,其中,多个命令控制器可控制同一IP块,可控制不同的IP块或者可各自控制多个IP块。
图11是示出根据本公开的示例实施例的集成电路的框图。图11是用于描述集成电路可包括具有不同配置的多个命令控制器的示图。
参考图11,集成电路1c可包括CPU 20、第一命令控制器100c_1、第二命令控制器100c_2以及多命令控制器100c_M。
第一命令控制器100c_1可输出用于指示第一IP块30_1和第二IP块30_2分别执行特定操作的多个命令。第一命令控制器100c_1可类似于图9的第一命令控制器100a_1来操作。
第二命令控制器100c_2可输出用于指示第三IP块30_3执行特定操作的多个命令。第二命令控制器100c_2可类似于图2的第一命令控制器100_1来操作。
多命令控制器100c_M可输出用于指示第四IP块30_4执行特定操作的多个命令。多命令控制器100c_M可包括多个命令控制器。多命令控制器100c_M可类似于图10的多命令控制器100b_M来操作。
因此,根据本公开的示例实施例的集成电路1c可包括可不同地实现的多个命令控制器和多个多命令控制器,并且可通过采用包括在集成电路1c中的多个IP块的特性被配置为连接到第一命令控制器100c_1、第二命令控制器100c_2或多命令控制器100c_M。在一些情况下,包括在集成电路1c中的多个IP块中的一些可被配置为不连接到第一命令控制器100c_1、第二命令控制器100c_2或多命令控制器100c_M,并且直接从CPU 20接收命令。
图12是示出根据本公开的示例实施例的包括集成电路的电子系统的示例的示图。
参考图12,电子系统1000是便携式电子装置并且可被实现为移动电话、智能电话、平板PC、膝上型PC、PDA、企业数字助理(EDA)、数码相机、PMP、个人导航装置(PND)、手持游戏机、电子书等。电子系统1000可包括处理器1100、相机模块1200、显示器1300、电源1400、输入/输出(I/O)端口1500、内存1600、存储器1700、扩展卡1800和网络装置1900。
处理器1100可以是多核处理器,可控制电子系统1000的相机模块1200、显示器1300、电源1400、输入/输出端口1500、内存1600、存储器1700、扩展卡1800以及网络装置1900,并且例如可以是AP。根据图1、图2和图9至图11中示出的本公开的示例实施例,处理器1100可包括集成电路1、1a、1b和1c。当处理器1100包括多个命令控制器时,包括在处理器1100中的CPU可输出用于操作诸如相机模块1200和显示器1300的组件的多个命令,而不受时间影响。
相机模块1200可包括镜头和图像传感器,并且可将对应于光学图像的图像数据提供给处理器1100。显示器1300可基于从处理器1100接收的数据来显示图像或视频。
电源1400可包括电池和电池控制器,并且可向电子系统1000的组件供电。输入/输出端口1500用于将数据从外部发送到电子系统1000或者将数据从电子系统1000发送到外部,并且例如可包括通用串行总线(USB)端口。内存1600可存储电子系统1000的操作所必需的数据,例如,由处理器1100产生的数据。
存储器1700可具有相对大的数据存储容量,并且可以以非易失性方式来存储诸如程序和多媒体数据的数据。因此,即使当向根据本公开的示例实施例的集成电路1、1a、1b和1c的供电中断时,存储在其中的数据也不会丢失。例如,存储器1700可包括非易失性存储器,诸如,电可擦除可编程只读存储器(EEPROM)、闪存、相变随机存取存储器(PRAM)、电阻随机存取存储器(RRAM)、纳米浮栅存储器(NFGM)、聚合物随机存取存储器(PoRAM)、磁性随机存取存储器(MRAM)和铁电随机存取存储器(FRAM)以及诸如磁带、光盘和磁盘的存储介质。
扩展卡1800可被实现为安全数字(SD)卡、多媒体卡(MMC)、用户识别模块(SIM)卡、通用用户识别模块(USIM)卡等。网络装置1900可向电子系统1000提供对有线网络或无线网络的访问。
如本领域中的传统,可根据执行所描述的功能的块来描述和示出实施例。这里可被称为单元或模块等的这些块通过模拟和/或数字电路(诸如,逻辑门、集成电路、微处理器、微控制器、存储器电路、无源电子组件、有源电子组件、光学组件、硬连线电路等)被物理地实现,并且可以由固件和/或软件可选择地驱动。例如,电路可实现在一个或多个半导体芯片中,或者在诸如印刷电路板等的基底支撑物上。构成块的电路可由专用硬件或由处理器(例如,一个或多个编程的微处理器和相关联的电路)或者由用于执行所述块的一些功能的专用硬件和用于执行所述块的其他功能的处理器的组合来实现。在不脱离本公开的范围的情况下,实施例的每一个块可被物理地分成两个或更多个相互作用并且离散的块。类似地,在不脱离本公开的范围的情况下,实施例的块可物理地组合成更复杂的块。
尽管已经参考本公开的实施例具体示出和描述了本公开,但是将理解,在不脱离所附权利要求的精神和范围的情况下,可以进行形式和细节上的各种改变。

Claims (20)

1.一种应用处理器,包括:
多个知识产权块,包括第一知识产权块和第二知识产权块;
系统总线,包括第一命令控制器和第二命令控制器,其中:
第一命令控制器和第二命令控制器中的每一个包括:
命令分配器,被配置为从中央处理单元CPU接收第一命令至第三命令;
命令缓冲器,被配置为从命令分配器顺序地接收第一命令和第二命令,并且在不同的时隙输出第一命令和第二命令;
命令仲裁器,被配置为从命令缓冲器接收第一命令和第二命令并从命令分配器接收第三命令,并且选择性地输出第一命令、第二命令和第三命令,
对应于第一命令的第一数据、对应于第二命令的第二数据以及运行标记被存储在命令缓冲器中。
2.根据权利要求1所述的应用处理器,其中:
命令缓冲器包括先进先出FIFO电路,
第一数据、运行标记和第二数据被顺序地存储在FIFO电路中。
3.根据权利要求2所述的应用处理器,其中,命令缓冲器被配置为:基于存储在FIFO电路中的运行标记,优先地执行针对第一数据的读取操作,输出对应于第一数据的第一命令并且执行针对第二数据的读取操作。
4.根据权利要求1所述的应用处理器,其中,命令仲裁器被配置为:当第二命令和第三命令被一起接收时,根据优先级选择并输出第二命令和第三命令中的一个。
5.根据权利要求1所述的应用处理器,其中,命令仲裁器包括被配置为存储第一命令至第三命令的优先级的寄存器。
6.根据权利要求1所述的应用处理器,其中:
从第一命令控制器输出的第一命令被发送到所述多个知识产权块中的第一知识产权块,
从第二命令控制器输出的第二命令被发送到所述多个知识产权块中的第二知识产权块。
7.根据权利要求1所述的应用处理器,其中,第一命令控制器和第二命令控制器均被配置为将第一命令至第三命令输出到所述多个知识产权块中的第一知识产权块。
8.根据权利要求1所述的应用处理器,其中,命令缓冲器被配置为在第一数据和第二数据被存储之后输出第一命令。
9.根据权利要求1所述的应用处理器,其中,命令缓冲器被配置为在第一命令被输出之后从命令分配器接收第二命令。
10.根据权利要求1所述的应用处理器,其中,命令分配器包括编码器,并被配置为基于从CPU接收的地址将第一命令和第二命令发送到命令缓冲器,并且将第三命令发送到命令仲裁器。
11.根据权利要求1所述的应用处理器,其中:
所述多个知识产权块中的第一知识产权块和第二知识产权块中的每一个包括多个特殊功能寄存器,
第一知识产权块被配置为从第一命令控制器接收第一命令至第三命令,
包括在第一知识产权块中的所述多个特殊功能寄存器被分别配置为基于第一命令至第三命令被设置。
12.一种应用处理器,包括:
多个知识产权块;
系统总线,包括多个命令控制器,其中,每一个命令控制器包括先进先出FIFO电路,其中:
所述多个命令控制器中的每一个被配置为:从中央处理单元CPU顺序地接收第一命令和第二命令,并且顺序地输出第一命令和第二命令,
对应于第一命令的第一数据、对应于第二命令的第二数据以及运行标记被存储在FIFO电路中。
13.根据权利要求12所述的应用处理器,其中:
FIFO电路包括多个寄存器,
所述多个寄存器包括存储第一数据的第一寄存器组、存储第二数据的第二寄存器组以及存储运行标记的第三寄存器,
当第一数据被存储在第一寄存器组中时,运行标记被存储在第三寄存器中。
14.根据权利要求13所述的应用处理器,其中,所述多个命令控制器被配置为:基于第三寄存器,优先地执行针对第一寄存器组的读取操作,输出对应于第一数据的第一命令并且执行针对第二寄存器组的读取操作。
15.根据权利要求12所述的应用处理器,其中,所述多个命令控制器中的至少一个被配置为:在第一数据和第二数据被存储在FIFO电路中之后,输出对应于第一数据的第一命令。
16.根据权利要求12所述的应用处理器,其中,所述多个知识产权块中的至少一个被配置为:顺序地接收从所述多个命令控制器中的一个输出的第一命令和第二命令,并且顺序地执行不同操作。
17.根据权利要求12所述的应用处理器,其中:
所述多个命令控制器中的每一个被配置为:在第一命令和第二命令之后从CPU接收第三命令,
所述多个命令控制器中的每一个被配置为:在第一命令和第二命令之前输出第三命令。
18.根据权利要求12所述的应用处理器,其中:
所述多个命令控制器包括第一命令控制器和第二命令控制器,其中,第一命令控制器和第二命令控制器均被配置为输出多个不同命令,
第一命令控制器和第二命令控制器均被配置为分别将第一命令和第二命令输出到所述多个知识产权块中的同一知识产权块。
19.一种集成电路,包括:
多个知识产权块;
系统总线,被配置为将命令输出到所述多个知识产权块,并且包括命令控制器,其中:
命令控制器包括:
命令分配器,被配置为从中央处理单元CPU接收多个命令;
先进先出FIFO电路,被配置为:从命令分配器顺序地接收所述多个命令中的一些命令,存储对应于所述多个命令中的所述一些命令的数据,并且顺序地输出所述多个命令中的所述一些命令;
命令仲裁器,被配置为:接收并且选择性地输出从FIFO电路接收的所述多个命令中的所述一些命令,以及从命令分配器直接接收的所述多个命令中的另外的命令。
20.根据权利要求19所述的集成电路,其中,命令仲裁器被配置为:当从FIFO电路和命令分配器一起接收命令时,根据所述命令的优先级选择性地输出所述命令。
CN201810343336.6A 2017-05-18 2018-04-17 应用处理器和集成电路 Withdrawn CN108958797A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170061642A KR20180126793A (ko) 2017-05-18 2017-05-18 커맨드 컨트롤러를 포함하는 애플리케이션 프로세서 및 집적 회로
KR10-2017-0061642 2017-05-18

Publications (1)

Publication Number Publication Date
CN108958797A true CN108958797A (zh) 2018-12-07

Family

ID=64271751

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810343336.6A Withdrawn CN108958797A (zh) 2017-05-18 2018-04-17 应用处理器和集成电路

Country Status (3)

Country Link
US (1) US20180336147A1 (zh)
KR (1) KR20180126793A (zh)
CN (1) CN108958797A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113268442A (zh) * 2020-02-14 2021-08-17 爱思开海力士有限公司 数据处理设备及其操作方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020041595A1 (en) * 2000-10-05 2002-04-11 Marc Delvaux System and method for suspending and resuming transmission of information without creating significant additional overhead
US7093047B2 (en) * 2003-07-03 2006-08-15 Integrated Device Technology, Inc. Integrated circuit memory devices having clock signal arbitration circuits therein and methods of performing clock signal arbitration
US7743376B2 (en) * 2004-09-13 2010-06-22 Broadcom Corporation Method and apparatus for managing tasks in a multiprocessor system
JP2008016117A (ja) * 2006-07-05 2008-01-24 Fujitsu Ltd テープへのデータ書込方法、テープへのデータ書込プログラム、及びテープ記憶装置
US10402120B2 (en) * 2016-07-15 2019-09-03 Advanced Micro Devices, Inc. Memory controller arbiter with streak and read/write transaction management

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113268442A (zh) * 2020-02-14 2021-08-17 爱思开海力士有限公司 数据处理设备及其操作方法

Also Published As

Publication number Publication date
US20180336147A1 (en) 2018-11-22
KR20180126793A (ko) 2018-11-28

Similar Documents

Publication Publication Date Title
US8060708B2 (en) Multiprocessor system having an input/output (I/O) bridge circuit for transferring data between volatile and non-volatile memory
CN103366801B (zh) 存储器装置及其操作方法
US10296217B2 (en) Techniques to configure a solid state drive to operate in a storage mode or a memory mode
US11403044B2 (en) Method and apparatus for performing multi-object transformations on a storage device
CN108701081A (zh) 用于同时存取非易失性存储器的多个分区的设备和方法
CN109478177A (zh) 双数据率命令总线
CN104683430A (zh) 用于从远程可访问存储设备进行初始化的技术
CN108304334A (zh) 应用处理器和包括中断控制器的集成电路
US20160179388A1 (en) Method and apparatus for providing programmable nvm interface using sequencers
US20110231599A1 (en) Storage apparatus and storage system
CN109871182A (zh) 存储装置及其操作方法及发出命令的方法
CN108292267A (zh) 总线-装置-功能地址空间的推测性枚举
CN110647359B (zh) 半导体装置、其操作方法和具有其的层叠存储装置
US20190324871A1 (en) Electronic equipment including storage device
CN110196736A (zh) 电子设备及其操作方法
US9792989B2 (en) Memory system including nonvolatile memory
US8200911B2 (en) Device having shared memory and method for controlling shared memory
CN108958797A (zh) 应用处理器和集成电路
CN110023919A (zh) 用于处理结构中非投递式存储器写入事务的方法、装置和系统
TWI820951B (zh) 藉助於預定命令來進行記憶體裝置的資料存取控制的方法及設備
CN109983443A (zh) 实现分叉非易失性存储器快速驱动器的技术
CN111694513A (zh) 包括循环指令存储器队列的存储器器件和方法
CN108427650A (zh) 存储器系统及其操作方法
CN109977041A (zh) 主机装置与嵌入式多媒体卡装置通信
JP2006031123A (ja) Usbメモリ装置およびusbメモリ装置制御プログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20181207