KR102326892B1 - Adaptive transaction handling method and device for same - Google Patents
Adaptive transaction handling method and device for same Download PDFInfo
- Publication number
- KR102326892B1 KR102326892B1 KR1020200160186A KR20200160186A KR102326892B1 KR 102326892 B1 KR102326892 B1 KR 102326892B1 KR 1020200160186 A KR1020200160186 A KR 1020200160186A KR 20200160186 A KR20200160186 A KR 20200160186A KR 102326892 B1 KR102326892 B1 KR 102326892B1
- Authority
- KR
- South Korea
- Prior art keywords
- response
- request
- unit
- transaction
- group
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- 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
-
- 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
-
- 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Bus Control (AREA)
Abstract
Description
본 발명은 컴퓨팅 장치의 디바이스에 관한 것으로서 특히 SoC 내의 다수의 IP들 간의 AXI 프로토콜에 따른 요청 및 응답의 트랜잭션 경로 관리방법에 관한 것이다.The present invention relates to a device of a computing apparatus, and more particularly, to a method for managing a transaction path of a request and a response according to an AXI protocol between a plurality of IPs in an SoC.
SoC(System on Chip)는 다양한 기능을 집적한 반도체이다. SoC는 집적 회로로 구현될 수 있다. 또한, SoC는 이동 전화기, 스마트폰, 태블릿 PC, PDA, IT 장치, 또는 휴대용 전자 장치와 같은 전자장치 내에 내장(embedded)될 수 있다.SoC (System on Chip) is a semiconductor that integrates various functions. The SoC may be implemented as an integrated circuit. In addition, the SoC may be embedded in an electronic device such as a mobile phone, smart phone, tablet PC, PDA, IT device, or portable electronic device.
SoC 내에는 다양한 IP(지능소자, Intellectual Properties)들이 포함되어 있으며, 여기에는 SoC 전체를 제어하는 프로세서(마스터회로) 및 상기 프로세서에 의해 제어되는 다양한 회로 및 로직이 포함될 수 있다. 상기 IP의 예로서, 한 개 이상의 코어를 포함하는 CPU, GPU, CODEC, 오디오 프로세서, 비디오 프로세서, 주변장치 드라이버, 디스플레이 드라이버, 메모리, 메모리 컨트롤러, 인터커넥트(interconnect) 회로, 및 캐시(cache) 메모리 등이 있으며 이에 한정되는 것은 아니다. SoC에는 SoC를 동작시키기 위한 코드가 저장되어 있을 수 있다. Various IPs (intellectual properties) are included in the SoC, and may include a processor (master circuit) that controls the entire SoC, and various circuits and logic controlled by the processor. Examples of the IP include a CPU, GPU, CODEC, audio processor, video processor, peripheral driver, display driver, memory, memory controller, interconnect circuit, and cache memory including one or more cores. and is not limited thereto. Codes for operating the SoC may be stored in the SoC.
본 명세서에서 상기 'IP'는 '회로'로 지칭될 수도 있다. 즉, 예컨대, 제1 IP, 제2 IP, 제3 IP는 각각 제1회로, 제2회로, 제3회로로 지칭될 수 있다. In this specification, the 'IP' may be referred to as a 'circuit'. That is, for example, the first IP, the second IP, and the third IP may be referred to as a first circuit, a second circuit, and a third circuit, respectively.
SoC에 포함된 상기 메모리 콘트롤러는 SoC 외부의 메모리가 SoC와 데이터를 교환할 수 있도록 할 수 있다. SoC에 LCD 및 필요한 장치들을 추가하여 사용자기기로 사용할 수 있다.The memory controller included in the SoC may enable a memory external to the SoC to exchange data with the SoC. It can be used as a user device by adding an LCD and necessary devices to the SoC.
상기 인터커넥트 회로는 SoC에 포함된 IP들 간의 데이터 및 명령의 교환을 가능하게 할 수 있다.The interconnect circuitry may enable exchange of data and commands between IPs included in the SoC.
상기 IP는 슬레이브 IP와 마스터 IP로 구분될 수 있다. 슬레이브 IP는 프로세서 또는 다른 IP로부터의 제어명령을 받는 IP이다. 마스터 IP는 스스로 다른 IP에 데이터 통신을 요구할 수 있는 IP이다. 경우에 따라서는 하나의 IP가 슬레이브와 마스터 기능을 겸할 수도 있다. 하나의 SoC에는 복수 개의 마스터 IP 및 복수 개의 슬레이브 IP가 존재할 수 있다.The IP may be divided into a slave IP and a master IP. A slave IP is an IP that receives a control command from a processor or another IP. The master IP is an IP that can request data communication to other IPs by itself. In some cases, one IP may serve as both a slave and a master. A plurality of master IPs and a plurality of slave IPs may exist in one SoC.
설계되는 SoC마다, 상기 SoC 내부에 포함된 IP들을 연결하는 구조는 상기 SoC의 설계자에 의해 서로 다르게 구현될 수 있다.For each SoC designed, a structure for connecting IPs included in the SoC may be implemented differently by a designer of the SoC.
마스터 IP는 ① SoC의 외부의 메모리에 대한 인터페이스를 제공하는 다른 IP, 또는 ②SoC 내부에서 상기 마스터 IP와는 멀리 떨어진 곳에 위치한 다른 IP에 접근하고자 할 수 있다. The master IP may want to access ① another IP that provides an interface to the external memory of the SoC, or ② another IP located far away from the master IP inside the SoC.
AXI(Advanced eXtensible Interface)와 같은 버스 프로토콜은 버스 상의 데이터 전송을 관리하며, 장치들 간의 데이터 트랜잭션을 식별하고 시정렬하는 방법을 특정한다. 예컨대, AXI 프로토콜에서, 각각의 버스 트랜잭션은 식별자 값, 즉, ID 값을 갖는데, 이것은 상기 트랜잭션과 연관될 수도 있는 데이터, 요청(request), 응답(response), 및 확인(acknowledgment)를 식별하는데 사용된다. 하나의 장치에 의해 사용되는 AXI ID에는 하드웨어 시스템에 의해 고정된 개수의 비트들이 할당된다. 버스 트랜잭션 ID 값으로서 서로 다른 개수의 비트들이 할당된 복수 개의 하드웨어 시스템들을 서로 연결하는 데에 한 개의 버스가 이용될 수 있다.A bus protocol, such as the Advanced eXtensible Interface (AXI), manages the transfer of data over the bus and specifies how to identify and time-align data transactions between devices. For example, in the AXI protocol, each bus transaction has an identifier value, or ID value, which is used to identify data, request, response, and acknowledgment that may be associated with that transaction. do. An AXI ID used by one device is assigned a fixed number of bits by the hardware system. One bus may be used to connect a plurality of hardware systems to which different numbers of bits are allocated as a bus transaction ID value.
AXI는 각각의 읽기/쓰기 요청에 서로 다른 AXI ID를 사용할 수 있다는 장점이 있다. AXI 프로토콜에서는 각 요청의 ID로 사용될 수 있는 A(R/W)ID신호(ARID 또는 AWID 신호)를 정의하고 있다. A(R/W)ADDR 신호와 함께 전송되는 A(R/W)ID신호를 이용하여 시스템 관점에서 다양한 기능을 구현 할 수 있다. AXI의 ID가 제공됨으로 인해 시스템 설계상의 자유도가 상승할 수 있다. AXI has the advantage that different AXI IDs can be used for each read/write request. The AXI protocol defines the A(R/W)ID signal (ARID or AWID signal) that can be used as the ID of each request. Various functions can be implemented from the system point of view by using the A(R/W)ID signal transmitted together with the A(R/W)ADDR signal. By providing the ID of AXI, the degree of freedom in system design can be increased.
예컨대, AXI 프로토콜에서는 같은 ID를 가진 요청에 대해서는 응답이 요청을 보낸 순서대로 와야 하지만, 다른 ID를 가진 요청들 간에는 응답이 오는 순서가 상관이 없기 때문에 반드시 순서가 유지되어야 하는 메모리 접근의 경우에는 같은 AXI ID를 사용하여 in-order 동작을 강제하고 메모리 접근 사이의 의존성이 없는 경우에는 다른 AXI ID를 사용하여 out-of-order 동작을 허용하여 시스템의 전반적인 성능을 향상 시키면서 시스템 동작의 정확성(correctness)도 잃지 않을 수 있다. For example, in the AXI protocol, for requests with the same ID, responses must come in the order in which the requests were sent, but for requests with different IDs, the order of responses is irrelevant, so in the case of memory access that must be maintained in the same order. The correctness of the system operation while increasing the overall performance of the system by using an AXI ID to enforce in-order operations and allowing out-of-order operations using a different AXI ID if there is no dependency between memory accesses. can't lose either.
CDAS(Cyclic Dependency Avoidance Scheme)와 관련되는 AXI 프로토콜의 특징에는 AXI ID를 이용한 트랜잭션의 태깅(tagging)이 있다. AXI ID의 경우 순서가 상관없는 트랜잭션 간에는 서로 다른 ID로 태깅하고, 이와 달리 순서가 반드시 지켜져야 할 트랜잭션들은 동일한 ID를 태깅하면 꼭 필요한 부분 이외에는 온-칩(on-chip) 트래픽의 비순차(out-of-order) 진행을 수행한다. A characteristic of the AXI protocol related to CDAS (Cyclic Dependency Avoidance Scheme) includes tagging of a transaction using an AXI ID. In the case of AXI ID, transactions out of order are tagged with different IDs. On the other hand, transactions that must be in order are tagged with the same ID. -of-order) process.
AXI 프로토콜은 MOR(Multiple Outstanding Request)과 AXI ID 태깅을 통해 온-칩 인터커넥트의 사용률을 높일 수 있는 가능성을 열었지만 단지 마스터 1개와 슬레이브 2개로 이루어진 아주 간단한 버스에서 조차 데드락(deadlock)이 생길 수 있는 가능성도 발생한다.The AXI protocol opens up the possibility of increasing the utilization of on-chip interconnects through Multiple Outstanding Requests (MOR) and AXI ID tagging, but can cause deadlock on even a very simple bus with only one master and two slaves. possibility arises.
CDAS는 AXI 트랜잭션의 비순차 실행에 의한 데드락을 피하기 위한 방법이다. CDAS is a method to avoid deadlocks caused by out-of-order execution of AXI transactions.
AXI 프로토콜에서 간단히 각 트랜잭션은 요청(Req)과 응답(Resp) 단계(phase)로 이루어져 있고 마스터가 슬레이브에게 요청을 보낸 후 응답을 받으면 한 개의 트랜잭션이 완료된다. In the AXI protocol, each transaction simply consists of a request (Req) and a response (Resp) phase, and when the master sends a request to the slave and receives a response, one transaction is completed.
AXI 프로토콜 스펙문서에서 정의하고 있는 트랜잭션 오더링(Ordering)은 다음과 같은 특징을 갖는다. Transaction ordering defined in the AXI protocol specification document has the following characteristics.
첫째, 같은 AXI ID에 대해 마스터에 되돌아오는 응답은 마스터가 요청을 보낸 순서와 일치해야 한다.First, the responses returned to the master for the same AXI ID must match the order in which the master sent the requests.
둘째, 슬레이브에서 다른 AXI ID를 사용하는 트랜잭션들에 대해서는 요청을 받은 순서에 관계없이 응답을 보낼 수 있다.Second, for transactions using different AXI IDs from the slave, responses can be sent regardless of the order in which the requests are received.
슬레이브가 응답을 비순차적으로 발생시킴으로서 데드락이 발생할 수 있다.Deadlocks can occur as slaves generate responses out of sequence.
일부 응답을 버스 내부의 버퍼에 저장해야 한다. 버스 내부의 응답 버퍼는 슬레이브 별 FIFO로 구현될 수 있는데, 복수 개의 응답들 사이의 의존관계가 발생하게 되며, 상기 의존관계가 서로가 서로를 기다리는 형태(Cyclic Dependency)가 되어 어느 트랜잭션도 더 이상 진행하지 못하는 데드락이 발생한다. Some responses need to be stored in a buffer inside the bus. The response buffer inside the bus can be implemented as a FIFO for each slave, and a dependency relationship between a plurality of responses occurs, and the dependency becomes a cyclic dependency where each other waits for each other (Cyclic Dependency), and any transaction is no longer performed Deadlocks that can't happen.
CDAS는 이러한 데드락을 피하기 위해, 싱글 슬레이브(Single Slave) 방식과 ID별 싱글 슬레이브(Single Slave per ID) 방식이라는 두 가지 방식의 CDAS를 제공할 수 있다. 아래 두 가지 방법에는 성능과 자원 간의 트레이드-오프(trade-off) 관계가 있다. In order to avoid such a deadlock, the CDAS may provide two types of CDAS: a single slave method and a single slave per ID method. The two methods below have a trade-off relationship between performance and resources.
먼저 "싱글 슬레이브" 방식은 가장 간단하게 AXI ID에 상관없이 마스터가 한 번에 하나씩의 슬레이브 만을 액세스하도록 허용하는 방법이다. 이 경우 데드락의 가능성은 없앴지만 다른 슬레이브로 가는 트랜잭션이 이어지는 시점에서 트랜잭션이 파이프라인(pipeline)이 형성되지 못하므로 성능이 떨어지는 단점이 있다. First, the "single-slave" method is the simplest way to allow the master to access only one slave at a time, regardless of the AXI ID. In this case, the possibility of deadlock is eliminated, but there is a disadvantage in that performance is lowered because the transaction is not pipelined when a transaction to another slave continues.
두 번째 CDAS 방식인 "ID별 싱글 슬레이브" 의 경우 "싱글 슬레이브" CDAS 방식의 단점을 보완하기 위해 AXI ID가 같은 트랜잭션에 대해서만 싱글 슬레이브 규칙을 적용하는 방법이다. 이때, 각 ID 별로 진행 중인 트랜잭션이 어떤 슬레이브를 접근 중인지 기억할 저장공간이 필요하기 때문에 버스의 구현이 복잡해지는 단점이 있지만, ID가 다르면 이어지는 트랜잭션이 다른 슬레이브로 향하더라도 트랜잭션 파이프라인이 유지되어 성능저하를 피할 가능성이 더 높다. ID별 싱글 슬레이브 CDAS가 적용되면 CDAS가 적용되지 않은 것과 동일한 트랜잭션 진행이 가능하여 성능저하를 피할 수 있다. In the case of the second CDAS method, "Single Slave by ID", to compensate for the shortcomings of the "Single Slave" CDAS method, the single slave rule is applied only to transactions with the same AXI ID. At this time, the bus implementation is complicated because storage space is required to remember which slave the transaction in progress is accessing by each ID. more likely to avoid If single-slave CDAS per ID is applied, the same transaction can be performed as if CDAS is not applied, so performance degradation can be avoided.
관련 기술로서, 미국 등록특허번호 US 9,379,980에는 AXI ID를 압축하는 방법이 공개되어 있다. As a related art, US Patent No. US 9,379,980 discloses a method of compressing an AXI ID.
상술한 내용은 본 발명의 이해를 돕기 위하여 제시된 것으로서, 상술한 내용에는 본 특허출원 발명의 발명자들이 본 특허출원의 출원 시점에 공개하지 않은 내용이 포함되어 있을 수 있다. 따라서 상술한 내용 모두가 당연히 종래 기술(prior art)인 것으로 간주되어서는 안된다. 또한 상술한 내용에 의해 본 발명의 범위가 제한되어서는 안된다.The above-mentioned contents are presented to help the understanding of the present invention, and the above-mentioned contents may include contents not disclosed by the inventors of the present invention at the time of filing the present patent application. Accordingly, all of the above should not be considered as prior art of course. In addition, the scope of the present invention should not be limited by the above contents.
본 발명은 버스를 통해 이동하는 요청 및 응답에 포함된 ID의 매핑을 처리하는 기능부의 이용에 따라 증가하는 투입 리소스를 감소시키기 위한 기술을 제공하고자 한다. An object of the present invention is to provide a technique for reducing input resources that increase according to the use of a functional unit that handles mapping of IDs included in requests and responses moving through a bus.
본 발명의 일 관점에 따라 제공되는 트랜잭션 처리 장치는 요청 스위치부(211, 241); 응답 스위치부(212, 242); CDAS 파트(221, 222); ID 리매핑부 (231); 및 ID 복원부(232)를 포함한다. 상기 요청 스위치부는, 마스터 장치(10)로부터의 요청을 입력받아, 상기 요청이 제1그룹의 트랜잭션에 속한 경우에는 상기 요청을 상기 CDAS 파트를 통해 버스(30)로 전송하고, 상기 요청이 제2그룹의 트랜잭션에 속한 경우에는 상기 요청을 상기 ID 리매핑부를 통해 상기 버스로 전송하도록 되어 있다. 상기 응답 스위치부는, 상기 버스로부터 응답을 입력받아, 상기 응답이 상기 제1그룹의 트랜잭션에 속한 경우에는 상기 응답을 상기 CDAS 파트를 통해 응답 재정렬부(200)(response reordering)에게 제공하고, 상기 응답이 상기 제2그룹의 트랜잭션에 속한 경우에는 상기 응답을 상기 ID 복원부를 통해 상기 응답 재정렬부로 제공하도록 되어 있다. 상기 응답 재정렬부는 상기 응답 스위치로부터 수신한 응답을 상기 마스터 장치에게 제공하도록 되어 있다. A transaction processing apparatus provided according to an aspect of the present invention includes
이때, 상기 트랜잭션 처리 장치는 상기 요청을 출력하도록 구성되는 상기 마스터 장치(10); 상기 응답을 출력하도록 구성되는 슬레이브 장치(41); 및 상기 마스터 장치와 상기 슬레이브 장치를 연결하도록 구성되는 상기 버스;를 더 포함할 수 있다.In this case, the transaction processing device includes: the
이때, 상기 트랜잭션 처리 장치는 상기 마스터 장치로부터의 요청을 입력받아 상기 요청을 분석하는 요청 분석부(251);를 더 포함할 수 있다. In this case, the transaction processing device may further include a
상기 각각의 요청은 제1그룹의 트랜잭션 또는 제2그룹의 트랜잭션에 속한 것으로 분류될 수 있다. 각 요청을 상기 제1그룹의 트랜잭션 및 상기 제2그룹의 트랜잭션 중 어느 하나의 그룹으로 분류하는 기준은 소정의 규칙에 따를 수 있다. Each of the above requests may be classified as belonging to a transaction of a first group or a transaction of a second group. A criterion for classifying each request into one of the first group transaction and the second group transaction may follow a predetermined rule.
이때, 상기 요청 분석부는, 상기 요청의 타겟 슬레이브 장치가 유니크 ID를 수용하는 장치라고 판단된 경우에는 상기 요청이 상기 제2그룹의 트랜잭션에 속한 것으로 분류하도록 되어 있을 수 있다.In this case, when it is determined that the target slave device of the request is a device that accepts a unique ID, the request analysis unit may classify the request as belonging to the transaction of the second group.
또는, 상기 요청 분석부는, 상기 마스터 장치와 상기 슬레이브 장치가 포함된 시스템이 유니크 ID를 사용하는 것이 유리하다고 판단되는 경우에는 상기 요청이 상기 제2그룹의 트랜잭션에 속한 것으로 분류하도록 되어 있을 수 있다.Alternatively, when it is determined that it is advantageous for the system including the master device and the slave device to use a unique ID, the request analysis unit may classify the request as belonging to the second group of transactions.
또는, 상기 요청 분석부는, 상기 요청이 긴급 요청이며 상기 요청이 상기 요청의 타겟 슬레이브 장치에 도달할 수 있는 경로가 복수 개인 경우에는 상기 요청이 상기 제2그룹의 트랜잭션에 속한 것으로 분류할 수 있다. 그리고 상기 ID 리매핑부는 상기 버스 상에서 순번 의존성(ordering dependency)을 제거하여 적응적으로 처리(adaptive routing)도록 되어 있을 수 있다.Alternatively, when the request is an emergency request and there are multiple paths through which the request can reach a target slave device of the request, the request analyzer may classify the request as belonging to the second group of transactions. In addition, the ID remapping unit may be configured to perform adaptive routing by removing an ordering dependency on the bus.
또는, 상기 요청 분석부는, 상기 요청이, 상기 요청을 상기 마스터로부터 수신하기 이전에 상기 마스터 장치로부터 수신한 이전 요청들과의 관계에서 순번 의존성을 갖고 있지 않은 것으로 판단되면, 상기 요청이 상기 제1그룹의 트랜잭션에 속한 것으로 분류하도록 되어 있을 수 있다.Alternatively, the request analysis unit, if it is determined that the request does not have a sequence dependency in a relationship with previous requests received from the master device before receiving the request from the master, the request is the first It may be configured to be classified as belonging to a group transaction.
이때, 상기 트랜잭션 처리 장치는 상기 버스로부터의 응답을 입력받아 상기 응답을 분석하는 응답 분석부(252);를 더 포함할 수 있다. 상기 응답 분석부는, 상기 응답이 상기 제1그룹의 트랜잭션에 속한 것으로 분류되는 것인지 아니면 상기 제2그룹의 트랜잭션에 속한 것으로 분류되는 것인지를 결정하도록 되어 있을 수 있다.In this case, the transaction processing apparatus may further include a
이때, 상기 요청 스위치부는, 상기 요청에 추가정보를 부가하도록 되어 있을 수 있다. 상기 추가정보는 상기 요청이 상기 제1그룹의 트랜잭션에 속한 것인지 아니면 상기 제2그룹의 트랜잭션에 속한 것인지를 나타내는 정보일 수 있다. 상기 요청을 수신한 슬레이브 장치는, 상기 요청에 대한 응답을 출력할 때에 상기 요청에 대한 응답에 상기 추가정보를 포함시키도록 되어 있을 수 있다. 상기 응답 분석부는 상기 특정 응답 내에 포함되어 있는 상기 추가정보를 확인함으로써 상기 특정 응답이 상기 제1그룹의 트랜잭션에 속한 것인지 아니면 상기 제2그룹의 트랜잭션에 속한 것인지를 결정하도록 되어 있을 수 있다. In this case, the request switch unit may be configured to add additional information to the request. The additional information may be information indicating whether the request belongs to a transaction of the first group or a transaction of the second group. The slave device receiving the request may be configured to include the additional information in a response to the request when outputting a response to the request. The response analyzer may be configured to determine whether the specific response belongs to the transaction of the first group or the transaction of the second group by checking the additional information included in the specific response.
본 발명의 일 관점에 따라, 마스터 장치, 슬레이브 장치, 및 버스를 포함하는 시스템 장치에서, 상기 버스를 통과하여 송수신되는 상기 마스터 장치와 상기 슬레이브 장치 간의 트랜잭션의 경로를 제어하는 트랜잭션 처리 장치를 이용하여 상기 트랜잭션을 처리하는 트랜잭션 처리 방법이 제공될 수 있다. 이때, 상기 트랜잭션 처리 장치는, 요청 스위치부(211, 241), 응답 스위치부(212, 242), CDAS 파트(221, 222), ID 리매핑부(231), ID 복원부(232), 요청 분석부(251), 응답 분석부(252), 및 응답 재정렬부(200)를 포함한다. According to one aspect of the present invention, in a system device including a master device, a slave device, and a bus, using a transaction processing device that controls a path of a transaction between the master device and the slave device transmitted and received through the bus A transaction processing method for processing the transaction may be provided. In this case, the transaction processing device includes a
상기 트랜잭션 처리 방법은, 상기 요청 분석부가, 상기 마스터 장치로부터의 요청을 입력받는 단계; 상기 요청 분석부가, 상기 요청이 제1그룹의 트랜잭션으로 분류되는 것인지 아니면 제2그룹의 트랜잭션으로 분류되는 것인지를 결정하는 제1결정단계; 상기 요청 스위치부가, 상기 요청이 상기 제1그룹의 트랜잭션으로 분류된 경우에는 상기 요청을 상기 CDAS 파트를 통해 상기 버스로 전송되도록 하기 위하여 상기 요청을 상기 CDAS 파트 쪽으로 전송하고, 상기 요청이 상기 제2그룹의 트랜잭션으로 분류된 경우에는 상기 요청을 ID 리매핑부를 통해 상기 버스로 전송되도록 하기 위하여 상기 요청을 상기 ID 리매핑부 쪽으로 전송하는 제1전송단계; 상기 응답 분석부가, 상기 버스로부터 응답을 입력받는 제1입력단계; 상기 응답 분석부가, 상기 응답 스위치부가, 상기 응답이 상기 제1그룹의 트랜잭션으로 분류된 경우에는 상기 응답을 상기 CDAS 파트를 통해 상기 응답 재정렬부에게 전송되도록 하기 위하여 상기 응답을 상기 CDAS 파트에게 전송하고, 상기 요청이 상기 제2그룹의 트랜잭션으로 분류된 경우에는 상기 응답을 상기 ID 복원부를 통해 상기 응답 재정렬부에게 전송되도록 하기 위하여 상기 응답을 상기 ID 복원부에게 전송하는 제2전송단계; 및 상기 응답 재정렬부가, 상기 응답 스위치부로부터 수신한 상기 응답을 상기 마스터 장치에게 제공하는 단계;를 포함한다. The transaction processing method may include: receiving, by the request analysis unit, a request from the master device; a first determining step of determining, by the request analysis unit, whether the request is classified as a first group transaction or a second group transaction; the request switch unit, when the request is classified as the first group of transactions, transmits the request to the CDAS part to transmit the request to the bus through the CDAS part, and the request is sent to the second group a first transmission step of transmitting the request to the ID remapping unit so that the request is transmitted to the bus through the ID remapping unit when classified as a group transaction; a first input step of receiving, by the response analysis unit, a response from the bus; The response analysis unit, the response switch unit, transmits the response to the CDAS part in order to transmit the response to the response reordering unit through the CDAS part when the response is classified as the first group transaction; , a second transmission step of transmitting the response to the ID restoration unit so that the response is transmitted to the response reordering unit through the ID restoration unit when the request is classified as the second group transaction; and providing, by the response reordering unit, the response received from the response switch unit to the master device.
상기 트랜잭션 처리 방법은, 상기 제1결정단계와 상기 제1전송단계 사이에, 상기 요청 스위치부가, 상기 요청이 상기 제1그룹의 트랜잭션에 속한 것인지 아니면 상기 제2그룹의 트랜잭션에 속한 것인지를 나타내는 추가정보를 상기 요청에 부가하는 단계를 더 포함할 수 있다.In the transaction processing method, between the first determining step and the first transmitting step, the request switch unit is configured to indicate whether the request belongs to the first group transaction or the second group transaction. The method may further include adding information to the request.
이때, 상기 트랜잭션 처리 방법은, 상기 제1입력단계와 상기 제2전송단계 사이에, 상기 응답 분석부가, 상기 응답 내에 포함되어 있는 추가정보를 확인함으로써 상기 응답이 상기 제1그룹의 트랜잭션에 속한 것인지 아니면 상기 제2그룹의 트랜잭션에 속한 것인지를 결정하는 단계를 더 포함할 수 있다.At this time, in the transaction processing method, between the first input step and the second transmission step, the response analysis unit checks whether the response belongs to the transaction of the first group by checking additional information included in the response. Otherwise, the method may further include determining whether the transaction belongs to the second group.
본 발명의 일 관점에 따라 상기 트랜잭션 처리 장치, 프로세서, 및 메모리를 포함하는 컴퓨팅 장치가 제공될 수 있다.According to an aspect of the present invention, a computing device including the transaction processing device, a processor, and a memory may be provided.
본 발명에 따르면 버스를 통해 이동하는 요청 및 응답에 포함된 ID의 매핑을 처리하는 기능부의 이용에 따라 증가하는 투입 리소스를 감소시키기 위한 기술을 제공할 수 있다.According to the present invention, it is possible to provide a technique for reducing input resources that increase according to the use of a functional unit that handles mapping of IDs included in requests and responses moving through a bus.
도 1은 본 발명의 일 실시예에 따른 트랜잭션 처리 장치의 구성을 나타낸 것이다.
도 2는 본 발명의 일 실시에에 따라 제공되는 트랜잭션 처리 장치가 마스터장치로부터의 요청을 처리하는 방법을 나타낸 순서도이다.
도 3은 본 발명의 일 실시에에 따라 제공되는 트랜잭션 처리 장치가 버스로부터 수신한 응답을 처리하는 방법을 나타낸 순서도이다.
도 4는 본 발명의 일 실시예에 따른 데이터 처리 시스템을 나타낸 것이다. 1 shows the configuration of a transaction processing apparatus according to an embodiment of the present invention.
2 is a flowchart illustrating a method for processing a request from a master device by a transaction processing device provided according to an embodiment of the present invention.
3 is a flowchart illustrating a method for processing a response received from a bus by a transaction processing apparatus provided according to an embodiment of the present invention.
4 shows a data processing system according to an embodiment of the present invention.
이하, 본 발명의 실시예를 첨부한 도면을 참고하여 설명한다. 그러나 본 발명은 본 명세서에서 설명하는 실시예에 한정되지 않으며 여러 가지 다른 형태로 구현될 수 있다. 본 명세서에서 사용되는 용어는 실시예의 이해를 돕기 위한 것이며, 본 발명의 범위를 한정하고자 의도된 것이 아니다. 또한, 이하에서 사용되는 단수 형태들은 문구들이 이와 명백히 반대의 의미를 나타내지 않는 한 복수 형태들도 포함한다.Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. However, the present invention is not limited to the embodiments described herein and may be implemented in various other forms. The terminology used in this specification is intended to help the understanding of the embodiments, and is not intended to limit the scope of the present invention. Also, singular forms used hereinafter include plural forms unless the phrases clearly indicate the opposite.
도 1은 본 발명의 일 실시예에 따른 트랜잭션 처리 장치의 구성을 나타낸 것이다.1 shows the configuration of a transaction processing apparatus according to an embodiment of the present invention.
본 발명의 일 실시예에 따른 트랜잭션 처리 장치(20)는, 상기 트랜잭션 처리 장치(20)의 기능을 포함하는 IC 칩을 지칭하는 것일 수 있다. 상기 IC 칩은 SoC일 수 있다. 그리고 상기 IC 칩은 독립전원을 갖는 컴퓨팅 장치를 구성하는 부품일 수 있다.The
상기 트랜잭션 처리 장치(20)는, 요청 스위치부(211, 241), 응답 스위치부(212, 242), CDAS 파트(221, 222), ID 리매핑부(231), 및 ID 복원부(231)를 포함할 수 있다.The
요청 스위치부(211, 241)는 예컨대 요청측 디멀티플렉서(211)와 요청측 멀티플렉서(241)로 구성될 수 있다.The
응답 스위치부(212, 242는 예컨대 응답측 디멀티플렉서(242)와 응답측 멀티플렉서(212)로 구성될 수 있다.The
상기 CDAS 파트(221, 222)는 요청측 CDAS 파트(221)와 응답측 CDAS 파트(222)로 이루어질 수 있다. The
요청(request)은 마스터 장치(10)로부터 상기 트랜잭션 처리 장치(20)에게 제공될 수 있다.A request may be provided from the
상기 요청측 CDAS 파트(221)는 상기 마스터 장치(10)로부터 수신한 요청의 내용 자체는 변경하지 않지만, 복수 개의 요청들을 상기 버스(30)에 제공하는 시점을 제어하는 리퀘스트 이슈 타이밍 스케쥴링(request issue timing scheduling) 기능을 수행할 수 있다. 상기 리퀘스트 이슈 타이밍 스케쥴링은, 상기 마스터 장치(10)로부터 슬레이브 장치들(41, 42)에게 전달되는 복수 개의 요청들 각각에 대한 응답의 발생 순서의 예측이 어려운 경우에, 상기 순서에 따른 문제의 발생을 막기 위하여 슬레이브에 전달되는 리퀘스트(요청)의 전달 시점을 스케쥴링하는 것이다. The requesting
상기 요청측 CDAS 파트(221)은 상술한 'ID별 싱글 슬레이브' 방식 또는 '싱글 슬레이브' 방식에 따라 리퀘스트 이슈 타이밍 스케쥴링을 수행할 수 있다. The request-
그런데 만일 현재 제1시점에 상기 요청측 CDAS 파트(221)에 입력된 제1요청의 ID인 제1 ID와, 바로 직전에 상기 버스(30)로 출력된 요청인 제2요청의 ID인 제2 ID 간의 의존성(dependency)이 없는 것으로 확인되면, 상기 요청측 CDAS 파트(221)은 상기 제1요청에 대한 리퀘스트 이슈 타이밍 스케쥴링 없이 곧바로 상기 제1요청을 출력할 수 있다. 또는, 만일 현재 제1시점에 상기 요청측 CDAS 파트(221)에 입력된 제1요청의 ID인 제1 ID와, 바로 직후에 상기 요청측 CDAS 파트(221)에 입력될 요청인 제3요청의 ID인 제3 ID 간의 의존성(dependency)이 없는 것으로 확인되면, 상기 요청측 CDAS 파트(221)은 상기 제1요청에 대한 리퀘스트 이슈 타이밍 스케쥴링 없이 곧바로 상기 제1요청을 출력할 수 있다. 이러한 방식을 특히 '바이패스' 방식이라고 지칭할 수 있다. However, if the first ID that is the ID of the first request input to the requesting
즉, 상기 요청측 CDAS 파트(221)은 상술한 'ID별 싱글 슬레이브' 방식 또는 '싱글 슬레이브' 방식 또는 '바이패스' 방식 중 하나의 방식으로 동작할 수 있다.That is, the request-
상기 ID 리매핑부(231)는 상기 마스터 장치(10)로부터 입력된 요청에 포함된 ID인 제1 ID를 다른 형식의 ID로 변환할 수 있다. The
일 실시예에서 상기 ID 리매핑부(231)는 상기 제1 ID를 한 개의 다른 ID인 IDR1로 1:1로 변환될 수 있다. 즉, 상기 제1 ID가 결정되면 한 개의 다른 IDR1를 알아낼 수 있으며, 그 반대도 가능하다. In an embodiment, the
다른 실시예에서 상기 ID 리매핑부(231)는 상기 제1 ID를 복수 개의 다른 ID들인 IDR1, IDR2, ..., 중 IDRN 중 어느 하나로 1:N 변환될 수 있다. 이때, 임의의 요청 또는 응답의 ID가 IDRk(k=1, 2, ..., N) 것으로 확인되면, 이에 대응하는 변환 ID가 상기 제1 ID임을 알아낼 수 있다.In another embodiment, the
즉, 상기 ID 리매핑부(231)는 상기 마스터 장치(10)로부터 입력된 요청에 포함된 ID인 제1 ID를 다른 형식의 ID로 변환함으로써 상기 요청의 일부 값을 변경한다. 그러나 거의 대부분의 요청에 대하여 상기 ID 리매핑부(231)는 상기 마스터 장치(10)로부터 입력되는 요청의 리퀘스트 이슈 타이밍 스케쥴링을 수행하지는 않는다.That is, the
상기 ID 리매핑부(231)이 수행한 작업의 내용은 상기 ID 리매핑부(231)이 상기 ID 복원부(232)에게 전달할 수 있다. 상기 ID 복원부(232)는 상기 전달된 내용을 기초로 상기 버스(30)로부터 수신한 응답의 ID를 복원할 수 있다.The
상기 ID 리매핑부(231)는 ID 매핑을 위한 테이블을 갖고 있어야 하는 등의 이유로 인하여 시스템의 복잡도를 높이는 주요 원인 중 하나이다. 상기 ID 리매핑부(231)로 인하여 상기 트랜잭션 처리 장치(20)의 복잡도가 높아지고 리소스도 많이 투입된다. The
따라서 바람직한 일 실시예에서 상기 ID 리매핑부(231)의 사용빈도를 줄임으로써 리소스를 절약할 필요가 있다.Therefore, in a preferred embodiment, it is necessary to save resources by reducing the frequency of use of the
상기 ID 복원부(231)는 상기 ID 리매핑부(231)와 함께 요청 및 응답에 대한 ID 리매핑 기능을 완성할 수 있다.The
본 발명의 일 실시예에서, 상기 마스터 장치(10)로부터 제공되는 요청들은 제1그룹의 트랜잭션에 속하거나 또는 제2그룹의 트랜잭션에 속하는 것으로 분류될 수 있다. 상기 제1그룹의 트랜잭션과 상기 제2그룹의 트랜잭션은 각각 제1카테고리의 트랜잭션 및 제2카테고리의 트랜잭션으로 지칭될 수도 있다. 각각의 요청들은 상기 제1그룹 또는 상기 제2그룹으로 분류하는 기준의 예는 후술한다. In one embodiment of the present invention, the requests provided from the
상기 요청 스위치부(211, 241)는, 마스터 장치(10)로부터의 요청을 입력받아, 상기 요청이 제1그룹의 트랜잭션에 속한 경우에는 상기 요청을 상기 CDAS 파트(221, 222)(요청측 CDAS 파트(221))를 통해 상기 버스(30)로 전송하고, 상기 요청이 제2그룹의 트랜잭션에 속한 경우에는 상기 요청을 ID 리매핑부(231)를 통해 상기 버스(30)로 전송하도록 되어 있다. The
상기 버스(30)은 인터커넥트라고 지칭될 수도 있다. 일 실시예에서 상기 인터커넥트는 알려져 있는 AXI 프로토콜을 따른 수 있다.The
상기 응답 스위치부(212, 242)는, 상기 버스(30)로부터 응답(response)을 입력받아, 상기 응답이 상기 제1그룹의 트랜잭션에 속한 경우에는 상기 응답을 상기 CDAS 파트(221, 222)(응답측 CDAS 파트(222))를 통해 응답 재정렬부(response reordering)(200)에게 제공하고, 상기 응답이 상기 제2그룹의 트랜잭션에 속한 경우에는 상기 응답을 상기 ID 복원부(232)를 통해 상기 응답 재정렬부(200)로 제공하도록 되어 있다. The
상기 응답 재정렬부(200)는 응답 순서 복원부로 지칭될 수도 있다. 상기 응답 재정렬부(200)는 상기 응답 스위치부(212, 242)로부터 수신한 응답을 상기 마스터 장치(10)에게 제공하도록 되어 있다. 상기 응답 재정렬부(200)는, 상기 트랜잭션 처리 장치(20)이 상기 버스(30)로부터 수신한 응답들을 상기 트랜잭션 처리 장치(20)이 상기 마스터 장치(10)로부터 수신한 요청들의 순서에 맞추어 상기 마스터 장치(10)에게 되돌려줄 수 있도록, 상기 트랜잭션 처리 장치(20)이 상기 버스(30)로부터 수신한 응답들의 순서를 정렬하는 기능을 수행할 수 있다.The
이때, 상기 트랜잭션 처리 장치(20)은 상기 마스터 장치(10)로부터의 요청을 입력받아 상기 요청의 내용을 분석하는 요청 분석부(251)를 더 포함할 수 있다. In this case, the
본 발명의 일 실시예에서, 상기 요청 분석부(251)는, 상기 요청의 타겟 슬레이브 장치가 유니크 ID를 수용하는 장치라고 판단된 경우에는 상기 요청이 상기 제2그룹의 트랜잭션에 속한 것으로 분류하도록 되어 있을 수 있다.In an embodiment of the present invention, the
상기 요청의 타겟 슬레이브 장치가 유니크 ID를 수용하는 장치라고 판단하는 것은, 상기 요청 분석부(251)가 상기 요청에 포함된 타겟 주소를 확인하여 상기 타겟 주소를 갖는 슬레이브 장치가 유니크 ID를 수용하는 장치인지 여부를 확인함으로써 이루어질 수 있다.Determining that the target slave device of the request is a device that accepts the unique ID is a device in which the
상술한 유니크 ID를 수용하는 슬레이브 장치의 특징은 다음과 같이 설명될 수 있다. 예컨대 우선 슬레이브 장치인 제1장치가 제1 ID를 갖는 제1요청을 수신할 수 있다. 그 다음 상기 제1장치가 상기 제1요청에 대한 응답인 제1응답을 출력하기 이전에, 상기 제1 ID를 갖는 다른 요청인 제2요청을 수신할 수 있다. 이때 만일, 상기 제1장치가 유니크 ID를 수용하는 장치라면, 상기 제1응답을 출력하기 전에는 상기 제2요청을 막아야 한다. 그렇지 않을 경우 제1장치는 오작동할 수 있다. 그러나 상기 제1장치가 유니크 ID를 수용하는 장치라고 하더라도, 상기 제1 ID와는 다른 제2 ID를 갖는 다른 요청은 수신하여 처리할 수 있다. The characteristics of the slave device accommodating the above-described unique ID can be described as follows. For example, first, a first device that is a slave device may receive a first request having a first ID. Then, before the first device outputs a first response that is a response to the first request, it may receive a second request that is another request having the first ID. In this case, if the first device is a device that accepts a unique ID, the second request should be blocked before outputting the first response. Otherwise, the first device may malfunction. However, even if the first device is a device that accepts a unique ID, another request having a second ID different from the first ID may be received and processed.
상기 버스(30)가 예컨대 메쉬 타입의 버스인 경우, 한 개의 요청 또는 응답이 흘러가는 경로가 상기 버스(30) 내에 복수 개 존재할 수 있다. 이 경우, 동일한 ID를 갖는 요청들이, 자신들이 발송된 순서를 그대로 유지하여 타겟 슬레이브에 도달한다는 보장은 없다. 이하 이러한 현상과 관련된 본 발명의 다른 실시예에 다른 구성을 설명한다.When the
본 발명의 다른 실시예에서, 상기 요청 분석부(251)는, 상기 요청이 긴급 요청인 것이며, 상기 요청이 상기 요청의 타겟 주소가 나타내는 타겟 슬레이브 장치에 도달할 수 있는 경로가 복수 개인 경우에는 상기 요청이 상기 제2그룹의 트랜잭션에 속한 것으로 분류하도록 되어 있을 수 있다. 이때, 상기 ID 리매핑부(231)는 상기 버스(30) 상에서 순번 의존성(ordering dependency)를 제거하여 적응적으로 처리(adaptive routing)도록 되어 있을 수 있다.In another embodiment of the present invention, when the request is an emergency request and there are a plurality of paths through which the request can reach the target slave device indicated by the target address of the request, the
이때, 상기 요청 내에는 상기 요청이 긴급한 것인지 아닌지를 나타내는 식별정보가 포함되어 있을 수 있다. 따라서 상기 요청이 긴급 요청인지 여부는 상기 요청 분석부(251)가 상기 요청을 분석함으로써 알아낼 수 있다. 상기 요청이 긴급인지 여부는 상기 마스터 장치(10)의 결정에 의해 결정된 것일 수 있다. In this case, identification information indicating whether the request is urgent or not may be included in the request. Accordingly, whether the request is an emergency request can be found by the
본 발명의 또 다른 실시예에서, 상기 요청 분석부(251)는, 상기 요청이, 상기 요청을 상기 마스터로부터 수신하기 이전에 상기 마스터 장치로부터 수신한 이전의 모든 요청들과의 관계에서 순번 의존성을 갖고 있지 않은 것으로 판단된다면, 상기 요청이 상기 제1그룹의 트랜잭션에 속한 것으로 분류하도록 되어 있을 수 있다.In another embodiment of the present invention, the
상기 트랜잭션 처리 장치(20)은 상기 버스(30)로부터의 응답을 입력받아 상기 응답을 분석하는 응답 분석부(252)를 더 포함할 수 있다. 상기 응답 분석부(252)는, 상기 응답이 상기 제1그룹의 트랜잭션에 속한 것으로 분류되는 것인지 아니면 상기 제2그룹의 트랜잭션에 속한 것으로 분류되는 것인지를 결정할 수 있다.The
상기 요청 스위치부(241)은 자신에 입력된 특정 요청에 추가정보를 부가하도록 되어 있을 수 있다. 상기 추가정보는 상기 특정 요청이 상기 제1그룹의 트랜잭션에 속한 것인지 아니면 상기 제2그룹의 트랜잭션에 속한 것인지를 나타내는 정보이다.The
상기 특정 요청을 수신한 슬레이브 장치가 상기 특정 요청에 대한 응답인 특정 응답을 출력할 때에, 상기 슬레이브 장치는 상기 특정 응답에 상기 추가정보가 포함되도록 할 수 있다. When the slave device receiving the specific request outputs a specific response that is a response to the specific request, the slave device may include the additional information in the specific response.
상기 응답 분석부(252)는 상기 버스(300로부터 상기 특정 응답을 수신하면 상기 특정 응답 내에 포함되어 있는 상기 추가정보를 확인함으로써 상기 특정 응답이 상기 제1그룹의 트랜잭션에 속한 것인지 아니면 상기 제2그룹의 트랜잭션에 속한 것인지를 결정할 수 있다.When the
상기 트랜잭션 처리 장치(20)는, 상기 요청을 출력하도록 구성되는 상기 마스터 장치(10), 상기 응답을 출력하도록 구성되는 슬레이브 장치(41, 42), 및 상기 마스터 장치(10)와 상기 슬레이브 장치(41, 42)를 연결하도록 구성되는 상기 버스(30)를 더 포함할 수 있다.The
이때, 상기 마스터 장치(10), 상기 슬레이브 장치(41, 42), 및 상기 버스(30)를 더 포함하는 트랜잭션 처리 장치(20)을 데이터 처리 시스템(100) 또는 데이터 처리 장치(100)라고 지칭할 수도 있다.In this case, the
도 2는 본 발명의 일 실시에에 따라 제공되는 트랜잭션 처리 장치가 마스터장치로부터의 요청을 처리하는 방법을 나타낸 순서도이다.2 is a flowchart illustrating a method for processing a request from a master device by a transaction processing device provided according to an embodiment of the present invention.
도 2에 나타낸 방법은, 마스터 장치(10), 슬레이브 장치(41), 및 버스(30)를 포함하는 데이터 처리 장치(100)가, 상기 버스(30)를 통과하여 송수신되는 상기 마스터 장치(10)와 상기 슬레이브 장치(41) 간의 트랜잭션의 경로를 제어하는 트랜잭션 처리 장치(20)를 이용하여 상기 트랜잭션을 처리하는 방법이다. In the method shown in FIG. 2 , the
이때, 상기 트랜잭션 처리 장치(20)는, 요청 스위치부(211, 241), 응답 스위치부(212, 242), CDAS 파트(221, 222), ID 리매핑부(231), ID 복원부(232), 요청 분석부(251), 응답 분석부(252), 및 응답 재정렬부(200)를 포함할 수 있다In this case, the
상기 트랜잭션을 처리하는 방법은 다음 단계들을 포함할 수 있다.The method of processing the transaction may include the following steps.
단계(S110)에서, 상기 요청 분석부(251)가, 상기 마스터 장치(10)로부터의 요청을 입력받을 수 있다.In step S110 , the
단계(S120)에서, 상기 요청 분석부(251)가, 상기 요청이 제1그룹의 트랜잭션으로 분류되는 것인지 아니면 제2그룹의 트랜잭션으로 분류되는 것인지를 결정할 수 있다.In step S120 , the
단계(130)에서, 상기 요청 스위치부(211, 241)는, 상기 요청이 상기 제1그룹의 트랜잭션에 속한 것인지 아니면 상기 제2그룹의 트랜잭션에 속한 것인지를 나타내는 추가정보를 상기 요청에 부가할 수 있다.In step 130, the
단계(S140)에서, 상기 요청 스위치부(211, 241)가, 상기 요청이 상기 제1그룹의 트랜잭션에 속한 경우에는 상기 요청을 상기 CDAS 파트(211, 222)를 통해 상기 버스(30)로 전송되도록 하기 위하여 상기 요청을 상기 CDAS 파트(211, 222) 쪽으로 전송하고, 상기 요청이 상기 제2그룹의 트랜잭션에 속한 경우에는 상기 요청을 상기 ID 리매핑부(231)를 통해 상기 버스(30)로 전송되도록 하기 위하여 상기 요청을 상기 ID 리매핑부(231) 쪽으로 전송할 수 있다.In step S140 , the
도 3은 본 발명의 일 실시에에 따라 제공되는 트랜잭션 처리 장치가 버스로부터 수신한 응답을 처리하는 방법을 나타낸 순서도이다.3 is a flowchart illustrating a method for processing a response received from a bus by a transaction processing apparatus provided according to an embodiment of the present invention.
도 3에 나타낸 방법은, 마스터 장치(10), 슬레이브 장치(41), 및 버스(30)를 포함하는 데이터 처리 장치(100)가, 상기 버스(30)를 통과하여 송수신되는 상기 마스터 장치(10)와 상기 슬레이브 장치(41) 간의 트랜잭션의 경로를 제어하는 트랜잭션 처리 장치(20)를 이용하여 상기 트랜잭션을 처리하는 방법이다. In the method shown in FIG. 3 , the
이때, 상기 트랜잭션 처리 장치(20)는, 요청 스위치부(211, 241), 응답 스위치부(212, 242), CDAS 파트(221, 222), ID 리매핑부(231), ID 복원부(232), 요청 분석부(251), 응답 분석부(252), 및 응답 재정렬부(200)를 포함할 수 있다In this case, the
상기 트랜잭션을 처리하는 방법은 다음 단계들을 포함할 수 있다.The method of processing the transaction may include the following steps.
단계(S210)에서, 상기 응답 분석부(252)가, 상기 버스(30)로부터 응답을 입력받을 수 있다.In step S210 , the
단계(S220)에서, 상기 응답 분석부(252)가, 상기 응답 내에 포함되어 있는 추가정보를 확인함으로써 상기 응답이 상기 제1그룹의 트랜잭션에 속한 것인지 아니면 상기 제2그룹의 트랜잭션에 속한 것인지를 결정할 수 있다.In step S220, the
단계(S230)에서, 상기 응답 분석부(252)가, 상기 응답이 상기 제1그룹의 트랜잭션으로 분류되는지 아니면 상기 제2그룹의 트랜잭션으로 분류되는지를 결정할 수 있다.In step S230 , the
단계(S240)에서, 상기 응답 스위치부(212, 242)가, 상기 응답이 상기 제1그룹의 트랜잭션으로 분류된 경우에는 상기 응답을 상기 CDAS 파트(221, 222)를 통해 상기 응답 재정렬부(200)로 전송되도록 하기 위하여 상기 응답을 상기 CDAS 파트(221, 222)에게 전송하고, 상기 요청이 상기 제2그룹의 트랜잭션으로 분류된 경우에는 상기 응답을 상기 ID 복원부(232)를 통해 상기 응답 재정렬부(200)로 전송되도록 하기 위하여 상기 응답을 상기 ID 복원부(200)에게 전송할 수 있다.In step S240, when the response is classified as the first group transaction, the
단계(S250)에서, 상기 응답 재정렬부(200)가, 상기 응답 스위치부(212, 242)로부터 수신한 상기 응답을 상기 마스터 장치(10)에게 제공할 수 있다.In step S250 , the
도 4는 본 발명의 일 실시예에 따른 데이터 처리 시스템을 나타낸 것이다. 4 shows a data processing system according to an embodiment of the present invention.
데이터 처리 시스템(500)은 집적 회로, 주문형 표준 제품(ASSP), 주문형 집적회로(ASIC), 프로그램가능 논리장치(PLD), 풀 커스텀 칩, 전용 칩과 같은 다른 장치 또는 회로를 포함할 수 있다. 일 실시예에서, 회로(560)는 데이터 처리 장치(100)의 구성요소들 중 하나 이상을 포함할 수 있다. 데이터 처리 시스템(500)은, 프로세서(570), 메모리(580), I/O 회로(550), 집적 회로(560) 및 주변 장치(540) 중 하나 이상을 포함 할 수 있다. 이들 구성 요소는 시스템 버스 또는 다른 인터커넥터(530)에 의해 함께 연결되고 엔드유저 시스템(510)에 포함된 회로기판(520)에 설치되어 있을 수 있다.
데이터 처리 시스템(500)은 컴퓨터 네트워킹, 데이터 네트워킹, 계측, 비디오 처리, 디지털 신호 처리, 또는 프로그래밍 가능하거나 재 프로그래밍 가능한 로직을 사용하는 임의의 다른 애플리케이션과 같은 다양한 애플리케이션에서 사용될 수 있다. 회로(560)는 다양한 상이한 논리 기능을 수행하기 위해 사용될 수 있다. 예를 들어, 회로(560)는 프로세서(570)와 협력하여 작동하는 처리블록 또는 컨트롤러로서 구성될 수 있다. 회로(560)는 또한 시스템(500)에서 공유 리소스에 대한 액세스를 중재하기 위한 중재장치로서 사용될 수 있다. 데이터 처리 시스템(500)은 단지 예시로서 제시된 것이다. 데이터 처리 시스템(500)은 본 명세서에서 데이터 처리 장치 또는 컴퓨팅 장치로 지칭될 수도 있다.
도 1 내지 도 3에서 설명한 상기 데이터 처리 장치(100) 또는 상기 트랜재션 처리 장치(20)는 도 4에 제시한 주변장치(540)의 일 예, 또는 집적회로(560)의 일 예일 수 있다.The
상술한 본 발명의 실시예들을 이용하여, 본 발명의 기술 분야에 속하는 자들은 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에 다양한 변경 및 수정을 용이하게 실시할 수 있을 것이다. 특허청구범위의 각 청구항의 내용은 본 명세서를 통해 이해할 수 있는 범위 내에서 인용관계가 없는 다른 청구항에 결합될 수 있다.By using the above-described embodiments of the present invention, those skilled in the art will be able to easily implement various changes and modifications within the scope without departing from the essential characteristics of the present invention. The content of each claim in the claims may be combined with other claims without reference within the scope that can be understood through this specification.
10: 마스터 장치
20: 트랜잭션 처리 장치
30: 버스
41, 42: 슬레이브 장치
100: 데이터 처리 장치, 데이터 처리 시스템
200: 응답 재정렬부
211, 241: 요청 스위치부
212, 242: 응답 스위치부
221: 요청측 CDAS 파트
222: 응답측 CDAS 파트
231: ID 리매핑부
232: ID 복원부
251: 요청 분석부
252: 응답 분석부10: master device
20: transaction processing unit
30: bus
41, 42: slave device
100: data processing device, data processing system
200: response rearrangement unit
211, 241: request switch unit
212, 242: response switch unit
221: Requesting side CDAS part
222: response side CDAS part
231: ID remapping unit
232: ID restoration unit
251: request analysis unit
252: response analysis unit
Claims (14)
응답 스위치부;
CDAS 파트;
ID 리매핑부; 및
ID 복원부
를 포함하며,
상기 요청 스위치부는, 마스터 장치(10)로부터의 요청을 입력받아, 상기 요청이 제1그룹의 트랜잭션에 속한 경우에는 상기 요청을 상기 CDAS 파트를 통해 버스(30)로 전송하고, 상기 요청이 제2그룹의 트랜잭션에 속한 경우에는 상기 요청을 상기 ID 리매핑부를 통해 상기 버스로 전송하도록 되어 있고,
상기 응답 스위치부는, 상기 버스로부터 응답을 입력받아, 상기 응답이 상기 제1그룹의 트랜잭션에 속한 경우에는 상기 응답을 상기 CDAS 파트를 통해 상기 마스터 장치에게 제공하고, 상기 응답이 상기 제2그룹의 트랜잭션에 속한 경우에는 상기 응답을 상기 ID 복원부를 통해 상기 마스터 장치에게 제공하도록 되어 있는,
트랜잭션 처리 장치.request switch unit;
response switch unit;
CDAS part;
ID remapping unit; and
ID recovery unit
includes,
The request switch unit receives a request from the master device 10 and, when the request belongs to a first group transaction, transmits the request to the bus 30 through the CDAS part, and the request is transmitted to the second group. When belonging to a group transaction, the request is transmitted to the bus through the ID remapping unit,
The response switch unit receives a response from the bus, and when the response belongs to the first group transaction, provides the response to the master device through the CDAS part, and the response corresponds to the second group transaction. In the case of belonging to, to provide the response to the master device through the ID recovery unit,
transaction processing unit.
응답 재정렬부를 더 포함하며,
상기 응답 스위치부는, 상기 버스로부터 응답을 입력받아, 상기 응답이 상기 제1그룹의 트랜잭션에 속한 경우에는 상기 응답을 상기 CDAS 파트를 통해 상기 응답 재정렬부에게 제공하고, 상기 응답이 상기 제2그룹의 트랜잭션에 속한 경우에는 상기 응답을 상기 ID 복원부를 통해 상기 응답 재정렬부로 제공하도록 되어 있으며,
상기 응답 재정렬부는 상기 응답 스위치로부터 수신한 응답을 상기 마스터 장치에게 제공하도록 되어 있는,
트랜잭션 처리 장치.According to claim 1,
Further comprising a response reordering unit,
The response switch unit receives a response from the bus, and when the response belongs to the first group transaction, provides the response to the response reordering unit through the CDAS part, and the response is the response of the second group. When belonging to a transaction, the response is provided to the response reordering unit through the ID restoration unit,
The response reordering unit is configured to provide a response received from the response switch to the master device,
transaction processing unit.
상기 요청을 출력하도록 구성되는 상기 마스터 장치(10);
상기 응답을 출력하도록 구성되는 슬레이브 장치(41); 및
상기 마스터 장치와 상기 슬레이브 장치를 연결하도록 구성되는 상기 버스;
를 더 포함하는,
트랜잭션 처리 장치.According to claim 1,
the master device (10) configured to output the request;
a slave device (41) configured to output the response; and
the bus configured to connect the master device and the slave device;
further comprising,
transaction processing unit.
상기 마스터 장치로부터의 요청을 입력받아 상기 요청을 분석하는 요청 분석부(251);를 더 포함하며,
상기 요청 분석부는, 상기 요청의 타겟 슬레이브 장치가 유니크 ID를 수용하는 장치라고 판단된 경우에는 상기 요청이 상기 제2그룹의 트랜잭션에 속한 것으로 분류하도록 되어 있는
트랜잭션 처리 장치.According to claim 1,
Further comprising; a request analysis unit 251 for receiving a request from the master device and analyzing the request
The request analysis unit is configured to classify the request as belonging to the second group of transactions when it is determined that the target slave device of the request is a device that accepts a unique ID.
transaction processing unit.
상기 마스터 장치로부터의 요청을 입력받아 상기 요청을 분석하는 요청 분석부(251);를 더 포함하며,
상기 요청 분석부는, 상기 요청이 긴급 요청이며 상기 요청이 상기 요청의 타겟 슬레이브 장치에 도달할 수 있는 경로가 복수 개인 경우에는 상기 요청이 상기 제2그룹의 트랜잭션에 속한 것으로 분류하도록 되어 있는,
트랜잭션 처리 장치.According to claim 1,
Further comprising; a request analysis unit 251 for receiving a request from the master device and analyzing the request
The request analysis unit is configured to classify the request as belonging to the second group of transactions when the request is an emergency request and there are multiple paths through which the request can reach the target slave device of the request.
transaction processing unit.
상기 마스터 장치로부터의 요청을 입력받아 상기 요청을 분석하는 요청 분석부(251);를 더 포함하며,
상기 요청 분석부는, 상기 요청이, 상기 요청을 상기 마스터 장치로부터 수신하기 이전에 상기 마스터 장치로부터 수신한 이전 요청들과의 관계에서 순번 의존성을 갖고 있지 않은 것으로 판단되면, 상기 요청이 상기 제1그룹의 트랜잭션에 속한 것으로 분류하도록 되어 있는,
트랜잭션 처리 장치.According to claim 1,
Further comprising; a request analysis unit 251 for receiving a request from the master device and analyzing the request
The request analysis unit, if it is determined that the request does not have a sequence dependency in a relationship with previous requests received from the master device before receiving the request from the master device, the request is sent to the first group to be classified as belonging to the transaction of
transaction processing unit.
상기 버스로부터의 응답을 입력받아 상기 응답을 분석하는 응답 분석부(252);를 더 포함하며,
상기 응답 분석부는, 상기 응답이 상기 제1그룹의 트랜잭션에 속한 것으로 분류되는 것인지 아니면 상기 제2그룹의 트랜잭션에 속한 것으로 분류되는 것인지를 결정하도록 되어 있는,
트랜잭션 처리 장치.According to claim 1,
Further comprising; a response analysis unit 252 for receiving the response from the bus and analyzing the response;
wherein the response analyzing unit is configured to determine whether the response is classified as belonging to the first group of transactions or as belonging to the second group of transactions,
transaction processing unit.
상기 요청 스위치부는, 상기 요청에 추가정보를 부가하도록 되어 있으며,
상기 추가정보는 상기 요청이 상기 제1그룹의 트랜잭션에 속한 것인지 아니면 상기 제2그룹의 트랜잭션에 속한 것인지를 나타내는 정보이며,
상기 요청을 수신한 슬레이브 장치는, 상기 요청에 대한 응답을 출력할 때에 상기 요청에 대한 응답에 상기 추가정보를 포함시키도록 되어 있고,
상기 응답 분석부는 상기 슬레이브 장치가 출력한 상기 응답 내에 포함되어 있는 상기 추가정보를 확인함으로써 상기 슬레이브 장치가 출력한 상기 응답이 상기 제1그룹의 트랜잭션에 속한 것인지 아니면 상기 제2그룹의 트랜잭션에 속한 것인지를 결정하도록 되어 있는,
트랜잭션 처리 장치.8. The method of claim 7,
The request switch unit is configured to add additional information to the request,
The additional information is information indicating whether the request belongs to a transaction of the first group or a transaction of the second group;
The slave device receiving the request is configured to include the additional information in a response to the request when outputting a response to the request,
The response analyzer determines whether the response output by the slave device belongs to the first group transaction or the second group transaction by checking the additional information included in the response output by the slave device. to be determined,
transaction processing unit.
상기 요청의 타겟 슬레이브 장치가 유니크 ID를 수용하는 장치라고 판단된 경우에는 상기 요청이 상기 제2그룹의 트랜잭션에 속한 것으로 분류하도록 되어 있는,
트랜잭션 처리 장치.According to claim 1,
When it is determined that the target slave device of the request is a device that accepts a unique ID, the request is classified as belonging to the second group of transactions;
transaction processing unit.
상기 트랜잭션 처리 장치는, 요청 스위치부(211, 241), 응답 스위치부(212, 242), CDAS 파트(221, 222), ID 리매핑부(231), ID 복원부(232), 요청 분석부(251), 및 응답 분석부(252)를 포함하며,
상기 요청 분석부가, 상기 마스터 장치로부터의 요청을 입력받는 단계;
상기 요청 분석부가, 상기 요청이 제1그룹의 트랜잭션으로 분류되는 것인지 아니면 제2그룹의 트랜잭션으로 분류되는 것인지를 결정하는 제1결정단계;
상기 요청 스위치부가, 상기 요청이 상기 제1그룹의 트랜잭션으로 분류된 경우에는 상기 요청을 상기 CDAS 파트를 통해 상기 버스로 전송되도록 하기 위하여 상기 요청을 상기 CDAS 파트 쪽으로 전송하고, 상기 요청이 상기 제2그룹의 트랜잭션으로 분류된 경우에는 상기 요청을 상기 ID 리매핑부를 통해 상기 버스로 전송되도록 하기 위하여 상기 요청을 상기 ID 리매핑부 쪽으로 전송하는 제1전송단계;
상기 응답 분석부가, 상기 버스로부터 응답을 입력받는 제1입력단계;
상기 응답 분석부가 상기 응답을 상기 제1그룹의 트랜잭션으로 분류한 경우에는 상기 응답을 상기 CDAS 파트를 통해 상기 마스터 장치에게 전송되도록 하기 위하여 상기 응답 스위치부가 상기 응답을 상기 CDAS 파트에게 전송하고, 상기 응답 분석부가 상기 응답을 상기 제2그룹의 트랜잭션으로 분류한 경우에는 상기 응답을 상기 ID 복원부를 통해 상기 마스터 장치에게 전송되도록 하기 위하여 상기 응답 스위치부가 상기 응답을 상기 ID 복원부에게 전송하는, 제2전송단계; 및
상기 트랜잭션 처리 장치가, 상기 응답 스위치부가 상기 CDAS 파트에게 전송하거나 또는 상기 ID 복원부에게 전송한 상기 응답을 상기 마스터 장치에게 제공하는 단계;
를 포함하는,
트랜잭션 처리 방법.In a system device including a master device, a slave device, and a bus, a transaction processing method for processing the transaction using a transaction processing device that controls a path of a transaction between the master device and the slave device transmitted and received through the bus As,
The transaction processing device includes a request switch unit 211, 241, a response switch unit 212, 242, CDAS parts 221, 222, an ID remapping unit 231, an ID restoration unit 232, a request analysis unit ( 251), and a response analysis unit 252,
receiving, by the request analysis unit, a request from the master device;
a first determining step of determining, by the request analysis unit, whether the request is classified as a first group transaction or a second group transaction;
the request switch unit, when the request is classified as the first group of transactions, transmits the request to the CDAS part to transmit the request to the bus through the CDAS part, and the request is sent to the second group a first transmission step of transmitting the request to the ID remapping unit so that the request is transmitted to the bus through the ID remapping unit when classified as a group transaction;
a first input step of receiving, by the response analysis unit, a response from the bus;
When the response analysis unit classifies the response as the first group of transactions, the response switch unit transmits the response to the CDAS part so that the response is transmitted to the master device through the CDAS part, and the response When the analysis unit classifies the response as the second group of transactions, the response switch unit transmits the response to the ID restoration unit in order to transmit the response to the master device through the ID restoration unit. step; and
providing, by the transaction processing device, the response that the response switch unit transmits to the CDAS part or the response transmitted to the ID recovery unit to the master device;
containing,
How transactions are processed.
상기 트랜잭션 처리 장치는 응답 재정렬부(200)를 더 포함하며,
상기 응답 스위치부는, 상기 응답이 상기 제1그룹의 트랜잭션으로 분류된 경우에는 상기 응답을 상기 CDAS 파트를 통해 상기 응답 재정렬부에게 제공하고, 상기 응답이 상기 제2그룹의 트랜잭션으로 분류된 경우에는 상기 응답을 상기 ID 복원부를 통해 상기 응답 재정렬부로 제공하도록 되어 있으며,
상기 응답 재정렬부는 상기 응답 스위치부로부터 수신한 응답을 상기 마스터 장치에게 제공하도록 되어 있는 것을 특징으로 하는,
트랜잭션 처리 방법.11. The method of claim 10,
The transaction processing device further includes a response reordering unit 200,
The response switch unit provides the response to the response reordering unit through the CDAS part when the response is classified as the first group transaction, and provides the response to the response reordering unit through the CDAS part, and when the response is classified as the second group transaction and to provide a response to the response reordering unit through the ID restoration unit,
The response reordering unit is characterized in that it is configured to provide the response received from the response switch unit to the master device,
How the transaction is processed.
상기 제1결정단계와 상기 제1전송단계 사이에, 상기 요청 스위치부가, 상기 요청이 상기 제1그룹의 트랜잭션에 속한 것인지 아니면 상기 제2그룹의 트랜잭션에 속한 것인지를 나타내는 추가정보를 상기 요청에 부가하는 단계를 더 포함하는,
트랜잭션 처리 방법.11. The method of claim 10,
Between the first determining step and the first transmitting step, the request switch unit adds additional information indicating whether the request belongs to the first group transaction or the second group transaction to the request. further comprising the step of
How the transaction is processed.
상기 제1입력단계와 상기 제2전송단계 사이에, 상기 응답 분석부가, 상기 응답 내에 포함되어 있는 추가정보를 확인함으로써 상기 응답이 상기 제1그룹의 트랜잭션에 속한 것인지 아니면 상기 제2그룹의 트랜잭션에 속한 것인지를 결정하는 단계를 더 포함하는,
트랜잭션 처리 방법.13. The method of claim 12,
Between the first input step and the second transmission step, the response analyzer checks the additional information included in the response to determine whether the response belongs to the first group transaction or not to the second group transaction. further comprising the step of determining whether
How the transaction is processed.
프로세서; 및
메모리
를 포함하는,
컴퓨팅 장치.The transaction processing apparatus of any one of claims 1 to 9;
processor; and
Memory
containing,
computing device.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200160186A KR102326892B1 (en) | 2020-11-25 | 2020-11-25 | Adaptive transaction handling method and device for same |
PCT/KR2020/017001 WO2022114272A1 (en) | 2020-11-25 | 2020-11-26 | Adaptive transaction processing method and device for same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200160186A KR102326892B1 (en) | 2020-11-25 | 2020-11-25 | Adaptive transaction handling method and device for same |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102326892B1 true KR102326892B1 (en) | 2021-11-16 |
Family
ID=78716799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200160186A KR102326892B1 (en) | 2020-11-25 | 2020-11-25 | Adaptive transaction handling method and device for same |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102326892B1 (en) |
WO (1) | WO2022114272A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116257479B (en) * | 2023-05-16 | 2023-08-15 | 北京象帝先计算技术有限公司 | Reorder buffer, system, device, equipment and transmission method |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060282233A1 (en) * | 2005-05-26 | 2006-12-14 | Sudeep Pasricha | Method for the fast exploration of bus-based communication architectures at the cycle-count-accurate-at-transaction -boundaries (CCATB) abstraction |
US20120159037A1 (en) * | 2010-12-17 | 2012-06-21 | Kwon Woo Cheol | Memory interleaving device and method using reorder buffer |
US8949474B1 (en) * | 2011-11-21 | 2015-02-03 | Marvell International Ltd. | Method for inter-chip and intra-chip addressing using port identifiers and address mapping |
KR20160107233A (en) * | 2014-01-13 | 2016-09-13 | 에이알엠 리미티드 | A data processing system and method for handling multiple transactions |
KR101841964B1 (en) * | 2011-02-22 | 2018-05-15 | 삼성전자주식회사 | System on chip comprising a interconnector and control method thereof |
-
2020
- 2020-11-25 KR KR1020200160186A patent/KR102326892B1/en active IP Right Grant
- 2020-11-26 WO PCT/KR2020/017001 patent/WO2022114272A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060282233A1 (en) * | 2005-05-26 | 2006-12-14 | Sudeep Pasricha | Method for the fast exploration of bus-based communication architectures at the cycle-count-accurate-at-transaction -boundaries (CCATB) abstraction |
US20120159037A1 (en) * | 2010-12-17 | 2012-06-21 | Kwon Woo Cheol | Memory interleaving device and method using reorder buffer |
KR101841964B1 (en) * | 2011-02-22 | 2018-05-15 | 삼성전자주식회사 | System on chip comprising a interconnector and control method thereof |
US8949474B1 (en) * | 2011-11-21 | 2015-02-03 | Marvell International Ltd. | Method for inter-chip and intra-chip addressing using port identifiers and address mapping |
KR20160107233A (en) * | 2014-01-13 | 2016-09-13 | 에이알엠 리미티드 | A data processing system and method for handling multiple transactions |
Also Published As
Publication number | Publication date |
---|---|
WO2022114272A1 (en) | 2022-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11481346B2 (en) | Method and apparatus for implementing data transmission, electronic device, and computer-readable storage medium | |
JP5500741B2 (en) | Interrupt approval in data processing systems | |
US10802995B2 (en) | Unified address space for multiple hardware accelerators using dedicated low latency links | |
US7818546B2 (en) | Pipeline processing communicating adjacent stages and controls to prevent the address information from being overwritten | |
US10628340B2 (en) | Method for reordering out of order responses from decomposed requests in bridge IP | |
US7827343B2 (en) | Method and apparatus for providing accelerator support in a bus protocol | |
EP1535169B1 (en) | Improved inter-processor communication system for communication between processors | |
US7500038B2 (en) | Resource management | |
KR20120040535A (en) | Bus system and operating method thereof | |
CN105988968B (en) | Semiconductor device with a plurality of semiconductor chips | |
KR102326892B1 (en) | Adaptive transaction handling method and device for same | |
US8527684B2 (en) | Closed loop dynamic interconnect bus allocation method and architecture for a multi layer SoC | |
US8090893B2 (en) | Input output control apparatus with a plurality of ports and single protocol processing circuit | |
CN114328350A (en) | Communication method, device and medium based on AXI bus | |
CN107066413A (en) | A kind of method and its bus system for being used to handle multiple bus apparatus data | |
US10095643B2 (en) | Direct memory access control device for at least one computing unit having a working memory | |
US20050021896A1 (en) | Data bus system and method for performing cross-access between buses | |
EP1759297B1 (en) | Interrupt scheme for bus controller | |
US11847464B2 (en) | Variable pipeline length in a barrel-multithreaded processor | |
US20190286606A1 (en) | Network-on-chip and computer system including the same | |
US10185684B2 (en) | System interconnect and operating method of system interconnect | |
US7526595B2 (en) | Data path master/slave data processing device apparatus and method | |
US9582438B2 (en) | Method and apparatus for identifying cause of interrupt | |
KR20060112349A (en) | Bus system and bus data processing method for system on chip | |
US20240004816A1 (en) | Interface method for transmitting and recieving data between functional blocks in system on chip, and system on chip using same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |