KR20070089386A - Transaction ID width conversion apparatus and method - Google Patents
Transaction ID width conversion apparatus and method Download PDFInfo
- Publication number
- KR20070089386A KR20070089386A KR1020060019342A KR20060019342A KR20070089386A KR 20070089386 A KR20070089386 A KR 20070089386A KR 1020060019342 A KR1020060019342 A KR 1020060019342A KR 20060019342 A KR20060019342 A KR 20060019342A KR 20070089386 A KR20070089386 A KR 20070089386A
- Authority
- KR
- South Korea
- Prior art keywords
- transaction
- bit
- bit transaction
- unit
- converted
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A01—AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
- A01K—ANIMAL HUSBANDRY; AVICULTURE; APICULTURE; PISCICULTURE; FISHING; REARING OR BREEDING ANIMALS, NOT OTHERWISE PROVIDED FOR; NEW BREEDS OF ANIMALS
- A01K63/00—Receptacles for live fish, e.g. aquaria; Terraria
- A01K63/06—Arrangements for heating or lighting in, or attached to, receptacles for live fish
- A01K63/065—Heating or cooling devices
Landscapes
- Life Sciences & Earth Sciences (AREA)
- Environmental Sciences (AREA)
- Marine Sciences & Fisheries (AREA)
- Animal Husbandry (AREA)
- Biodiversity & Conservation Biology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 트랜잭션 ID폭 변환 장치 및 방법에 관한 것이다. 본 발명에 따른 트랜잭션 ID폭 변환 장치는 입력된 L비트 트랜잭션 ID의 기(旣)변환 여부에 따라, 기(旣)변환된 경우 상기 L비트 트랜잭션 ID를 변환부로 전송하고, 기(旣)변환되지 않은 경우 상기 L비트 트랜잭션 ID를 지정부로 전송하는 할당부; 상기 L비트 트랜잭션 ID에 대응되는 S비트 트랜잭션 ID를 지정하여 이를 상기 L비트 트랜잭션 ID와 함께 상기 변환부로 전송하며, 상기 L비트 트랜잭션 ID를 역변환부로 전송하는 지정부; 상기 L비트 트랜잭션 ID를 상기 S비트 트랜잭션 ID로 변환하여 출력하는 변환부; 기(旣)변환된 S비트 트랜잭션 ID가 입력된 경우, 상기 S비트 트랜잭션 ID를 대응되는 L비트 트랜잭션 ID로 역변환하여 출력하는 역변환부; 및 동일한 트랜잭션 ID의 역변환 횟수에 따라 상기 할당부와 지정부를 제어하는 제어부를 포함한다.The present invention relates to a transaction ID width conversion apparatus and method. The transaction ID width converting apparatus according to the present invention transmits the L-bit transaction ID to the converting unit when it is pre-converted according to whether or not the input L-bit transaction ID is converted. An allocator for transmitting the L-bit transaction ID to a designation unit if not; A designation unit for designating an S-bit transaction ID corresponding to the L-bit transaction ID and transmitting the S-bit transaction ID to the transform unit together with the L-bit transaction ID, and transmitting the L-bit transaction ID to an inverse transform unit; A conversion unit converting the L bit transaction ID into the S bit transaction ID and outputting the converted S bit transaction ID; An inverse transform unit which inversely converts the S-bit transaction ID into a corresponding L-bit transaction ID when the pre-converted S-bit transaction ID is input; And a control unit controlling the allocation unit and the designation unit according to the number of inverse transformations of the same transaction ID.
Description
본 발명의 상세한 설명에서 인용되는 도면을 이해하기 위하여 각 도면에 대한 간단한 설명이 제공된다.BRIEF DESCRIPTION OF THE DRAWINGS In order to understand the drawings referred to in the detailed description of the invention, a brief description of each drawing is provided.
도 1은 다수의 스위치 노드들을 포함하는 SoC 내부의 트랜잭션 흐름도이다.1 is a transaction flow diagram inside an SoC including multiple switch nodes.
도 2는 도 1에 도시된 스위치 노드 1,2를 상호 연결한 도면이다.FIG. 2 is a diagram interconnecting the
도 3은 본 발명에 따른 트랜잭션 ID폭 변환 장치의 구성을 나타내는 도면이다.3 is a diagram illustrating a configuration of a transaction ID width conversion device according to the present invention.
도 4는 본 발명에 따른 트랜잭션 ID폭 변환 장치 내부에 존재하는 테이블들을 나타내는 도면이다.4 is a diagram illustrating tables present in the transaction ID width conversion apparatus according to the present invention.
도 5는 본 발명에 따른 트랜잭션 ID폭 변환 장치가 스위치 노드의 외부에 설치된 것을 나타내는 도면이다.5 is a view showing that the transaction ID width conversion apparatus according to the present invention is installed outside the switch node.
도 6은 본 발명에 따른 트랜잭션 ID폭 변환 장치가 스위치 노드의 내부에 설치된 것을 나타내는 도면이다.6 is a view showing that the transaction ID width conversion apparatus according to the present invention is installed inside the switch node.
도 7a는 본 발명에 따른 트랜잭션 ID폭 변환 방법의 일 실시예를 나타내는 플로우 차트이다.7A is a flowchart illustrating an embodiment of a transaction ID width conversion method according to the present invention.
도 7b는 본 발명에 따른 트랜잭션 ID폭 변환 방법의 다른 실시예를 나타내는 플로우 차트이다.7B is a flowchart illustrating another embodiment of a transaction ID width conversion method according to the present invention.
< 도면의 참조 번호에 대한 설명 ><Description of Reference Number in Drawing>
10 : 할당부 15 : 할당 테이블10: allocation unit 15: allocation table
20 : 지정부 25 : 지정 테이블20: designation part 25: designation table
30 : 변환부 35 : 변환 테이블30: conversion unit 35: conversion table
40 : 역변환부 45 : 역변환 테이블40: inverse transform unit 45: inverse transform table
50 : 제어부 100 : 마스터(Master)50: control unit 100: master
200 : 스위치 노드 250 : 스위치 노드 1200: switch node 250:
260 : 스위치 노드 2 270 : 스위치 노드 3260:
280 : 스위치 노드 4 300 : 트랜잭션 ID폭 변환 장치280: switch node 4 300: transaction ID width conversion device
400 : 슬래이브(Slave)400: Slave
본 발명은 트랜잭션 ID폭 변환 장치 및 그 변환 방법에 관한 것으로서, 특히 다중 아웃스탠딩 트랜잭션(Multiple outstanding transaction)을 지원하는 아키텍처(Architecture)에 있어서, 각 코어(Core)들 간에 트랜잭션을 전송할 때, 트랜잭션 ID폭을 일정하게 유지시켜 주기 위한 트랜잭션 ID폭 변환 장치 및 그 변환방법에 관한 것이다.The present invention relates to a device for converting a transaction ID width and a method for converting the same, and particularly, in an architecture supporting multiple outstanding transactions, when transmitting a transaction between cores, a transaction ID is used. The present invention relates to a transaction ID width conversion apparatus and a conversion method thereof for maintaining a constant width.
메모리와 비메모리, 아날로그와 디지털 부품, H/W와 S/W 등 모든 기능을 하나의 칩에 담아 하나의 시스템으로 통합시킨 SoC(System on chip)는 기존의 반도체 기술에서 한걸음 더 나아가 현재 거론되고 있는 각종 IT(Information technology)기술의 총체로 인식되고 있다.System on chip (SoC), which combines all functions such as memory and non-memory, analog and digital components, H / W and S / W into one system, is one step further from the existing semiconductor technology. It is recognized as a whole of various IT (Information technology) technology.
이러한 SoC는 각 모듈 간의 통신을 효과적으로 수행하기 위해 버스를 사용하는데, 버스는 공유된 매개체를 이용하여 구현될 수도 있고, 크로스 바(Cross bar) 스위치처럼 각 마스터(Master)와 슬래이브(Slave) 사이를 직접 연결할 수도 있다. These SoCs use a bus to effectively communicate with each module, which can be implemented using a shared medium, and like a cross bar switch, between each master and slave. You can also connect directly.
이러한 버스를 캐스케이드(Cascade) 형태로 구성하게 되면 복잡한 SoC에서 수많은 코어를 연결하는 데에 사용할 수 있는데, 이 경우 각 버스가 스위치 노드(Switch node)의 역할을 하는 것이라고 볼 수 있다. 이하에서는 버스를 스위치 노드로 사용하기로 한다.Cascaded buses can be used to connect numerous cores in complex SoCs, where each bus acts as a switch node. Hereinafter, the bus will be used as a switch node.
전통적으로 스위치 노드는 입력되는 트랜잭션들을 순서대로(in-order) 처리하는 것이 보통이었는데, 최근에는 순서와 상관없이(out-of-order) 처리하는 방식이 등장하고 있다.(참조 : ARM PL300 TRM, AMBA AXI Definition)Traditionally, switch nodes typically process incoming transactions in-order. Recently, out-of-order processing has emerged (see ARM PL300 TRM, AMBA AXI Definition)
이러한 새로운 방식에서는 여러 개의 아웃스탠딩 트랜잭션(Outstanding transaction)이 존재할 수 있으므로 각 트랜잭션을 구별하기 위해서 ID를 사용하게 된다. 이러한 ID는 보통 트랜잭션 ID로 불린다. 트랜잭션 ID는 마스터의 개수에 따라 결정되는데, 2L 개의 마스터가 존재하는 경우 L비트를 사용하여 각 마스터에서 발생하는 트랜잭션을 구별하게 된다. 예를 들어, 8개의 마스터가 존재하는 경우 3 비트로 모든 마스터의 트랜잭션 ID를 구별할 수 있다. In this new approach, there can be multiple outstanding transactions, so the ID is used to distinguish each transaction. This ID is usually called a transaction ID. The transaction ID is determined by the number of masters. If there are 2 L masters, the L bits are used to distinguish the transactions occurring in each master. For example, if there are 8 masters, 3 bits can distinguish the transaction IDs of all masters.
상기 스위치 노드는 입력되는 트랜잭션이 도달되는 슬래이브의 위치를 결정하고 트랜잭션의 흐름을 제어하는 역할을 수행하는데, 하나의 스위치 노드로 입력되는 트랜잭션은 스위치 노드의 입력단자에 따라 다르므로, 하나의 스위치 노드를 통과할 때마다 입력단자를 구별할 수 있는 새로운 정보가 각 트랜잭션 ID에 부가되게 된다. 예를 들어 4개의 마스터에서 하나의 스위치 노드로 트랜잭션을 전송한 경우, 스위치 노드 출력단자에서의 트랜잭션 ID폭은 2비트가 증가하게 된다.The switch node determines the location of the slave where the incoming transaction is reached and controls the flow of the transaction. Since the transaction input to one switch node depends on the input terminal of the switch node, one switch Each time a node passes, new information is added to each transaction ID to distinguish between input terminals. For example, if a transaction is sent from one of four masters to one switch node, the transaction ID width at the switch node output terminal is increased by two bits.
따라서, 상기 스위치 노드가 캐스케이드(Cascade) 형태로 연결되게 되면, 트랜잭션 ID의 폭은 마스터에서 슬래이브로 갈수록 계속 증가할 수밖에 없는 것은 자명하다. 뿐만 아니라, 스위칭 노드 양단의 비대칭적인 ID폭은 스위치 노드들 간의 상호연결을 불가능하게 한다. 이것은 복수 개의 스위치 노드를 포함하는 시스템을 설계할 때 더욱더 복잡한 과정을 거쳐야 함을 의미한다. 또한 시스템 설계 중에 코어나 스위치 노드를 추가/삭제하기 어려운 문제가 발생한다. 즉 설계변경을 더욱 어렵게 만든다. Therefore, when the switch node is cascaded (cascade), it is obvious that the width of the transaction ID must increase continuously from the master to the slave. In addition, the asymmetric ID width across the switching nodes makes the interconnection between the switch nodes impossible. This means that a more complex process is required when designing a system with multiple switch nodes. In addition, it is difficult to add / remove cores or switch nodes during system design. That makes design changes more difficult.
본 발명은 상기와 같은 문제점을 해결하기 위해 안출된 것으로서, SoC 내부의 코어들 상호간에 통신을 함에 있어서, 복수의 트랜잭션이 하나 또는 그 이상의 스위치 노드를 통과함으로 인해 트랜잭션 ID폭이 변경되었을 때, 이를 원래의 ID폭으로 다시 변환시켜 출력함으로써, 트랜잭션 ID폭이 과도하게 늘어나는 현상을 방지하여 시스템의 설계 변경을 용이하게 만들 수 있는 트랜잭션 ID폭 변환 장치 및 방법을 제공하는 것을 그 목적으로 한다.The present invention has been made to solve the above problems, in the communication between the cores in the SoC, when the transaction ID width is changed due to a plurality of transactions passing through one or more switch nodes, It is an object of the present invention to provide an apparatus and method for translating a transaction ID width, which can prevent a phenomenon in which the transaction ID width is excessively increased by converting it back to the original ID width and making the design change of the system easy.
본 발명의 또 다른 목적은 트랜잭션에 대한 응답(Respond)이 있는 경우, 기(旣)변환된 트랜잭션 ID폭을 변환되기 전의 ID폭으로 복원시켜 출력함으로써, 트랜잭션의 원활한 흐름을 유도할 수 있는 트랜잭션 ID폭 변환 장치 및 방법을 제공하는 것을 그 목적으로 한다.Another object of the present invention, if there is a response to the transaction, by restoring the previously converted transaction ID width to the ID width before conversion, and outputs a transaction ID that can induce a smooth flow of the transaction It is an object of the present invention to provide a width converting apparatus and method.
본 발명에 따른 트랜잭션 ID폭 변환 장치는, Transaction ID width conversion apparatus according to the present invention,
입력된 L비트 트랜잭션 ID의 기(旣)변환 여부에 따라, 기(旣)변환된 경우 상기 L비트 트랜잭션 ID를 변환부로 전송하고, 기(旣)변환되지 않은 경우 상기 L비트 트랜잭션 ID를 지정부로 전송하는 할당부; Depending on whether or not the input L-bit transaction ID is pre-converted, the L-bit transaction ID is transmitted to the converting unit when the L-bit transaction ID is pre-converted. An allocation unit for transmitting;
상기 L비트 트랜잭션 ID에 대응되는 S비트 트랜잭션 ID를 지정하여 이를 상기 L비트 트랜잭션 ID와 함께 상기 변환부로 전송하며, 상기 L비트 트랜잭션 ID를 역변환부로 전송하는 지정부;A designation unit for designating an S-bit transaction ID corresponding to the L-bit transaction ID and transmitting the S-bit transaction ID to the transform unit together with the L-bit transaction ID, and transmitting the L-bit transaction ID to an inverse transform unit;
상기 L비트 트랜잭션 ID를 상기 S비트 트랜잭션 ID로 변환하여 출력하는 변환부;A conversion unit converting the L bit transaction ID into the S bit transaction ID and outputting the converted S bit transaction ID;
기(旣)변환된 S비트 트랜잭션 ID가 입력된 경우, 상기 S비트 트랜잭션 ID를 대응되는 L비트 트랜잭션 ID로 역변환하여 출력하는 역변환부; 및An inverse transform unit which inversely converts the S-bit transaction ID into a corresponding L-bit transaction ID when the pre-converted S-bit transaction ID is input; And
동일한 트랜잭션 ID의 역변환 횟수에 따라 상기 할당부와 지정부를 제어하는 제어부를 포함한다. And a control unit controlling the allocation unit and the designation unit according to the number of inverse transformations of the same transaction ID.
상기 할당부는 입력된 L비트 트랜잭션 ID의 변환 여부 및 변환 횟수를 기록 하기 위한 2L × N비트의 엔트리(Entry)로 구성된 할당 테이블을 포함할 수 있다.The allocator may include an allocation table including 2 L × N bit entries for recording whether the input L bit transaction ID is converted and the number of conversions.
또한, 기(旣)변환된 동일한 트랜잭션 ID가 재입력된 경우 입력된 횟수에 상응하게 해당 할당 테이블의 트랜잭션 ID의 엔트리 수치(Entry value)를 증가시킬 수 있다.In addition, when the same previously converted transaction ID is re-entered, an entry value of a transaction ID of the corresponding allocation table may be increased according to the number of inputs.
상기 지정부는 상기 L비트 트랜잭션 ID와 대응되는 S비트 트랜잭션 ID를 지정하기 위한 2S 개의 엔트리(Entry)로 구성된 지정 테이블을 포함할 수 있다.The designation unit may include a designation table including two S entries for designating an S-bit transaction ID corresponding to the L-bit transaction ID.
또한, 상기 지정부는 상기 L비트 트랜잭션 ID의 입력순서에 따라 상기 지정 테이블의 엔트리(Entry)를 부여하고, 상기 엔트리(Entry)의 인덱스(Index)를 S비트 트랜잭션 ID로 지정할 수 있다.The designation unit may assign an entry of the designation table according to an input order of the L-bit transaction ID, and designate an index of the entry as an S-bit transaction ID.
상기 변환부는 상기 L비트 트랜잭션 ID를 이에 대응되는 S비트 트랜잭션 ID로 변환하기 위한 2L × S비트의 엔트리(Entry)로 구성된 변환 테이블을 포함할 수 있다.The conversion unit may include a conversion table configured with an entry of 2 L × S bits for converting the L bit transaction ID into a corresponding S bit transaction ID.
상기 역변환부는 상기 S비트 트랜잭션 ID에 대응되는 L비트 트랜잭션 ID를 기록하기 위한 2S × L비트의 엔트리(Entry)로 구성된 역변환 테이블을 포함할 수 있다.The inverse transform unit may include an inverse transform table composed of 2 S × L bit entries for recording an L bit transaction ID corresponding to the S bit transaction ID.
상기 제어부는 동일한 트랜잭션 ID의 역변환 횟수에 상응하게 상기 할당 테이블의 해당 트랜잭션 ID의 엔트리 수치(Entry value)를 감소시킬 수 있다.The controller may decrease an entry value of the corresponding transaction ID of the allocation table corresponding to the number of inverse transformations of the same transaction ID.
상기 할당 테이블의 해당 트랜잭션 ID의 엔트리 수치(Entry value)가 0이 되 는 경우, 상기 역변환부로 입력된 S비트 트랜잭션 ID를 인덱스(Index)로 하는 지정 테이블의 엔트리 수치(Entry value)를 0으로 변환시킬 수 있다.When the entry value of the corresponding transaction ID of the allocation table becomes 0, the entry value of the designated table that converts the S-bit transaction ID input to the inverse conversion unit into an index is converted to 0. You can.
상기 L비트는 S비트에 비해 큰 값을 갖는 것이 바람직하다.Preferably, the L bit has a larger value than the S bit.
상기 트랜잭션 ID폭 변환 장치는 스위치 노드의 내부에 설치되는 것이 바람직하다.The transaction ID width conversion device is preferably installed inside the switch node.
본 발명에 따른 트랜잭션 ID폭 변환 방법은,Transaction ID width conversion method according to the present invention,
입력된 L비트 트랜잭션 ID의 기(旣)변환 여부에 따라, 기(旣)변환된 경우 상기 L비트 트랜잭션 ID를 변환부로 전송하고, 기(旣)변환되지 않은 경우 상기 L비트 트랜잭션 ID를 지정부로 전송하는 단계;Depending on whether or not the input L-bit transaction ID is pre-converted, the L-bit transaction ID is transmitted to the converting unit when the L-bit transaction ID is pre-converted. Transmitting;
상기 L비트 트랜잭션 ID에 대응되는 S비트 트랜잭션 ID를 지정하여 이를 상기 L비트 트랜잭션 ID와 함께 변환부로 전송하며, 상기 L비트 트랜잭션 ID를 역변환부로 전송하는 단계;Designating an S-bit transaction ID corresponding to the L-bit transaction ID and transmitting the S-bit transaction ID together with the L-bit transaction ID to the transform unit, and transmitting the L-bit transaction ID to the inverse transform unit;
상기 L비트 트랜잭션 ID를 상기 S비트 트랜잭션 ID로 변환하여 출력하는 단계;Converting the L bit transaction ID into the S bit transaction ID and outputting the converted S bit transaction ID;
기(旣)변환된 S비트 트랜잭션 ID가 입력된 경우, 상기 S비트 트랜잭션 ID를 대응되는 L비트 트랜잭션 ID로 역변환하여 출력하는 단계; 및Inversely converting the S-bit transaction ID into a corresponding L-bit transaction ID and outputting the pre-converted S-bit transaction ID; And
동일한 트랜잭션 ID의 역변환 횟수에 따라 상기 할당부와 지정부를 제어하는 단계를 포함할 수 있다.And controlling the allocation unit and the designation unit according to the number of inverse transformations of the same transaction ID.
상기 기(旣)변환 여부의 판단하는 단계는, 2L×N비트의 엔트리(Entry)로 구 성된 할당 테이블을 이용할 수 있다.In the determining of whether or not the pre-transformation is performed, an allocation table including 2 L × N bits of entry may be used.
또한, 기(旣)변환된 동일한 트랜잭션 ID가 재입력된 경우 입력된 횟수에 상응하게 상기 할당 테이블의 해당 트랜잭션 ID의 엔트리 수치(Entry value)를 증가시킬 수 있다.In addition, when the same previously converted transaction ID is re-entered, an entry value of the corresponding transaction ID of the allocation table may be increased according to the number of inputs.
상기 L비트 트랜잭션 ID에 대응되는 S비트 트랜잭션 ID를 지정하는 단계는, 2S 개의 엔트리(Entry)로 구성된 지정 테이블을 이용할 수 있다.The step of specifying the S-bit transaction ID corresponding to the L-bit transaction ID may use a designation table composed of 2 S entries.
또한, 상기 L비트 트랜잭션 ID의 입력순서에 따라 상기 지정 테이블의 엔트리(Entry)를 부여하고, 상기 엔트리(Entry)의 인덱스(Index)를 S비트 트랜잭션 ID로 지정할 수 있다.In addition, an entry of the designation table may be given according to the input order of the L-bit transaction ID, and an index of the entry may be designated as an S-bit transaction ID.
상기 L비트 트랜잭션 ID를 상기 S비트 트랜잭션 ID로 변환하는 단계는, 2L × S비트의 엔트리(Entry)로 구성된 변환 테이블을 이용할 수 있다.The conversion of the L-bit transaction ID to the S-bit transaction ID may use a conversion table composed of 2 L × S bit entries.
상기 S비트 트랜잭션 ID를 대응되는 L비트 트랜잭션 ID로 역변환하는 단계는, 2S × L비트의 엔트리(Entry)로 구성된 역변환 테이블을 이용할 수 있다.Inverting the S-bit transaction ID into a corresponding L-bit transaction ID may use an inverse transformation table composed of 2 S × L bit entries.
상기 할당부를 제어하는 단계는 상기 S비트 트랜잭션 ID의 역변환 횟수에 상응하게 상기 할당 테이블의 해당 트랜잭션 ID의 엔트리 수치(Entry value)를 감소시키는 것을 특징으로 하는 트랜잭션 ID폭 변환 방법.And controlling the allocation unit decreases an entry value of a corresponding transaction ID of the allocation table corresponding to the number of inverse transformations of the S-bit transaction ID.
상기 지정부를 제어하는 단계는 상기 할당 테이블의 해당 트랜잭션 ID의 엔트리 수치(Entry value)가 O이 되는 경우, 상기 기(旣)변환된 S비트 트랜잭션 ID를 인덱스(Index)로 하는 지정 테이블의 엔트리 수치(Entry value)를 O으로 변환시킬 수 있다. The controlling of the designation unit may include: when the entry value of the corresponding transaction ID of the allocation table becomes 0, the entry number of the designation table using the pre-converted S-bit transaction ID as an index. You can convert the entry value to O.
상기 L비트는 상기 S비트에 비해 큰 값을 갖는 것이 바람직하다.Preferably, the L bit has a larger value than the S bit.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명을 설명함에 있어, 관련된 공지의 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In describing the present invention, if it is determined that the detailed description of the related well-known configuration or function may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.
본 발명을 설명하기에 앞서, 다수의 스위치 노드를 포함하는 SoC(System on chip) 내부의 트랜잭션의 흐름 및 상호 연결된 스위치 노드에 관해 자세히 살펴 본다.Prior to describing the present invention, a flow of transactions and interconnected switch nodes in a System on Chip (SoC) including a plurality of switch nodes will be described in detail.
도 1은 다수의 스위치 노드들을 포함하는 SoC 내부의 트랜잭션 흐름도이다.1 is a transaction flow diagram inside an SoC including multiple switch nodes.
도 1에 도시된 바와 같이, SoC(System on chip)는 내부에 마스터(100), 복수의 스위치 노드(250, 260, 270, 280), 슬래이브(400)을 포함할 수 있다.As shown in FIG. 1, a system on chip (SoC) may include a
마스터(M1 ‥‥ Mn)는 n개 까지 존재할 수 있으며, 일정한 통신 패턴에 의해 상단에 있는 마스터들(M1, M2)은 주로 상단에 있는 스위치 노드 1(250)를 통해 상단에 있는 슬래이브(S1)로 트랜잭션을 전송하고, 하단에 있는 마스터들(Mn -1, Mn)은 주로 하단에 있는 스위치 노드 2(260)를 통해 하단에 있는 슬래이브(Sn)로 트랜잭션을 전송한다. 이들 스위치 노드들(250, 260)은 직접 슬래이브(400)에 연결될 수도 있지만, 도 1에 도시된 바와 같이 다른 스위치 노드들(270, 280)에 연결될 수 있다. Master (M 1 ‥‥ M n ) may exist up to n, and due to a certain communication pattern, the masters (M 1 , M 2 ) at the top are mainly slaves (S 1 ) at the top through the switch node 1 (250) at the top. The masters (M n -1 , M n ) at the bottom mainly transmit the transaction to the slave (S n ) at the bottom through the switch node 2 (260) at the bottom. These
이 경우 스위치 노드 1, 2(250,260)에 입력되는 트랜잭션들은 각각 2개이므로, 상기 스위치 노드 1, 2(250,260)는 상기 트랜잭션을 입력받기 위한 2개의 입력단이 각각 필요하고, 따라서 상기 스위치 노드 1,2(250,260)를 통과한 트랜잭션에는 통과한 스위치 노드의 입력단을 식별할 수 있는 1비트 데이터가 상기 트랜잭션 ID에 각각 부과된다. 예를 들어 하나의 스위치 노드에 입력되는 트랜잭션 ID폭이 1비트라면 출력되는 트랜잭션 ID폭은 2비트가 된다. In this case, since two transactions are input to the
마찬가지로 스위치 노드 3, 4(270,280)의 각각에 입력되는 트랜잭션은 2개이므로, 각각의 트랜잭션의 입력단을 식별하기 위해서 1비트가 추가로 요구되고, 결국 스위치 노드 1, 2(250,260)로부터 입력되는 2비트 트랜잭션 ID폭은 출력단에서 3비트가 된다. 즉, 트랜잭션이 스위치 노드들(250,260,270,280)을 통과할수록 트랜잭션 ID폭은 증가한다.Similarly, since there are two transactions input to each of the switch nodes 3 and 4 (270, 280), an additional 1 bit is required to identify the input end of each transaction, and eventually 2 input from the
도 2는 도 1에 도시된 스위치 노드 1,2를 상호 연결한 도면이다.FIG. 2 is a diagram interconnecting the
상기에 설명된 바와 같이, 스위치 노드 1, 2(250, 260)로 입력되는 트랜잭션 ID폭이 2비트인 경우, 각각의 스위치 노드(200)에 4개의 트랜잭션이 입력되므로, 각각의 스위치 노드(200)를 통과한 트랜잭션 ID폭은 4비트로 증가하게 된다. As described above, when the transaction ID width input to the
만일 서로 다른 위치에 있는 슬레이브(400)에도 트랜잭션을 보내야 할 경우에는, 스위치 노드 1(250)의 출력 중의 하나는 스위치 노드 2(260)의 입력으로 연결되고, 그 반대로도 역시 연결될 필요성이 있다. 그러나 이 경우에는 입력단과 출력단의 트랜잭션 ID폭이 다르므로 이를 정정해 줄 수가 없어 상호 연결해 주기 어려운 문제점이 있다. If a transaction must also be sent to
따라서, 종래에는 이를 해결하기 위해 하나의 큰 스위치 노드를 사용하여 각각의 마스터를 각각의 슬래이브로 연결해주거나, 또는 다수의 스위치 노드를 사용하여 연결하여 사용했었다. 그러나 이는 분명히 비효율적이다.Accordingly, in order to solve this problem, each master is connected to each slave using one large switch node, or a plurality of switch nodes are used to connect each other. But this is clearly inefficient.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. Like reference numerals in the drawings denote like elements.
도 3은 본 발명에 따른 트랜잭션 ID폭 변환 장치의 구성을 나타내는 도면이고, 도 4는 본 발명에 따른 트랜잭션 ID폭 변환 장치 내부에 존재하는 테이블들을 나타내는 도면이다.3 is a diagram showing the configuration of a transaction ID width conversion apparatus according to the present invention, and FIG. 4 is a diagram showing tables existing within the transaction ID width conversion apparatus according to the present invention.
도 3을 참조하면, 본 발명에 따른 트랜잭션 ID폭 변환 장치(300)는 할당부(10), 지정부(20), 변환부(30), 역변환부(40), 제어부(50)로 구성되어 있다. Referring to FIG. 3, the transaction ID
도 4를 참조하면, 할당 테이블(15), 지정 테이블(25), 변환 테이블(35), 역변환 테이블(45)이 개시되어 있다.Referring to Fig. 4, the allocation table 15, the assignment table 25, the conversion table 35, and the inverse conversion table 45 are disclosed.
상기 할당부(10)는 입력단에 L비트 트랜잭션 ID가 입력된 경우, 입력된 L비트 트랜잭션 ID의 기(旣)변환 여부를 판단한다. 기(旣)변환 여부 판단은 상기 할당부(10) 내부에 설치된 할당 테이블(15)을 이용하여 행할 수 있다. 할당 테이블(15)은 하나의 입력단에 입력되는 모든 L비트 트랜잭션 ID의 기(旣)변환 여부를 판단하기 위하여, 2L 개의 엔트리(Entry)로 구성될 수 있다. 이는 L비트로 구현가능한 트랜잭션 ID의 개수는 2L 개까지 가능하기 때문이다. When the L-bit transaction ID is input to the input terminal, the
여기서, 할당 테이블(15)의 인덱스(Index)는 입력되는 L비트 트랜잭션 ID에 대응되는 개념이며, 같은 수를 가진다. 할당 테이블(15)의 각각의 엔트리(Entry)는 1 또는 0 중 하나의 값만을 가지며, 해당 트랜잭션 ID가 변환된 적이 없으면 0을, 변환된 적이 있으면 1을 나타낸다.Here, the index of the allocation table 15 is a concept corresponding to the input L-bit transaction ID and has the same number. Each entry of the allocation table 15 has only one value of 1 or 0, and 0 if the corresponding transaction ID has never been converted, and 1 if it has been converted.
또한, 할당 테이블(15)은 각각의 트랜잭션 ID의 변환 횟수를 기록하기 위해 2L × N비트의 엔트리(Entry)로 구성될 수 있다. N비트는 동일한 트랜잭션 ID의 기(旣)변환 횟수를 나타내기 위한 것이다. 기(旣)변환된 동일한 트랜잭션 ID가 재입력된 경우 입력된 횟수에 상응하게 해당 할당 테이블의 트랜잭션 ID의 엔트리 수치(Entry value)는 증가하는 것이 바람직하다.In addition, the allocation table 15 may be configured with an entry of 2 L × N bits to record the number of conversions of each transaction ID. The N bits are for indicating the number of pre-translations of the same transaction ID. When the same previously converted transaction ID is re-entered, the entry value of the transaction ID of the corresponding allocation table may increase according to the number of inputs.
입력된 특정 트랜잭션 ID의 엔트리 수치(Entry value)가 0인 경우는 특정 트랜잭션 ID가 처음으로 입력되었음을 의미하므로 새로운 지정이 필요하다. 따라서 할당부(10)는 트랜잭션 ID를 지정부(40)로 전송한다.If the entry value (entry value) of the specific transaction ID entered is 0, it means that a specific transaction ID is entered for the first time and thus new designation is required. Therefore, the
그러나, 엔트리 수치가 1 이상인 경우는 기존에 동일한 트랜잭션 ID가 입력되었음을 의미하므로, 상기 트랜잭션 ID를 변환부(30)로 전송하여 기존에 저장된 데이터를 이용하여 변환시키면 되므로, 재지정이 필요하지 않다.However, if the entry number is 1 or more, it means that the same transaction ID is previously input. Therefore, since the transaction ID is transmitted to the
지정부(20)는 할당부(10)에 연결된다. 지정부(20)는 할당부(10)로부터 전송된 L비트 트랜잭션 ID에 대응되는 S비트 트랜잭션 ID를 지정하여 이를 L비트 트랜잭션 ID와 함께 변환부(30)로 전송하는 한편, L비트 트랜잭션 ID를 역변환부(40)로 전송한다.The
지정부(20)는 그 내부에 설치된 지정 테이블(25)을 통하여 그 기능을 수행할 수 있다. 지정 테이블(25)은 상기 L비트 트랜잭션 ID와 대응되는 S비트 트랜잭션 ID를 지정하기 위해 2S 개의 엔트리(Entry)로 구성되는 것이 바람직하다. 이로 인해 상기 2S 개의 엔트리(Entry)는 S비트 트랜잭션 ID를 모두 표현할 수 있다. 이 경우 상기 L비트는 S비트보다 큰 값을 갖는 것이 바람직하다.The
지정부(20)는 L비트 트랜잭션 ID의 입력순서에 따라 상기 지정 테이블(25)의 엔트리(Entry)를 부여하고, 상기 엔트리(Entry)의 인덱스(Index)를 S비트 트랜잭션 ID로 지정하게 된다. 이 경우, S비트 트랜잭션 ID는 실제 L비트 트랜잭션 ID와 전혀 무관하고, 단지 L비트 트랜잭션 ID의 입력순서에 따라 부여되는 임의적인 트랜잭션 ID를 의미한다. 상기 인덱스(Index)는 쉽게 말해 엔트리(Entry)의 번호를 의미하는데, 이러한 인덱스(Index) 자체가 S비트 트랜잭션 ID로 지정된다. The
지정부(20)는 입력된 L비트 트랜잭션 ID에 대응되는 S비트 트랜잭션 ID를 지정한 후에, 상기 S비트 트랜잭션 ID를 L비트 트랜잭션 ID와 함께 변환부(30)로 전송하고, L비트 트랜잭션 ID는 역변환부(30)로 전송한다. 그 뒤 지정 테이블(25)에 있는 해당 트랜잭션 ID의 엔트리 수치(Entry value)를 1 증가시켜, 특정 L비트 트랜잭션 ID에 대응되는 S비트 트랜잭션 ID가 지정되었음을 나타낸다.The
변환부(30)는 할당부(10) 및 지정부(20)에 연결되고, 지정부(20)로부터 L비트 트랜잭션 ID와 이에 대응되는 S비트 트랜잭션 ID를 전송받아, L비트 트랜잭션 ID를 S비트 트랜잭션 ID로 변환한다.The
변환부(30)는 상기 L비트 트랜잭션 ID를 이에 대응되는 S비트 트랜잭션 ID로 변환하기 위한 2L × S비트의 엔트리(Entry)로 구성된 변환 테이블(35)을 포함하는 것이 바람직하다. 이로 인해, 변환부(30)는 변환 테이블(35)을 이용하여 L비트 트랜잭션 ID를 그 입력순서에 따라 S비트 트랜잭션 ID로 변환시킬 수 있다. 여기서 S비트 트랜잭션 ID는 지정 테이블(25)의 인덱스(Index)를 의미한다. The
역변환부(40)는, L비트에서 S비트로 기(旣)변환된 트랜잭션 ID가 입력된 경우, 다시 말해, 트랜잭션에 대한 응답(Respond)이 있는 경우, S비트 트랜잭션 ID를 원래의 L비트 트랜잭션 ID로 변환하여 출력하는 역할을 한다. 이로 인해 트랜잭션의 원활한 흐름을 유도할 수 있다.The
상기와 같이 역변환하는 이유는 예를 들어, 마스터(100)가 전송한 트랜잭션에 대한 슬래이브(400)의 응답이 원래의 트랜잭션을 송신했던 정확한 마스터(100) 위치로 다시 되돌아오게 하기 위함이다. 역변환부(40)에는 지정부(20)로부터 전송받은 원래의 L비트 트랜잭션 ID에 관한 정보가 담겨있다.The reason for the inverse transformation as described above is, for example, to cause the
역변환부(40)는 지정부(20)로부터 전송된 S비트 트랜잭션 ID에 대응되는 원래의 L비트 트랜잭션 ID를 기록하기 위해 2S × L비트의 엔트리(Entry)로 구성된 역변환 테이블(45)을 포함할 수 있다. 이를 이용하여 S비트 트랜잭션 ID가 입력된 경우 이에 대응되는 L비트 트랜잭션으로 변환할 수 있다.The
제어부(50)는 역변환부(40), 할당부(10), 지정부(20)에 연결되고, 동일한 트랜잭션 ID의 역변환 횟수에 따라 할당부(10)와 지정부(20)를 제어하는 기능을 한 다.The
상기에 기술한 바와 같이, 기(旣)변환된 동일한 L비트 트랜잭션 ID가 할당부(10)에 입력된 경우, 상기 할당부(10)는 상기 L비트 트랜잭션 ID의 엔트리 수치(Entry value)를 1 증가시키는데, 동일한 L비트 트랜잭션 ID가 입력되는 횟수에 따라 그 엔트리 수치(Entry value)는 계속 증가된다. As described above, when the same pre-converted L-bit transaction ID is input to the
하지만, 트랜잭션에 대한 응답이 완료된 경우, 상기 L비트 트랜잭션 ID에 대응되는 S비트 트랜잭션 ID를 계속 사용할 필요성이 없어지므로 할당을 제거해줘야 하며, 이 역할을 제어부(50)가 담당한다.However, when the response to the transaction is completed, since there is no need to continue using the S-bit transaction ID corresponding to the L-bit transaction ID, the
제어부(50)는 두 가지 기능을 수행할 수 있다. The
첫째로, 기(旣)변환된 특정 S비트 트랜잭션 ID가 역변환부(40)를 통해 원래의 L비트 트랜잭션 ID로 복원되는 경우, 이를 탐지하여 할당 테이블(15)에 있는 특정 L비트 트랜잭션 ID의 엔트리 수치(Entry value)를 그 복원 횟수에 상응하게 감소시키는 기능을 수행한다. 이로 인해, 동일한 트랜잭션에 대한 응답(Respond) 횟수를 정확히 기록할 수 있다. First, when a specific converted S bit transaction ID is restored to the original L bit transaction ID through the
둘째로, 할당 테이블(15)에 있는 특정 L비트 트랜잭션의 엔트리 수치(Entry value)가 0이 되는 경우, 상기 역변환부로 입력된 S비트 트랜잭션 ID를 인덱스(Index)로 하는 지정 테이블(15)의 엔트리 수치(Entry value)를 0으로 변환하는 기능을 수행한다. 이로 인해, 지정부(20)는 새롭게 입력되는 L비트 트랜잭션 ID에 상응하는 S비트 트랜잭션 ID를 지정할 수 있다.Second, when the entry value of the specific L-bit transaction in the allocation table 15 becomes 0, the entry of the designation table 15 which sets the S-bit transaction ID input to the inverse transform unit as an index. Converts an entry value to 0. For this reason, the
도 5는 본 발명에 따른 트랜잭션 ID폭 변환 장치가 스위치 노드의 외부에 설 치된 것을 나타내는 도면이다.5 is a view showing that the transaction ID width conversion apparatus according to the present invention is installed outside the switch node.
도 5를 참조하면, 두 개의 2비트 트랜잭션 ID는 스위치 노드를 통과하면서, 각각 3비트 트랜잭션 ID로 변환된다. 그 뒤 상기 3비트 트랜잭션 ID는 트랜잭션 ID폭 변환 장치(300)를 통과함에 따라 원래의 비트인 2비트로 변환된다. 즉, 상기 스위치 노드(200)를 통과하기 전의 트랜잭션 ID폭을 유지하는 것이다. Referring to FIG. 5, two 2-bit transaction IDs pass through the switch node, and are converted into 3-bit transaction IDs, respectively. Thereafter, the 3-bit transaction ID is converted into the original bit, 2 bits, as it passes through the transaction ID
이로 인해, 복수 개의 스위치 노드를 상호 연결하더라도 트랜잭션 ID폭이 항상 고정되게 되어 연결이 용이할 뿐만 아니라, 스위치 노드와 별도의 컴포넌트로 구성하므로 종래의 스위치 노드를 그대로 사용할 수 있어 효능에 비해 경제적이며, 각각의 마스터 또는 슬래이브 별로 선택적으로 트랜잭션 ID폭을 조절하기가 용이하다. Therefore, even if a plurality of switch nodes are interconnected, the transaction ID width is always fixed, making it easy to connect, and since the switch node is configured as a separate component, it is possible to use a conventional switch node as it is, and it is more economical than efficacy. It is easy to adjust the transaction ID width selectively for each master or slave.
도 6은 본 발명에 따른 트랜잭션 ID폭 변환 장치가 스위치 노드의 내부에 설치된 것을 나타내는 도면이다.6 is a view showing that the transaction ID width conversion apparatus according to the present invention is installed inside the switch node.
도 6을 참조하면, 두 개의 2비트 트랜잭션 ID는 스위치 노드(200)의 입력단으로 입력되면서, 각각 3비트 트랜잭션 ID로 변환된다. 그 뒤 상기 3비트 트랜잭션 ID는 상기 스위치 노드(200) 내부에 설치된 트랜잭션 ID폭 변환 장치(300)를 통과함에 따라 원래의 비트인 2비트로 변환되어 출력단으로 출력된다. 즉, 상기 스위치 노드(200)를 통과하기 전의 트랜잭션 ID폭으로 계속 유지된다.Referring to FIG. 6, two 2-bit transaction IDs are inputted to the input terminal of the
이로 인해, 트랜잭션 ID폭 변환 장치를 별도의 컴포넌트로 만들 필요가 없으므로 SoC(System on chip)의 면적 증가를 방지할 수 있을 뿐만 아니라, 시스템 설계중에 스위치 노드를 추가/삭제하더라도 고정된 트랜잭션 ID폭을 유지할 수 있어 설계변경이 용이하며, 스위치 노드와 함께 일체형으로 동작하므로 회로의 구현특성을 좋게 만들 수 있다.Because of this, there is no need to make a transaction ID width conversion device as a separate component. Therefore, the area of the SoC (System on chip) can be prevented and the fixed transaction ID width can be maintained even if the switch node is added / deleted during system design. It is easy to change the design because it can be maintained, and can be integrated with the switch node to improve the implementation characteristics of the circuit.
도 7은 본 발명에 따른 트랜잭션 ID폭 변환 방법의 일 실시예를 나타내는 플로우 차트이다.7 is a flowchart illustrating an embodiment of a transaction ID width conversion method according to the present invention.
L비트 트랜잭션 ID가 입력되어 S비트 트랜잭션 ID로 변환을 요청하게 되면(S1), 할당부(10)는 상기 L비트 트랜잭션 ID가 기할당되어 있는지를 판단한다. 이는 2L×N개의 엔트리(Entry)로 구성된 할당 테이블을 통해 이루어질 수 있다. When the L-bit transaction ID is inputted to request the conversion to the S-bit transaction ID (S1), the
기할당 여부는 할당 테이블(15)에 있는 해당 트랜잭션 ID의 엔트리 수치(Entry value)를 통해 판단한다(S2). 이때 엔트리 수치(Entry value)가 0이면 미할당을 의미하고, 1 이상인 경우 기할당을 의미한다.The initial allocation is determined based on an entry value of the corresponding transaction ID in the allocation table 15 (S2). At this time, if the entry value is 0, it means unassigned. If it is 1 or more, it means default assignment.
만일 엔트리 수치(Entry value)가 1 이상인 경우에는, 수신된 L비트 트랜잭션 ID가 기할당된 것이므로, 할당부(10)는 허가 신호를 송출하고(S2-1), 해당 트랜잭션 ID의 할당 테이블 엔트리 수치(Entry value)를 1 증가시킨 후(S2-2), 변환부(30)로 상기 L비트 트랜잭션 ID를 전송한다. 그 뒤 변환부(30)는 입력된 L비트 트랜잭션 ID를 S비트 트랜잭션 ID로 변환시킨다(S2-3).If the entry value (Entry value) is 1 or more, since the received L-bit transaction ID is pre-assigned, the
그러나, 엔트리 수치(Entry value)가 0인 경우 미할당을 의미하므로, 새로운 할당을 해야 한다. 여기서 상기 할당부(10)는 상기 입력된 L비트 트랜잭션 ID를 지정부(20)로 전송한다. 상기 지정은 2S 개의 엔트리(Entry)로 구성된 지정 테이블(25)을 통해 이루어질 수 있다. 여기서 L비트는 S비트 보다 큰 값을 갖는 것이 바 람직하다.However, if the entry value is 0, it means unassigned, so a new assignment must be made. The allocator 10 transmits the input L-bit transaction ID to the
지정부(20)는 지정 테이블의 비어있는(Vacant) 엔트리(Entry)를 순차적으로 검색한다(S3). 만일 지정 테이블(25)에 비어있는 엔트리(Vacant entry)가 없는 경우, 즉 엔트리 수치(Entry value)가 모두 1로 되어 있는 경우에는, 새로운 트랜잭션 ID를 부여할 수 없으므로, 거부신호를 송출한다(S3-1). The
지정 테이블(25)에 비어있는 엔트리(Vacant entry)가 있는 경우에는, 첫 번째로 비어있는 엔트리(Vacant entry)의 인덱스(Index)를 검출하고(S4), 허가신호를 송출한다(S5). 그 뒤 지정 테이블(25)에서 첫 번째로 비어있는 엔트리(Vacant entry)의 수치(Value)를 1로 기록한다(S6). 또한 해당 트랜잭션 ID의 할당 테이블(15)의 엔트리 수치(Entry Value)를 1로 기록한다(S7).When there is an empty entry in the designation table 25, the index of the first empty entry is detected (S4), and a permission signal is sent (S5). After that, the value of the first empty entry in the designation table 25 is recorded as 1 (S6). In addition, the entry value (Entry Value) of the allocation table 15 of the transaction ID is recorded as 1 (S7).
그 뒤 상기 첫 번째로 비어있던 엔트리(Vacant entry)의 인덱스(Index)를 원래의 트랜잭션 ID와 함께 변환부(30)로 전송한다(S7). 그리고 할당부(10)에 입력된 트랜잭션 ID를 역변환부(40)에 전송한다(S8). 여기서, 상기 변환부(30)는 2L×S비트의 엔트리(Entry)로, 상기 역변환부(40)는 2L×L비트의 엔트리(Entry)로 구성되는 것이 바람직하다. 할당부(10)에 입력된 L비트 트랜잭션 ID는 변환부(30)에 의해 지정 테이블의 엔트리(Entry)의 인덱스(Index)인 S비트 트랜잭션 ID로 변환된다(S9). Thereafter, the index of the first empty entry is transmitted to the
도 7b는 본 발명에 따른 트랜잭션 ID폭 변환방법의 다른 실시예를 나타내는 플로우 차트이다.7B is a flowchart illustrating another embodiment of a transaction ID width conversion method according to the present invention.
L비트에서 S비트로 기(旣)변환된 트랜잭션 ID가 입력되어 L비트 트랜잭션 ID 로의 변환을 요청하게 되면(S11), 역변환부(40)는 변환을 허가하는 신호를 송출하고(S12), 역변환 테이블(45)을 통해 S비트 트랜잭션 ID를 원래의 L비트 트랜잭션 ID로 변환한다(S13).When the transaction ID pre-converted from the L bit to the S bit is input and requests a conversion to the L bit transaction ID (S11), the
그 뒤 제어부(50)는 해당 트랜잭션 ID의 역변환 여부를 탐지하여, 할당 테이블(15)에 있는 해당 트랜잭션 ID의 엔트리 수치(Entry value)를 역변환 횟수에 상응하게 감소시킨다. Thereafter, the
만일 해당 할당 테이블(15)의 엔트리 수치(Entry value)가 0이 되는 경우, 제어부(50)는 이를 탐지하여, 입력된 S비트 트랜잭션 ID를 인덱스(Index)로 하는 지정 테이블(25)의 엔트리 수치(Entry value)를 0으로 변환시킨다. 이는 해당 트랜잭션에 대해 모든 응답(Respond)이 이루어졌음을 의미하며, 새로운 L비트 트랜잭션 ID가 입력되는 경우 새로운 S비트 트랜잭션 ID를 지정하기 위함이다.If the entry value (Entry value) of the allocation table 15 is 0, the
이상에서는 도면에 도시된 구체적인 실시예를 참고하여 본 발명을 설명하였으나 이는 예시적인 것에 불과하므로, 본 발명이 속하는 기술 분야에서 통상의 기술을 가진 자라면 이로부터 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명의 보호 범위는 후술하는 특허청구범위에 의하여 해석되어야 하고, 그와 동등 및 균등한 범위 내에 있는 모든 기술적 사상은 본 발명의 보호 범위에 포함되는 것으로 해석되어야 할 것이다.In the above described the present invention with reference to the specific embodiment shown in the drawings, but this is only an example, those of ordinary skill in the art to which the present invention pertains various modifications and variations therefrom. Therefore, the protection scope of the present invention should be interpreted by the claims to be described later, and all the technical ideas within the equivalent and equivalent ranges should be construed as being included in the protection scope of the present invention.
이상에서 설명한 바와 같이 본 발명에는 다음과 같은 효과가 있다.As described above, the present invention has the following effects.
첫째, 트랜잭션이 다수의 스위치 노드를 통과하면서 그 ID폭이 증가하는 것 을 방지할 수 있어, 스위치 노드를 포함하는 시스템을 설계 중에 코어 또는 스위치 노드가 추가/삭제되더라도 시스템의 설계변경을 용이하게 할 수 있다.First, the ID width can be prevented from increasing as the transaction passes through multiple switch nodes, so that even if a core or switch node is added / deleted during the design of the system including the switch node, it is easy to change the design of the system. Can be.
둘째, 다수의 스위치 노드를 상호 연결하여 시스템을 설계하는 경우에, 각각의 트랜잭션 ID폭을 일정하게 유지할 수 있어, 스위치 노드 상호 간에 연결이 간편하며 각 마스터 또는 슬래이브 별로 선택적으로 ID폭을 조절하는 것이 용이하다.Second, when designing a system by interconnecting multiple switch nodes, each transaction ID width can be kept constant, so that the connection between switch nodes is easy and the ID width can be selectively adjusted for each master or slave. It is easy.
셋째, 트랜잭션 ID폭 변환 장치를 스위치 노드에 통합하여 구현하는 경우, 별도의 컴포넌트로 만들 필요가 없으므로 회로의 면적을 증가시키지 않고, 또한 시스템 설계에 있어 복잡한 과정을 거칠 필요가 없다.Third, in the case of integrating and implementing a transaction ID width conversion device into a switch node, it is not necessary to make a separate component, and thus does not increase the circuit area and does not require a complicated process in system design.
Claims (21)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020060019342A KR20070089386A (en) | 2006-02-28 | 2006-02-28 | Transaction ID width conversion apparatus and method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020060019342A KR20070089386A (en) | 2006-02-28 | 2006-02-28 | Transaction ID width conversion apparatus and method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| KR20070089386A true KR20070089386A (en) | 2007-08-31 |
Family
ID=38614393
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020060019342A Withdrawn KR20070089386A (en) | 2006-02-28 | 2006-02-28 | Transaction ID width conversion apparatus and method |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR20070089386A (en) |
-
2006
- 2006-02-28 KR KR1020060019342A patent/KR20070089386A/en not_active Withdrawn
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4083987B2 (en) | Communication system with multi-level connection identification | |
| US6826640B1 (en) | Bus bandwidth control system | |
| CN100472494C (en) | System and method for implementing memory mediation of supporting multi-bus multi-type memory device | |
| US7380045B2 (en) | Protocol conversion and arbitration circuit, system having the same, and method for converting and arbitrating signals | |
| JP3589058B2 (en) | Signal communication device and multiplex bus control device | |
| US7760768B2 (en) | System and method for allocating a plurality of sources to a plurality of channels | |
| US20070186218A1 (en) | Data processing device, data processing method and data processing program | |
| KR100477641B1 (en) | Bus system and path decision method therefor | |
| KR100299149B1 (en) | Microcontrollers with N-bit data bus widths with I / O pins of N or less and how | |
| US7065594B2 (en) | Method and apparatus of allocating minimum and maximum bandwidths on a bus-based communication system | |
| KR102549085B1 (en) | Bus control circuit | |
| KR101255995B1 (en) | Matrix type bus connection system | |
| KR20070089386A (en) | Transaction ID width conversion apparatus and method | |
| US8909836B2 (en) | Interrupt controller, apparatus including interrupt controller, and corresponding methods for processing interrupt request event(s) in system including processor(s) | |
| JP4235553B2 (en) | Bus station | |
| JPS59147555A (en) | Contention type multi-drop connecting system | |
| JPS6361697B2 (en) | ||
| KR100737904B1 (en) | Interface device between master / slave device and method | |
| JP3925510B2 (en) | Signal communication device and multiple bus control device | |
| JPS6155704B2 (en) | ||
| JPH09128327A (en) | Bus arbitration circuit | |
| JPH0461388B2 (en) | ||
| JPH076129A (en) | Communication bus connection device | |
| JPS617752A (en) | Data transmission control system | |
| JPH0789347B2 (en) | Bus priority determination circuit |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20060228 |
|
| PG1501 | Laying open of application | ||
| PC1203 | Withdrawal of no request for examination | ||
| WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |