CN115481066A - 计算设备、总线矩阵及计算设备的操作方法 - Google Patents
计算设备、总线矩阵及计算设备的操作方法 Download PDFInfo
- Publication number
- CN115481066A CN115481066A CN202210423290.5A CN202210423290A CN115481066A CN 115481066 A CN115481066 A CN 115481066A CN 202210423290 A CN202210423290 A CN 202210423290A CN 115481066 A CN115481066 A CN 115481066A
- Authority
- CN
- China
- Prior art keywords
- address
- bus
- code
- storage device
- instruction information
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 16
- 239000011159 matrix material Substances 0.000 title claims description 14
- 230000004044 response Effects 0.000 claims abstract description 13
- 230000015654 memory Effects 0.000 claims description 94
- 238000013507 mapping Methods 0.000 claims description 18
- 238000012360 testing method Methods 0.000 description 42
- 238000010586 diagram Methods 0.000 description 26
- 238000012545 processing Methods 0.000 description 14
- 101150043088 DMA1 gene Proteins 0.000 description 11
- 101150090596 DMA2 gene Proteins 0.000 description 11
- 238000012546 transfer Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000001934 delay Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013100 final test Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 101001095089 Homo sapiens PML-RARA-regulated adapter molecule 1 Proteins 0.000 description 1
- 102100037019 PML-RARA-regulated adapter molecule 1 Human genes 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1684—Details of memory controller using multiple buses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1626—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
- G06F13/1631—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests through address comparison
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/404—Coupling between buses using bus bridges with address mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4208—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
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)
- Bus Control (AREA)
Abstract
本申请涉及经由多个总线收发信息的计算设备及其操作方法。计算设备包括主机设备和储存器设备。主机设备被配置为基于被包括在特定地址映射的代码地址映射中的代码地址经由代码总线来接收指令信息,并且基于被包括在数据地址映射中的数据地址经由与代码总线分离的系统总线来接收数据。储存器设备被配置为经由系统总线存储目标指令信息,并且响应于来自主机设备的对被包括在代码地址映射中并且与目标指令信息相对应的对象代码地址的请求,经由代码总线向主机设备提供目标指令信息。
Description
技术领域
本发明构思涉及计算设备,更具体地,涉及被配置为经由多个总线收发信息的计算设备。
背景技术
系统可以包括用于提供各种功能和高性能的多个功能块。系统的功能块中的每个功能块可以执行设计的和/或编程的操作,并与其他功能块通信。在这种情况下,每个功能块可以经由一个总线收发指令信息或数据。
当经由一个总线收发信息时,在顺序执行一系列命令的过程中,可能会出现数据路径中的瓶颈现象或存储器位置处的延迟现象。因此,计算设备的操作中可能出现延迟或错误,并且系统的性能可能受到影响。
发明内容
提供了一种使用改进的计算设备的高效信息收发方法,当经由多个总线收发信息时,该方法使用有限的总线资源(例如,仅使用有限的总线资源)。
根据一些示例实施例,计算设备可以包括主机设备和储存器设备。主机设备可以被配置为基于被包括在特定地址映射的代码地址映射中的代码地址经由代码总线来接收指令信息,以及基于被包括在数据地址映射中的数据地址经由与代码总线分离的系统总线来接收数据。储存器设备可以被配置为经由系统总线存储目标指令信息,以及响应于来自主机设备的对被包括在代码地址映射中并与目标指令信息相对应的对象代码地址的请求,经由代码总线向主机设备提供目标指令信息。
在一些示例实施例中,总线矩阵可以包括连接到储存器设备的第一总线和第二总线。第一总线可以被配置为收发被包括在特定地址映射的第一地址映射中的地址信息。第二总线可以被配置为收发被包括在特定地址映射的第二地址映射中的地址信息。第一总线可以被配置为存储从外部储存器设备接收的并且被映射到被包括在第一地址映射中的第一地址的对象信息。第二总线可以被配置为响应于基于与第一地址分离并且被包括在第二地址映射中的第二地址从主机设备请求对象信息,从储存器设备向主机设备提供对象信息。
在一些示例实施例中,包括主机设备和储存器设备的计算设备的操作方法可以包括:经由系统总线接收被包括在特定地址映射的数据地址映射中的对象数据地址已经映射到的对象信息;将对象信息存储到储存器设备;从主机设备向储存器设备请求被包括在代码地址映射中的对象代码地址;以及响应于该请求,经由与系统总线分离的代码总线向主机设备提供对象信息。
附图说明
从以下结合附图的详细描述中,将更清楚地理解本发明构思的示例实施例,附图中:
图1是根据一些示例实施例的计算设备的配置的示意框图;
图2是根据一些示例实施例的预先指定的地址映射的图;
图3是根据一些示例实施例的其中计算设备经由系统总线接收指令信息和数据的示例的图;
图4是其中根据一些示例实施例的计算设备经由彼此不同的总线收发指令信息和数据的示例的图;
图5是本发明构思的计算设备的操作方法的流程图;
图6是其中本发明构思的计算设备的主机设备经由彼此不同的总线从一个储存器设备接收指令信息和数据的示例的图;
图7是本发明构思的总线矩阵图;
图8是根据一些示例实施例的储存器设备的配置的图;
图9是根据一些示例实施例的地址的图;
图10是根据一些示例实施例的计算设备的操作方法的流程图;
图11A是根据一些示例实施例的测试设备的配置的框图,并且图11B是根据一些示例实施例的测试设备的配置的框图;
图12是根据一些示例实施例的还包括解密模块的计算设备的框图;并且
图13是根据一些示例实施例的计算设备的图。
具体实施方式
在下文中,将参考附图详细描述本发明构思的一些示例实施例。
图1是根据一些示例实施例的计算设备1的配置的示意框图。
参考图1,本发明构思的计算设备1可以经由多个总线收发信息。计算设备1可以被配置有诸如台式计算机、工作站和服务器的固定计算系统,或者被配置有诸如膝上型计算机的便携式计算系统。如图1所示,计算设备1可以包括储存器设备10、主机设备20、多个直接存储器访问设备(direct memory access,DMA)50和60以及外部接口70,并且每个组件可以通过连接到至少一个总线来收发信息。
储存器设备10、主机设备20、第一DMA(DMA 1)50和第二DMA(DMA 2)60可以经由系统总线30彼此连接,并且储存器设备10、主机设备20和外部接口70可以经由代码总线40彼此连接。尽管在根据一些示例实施例(包括图1所示的示例实施例)的计算设备1中,不同的DMA可以向系统总线30提供指令信息INST和数据DATA,但是根据本发明构思的计算设备1不限于此,并且一个DMA也可以接收指令信息INST和数据DATA。当一个DMA接收到指令信息INST和数据DATA时,指令信息INST和数据DATA可以通过分配与指令信息INST和数据DATA中的每一个相对应的地址而被提供给系统总线30。因此,计算设备1可以包括至少一个直接存储器访问设备(DMA),DMA被配置为向储存器设备10提供(其中“提供”等在本文中可互换地被称为“传输”等)从外部储存器设备接收的指令信息INST和数据DATA。
指令信息INST可以包括用于由主机设备20基于存储在储存器设备10中的数据DATA执行一系列计算操作的代码信息,并且可以包括例如用于执行安全引导(secureboot)和测试操作的代码信息。
主机设备20可以被称为处理单元,并且可以包括诸如微处理器、应用处理器(application processor,AP)、数字信号处理器(digital signal processor,DSP)和图形处理单元(graphics processing unit,GPU)的核心,其能够执行多种指令集(例如,英特尔架构-32(IA-32))、IA-32的64位扩展、x86-64、PowerPC、可扩展处理器架构(scalableprocessor architecture,SPARC)、无互锁流水线级的微处理器(microprocessor withoutinterlocked pipeline stages,MIPS)、Acorn精简指令集计算机(reduced instructionset computer,RISC)机器(Acorn RISC machine,ARM)、英特尔架构(IA-64)。
本发明构思的主机设备20可以通过经由系统总线30访问储存器设备10来加载存储在储存器设备10中的数据DATA,并且可以通过经由代码总线40访问储存器设备10来加载存储在储存器设备10中的指令信息INST。
储存器设备10可以存储指令信息INST和数据DATA,并且还包括由主机设备20用于路由总线的程序。根据一些示例实施例,程序可以包括可由主机设备20执行的多个命令,并且被包括在程序中的多个命令可以允许主机设备20执行路由总线的操作。
储存器设备10可以包括易失性存储器,诸如静态随机存取存储器(random accessmemory,RAM)(static random access memory,SRAM)和动态RAM(dynamic RAM,DRAM)、闪存和非易失性存储器,诸如电阻式RAM(resistance RAM,RRAM)、磁阻式RAM(magneticresistive RAM,MRAM)和相变RAM(phase change RAM,PRAM)。在下文中,储存器设备10被描述为SRAM,但是可以理解,本发明构思的技术思想不限于此。
储存器设备10可以存储要由主机设备20处理的数据DATA和指令信息INST,或者也可以存储由主机设备20处理的数据DATA。换句话说,主机设备20可以通过根据指令信息INST处理存储在储存器设备10中的数据DATA来生成数据DATA,并且还可以将生成的数据DATA存储在储存器设备中。
系统总线30和代码总线40可以具有离散的(例如,分离的)物理空间,并且还可以包括传输通道,信息通过传输通道传输。根据一些示例实施例,存储在储存器设备10中的数据DATA可以被提供给主机设备20,并且存储在储存器设备10中的代码信息可以经由代码总线40被提供给主机设备20。换句话说,与经由一个总线收发信息的一些示例实施例相比,本发明构思的储存器设备10和主机设备20可以经由多个总线收发与每个总线相对应的信息,并且因此可以减少或防止瓶颈现象。
系统总线30可以连接到多个DMA,并且每个DMA可以向系统总线30提供来自外部存储器设备的指令信息INST和数据DATA。
系统总线30可以包括地址总线、数据总线和控制总线。当数据DATA从储存器设备10被提供给主机设备20或者存储在储存器设备10中时,地址总线可以包括经由其收发与数据DATA相对应的地址的总线。控制总线可以包括用于控制数据总线和地址总线收发控制信号的总线。系统总线30对于在储存器设备10中存储来自DMA的大量数据DATA可能是有利的,但是与代码总线40相比,系统总线30可能具有更慢的即时将数据DATA提取到主机设备20的传输速度。
被配置为与系统总线30离散的总线(例如,分离的总线)的代码总线40可以包括用于经由储存器设备10或外部接口70提取指令信息INST到主机设备20的总线,并且与系统总线30相比,在即时获取指令信息INST方面可以具有更快的传输速度。
DMA 1 50和DMA 2 60可以分离于主机设备20执行将指令信息INST和数据DATA存储在储存器设备10中的操作,并且可以通过加载外部储存器设备的信息并分配与储存器设备10相对应的地址来将指令信息INST和数据DATA存储在储存器设备10中。
作为示例,DMA 1 50可以在主机设备20执行一系列操作之前从外部存储器设备接收指令信息INST,并且通过将与储存器设备10相对应的地址分配给接收到的指令信息INST来将接收到的指令信息INST存储在储存器设备10中。类似地,DMA 2 60可以从外部存储器设备接收数据DATA,并且可以通过将与储存器设备10相对应的地址分配给接收到的数据DATA来存储接收到的数据DATA。
本发明构思的计算设备1的主机设备20可以基于被包括在特定(或,替换地,预定义)地址映射的代码地址映射中的代码地址,经由代码总线40接收指令信息INST,并且可以基于被包括在数据地址映射中的数据地址,经由与代码总线40离散的系统总线30接收数据DATA。在这种情况下,储存器设备10可以经由系统总线30存储目标指令信息,并且当与目标指令信息相对应的对象代码地址(例如,与目标指令信息相对应、映射到目标指令信息或者目标指令信息映射到的特定代码地址ADDR_CODE,其中特定代码地址ADDR_CODE是被包括在代码地址映射中的代码地址ADDR_CODE之一,该代码地址映射也是主机设备20接收指令信息INST所基于的代码地址的代码地址映射)被主机设备20请求(例如,响应于主机设备对与目标指令信息相对应的对象代码地址的请求,响应于从主机设备接收对与目标指令信息相对应的对象代码地址的请求等)时,储存器设备10可以经由代码总线40向主机设备20提供目标指令信息。如本文所述,对与指令信息相对应的代码地址的请求可以是和/或可以包括对与可以在请求中指定的特定代码地址相对应的信息的请求(例如,来自主机设备20的对与目标指令信息相对应的对象代码地址的请求可以包括对与在请求中指定的特定对象代码地址ADDR_CODE相对应的信息的请求)。因此,主机设备20可以基于被包括在代码地址映射中的对象代码地址ADDR_CODE来接收目标指令信息。
换句话说,根据本发明构思的一些示例实施例,即使当离散地址映射(例如,分离的地址映射)被分配给多个总线中的每一个时,计算设备1也可以通过(例如,基于)区分当信息被存储在储存器设备10中时传输信息所经由的总线的类型和从储存器设备10向主机设备20提供信息所经由的总线的类型来进行操作。作为示例,本发明构思的计算设备1可以经由系统总线30存储信息,当信息被存储在储存器设备10中时,系统总线30更好地用于存储信息,并且可以经由代码总线40传输信息,用于当信息被提供给主机设备20时以快速传输速度提供信息。
图2是根据一些示例实施例的预先指定的地址映射的图。
在要求高安全级别的计算设备中,根据主机设备20所请求的地址而开放(open)的总线可以是预先由地址映射特定(或者,替换地,预定义)。参考图2,地址映射可以包括代码地址映射、数据地址映射、外围(peripheral)地址映射、私有外围地址(例如,ADDR_PRIV)映射,并且分别与地址映射相对应的总线可以是开放的。
作为示例,当主机设备20从被包括在特定(或,替换地,预定义)地址映射的代码地址映射中的地址请求信息时,该信息可以经由代码总线40被提供给主机设备20。相比之下,当主机设备20从地址映射的数据地址映射中包括的地址请求信息时,该信息可以经由系统总线30被提供给主机设备20。
此外,当来自DMA或外部接口70的信息存储在储存器设备10中时,可以根据将信息提供给储存器设备10所经由的总线来确定地址。作为示例,当指令信息INST或数据DATA经由系统总线30存储在储存器设备10中时,DMA可以将数据地址映射中包括的地址分配给指令信息INST或数据DATA,并将分配的地址存储在储存器设备10中。
换句话说,根据特定(或者,替换地,预定义)地址映射,因为收发信息的总线信息被存储在分配的地址中,所以计算设备可以根据当信息被存储在储存器设备10中时信息被传输所经由的总线的类型来确定信息被从储存器设备10提供给主机设备20所经由的总线的类型。
图3是根据一些示例实施例的其中计算设备经由系统总线30接收指令信息INST和数据DATA的示例的图。
参考图3,储存器设备10可以分别从DMA 1 50和DMA 2 60接收指令信息INST和数据DATA。DMA 1 50可以将来自外部储存器设备的指令信息INST映射到数据地址ADDR_DATA,并将映射的指令信息INST提供给储存器设备10。DMA 2 60可以将来自外部储存器设备的数据DATA映射到数据地址ADDR_DATA,并将映射的数据DATA提供给储存器设备10。换句话说,DMA 1 50可以不将指令信息INST映射到用于在储存器设备10中存储指令信息INST的代码地址ADDR_CODE,而是可以将指令信息INST映射到数据地址ADDR_DATA,并将映射的指令信息INST存储在储存器设备10中。因此,计算设备1可以包括至少一个直接存储器访问设备(DMA),DMA被配置为向储存器设备10提供从外部储存器设备接收的指令信息INST和数据DATA,其中至少一个DMA被配置为将从外部储存器设备接收的指令信息INST和数据DATA映射到数据地址ADDR_DATA,并且经由系统总线30向储存器设备10提供指令信息INST和数据DATA,数据地址ADDR_DATA已经映射到指令信息INST和数据DATA和/或指令信息INST和数据DATA已经映射到数据地址ADDR_DATA。应当理解,当第一元素在本文被描述为映射到第二元素时,第一元素可以被称为第二元素映射到的元素。
DMA 1 50和DMA 2 60可以分别经由系统总线30将指令信息INST和数据DATA存储在储存器设备10中。作为示例,DMA 1 50和DMA 2 60可以经由被包括在系统总线30中的数据总线向储存器设备10提供指令信息INST和数据DATA,并且可以经由被包括在系统总线30中的地址总线向储存器设备10提供映射到指令信息INST和数据DATA的地址。在这种情况下,计算设备可以控制储存器设备10,使得映射到地址的数据DATA和指令信息INST经由被包括在系统总线30中的控制总线被写入储存器设备10中。
根据一些示例实施例,储存器设备10可以在存储来自外部储存器设备的数据DATA之前(例如,以前)预先存储指令信息INST。作为示例,计算设备可以在执行安全引导之前经由系统总线30预先从外部存储器设备接收指令信息INST,然后可以接收用于执行安全引导的数据DATA。
根据一些示例实施例,指令信息INST和数据DATA可以存储在相同外部储存器设备的彼此不同的存储器区域中,并且经由一个DMA存储在储存器设备10中。
图4是其中根据一些示例实施例的计算设备经由彼此不同的总线收发指令信息INST和数据DATA的示例的图。
参考图4,主机设备20可以基于被包括在彼此不同的地址映射中的地址来加载指令信息INST和数据DATA。主机设备20可以调用与代码地址ADDR_CODE相对应的信息用于加载指令信息INST,并且根据一些示例实施例的计算设备可以经由外部接口70从与储存器设备10离散的外部设备加载指令信息INST。换句话说,根据一些示例实施例的计算设备的储存器设备10可以连接到系统总线30(例如,可以仅连接到系统总线30),并且代码总线40可以将来自外部接口70的与代码地址映射相对应的指令信息INST提供给主机设备20。
因为经由系统总线30存储在储存器设备10中的指令信息INST与映射到其的数据地址ADDR_DATA一起存储,所以根据一些示例实施例的主机设备20可以通过调用映射到指令信息INST的数据地址ADDR_DATA经由系统总线30加载指令信息INST。换句话说,根据一些示例实施例的主机设备20可以基于数据地址ADDR_DATA经由系统总线30请求数据DATA和指令信息INST,并且储存器设备10可以经由系统总线30提供数据DATA和指令信息INST。
因此,根据一些示例实施例,当指令信息INST存储在储存器设备10中时,与代码总线40相比,计算设备可以以较慢的提取速度经由系统总线30向主机设备20提供指令信息INST。
当指定了与特定(或,替换地,预定义)地址映射相对应的总线收发信息时,在根据一些示例实施例的计算设备中,用于在储存器设备10中存储信息的总线可以不同于用于从储存器设备10向主机设备20提供信息的总线。在这种情况下,可以根据信息的类型和情况来确定用于执行每个操作的总线,并且作为示例,可以确定储存器设备10中包括的存储器控制器收发信息所经由的总线。
图5是本发明构思的计算设备的操作方法的流程图。
参考图5,当本发明构思的计算设备在储存器设备10中存储目标指令信息并将目标指令信息提供给主机设备20时,计算设备可以经由彼此不同的总线收发目标指令信息。来自外部储存器设备的目标指令信息可以存储在储存器设备10中,用于由主机设备20执行目标操作,并且可以包括提供给主机设备20的代码信息。
当根据一些示例实施例的计算设备将目标指令信息存储在储存器设备10中时,可以映射特定(或,替换地,预定义)地址映射中的与收发数据DATA所经由的总线相对应的地址。根据图2的一些示例实施例,特定(或者,替换地,预定义)地址映射的代码地址映射和数据地址映射可以包括彼此不同的地址区域。作为示例,代码地址映射可以被配置为地址区域‘0x0000_0000’到‘0x1FFF_FFFF’,并且数据地址映射可以被配置为地址区域‘0x2000_0000’到‘0x3FFF_FFFF’。
储存器设备10可以经由系统总线30从外部储存器设备接收目标指令信息(本文也被称为对象信息),数据地址ADDR_DATA(本文也被称为被包括在特定或预定义地址映射的数据地址中的对象数据地址)经由系统总线30被映射到该目标指令信息(S10)。接收的目标指令信息可以存储在储存器设备10中,并且S10可以包括将目标指令信息存储到(例如,存储在)储存器设备10中。在一些示例实施例中,目标指令信息可以被映射到特定数据地址ADDR_DATA,或者特定数据地址ADDR_DATA可以被映射到目标指令信息。在一些示例实施例中,映射到目标指令信息的特定数据地址ADDR_DATA在本文可以被称为被包括在数据地址映射中的“对象数据地址”。系统总线30可以包括总线,该总线具有慢的即时信息传输速度,但是能够容易地将来自外部储存器设备的大量信息存储在储存器设备10中。因此,系统总线30可以更方便地存储诸如目标指令信息的信息(例如,关于存储目标指令信息,对于计算设备1的高效操作速度和/或操作性能更优化)。
连接到系统总线30的DMA可以从外部储存器设备接收目标指令信息,并且可以将与系统总线30相对应的数据地址映射的地址(例如,对象数据地址)之一映射到目标指令信息。作为示例,MDA可以将作为对象数据地址的地址‘0x2000_0000’到‘0x3FFF_FFFF’之一映射到目标指令信息,并将映射的目标指令信息提供给储存器设备10。
主机设备20可以基于与目标指令信息相对应的代码地址ADDR_CODE向储存器设备10请求目标指令信息(S20)。在一些示例实施例中,与特定目标指令信息相对应的特定代码地址ADDR_CODE在本文可以被称为“对象代码地址”。S20处的请求可以是对特定代码地址ADDR_CODE的请求(例如,对被包括在代码地址映射中并与目标指令信息相对应的对象代码地址的请求)。S20可以包括从主机设备20向储存器设备10请求被包括在代码地址映射中的特定代码地址(例如,对象代码地址)。S20处的请求可以是对与在请求中指定的特定代码地址ADDR_CODE相对应(例如,映射到在请求中指定的特定代码地址ADDR_CODE)的信息的请求。与一些示例实施例不同,在本发明构思的储存器设备10和主机设备20中,代码总线40和系统总线30两者可以连接到储存器设备10,并且代码总线40和系统总线30是否开放可以根据传输到被包括在代码总线40和系统总线30中的每一个中的地址总线的地址值来确定。作为示例,当主机设备20请求地址“0x0000_0000”到“0x1FFF_FFFF”的信息时,代码总线40可以是开放的,并且当主机设备20请求地址“0x2000_0000”到“0x3FFF_FFFF”的信息时,系统总线30可以是开放的。
在这种情况下,储存器设备10可以从主机设备20接收以‘0x0000_0000’到‘0x1FFF_FFFF’中的任何一个作为代码地址ADDR_CODE的访问请求(例如,可以接收对对象代码地址ADDR_CODE的请求和/或可以接收对与对象代码地址相对应(例如,映射到对象代码地址,或者被对象代码地址映射到目标指令信息)的目标指令信息的请求,并且可以基于ADDR_CODE读取映射到‘0x2000_0000’到‘0x3FFF_FFFF’中的任何一个的目标指令信息。
储存器设备10可以经由代码总线40向主机设备20提供与对象代码地址ADDR_CODE相对应的目标指令信息(S30)。例如,S30可以包括响应于S20的请求,经由与系统总线30分离(例如,离散)的代码总线40向主机设备20提供(例如,传输)目标指令信息(例如,对象信息)。代码总线40可以包括总线,其中即时信息传输速度快,并且将存储在储存器设备10中的目标指令信息提取到主机设备20方便(例如,对于计算设备1关于提取目标指令信息的高效操作速度和/或操作性能更优化)。
因此,当本发明构思的计算设备将目标指令信息存储在储存器设备10中时,计算设备可以经由便于存储信息的系统总线30存储目标指令信息,并且当计算设备将目标指令信息提供给主机设备20时,计算设备可以经由便于提取指令信息的代码总线40提供目标指令信息,因此,计算设备可以根据信息的功能和情况选择总线来收发信息。
因此,基于储存器设备10经由便于存储信息的(例如,由于在具有慢的即时信息传输速度时能够容易地存储大量信息用于存储信息,所以对于存储信息更加优化)的系统总线30存储目标指令信息,并且经由便于提取指令信息(例如,由于具有快速的即时信息传输速度,对于获取信息更为优化)的分离的(例如,离散的)代码总线40向主机设备提供目标指令信息,至少部分地基于经由对于这些功能更为优化(例如,方便)的总线执行的存储和提取(例如,提供)目标指令信息,可以提高计算设备的效率和/或性能。基于储存器设备10经由系统总线30存储目标指令信息并经由分离的(例如,离散的)代码总线40向主机设备20提供目标指令信息,计算设备1可以被配置为减少或防止计算设备1中的数据路径中的瓶颈现象或存储器位置处的延迟现象的出现。因此,计算设备可以被配置为减少或防止计算设备1的操作中的延迟或错误的出现,并且因此可以提高计算设备1的操作性能和/或操作速度。
图6是其中本发明构思的计算设备的主机设备20经由彼此不同的总线从一个储存器设备10接收指令信息INST和数据DATA的示例的图。
参考图6,计算设备的主机设备20和储存器设备10可以经由代码总线40和系统总线30收发与每个总线相对应的信息。当主机设备20请求经由代码总线40从储存器设备10访问代码地址ADDR_CODE时,储存器设备10可以基于代码地址ADDR_CODE来读取指令信息INST。作为示例,代码地址ADDR_CODE可以是‘0x0000_0000’到‘0x1FFF_FFFF’的地址,并且储存器设备10可以基于代码地址ADDR_CODE的偏移地址来确定要访问的存储器区域。
类似地,当主机设备20请求经由系统总线30从储存器设备10访问数据地址ADDR_DATA时,储存器设备10可以基于数据地址ADDR_DATA来读取数据DATA。作为示例,数据地址ADDR_DATA可以是地址“0x2000_0000”到“0x3FFF_FFFF”,并且储存器设备10可以基于数据地址ADDR_DATA的偏移地址来确定要访问的存储器区域。
图7是本发明构思的总线矩阵图。
本发明构思的总线矩阵可以包括至少一个通道,该通道被配置为在至少一个主块(master block)和至少一个从块(slave block)之间传输信号。主块可以包括作为总线利用主体的组件,并且包括主机设备20、DMA 1 50和DMA2 60。从块可以包括由主块控制的组件,并且可以包括外部接口70、储存器设备10和高级高性能总线(advanced high-performance bus,AHB)桥80。
参考图7,主机设备20可以经由代码总线40和系统总线30连接到储存器设备10。主机设备20可以在基于代码地址ADDR_CODE请求指令信息INST时开放代码总线40,并且可以在基于数据地址ADDR_DATA请求数据DATA时开放系统总线30。根据一些示例实施例,主机设备20还可以经由代码总线40从外部接口70接收指令信息INST。此外,主机设备20可以经由系统总线30从AHB桥80接收数据DATA。从AHB桥80接收的数据DATA可以是主机设备20基于一些示例实施例(包括图2所示的示例实施例)的外围地址ADDR_PERI映射请求的数据DATA。
DMA 1 50可以经由系统总线30将指令信息INST存储在储存器设备10中,并且DMA2 60可以经由系统总线30将数据DATA存储在储存器设备10中。根据一些示例实施例,DMA 260还可以经由系统总线30从AHB桥80接收数据DATA。
图8是根据一些示例实施例的储存器设备10的配置的图。
参考图8,本发明构思的储存器设备10可以包括存储器控制器110和存储器设备120,并且存储器控制器110可以包括总线选择器111、命令生成器112和控制信号生成器113。总线选择器111、命令生成器112和控制信号生成器113可以被配置有彼此不同的硬件模块,但是本发明构思的存储器控制器110不限于此,并且可以配置为执行彼此不同功能的硬件和软件模块。作为示例,存储器设备120可以经由多个通道连接到存储器控制器110,并且存储器设备120可以包括易失性存储器,诸如SRAM和DRAM,以及非易失性存储器,诸如闪存、RRAM、MRAM和PRAM等。
响应于从主机设备20接收到读取请求的情况,存储器控制器110可以向存储器设备120提供地址、命令CMD和控制信号CTRL,使得存储在存储器设备120中的数据DATA或指令信息INST被读取。存储器设备120可以基于存储器控制器110的地址、命令CMD和控制信号CTRL向主机设备20提供数据DATA或指令信息INST。
根据一些示例实施例,存储器控制器110的命令生成器112可以基于从主机设备20接收的命令CMD生成要提供给存储器设备120的命令CMD,并且命令CMD可以包括指示读取/写入操作的代码信息。存储器控制器110的控制信号生成器113可以生成要提供给存储器设备120的控制信号CTRL,并且控制信号CTRL可以包括控制存储器设备120的代码信息,从而生成用于执行读取/写入操作的各种类型的电压。
存储器控制器110可以基于主机设备20请求的地址ADDR来访问存储器设备120的存储器区域。根据一些示例实施例,存储器控制器110可以基于主机设备20请求的地址ADDR的一些地址来访问存储器区域。一些地址可以是主机设备20所请求的地址的偏移地址,并且稍后将参考图9详细描述该地址的配置。
在这种情况下,本发明构思的存储器控制器110的总线选择器111可以基于从主机设备20接收的地址来选择总线以向主机设备20提供指令信息INST。根据一些示例实施例,可以基于主机设备20请求的地址中的一些地址来选择总线。一些地址可以包括例如主机设备20请求的地址的基本地址。
当基本地址对应于代码地址ADDR_CODE时,总线选择器111可以经由代码总线40向主机设备20提供指令信息INST,并且当基本地址对应于数据地址ADDR_DATA时,总线选择器111可以经由系统总线30向主机设备20提供指令信息INST。
图9是根据一些示例实施例的地址ADDR的图。如图9所示,地址ADDR可以包括基本地址BASE ADDR和偏移地址OFFSET ADDR。
参考图9,根据一些示例实施例的代码地址ADDR_CODE和数据地址ADDR_DATA可以被配置为基本地址BASE ADDR和偏移地址OFFSET ADDR。例如,本文所述的对象数据地址ADDR_DATA和本文所述的对象代码地址ADDR_CODE可以各自被配置有(例如,可以包括)各自的基本地址BASE ADDR和偏移地址OFFSET ADDR。偏移地址OFFSET ADDR可以指示取决于加载或存储信息的对象存储器区域的字节数量,并且基本地址BASE ADDR可以指示对应于信息的地址映射区域。换句话说,根据一些示例实施例的存储器控制器可以通过解码地址的偏移地址OFFSET ADDR来确定存储或加载信息的存储器区域。在这种情况下,存储器控制器可以通过解码地址的基本地址BASE ADDR来确定要开放的总线。例如,参考图8和图9,存储器控制器110(例如,存储器控制器110的总线选择器111)可以被配置为基于从主机设备20请求的地址的基本地址(例如,基于与目标指令信息相对应的对象代码地址ADDR_CODE的基本地址BASE_ADDR,其中可以在储存器设备10处从主机设备20接收的请求中请求和/或指定对象代码地址ADDR_CODE)来选择目标指令信息被从储存器设备提供给主机设备所经由的总线,并且存储器控制器110可以被配置为基于从主机设备请求的和/或被包括在从主机设备接收的请求中的地址的偏移地址(例如,基于被包括在来自主机设备20的请求中的与目标指令信息相对应的对象代码地址ADDR_CODE的偏移地址OFFSET_ADDR)来选择要定位的存储器区域。存储器控制器110可以被配置为基于将可能与特定存储器区域相关联的特定数据地址ADDR_DATA(例如,对象数据地址)和特定代码地址ADDR_CODE(例如,对象代码地址)映射到目标指令信息,将目标指令信息存储在特定存储器区域中。
根据一些示例实施例的计算设备可以通过将基本地址BASE ADDR和偏移地址OFFSET ADDR相加来确定整个地址。例如,当基本地址BASE ADDR为‘0x0000_0000’,并且偏移地址OFFSET ADDR为‘0x1FFF_FFFF’时,整个地址可能为‘0x1FFF_FFFF’。本文描述的对象数据地址ADDR_DATA和本文描述的对象代码地址ADDR_CODE可以被配置有(例如,可以包括)彼此相同的偏移地址OFFSET_ADDR和不同的基本地址BASE_ADDR。
根据一些示例实施例,本发明构思的计算设备可以具有在存储目标指令信息时已经映射的地址,该地址不同于在读取目标指令信息时的地址。然而,当该地址被配置有相同的偏移地址OFFSET ADDR时,计算设备可以通过使用数据地址ADDR_DATA经由系统总线30将目标指令信息存储在储存器设备10中,并且可以通过使用代码地址ADDR_CODE经由代码总线40将目标指令信息从储存器设备10提供给主机设备20。
因此,即使在存储目标指令信息时映射的数据地址ADDR_DATA不同于在加载目标指令信息时请求的代码地址ADDR_CODE,当偏移地址OFFSET ADDR相同时,计算设备也可以访问存储目标指令信息的存储器区域。
作为示例,当特定(或者,替换地,预定义)地址映射的地址“0x0000_0000”到“0x1FFF_FFFF”被分配给代码地址ADDR_CODE,并且地址“0x2000_0000”到“0x3FFF_FFFF”被分配给数据地址ADDR_DATA时,最上面的字节到第三个字节可以成为基本地址,除基本地址之外的其他字节可以成为偏移地址。因此,当最上面的字节到第三字节是‘0x0’和‘0x1’时,信息可以经由代码总线40传输,而当最上面的字节到第三字节是‘0x2’和‘0x3’时,信息可以经由系统总线30传输。
然而,本发明构思的存储器控制器不限于此,并且存储器控制器可以解码数据地址ADDR_DATA和代码地址ADDR_CODE,使得在存储目标指令信息时映射的数据地址ADDR_DATA和在加载目标指令信息时请求的代码地址ADDR_CODE访问相同的存储器区域。换句话说,即使接收到不同的地址,存储器控制器也可以被编程为访问一个存储器区域。
图10是根据一些示例实施例的计算设备的操作方法的流程图。
参考图10,在本发明构思的计算设备中,主机设备20和储存器设备10可以经由包括第一总线31和第二总线41的多个总线(例如,总线矩阵,参考图7)收发指令信息INST。作为示例,第一总线31可以包括系统总线,并且第二总线41可以包括代码总线。此外,经由第一总线31和第二总线41接收的信息可以基于与每个总线相对应的地址区域来收发。
第一总线31可以连接到储存器设备10。第一总线31可以被配置为收发被包括在特定(或,替换地,预定义)地址映射的第一地址映射(例如,数据地址映射)中的地址信息。第二总线41可以被配置为收发被包括在特定地址映射的第二地址映射(例如,代码地址映射)中的地址信息。第一总线31可以向储存器设备10提供指令信息INST(S1100)。S1100可以被理解为包括经由系统总线(例如,第一总线31)接收特定地址映射的数据地址映射中包括的对象数据地址已经映射到的目标指令信息(例如,对象信息),并且将目标指令信息存储在储存器设备10中。参考图12,经由系统总线(例如,第一总线31)接收目标指令信息可以包括基于解密从外部储存器设备(例如,经由解密模块90c)接收的信息来生成目标指令信息。参考图12,在S1100经由第一总线31(例如,系统总线)接收目标指令信息可以包括基于使用至少一个直接存储器访问设备(例如,DMA 1 50c)将目标指令信息映射到对象数据地址。
在这种情况下,与第一总线31相对应的第一地址可以通过外部接口或DMA被映射到指令信息INST,并且第一总线31可以向储存器设备10提供指令信息INST。例如,在指令信息INST包括或被包括在“对象信息”中的情况下,第一总线31可以被配置为存储从外部储存器设备接收并且被映射到被包括在第一地址映射中的第一地址的对象信息(其可以包括指令信息INST)(例如,第一地址被映射到的对象信息)。第一地址可以是本文描述的对象数据地址。在S1100将目标指令信息存储到储存器设备10可以包括基于对象数据地址(例如,第一地址)的偏移地址将目标指令信息存储在储存器设备10的对象存储器区域中。
主机设备20可以从第二总线41请求与第二地址相对应的指令信息INST(S1200)。第二地址可以是本文描述的对象代码地址。第一地址可以包括指示第一总线31“开放”的地址,并且第二地址可以包括指示第二总线41“开放”的地址。在一些示例实施例中,第一地址可以是数据地址ADDR_DATA,并且第二地址可以是代码地址ADDR_CODE。第一地址和第二地址可以各自包括各自的基本地址和各自的偏移地址,并且第一和第二地址可以被配置有(例如,包括)相同的偏移地址和彼此不同的基本地址。第二总线41可以被配置为基于第二地址的基本地址被选择为将对象信息提供给主机设备20所经由的总线。根据一些示例实施例,第一地址的基本地址可以不同于第二地址的基本地址,并且主机设备20可以基于要加载的地址的基本地址来确定要开放的总线。
第二总线41可以基于主机设备20请求的第二地址从储存器设备10请求指令信息INST(S1300)。储存器设备10的存储器控制器可以通过解码第二地址的偏移地址来加载与偏移地址相对应的指令信息INST。在这种情况下,当第一地址的偏移地址与第二地址的偏移地址相同时,存储器控制器可以从与操作S1100中存储指令信息INST的存储器区域相同的存储器区域加载指令信息INST。S1200和S1300可以共同包括(例如,经由第二总线41)请求被包括在从主机设备20到储存器设备10的代码地址映射中的对象代码地址(例如,第二地址)。
储存器设备10可以向第二总线41提供与第二地址相对应的指令信息INST(S1400),并且第二总线41可以向主机设备20提供与第二地址相对应的指令信息INST(S1500)。第二总线41可以基于与第一地址分离(例如,离散)并且被包括在第二地址映射中的第二地址(例如,对象代码地址),响应于从主机设备请求的对象信息(例如,指令信息INST)(例如,经由S1200和S1300),从储存器设备10向主机设备20提供“对象信息”。第一总线31可以被配置为被控制,使得第一地址已经被映射到的对象信息被存储在储存器设备10的特定存储器区域(例如,对象存储器区域)中,并且第二总线41可以被配置为基于第二地址向主机设备20提供存储在对象存储器区域中的对象信息。
换句话说,本发明构思的计算设备可以通过向储存器设备10提供指令信息INST来存储指令信息INST,并且当经由与第一总线31离散的第二总线41请求传输指令信息INST时,主机设备20可以经由第二总线41从储存器设备10接收指令信息INST。因此,即使当根据特定(或,替换地,预定义)地址映射收发信息时,本发明构思的计算设备也可以经由更好的用于存储或加载信息的总线传输信息。
S1400和S1500可以共同包括响应于请求经由与系统总线(例如,第一总线31)分离的代码总线(例如,第二总线41)向主机设备20提供目标指令信息(例如,对象信息)。在S1400和S1500的提供可以包括基于对象代码地址(例如,第二地址)的基本地址来确定提供目标指令信息(例如,对象信息)所经由的总线为代码总线(例如,第二总线41),并且基于对象代码地址(例如,第二地址)的偏移地址来选择要从储存器设备10加载的存储器区域。向主机设备20提供目标指令信息可以包括基于对象代码地址(例如,第二地址)的偏移地址从储存器设备10的对象存储器区域访问目标指令信息。参考图12,在S1400和S1500的提供可以包括至少暂时地存储经由代码总线(例如,第二总线41)提供给被包括在主机设备20中的高速缓冲存储器(例如,高速缓冲存储器21c)的目标指令信息。
图11A是根据一些示例实施例的测试设备的配置的框图,并且图11B是根据一些示例实施例的测试设备的配置的框图。
参考图11A,测试设备可以包括储存器设备10a、代码储存器设备80a、主机设备20a、输入/输出接口50a。输入/输出接口50a可以从外部设备接收并向测试设备提供时钟信号CLK、复位信号RST和测试代码TEST。
根据一些示例实施例的测试设备可以经由代码总线将测试引导代码从代码储存器设备80a提供给主机设备20a。在主机设备20a接收到测试引导代码之后,输入/输出接口50a可以经由系统总线向储存器设备10a提供测试代码TEST,并且主机设备20a可以通过从储存器设备10a加载测试代码TEST来在测试储存器设备81a上执行测试。测试储存器设备81a上的测试可以是例如电管芯分类(electrical die sorting,EDS)测试或最终测试(final test,FT),最终测试在储存器设备10a的封装之后执行。
根据一些示例实施例的主机设备20a可以通过经由系统总线从储存器设备10a加载测试代码TEST来执行测试,并且由于与代码总线相比相对较慢的信息获取速度,系统总线可以具有较慢的代码执行速度。
相反,参考图11B,测试设备可以经由代码总线从储存器设备10b加载测试代码TEST。因此,本发明构思的测试设备可以以比根据一些示例实施例的测试设备更快的速度在测试储存器设备81b上执行测试。
根据一些示例实施例的主机设备20b可以基于被包括在特定(或,替换地,预定义)地址映射的代码地址映射中的代码地址ADDR_CODE,经由代码总线接收测试代码TEST,并且可以基于包括在数据地址映射中的数据地址ADDR_DATA,经由与代码总线分离的系统总线接收测试代码TEST。储存器设备10b可以经由系统总线经由输入/输出接口50b存储对象测试代码,并且当主机设备20b请求与对象测试代码相对应的代码地址ADDR_CODE时,储存器设备10b可以经由代码总线向主机设备20b提供对象测试代码。
图12是根据一些示例实施例的还包括解密模块90c的计算设备的框图。
参考图12,计算设备还可以包括解密模块90c,用于解密指令信息INST。解密模块90c可以解密从DMA 1 50c接收的信息,并将解密的信息提供回DMA 1 50c,并且DMA 1 50c可以将解密的指令信息INST映射到数据地址ADDR_DATA,并将映射的指令信息INST提供给储存器设备10c。在这种情况下,解密模块90c可以连接到系统总线30c,并且与DMA 1 50c交换信息。
作为示例,解密模块90c可以包括高级加密标准(advanced encryptionstandard,AES)引擎。AES引擎可以通过使用AES算法来执行数据DATA的加密和解密,并且可以从DMA 1 50c接收信息。解密模块90c可以通过(例如,基于)使用与用于加密指令信息INST的加密密钥相同的加密密钥来解密从DMA1 50c传输的信息(其可以是和/或包括从外部储存器设备接收的信息)来生成指令信息INST。指令信息INST可以从解密模块90c传输到DMA1 50c,并且可以在被映射到数据地址ADDR_DATA之后被存储。返回参考图10,第一总线31(例如,系统总线30c)可以连接到解密模块90c,解密模块90c被配置为基于解密从外部储存器设备接收的信息来生成对象信息(例如,指令信息INST)。仍然回到图10,第一总线31(例如,系统总线30c)可以连接到至少一个直接存储器访问设备(例如,DMA 1 50c),其被配置为将从外部储存器设备接收的对象信息(例如,指令信息INST)映射到第一地址(例如,数据地址ADDR_DATA)。
此外,主机设备20c还可以包括高速缓冲存储器21c,本文也被称为指令信息高速缓冲存储器,其至少暂时地存储在主机设备20c处经由代码总线40c接收的指令信息INST。高速缓冲存储器21c可以存储经由代码总线40c从储存器设备10c提取的指令信息INST,并且可以作为主机设备20c的处理器提供用于计算数据DATA的指令信息INST。返回参考图10,第二总线41(例如,代码总线40c)可以被包括在主机设备20中,并且第二总线41(例如,代码总线40c)可以被配置为向指令信息高速缓冲存储器(例如,高速缓冲存储器21c)提供对象信息(例如,指令信息INST),该指令信息高速缓冲存储器被配置为至少暂时存储数据。
图13是根据一些示例实施例的计算系统1000的图。
图13的计算系统1000可以基本上包括移动系统,诸如移动电话、智能手机、平板个人计算机(personal computer,PC)、可穿戴设备、健康护理设备和物联网(Internet ofThings,IoT)设备。然而,图13的计算系统1000不一定限于移动系统,还可以包括PC、膝上型计算机、服务器、媒体播放器或诸如导航设备的汽车设备。
参考图13,计算系统1000可以包括主机设备1100、储存器设备1200a和1200b以及非易失性储存器设备1300a和1300b,此外,可以包括光学输入设备1410(例如,图像捕获设备)、用户输入设备1420、传感器1430、通信设备1440、显示器1450、扬声器1460、电源设备1470和连接接口1480中的一个或多个。
主机设备1100可以控制计算系统1000的整体操作,并且更详细地,控制构成计算系统1000的其他组件的操作。主机设备1100可以被实现为通用处理器、专用处理器、应用处理器等。
主机设备1100可以包括一个或多个中央处理单元(central processing unit,CPU)核心1110,并且可以还包括用于控制储存器设备1200a和1200b和/或非易失性储存器设备1300a和1300b的控制器1120。根据一些示例实施例,主机设备1100可以还包括加速器块1130,加速器块1130是用于诸如人工智能(artificial intelligence,AI)数据计算的高速数据计算的专用电路。加速器块1130可以包括图形处理单元(graphics processingunit,GPU)、神经处理单元(neural processing unit,NPU)和/或数据处理单元(dataprocessing unit,DPU)等,并且可以用物理上分离于其他组件的离散芯片来实现。
储存器设备1200a和1200b可以用作计算系统1000的主储存器设备,并且可以包括易失性存储器,诸如SRAM和/或DRAM,但是也可以包括非易失性存储器,诸如闪存、PRAM和/或RRAM。储存器设备1200a和1200b可以在与主机设备1100相同的封装中实现。
非易失性储存器设备1300a和1300b可以存储数据,而不管电源如何,并且可以具有比储存器设备1200a和1200b相对更大的存储容量。非易失性储存器设备1300a和1300b可以包括存储控制器1310a和1310b以及闪存1320a和1320b,闪存1320a和1320b在存储控制器1310a和1310b的控制下存储数据。闪存1320a和1320b可以包括具有二维(2D)或三维(3D)结构的V-NAND闪存,但是也可以包括不同类型的非易失性存储器,诸如PRAM和/或RRAM。
非易失性储存器设备1300a和1300b也可以以与主机设备1100物理分离的状态被包括在计算系统1000中,并且也可以在与主机设备1100相同的封装中实现。此外,非易失性储存器设备1300a和1300b可以具有与固态驱动器(solid state drive,SSD)或存储卡的形状相同的形状,因此,也可以经由诸如稍后将描述的连接接口1480的接口与计算系统1000的其他组件可拆卸地组合。非易失性储存器设备1300a和1300b可以包括应用了诸如通用闪存(universal flash storage,UFS)、嵌入式多媒体卡(embedded multimedia card,eMMC)和非易失性快速存储器(non-volatile memory express,NVMe)的标准惯例的设备,但不一定局限于此。
根据一些示例实施例,储存器设备1200a和1200b以及主机设备1100可以经由多个总线收发信息,并且计算系统1000可以经由DMA将存储在非易失性储存器设备1300a和1300b中的信息传输到储存器设备1200a和1200b。在这种情况下,主机设备1100可以基于被包括在特定(或,替换地,预定义)地址映射的代码地址映射中的代码地址,经由代码总线接收指令信息,并且可以基于包括在数据地址映射中的数据地址,经由与代码总线分离的系统总线接收数据。储存器设备1200a和1200b可以经由系统总线存储指令信息,并且当主机设备1100请求与指令信息相对应的对象代码地址时,可以经由代码总线向主机设备1100提供目标指令信息。
光学输入设备1410可以捕获静态图像或视频图像,并且可以包括相机、摄像机和/或网络摄像机等。
用户输入设备1420可以从计算系统1000的用户接收各种类型的数据输入,并且可以包括触摸板、小键盘、键盘、鼠标和/或麦克风。
传感器1430可以感测从计算系统1000的外部获得的各种类型的物理量,并且可以将感测到的物理量转换成电信号。传感器1430可以包括温度传感器、压力传感器、照度传感器、位置传感器、加速度传感器、生物传感器和/或陀螺仪。
通信设备1440可以根据各种通信惯例在计算系统1000外部的其他设备之间执行信号的发送和接收。通信设备1440可以通过包括天线、收发器和/或调制解调器等来实现。
显示器1450和扬声器1460可以分别用作向计算系统1000的用户输出视觉信息和音频信息的输出设备。
电源设备1470可以适当地转换从嵌入在计算系统1000中的电池(未示出)和/或外部电源供应的电力,并将转换的电力提供给计算系统1000的每个组件。
连接接口1480可以提供计算系统1000和外部设备之间的连接,该外部设备连接到计算系统1000并与计算系统1000交换数据。连接接口1480可以以各种接口方法实现,接口方法诸如高级技术附件(advanced technology attachment,ATA)、串行ATA(SATA)、外部SATA(e-SATA)、小型计算机系统接口(SCSI)、串行连接SCSI(SAS)、外围组件互连(peripheral component interconnect,PCI)、PCI express(PCIe)、NVM express(NVMe)、IEEE 1394、通用串行总线(USB)、安全数字(SD)卡、多媒体卡(MMC)、嵌入式MMC(eMMC)、通用闪存存储器(UFS)、嵌入式UFS(eUFS)和紧凑型闪存(CF)卡接口。
如本文所述,根据任何示例实施例的任何设备、系统、电子设备、块、模块、单元、控制器、电路和/或其部分,和/或其任何部分(包括但不限于计算设备1、储存器设备10、主机设备20、系统总线30、代码总线40、DMA 150、DMA 2 60、外部接口70、AHB桥80、存储器控制器110、总线选择器111、命令生成器112、控制信号生成器113、存储器设备120、第一总线31、第二总线41、储存器设备10a、主机设备20a、I/O接口50a、代码储存器设备80a、测试储存器设备81a、储存器设备10b、主机设备20b、I/O接口50b、代码储存器设备80b、测试储存器设备81b、储存器设备10c、主机设备20c、高速缓冲存储器21c、系统总线30c、代码总线40c、DMA 150c、DMA 2 60c、外部接口70c、解密模块90c、计算系统1000、储存器设备1200a、储存器设备1200b、主机设备1100、CPU核心1110、控制器1120、加速器块1130、非易失性储存器设备1300a和1300b、存储控制器1310a和1310b、闪存1320a和1320b、光学输入设备1410、用户输入设备1420、传感器1430、通信设备1440、显示器1450、扬声器1460、电源设备1470和连接接口1480等)可以包括、可以被包括在处理电路的一个或多个实例中,和/或可以由诸如包括逻辑电路的硬件的处理电路、诸如执行软件的处理器的硬件/软件组合、或它们的组合的一个或多个实例实现。例如,更具体地,处理电路可以包括但不限于中央处理单元(CPU)、算术逻辑单元(ALU)、图形处理单元(GPU)、应用处理器(AP)、数字信号处理器(DSP)、微型计算机、现场可编程门阵列(FPGA)和可编程逻辑单元、微处理器、专用集成电路(ASIC)、神经网络处理单元(NPU)、电子控制单元(ECU)、图像信号处理器(ISP)等。在一些示例实施例中,处理电路可以包括存储指令程序的非暂时性计算机可读储存器设备(例如,存储器)(例如固态驱动器(SSD)),以及被配置为执行指令程序以实现由根据任何示例实施例的任何设备、系统、电子设备、块、模块、单元、控制器、电路和/或其部分和/或其任何部分中的一些或全部执行的功能和/或方法的处理器(例如,CPU)。
本文描述的任何存储器和/或储存器设备,包括但不限于储存器设备10、存储器设备120、储存器设备10a、储存器设备10b、储存器设备10c、测试储存器设备81a、测试储存器设备81b、高速缓冲存储器21c、储存器设备1200a和1200b、非易失性储存器设备1300a和1300b、闪存1320a和1320b等,可以是非暂时性计算机可读介质,并且可以存储指令程序。本文描述的任何存储器可以是非易失性存储器,诸如闪存、相变RAM(PRAM)、磁阻式RAM(MRAM)、电阻式RAM(ReRAM)或铁电RAM(FRAM),或者易失性存储器,诸如静态RAM(SRAM)、动态RAM(DRAM)或同步DRAM(SDRAM)。
虽然已经参照本发明构思的一些示例实施例具体示出和描述了本发明构思,但是应当理解,在不脱离所附权利要求的精神和范围的情况下,可以在形式和细节上进行各种改变。
Claims (20)
1.一种计算设备,包括:
主机设备,被配置为
基于被包括在特定地址映射的代码地址映射中的代码地址,经由代码总线来接收指令信息,以及
基于被包括在数据地址映射中的数据地址,经由与所述代码总线分离的系统总线来接收数据;和
储存器设备,被配置为
经由所述系统总线存储目标指令信息,以及
响应于来自所述主机设备的对被包括在所述代码地址映射中并与所述目标指令信息相对应的对象代码地址的请求,经由所述代码总线向所述主机设备提供所述目标指令信息。
2.根据权利要求1所述的计算设备,其中
所述储存器设备被配置为经由所述系统总线从外部储存器设备接收所述目标指令信息,并且
被包括在所述数据地址映射中的对象数据地址被映射到所述目标指令信息。
3.根据权利要求2所述的计算设备,其中
每个地址包括各自的基本地址和各自的偏移地址,并且
所述对象代码地址和所述对象数据地址被配置有相同的偏移地址和彼此不同的基本地址。
4.根据权利要求3所述的计算设备,其中所述储存器设备包括存储器控制器,所述存储器控制器被配置为
基于从所述主机设备请求的地址的基本地址,选择所述目标指令信息被提供给所述主机设备所经由的总线,以及
基于从所述主机设备请求的地址的偏移地址,选择要加载的存储器区域。
5.根据权利要求4所述的计算设备,其中所述存储器控制器被配置为基于将所述对象数据地址和所述对象代码地址映射到所述目标指令信息,将所述目标指令信息存储在一个存储器区域中。
6.根据权利要求1所述的计算设备,其中所述主机设备包括指令信息高速缓冲存储器,所述指令信息高速缓冲存储器被配置为至少暂时地存储经由所述代码总线接收的所述指令信息。
7.根据权利要求1所述的计算设备,还包括:
解密模块,被配置为基于解密从外部储存器设备接收的信息来生成所述目标指令信息。
8.根据权利要求1所述的计算设备,还包括:
至少一个直接存储器访问设备,被配置为向所述储存器设备提供来自外部储存器设备的所述指令信息和所述数据。
9.根据权利要求8所述的计算设备,其中所述至少一个直接存储器访问设备被配置为
将从所述外部储存器设备接收的所述指令信息和所述数据映射到所述数据地址,以及
经由所述系统总线向所述储存器设备提供映射到所述数据地址的所述指令信息和所述数据。
10.一种总线矩阵,包括:
第一总线,连接到储存器设备并被配置为收发被包括在特定地址映射的第一地址映射中的地址信息;和
第二总线,被配置为收发被包括在特定地址映射的第二地址映射中的地址信息,
其中所述第一总线被配置为存储从外部储存器设备接收的并且被映射到被包括在所述第一地址映射中的第一地址的对象信息,
其中所述第二总线被配置为响应于基于与所述第一地址分离并且被包括在所述第二地址映射中的第二地址从主机设备请求所述对象信息,从所述储存器设备向所述主机设备提供所述对象信息。
11.根据权利要求10所述的总线矩阵,其中
所述第一地址和所述第二地址每个包括各自的基本地址和各自的偏移地址,并且
所述第一地址和所述第二地址被配置有相同的偏移地址和彼此不同的基本地址。
12.根据权利要求11所述的总线矩阵,其中所述第二总线被配置为基于所述第二地址的基本地址被选择为将所述对象信息提供给所述主机设备所经由的总线。
13.根据权利要求10所述的总线矩阵,其中
所述第一总线被配置为被控制,使得所述第一地址已经映射到的对象信息被存储在所述储存器设备的对象存储器区域中,
所述第二总线被配置为基于所述第二地址向所述主机设备提供存储在所述对象存储器区域中的所述对象信息。
14.根据权利要求10所述的总线矩阵,其中
所述第二总线被包括在所述主机设备中,并且
所述第二总线被配置为向指令信息高速缓冲存储器提供所述对象信息,所述指令信息高速缓冲存储器被配置为至少暂时地存储数据。
15.根据权利要求10所述的总线矩阵,其中所述第一总线连接到解密模块,所述解密模块被配置为基于解密从所述外部储存器设备接收的信息来生成所述对象信息。
16.根据权利要求10所述的总线矩阵,其中所述第一总线连接到至少一个直接存储器访问设备,所述至少一个直接存储器访问设备被配置为将从所述外部储存器设备接收的所述对象信息映射到所述第一地址。
17.一种包括主机设备和储存器设备的计算设备的操作方法,所述操作方法包括:
经由系统总线接收被包括在特定地址映射的数据地址映射中的对象数据地址已经映射到的对象信息;
将所述对象信息存储到所述储存器设备;
从所述主机设备向所述储存器设备请求被包括在代码地址映射中的对象代码地址;以及
响应于所述请求,经由与所述系统总线分离的代码总线向所述主机设备提供所述对象信息。
18.根据权利要求17所述的操作方法,其中
每个地址包括各自的基本地址和各自的偏移地址,并且
所述对象代码地址和所述对象数据地址被配置有相同的偏移地址和不同的基本地址。
19.根据权利要求18所述的操作方法,其中向所述主机设备提供所述对象信息包括:
基于所述对象代码地址的基本地址,将所述对象信息被提供所经由的总线确定为所述代码总线;以及
基于所述对象代码地址的偏移地址,选择要从所述储存器设备加载的存储器区域。
20.根据权利要求19所述的操作方法,其中
将所述对象信息存储到所述储存器设备包括基于所述对象数据地址的偏移地址将所述对象信息存储在所述储存器设备的对象存储器区域中,
其中向所述主机设备提供所述对象信息包括基于所述对象代码地址的偏移地址从所述储存器设备的对象存储器区域访问所述对象信息。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210070109A KR20220161852A (ko) | 2021-05-31 | 2021-05-31 | 복수의 버스들로 정보를 송수신하는 컴퓨팅 장치 및 이의 동작 방법 |
KR10-2021-0070109 | 2021-05-31 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115481066A true CN115481066A (zh) | 2022-12-16 |
Family
ID=84192995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210423290.5A Pending CN115481066A (zh) | 2021-05-31 | 2022-04-21 | 计算设备、总线矩阵及计算设备的操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11907120B2 (zh) |
KR (1) | KR20220161852A (zh) |
CN (1) | CN115481066A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116775542A (zh) * | 2023-08-22 | 2023-09-19 | 成都芯脉微电子有限责任公司 | 一种ai芯片、系统及数据处理方法 |
CN118427131A (zh) * | 2024-07-04 | 2024-08-02 | 江苏云途半导体有限公司 | 一种多核系统芯片存储的动态分配方法和系统 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230315661A1 (en) * | 2022-04-01 | 2023-10-05 | Texas Instruments Incorporated | Methods and apparatus to configure an integrated circuit using a direct memory access controller |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7707354B2 (en) | 1999-08-04 | 2010-04-27 | Super Talent Electronics, Inc. | SRAM cache and flash micro-controller with differential packet interface |
US7761653B2 (en) | 1999-08-04 | 2010-07-20 | Super Talent Electronics, Inc. | Flash micro-controller with shadow boot-loader SRAM for dual-device booting of micro-controller and host |
US7065639B2 (en) | 2000-12-29 | 2006-06-20 | Hewlett-Packard Development Company, L.P. | Utilization of SRAM in an execution of initialization code process upon system start up |
US7296143B2 (en) | 2004-06-22 | 2007-11-13 | Lenovo (Singapore) Pte. Ltd. | Method and system for loading processor boot code from serial flash memory |
US8533439B2 (en) * | 2005-11-07 | 2013-09-10 | Atmel Corporation | Elastic shared RAM array including contiguous instruction and data portions distinct from each other |
US20090113175A1 (en) * | 2007-10-30 | 2009-04-30 | Broadcom Corporation | Processor architecture for concurrently fetching data and instructions |
JP2009134391A (ja) * | 2007-11-29 | 2009-06-18 | Renesas Technology Corp | ストリーム処理装置、ストリーム処理方法及びデータ処理システム |
US9086989B2 (en) | 2011-07-01 | 2015-07-21 | Synopsys, Inc. | Extending processor MMU for shared address spaces |
KR20130021704A (ko) * | 2011-08-23 | 2013-03-06 | 삼성전자주식회사 | 멀티포트 메모리 소자, 이를 포함하는 반도체 장치 및 시스템 |
US20130111181A1 (en) * | 2011-10-31 | 2013-05-02 | Lsi Corporation | Methods and apparatus for increasing device access performance in data processing systems |
US10078606B2 (en) * | 2015-11-30 | 2018-09-18 | Knuedge, Inc. | DMA engine for transferring data in a network-on-a-chip processor |
CN112306558A (zh) * | 2019-08-01 | 2021-02-02 | 杭州中天微系统有限公司 | 处理单元、处理器、处理系统、电子设备和处理方法 |
-
2021
- 2021-05-31 KR KR1020210070109A patent/KR20220161852A/ko active Search and Examination
-
2022
- 2022-04-21 US US17/726,049 patent/US11907120B2/en active Active
- 2022-04-21 CN CN202210423290.5A patent/CN115481066A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116775542A (zh) * | 2023-08-22 | 2023-09-19 | 成都芯脉微电子有限责任公司 | 一种ai芯片、系统及数据处理方法 |
CN116775542B (zh) * | 2023-08-22 | 2023-11-03 | 成都芯脉微电子有限责任公司 | 一种ai芯片、系统及数据处理方法 |
CN118427131A (zh) * | 2024-07-04 | 2024-08-02 | 江苏云途半导体有限公司 | 一种多核系统芯片存储的动态分配方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
KR20220161852A (ko) | 2022-12-07 |
US11907120B2 (en) | 2024-02-20 |
US20220382675A1 (en) | 2022-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11907120B2 (en) | Computing device for transceiving information via plurality of buses, and operating method of the computing device | |
CN115495389B (zh) | 存储控制器、计算存储装置以及计算存储装置的操作方法 | |
US20190004737A1 (en) | Method and apparatus for performing multi-object transformations on a storage device | |
CN111723030B (zh) | 存储器系统及存储器系统的控制方法 | |
US20180314467A1 (en) | Storage device, computing system including the storage device, and method of operating the storage device | |
CN108304334B (zh) | 应用处理器和包括中断控制器的集成电路 | |
US20160062659A1 (en) | Virtual memory module | |
US11048644B1 (en) | Memory mapping in an access device for non-volatile memory | |
US20220100425A1 (en) | Storage device, operating method of storage device, and operating method of computing device including storage device | |
KR20200057397A (ko) | 메모리를 공유하는 이종의 프로세서들을 포함하는 스토리지 장치 및 그것의 동작 방법 | |
US20230229357A1 (en) | Storage controller, computational storage device, and operational method of computational storage device | |
US20240086113A1 (en) | Synchronous write method and device, storage system and electronic device | |
EP4148572B1 (en) | Computational storage device and storage system including the computational storage device | |
KR20210043001A (ko) | 하이브리드 메모리 시스템 인터페이스 | |
CN115469800A (zh) | 数据处理系统以及用于访问异构存储器系统的方法 | |
EP4198746A2 (en) | Multi-core processor and storage device | |
US20230409495A1 (en) | Storage device, operation method of the storage device, and electronic system including the storage device | |
EP4428699A1 (en) | Memory device and method for scheduling block request | |
US11137921B2 (en) | Data storage device and system | |
US11914879B2 (en) | Storage controller and storage system comprising the same | |
US20240220667A1 (en) | Storage device and computing device including the same | |
KR20170012934A (ko) | 객체-지향 데이터 저장 장치의 작동 방법과 상기 데이터 저장 장치를 포함하는 시스템의 작동 방법 | |
CN115151908A (zh) | 用于数据的加密和解密的计算设备 |
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 |