KR101423675B1 - Apparatus and method for performance mobile platform on-chip bus - Google Patents

Apparatus and method for performance mobile platform on-chip bus Download PDF

Info

Publication number
KR101423675B1
KR101423675B1 KR1020070114070A KR20070114070A KR101423675B1 KR 101423675 B1 KR101423675 B1 KR 101423675B1 KR 1020070114070 A KR1020070114070 A KR 1020070114070A KR 20070114070 A KR20070114070 A KR 20070114070A KR 101423675 B1 KR101423675 B1 KR 101423675B1
Authority
KR
South Korea
Prior art keywords
slave
master
data
signal
write
Prior art date
Application number
KR1020070114070A
Other languages
Korean (ko)
Other versions
KR20090047942A (en
Inventor
이강민
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020070114070A priority Critical patent/KR101423675B1/en
Publication of KR20090047942A publication Critical patent/KR20090047942A/en
Application granted granted Critical
Publication of KR101423675B1 publication Critical patent/KR101423675B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Bus Control (AREA)

Abstract

본 발명은 온 칩 버스(On-Chip BUS)에 관한 것으로 버스 구조를 사용하는 시스템에 있어서 직접 저장을 지시하는 시그널을 출력하는 마스터와 상기 직접 저장을 지시하는 시그널을 수신하여 제 1 슬레이브가 출력하는 데이터를 직접 상기 제 2 슬레이브로 포워딩하도록 스케줄링하는 제 1 스케줄러를 포함하는 것으로 CPU, DMAC와 같은 마스터가 데이터 전송에 관여하는 시간을 줄임으로서, 해당 마스터가 다른 작업을 미리 수행할 수 있다. 따라서 전체적인 시스템 성능 향상이 가능한 이점이 있다.The present invention relates to an on-chip bus (BUS). In a system using a bus structure, a master for outputting a signal for direct storage and a signal for direct storage are received and output from the first slave And a first scheduler for scheduling the data to be directly forwarded to the second slave, so that the master can perform another task in advance by reducing the time involved in data transmission by a master such as a CPU or a DMAC. Therefore, there is an advantage that overall system performance can be improved.

On-Chip BUS, RDATA, WDATA, D-WAR. On-Chip BUS, RDATA, WDATA, D-WAR.

Description

모바일 플랫폼을 위한 온 칩 버스 장치 및 방법{APPARATUS AND METHOD FOR PERFORMANCE MOBILE PLATFORM ON-CHIP BUS}[0001] APPARATUS AND METHOD FOR PERFORMANCE MOBILE PLATFORM ON-CHIP BUS FOR MOBILE PLATFORM [0002]

본 발명은 고성능 모바일 플랫폼에서 사용되는 온-칩 버스의 성능 향상을 위한 장치 및 방법에 관한 것으로, 더욱 상세하게는 시스템 온 칩(System-on-Chip) 플랫폼에서 널리 사용되는 마스터-슬레이브(Master-Slave) 버스 구조에서, 슬레이브 사이의 데이터 전송(Data Transfer)을 마스터의 중계 없이 직접적인 슬레이브에서 슬레이브로의 트랜잭션(Direct Slave-to-Slave Transaction)을 가능하게 함으로서, 마스터가 데이터 전송을 위해 소비하는 시간(Workload) 및 소비 전력을 감소시키고, 더불어 데이터 전송에 소요되는 시간을 줄임으로써 고속의 데이터 전송을 가능하게 하는 새로운 고성능 버스 프로토콜(Bus Protocol) 방법 및 이를 위한 장치에 관한 것이다.The present invention relates to an apparatus and method for improving the performance of an on-chip bus used in a high-performance mobile platform, and more particularly, to a master- Slave) bus structure enables direct slave-to-slave transaction to transfer data between slaves directly from the slave without relaying the master, so that the time that the master consumes for data transfer (Bus Protocol) method and apparatus for the same, which enable high-speed data transmission by reducing workload and power consumption, and by reducing time required for data transmission.

종래 대부분의 모바일 플랫폼에서 사용되는 버스 구조는 ARM사에서 개발한 AMBA(Advanced Microprocessor 버스 Architecture) 프로토콜에 기반하고 있다.이 AMBA 버스에서 가장 최신 버전인 AMBA 3.0 - AXI(Advanced Extensible Interface) 프로토콜은 고성능 임베디드(Embedded) 플랫폼을 위하여 설계되었고, 고성능 모바일 플랫폼에 점차 적용되고 있으며, 이를 이용한 상용제품이 하나 둘 씩 출시되고 있는 실정이다.The AMBA 3.0 - Advanced Extensible Interface (AXI) protocol, which is the most recent version on the AMBA bus, is a high - performance embedded system that is based on the Advanced Microprocessor Bus Architecture (AMBA) (Embedded) platform and is being applied gradually to high performance mobile platform, and commercial products using it are being introduced one by one.

AMBA 버스와 같은 종래의 모든 임베디드 버스 구조는 마스터 버스와 슬레이브 버스로 구분되어 있다. 읽기 또는 쓰기 트랜잭션을 초기화하는 주체를 마스터라고 하며, 마스터의 트랜잭션에 응대하는 객체를 슬레이브라고 한다. All conventional embedded bus architectures, such as the AMBA bus, are divided into a master bus and a slave bus. A principal that initiates a read or write transaction is called the master, and the object that responds to the master's transaction is called the slave.

따라서, 모든 버스 트랜잭션은 마스터와 슬레이브 사이에서 이루어진다. 즉, 마스터가 읽기 또는 쓰기 트랜잭션을 초기화하고, 슬레이브 의 해당 주소에서 데이터를 읽기 하여 마스터에게 전달하거나 또는 슬레이브의 해당 주소에 해당 데이터를 쓰기 하는 동작을 한다.Thus, all bus transactions are made between master and slave. That is, the master initiates a read or write transaction, reads data from the corresponding address of the slave and transfers it to the master, or writes the data to the corresponding address of the slave.

도 1은 기존의 버스 구조를 도시한 도면이다.1 is a diagram showing a conventional bus structure.

상기 도 1을 참조하면, 상기 도 1은 AXI 프로토콜을 구현한 버스 구조를 나타낸 것이다. AXI 버스는 하기와 같은 5개의 채널을 제공한다. (1) 읽기주소 (AR 채널), (2) 읽기 데이터 (RD 채널), (3) 쓰기 주소 (AW 채널), (4) 쓰기 데이터 (WD채널), (5) 쓰기 응답(B 채널).Referring to FIG. 1, FIG. 1 illustrates a bus structure implementing the AXI protocol. The AXI bus provides the following five channels. (1) Read address (AR channel), (2) Read data (RD channel), (3) Write address (AW channel), (4) Write data (WD channel), and (5) Write response (B channel).

읽기 트랜잭션의 경우, 마스터는 AR 채널을 통해 읽기 주소를 슬레이브에게 전달하고, RD 채널을 통해 슬레이브로부터 읽기 데이터를 수신한다. 쓰기 트랜잭션의 경우, 마스터는 AW채널을 통해 쓰기 주소를, WD채널을 통해 쓰기 데이터를 슬 레이브에게 전달하면, 슬레이브는 해당 쓰기 동작을 마친후, B 채널을 통해 쓰기 동작이 성공적으로 완료되었음을 마스터에게 보고한다.For a read transaction, the master forwards the read address to the slave via the AR channel and receives the read data from the slave via the RD channel. Write transaction, the master sends the write address to the slave via the AW channel and the write data to the slave through the WD channel. After the slave completes the write operation, the master notifies the master that the write operation has been completed successfully on the B channel report.

상기의 각각의 채널들은 시간과 공간 모두 독립적으로 수행이 가능하다. 따라서 버스 구조 내에서 각 채널은 완벽하게 분리가 되어 있다. Each of the above channels can be performed independently of both time and space. Therefore, each channel in the bus structure is completely isolated.

기존의 버스 구조에서의 모든 트랜잭션은 마스터에서 슬레이브로의 읽기 또는 쓰기 트랜잭션으로 간주할 수 있다. 고성능 모바일 플랫폼상에서 주로 요구되는 버스 트랜잭션의 패턴이면서 성능상의 병목현상의 원인이 되는 패턴은 메모리 슬레이브(DRAM, SRAM 등)의 어느 주소 영역에서 같은 메모리의 다른 주소 영역으로 데이터를 옮기거나, 메모리 슬레이브 상의 특정 데이터 묶음을 다른 슬레이브(USB, PCMCIA 등)로 이동하는 것이다.All transactions in the existing bus structure can be regarded as read or write transactions from the master to the slave. Patterns that are the main bus transaction patterns required on high-performance mobile platforms and cause performance bottlenecks are those that move data from one address area of a memory slave (DRAM, SRAM, etc.) to another address area of the same memory, To move a specific set of data to another slave (USB, PCMCIA, etc.).

이와 같은, 슬레이브에서 슬레이브로의 데이터 이동이 매우 빈번하게 발생하는데, 이를 위하여 마스터의 역할이 필요하다. 즉, 마스터가 소스 슬레이브로부터 해당 데이터를 읽고, 이를 받아서 데스터네이션 슬레이브로 다시 쓰는 역할이다. 이를 위해서, 마스터는 연속된 일련의 읽기 및 쓰기 트랜잭션을 초기화한다.Data transfer from slave to slave occurs very frequently, and a master role is required for this. That is, the master reads the corresponding data from the source slave, receives it, and writes it back to the destination slave. To do this, the master initializes a series of consecutive read and write transactions.

이러한 버스(110)상의 동작을 채널별로 살펴 보면, 마스터(100)가 슬레이브1(140)의 데이터를 슬레이브2(150)로 이동하는 상황에서. 우선 AR채널을 통해서 상기 마스터(100)가 상기 슬레이브1(140)에게 읽기 주소를 전달한다.If the master 100 moves the data of the slave 1 140 to the slave 2 150, First, the master 100 transmits a read address to the slave 1 140 through an AR channel.

이후, 상기 마스터는(100)는 상기 슬레이브1(140)로부터 읽기 데이터를 전달받아서, 내부 레지시스터에 저장한다. 그리고 상기 마스터(100)는 저장되어 있던 데이터를 슬레이브2(150)에게 쓰기 위한 동작을 시작한다.Then, the master 100 receives the read data from the slave 1 140 and stores it in the internal register. Then, the master 100 starts an operation to write the stored data to the slave 2 (150).

이때, 상기 마스터(100)는 AW채널을 통해 쓰기 주소를 전달하고, WD채널을 통해 쓰기 데이터를 전달한다. 이 두 채널은 동시에 동작이 가능하다. 상기 슬레이브2(150)는 내부 쓰기 동작을 수행하고 완료가 되면, B채널을 통해 상기 마스터(100)에게 쓰기의 완료를 알린다. At this time, the master 100 delivers the write address through the AW channel and transmits the write data through the WD channel. Both channels can operate simultaneously. The slave 2 150 performs an internal write operation and, upon completion, notifies the master 100 of the completion of writing via the B channel.

기존의 버스 시스템에서는 이와 같은 순서로 5개의 채널을 각각 사용하여 상기 마스터(100)가 상기 슬레이브1(140)의 데이터를 상기 슬레이브2(150)에게 전달하게 된다. 이를 상기 마스터(100) 및 상기 슬레이브(140, 150)별로 시간 순으로 정리하면 도 2와 같이 나타낼 수 있다.In the conventional bus system, the master 100 transmits data of the slave 1 140 to the slave 2 150 using five channels in this order. 2, the master 100 and the slaves 140 and 150 may be arranged in time order.

상기 도 1에서는 멀티플렉서(118, 134)가 스케줄러(116, 132)의 제어에 의해 슬레이브(140, 150)중 하나를 선택하고, 선택된 슬레이브로부터 데이터를 입력받는다. 그리고, 디멀티플렉서(114, 126, 130)는 스케줄러(112, 124, 128)의 제어에 의해 슬레이브(140, 150) 중 하나를 선택하여 선택된 스케줄러로 데이터를 출력한다.1, the multiplexers 118 and 134 select one of the slaves 140 and 150 under the control of the schedulers 116 and 132 and receive data from the selected slave. The demultiplexers 114, 126 and 130 select one of the slaves 140 and 150 under the control of the schedulers 112, 124 and 128 and output the data to the selected scheduler.

상기 도 1에서의 굵은 선은 현재 동작 중인 과정을 나타내는 것으로, 상기 마스터(100)가 출력한 데이터가 상기 슬레이브(140, 150)중 하나에 출력되는 것을 나타낸다.The bold line in FIG. 1 indicates a current operation, and indicates that data output by the master 100 is output to one of the slaves 140 and 150.

도 2는 기존의 버스 동작 과정을 도시한 도면이다.2 is a diagram illustrating a conventional bus operation process.

상기 도 2를 참조하면, 마스터(210)가 초기화한 슬레이브1(220)으로부터 읽기 과정의 결과로, 상기 마스터(210)의 레지스터에 읽은 데이터가 저장되고, 이후, 상기 마스터(210)가 초기화한 슬레이브2(230)으로의 쓰기 과정의 결과로 상기 마스 터(210)의 레지스터에 저장된 데이터가 상기 슬레이브2(230)에 저장된다.Referring to FIG. 2, data read into a register of the master 210 is stored as a result of a reading process from a slave 1 220 initialized by the master 210, As a result of the writing process to the slave 2 230, the data stored in the register of the master 210 is stored in the slave 2 230.

상기의 모바일 플랫폼 버스 시스템의 경우, 임베디드 시스템에서 빈번하게 발생되는 슬레이브에서 슬레이브로의 단순한 데이터 전송 동작을 수행하기 위하여 마스터-CPU 또는 DMAC(Direct Memory Access Controller)의 독립적이고 연속된 읽기 트랜잭션과 쓰기 트랜잭션을 사용하고 있다. In the above-mentioned mobile platform bus system, in order to perform a simple data transfer operation from a slave to a slave frequently occurring in an embedded system, an independent continuous read transaction and a write transaction of a master-CPU or a direct memory access controller (DMAC) .

이는 동일한 슬레이브(Memory)내에서의 데이터 이동의 경우에도 마찬가지로 운용된다. 이와 같은 종래의 기술은 다음과 같은 문제점이 있다.This is also applied to the case of data movement in the same slave (Memory). Such conventional techniques have the following problems.

첫 번째로, 슬레이브 사이의 전송을 수행하는데 있어서, 마스터가 매번 2회의 읽기/쓰기 트랜잭션을 수행한다. 따라서 마스터의 업무 로드가 증가하며, 버스의 사용 회수도 증가한다. CPU의 업무 로드를 감소하기 위해서 DMAC를 사용하는데, DMAC 역시 CPU와 같은 방식으로 읽기 및 쓰기 트랜잭션을 수행하므로, 전송 자체의 성능향상은 없으나 비용증가를 야기하는 문제점이 있다.First, in performing a transfer between slaves, the master performs two read / write transactions each time. Therefore, the workload of the master increases, and the number of buses used increases. DMAC is used to reduce the work load of the CPU. Since the DMAC also performs the read and write transactions in the same manner as the CPU, the performance of the transfer itself is not improved, but the cost increases.

두 번째로, 데이터의 흐름이 소스 슬레이브에서 마스터로 전달되었다가, 다시 데스터네이션 슬레이브로 전달된다. 즉, 데이터의 이동 경로가 불필요하게 마스터를 경유하도록 되어 있다. 이로 인하여 불필요한 지연시간(Latency)와 전력이 낭비되는 문제점이 있다. Second, the flow of data is transferred from the source slave to the master, and then back to the destination slave. That is, the movement path of the data is unnecessarily passed through the master. There is a problem that unnecessary latency and power are wasted.

상기의 두 가지 문제점을 해결하기 위하여, 데스터네이션 슬레이브 내부에 내장(Built-In) DMAC를 내장하는 해결 방법이 존재하지만, 이는 슬레이브 내부에 추가적인 DMAC기능을 위한 로직/버퍼의 증설과 버스 시스템에 추가적인 마스터 인 터페이스가 필요하다. 따라서, 이로 인한 소비 전력과 비용(면적)을 필요로 하고. 또한 슬레이브의 경우, 미리 설계된 IP(Intellectual Property)를 구매하는 경우가 대부분인데, 이러한 특별한 내장 DMAC 기능을 내장한 슬레이브를 별도로 수급해야하는 문제점이 있다.In order to solve the above two problems, there is a solution in which a built-in DMAC is built in the destination slave, but it is necessary to add a logic / buffer for the additional DMAC function in the slave, An additional master interface is required. Therefore, it requires power consumption and cost (area). Also, in the case of a slave, most of the cases of purchasing a pre-designed intellectual property (IP), there is a problem that a slave having such a special built-in DMAC function must be supplied separately.

본 발명의 목적은 모바일 플랫폼을 위한 온 칩 버스 장치 및 방법을 제공함에 있다.It is an object of the present invention to provide an on-chip bus device and method for a mobile platform.

본 발명의 다른 목적은 기존 버스 시스템에서 서로 다른 슬레이브 간 또는 동일 슬레이브 내에서 데이터 전송을 위하여, 불필요한 마스터의 읽기 및 쓰기 트랜잭션을 간략화시켜서, 마스터의 업무 로드 및 전송 지연시간을 감소시키고, 고성능 모바일 플랫폼 내에서의 고속 데이터 전송과 전력 및 면적 비용을 줄이기 위한 장치 및 방법을 제공함에 있다.It is another object of the present invention to simplify read and write transactions of unnecessary masters for data transfer between different slaves or in the same slave in an existing bus system to reduce the task load and transmission delay time of the master, And to reduce the power and area cost.

본 발명의 목적을 달성하기 위한 제 1 견지에 따르면, 버스 구조를 사용하는 시스템에 있어서 직접 저장을 지시하는 시그널을 출력하는 마스터와 상기 직접 저장을 지시하는 시그널을 수신하여 제 1 슬레이브가 출력하는 데이터를 직접 상기 제 2 슬레이브로 포워딩하도록 스케줄링하는 제 1 스케줄러를 포함하는 것을 특징 으로 한다.According to a first aspect of the present invention, there is provided a system using a bus structure, comprising: a master for outputting a signal instructing direct storage and a signal for direct storage; To the second slave directly to the first slave.

본 발명의 목적을 달성하기 위한 제 2 견지에 따르면, 버스 구조를 사용하는 시스템의 데이터 직접 저장 방법에 있어서 마스터가 직접 저장을 지시하는 시그널을 출력하는 제 1 과정과 상기 제 1 과정 이후에, 상기 마스터가 제 2 슬레이브에 저장할 주소를 나타내는 쓰기 주소를 상기 제 2 슬레이브로 출력하는 제 2 과정과 상기 제 2과정 이후 상기 직접 저장을 지시하는 시그널을 수신한 스케줄러가 상기 제 1 슬레이브가 출력하는 데이터를 직접 제 2 슬레이브로 포워딩하도록 스케줄링하는 제 3 과정과 상기 제 2 슬레이브는 포워딩한 데이터를 저장하는 제 4 과정과 상기 제 4 과정을 완료한 경우, 상기 제 2 슬레이브가 상기 마스터에게 응답 신호를 출력하는 제 5 과정을 포함하는 것을 특징으로 한다.According to a second aspect of the present invention, there is provided a method of directly storing data in a system using a bus structure, the method comprising: a first step of outputting a signal instructing a direct storage by a master; And outputting a write address indicating the address to be stored in the second slave to the second slave by the master and a scheduler receiving the signal indicating the direct storage in the second step, A third step of directly scheduling forwarding to the second slave, a fourth step of storing forwarding data, and a fourth step of, when the fourth step is completed, the second slave outputs a response signal to the master And a fifth step.

본 발명의 D-WAR 트랜잭션을 사용함으로써 슬레이브 사이의 단순한 데이터 전송를 빠르게 수행할 수 있다. 따라서 고성능 모바일 플랫폼에서 데이터 전송 시간을 단축시킬 수 있다. 더불어 마스터의 내부 레지스터를 거치지 않으므로, 소비 전력 감소가 가능한 이점이 있다.By using the D-WAR transaction of the present invention, simple data transmission between slaves can be performed quickly. This can shorten data transfer time on high-performance mobile platforms. In addition, since it does not go through the internal register of the master, there is an advantage that power consumption can be reduced.

또한, 본 발명은 CPU, DMAC와 같은 마스터가 데이터 전송에 관여하는 시간을 줄임으로서, 해당 마스터가 다른 작업을 미리 수행할 수 있다. 따라서 전체적인 시스템 성능 향상이 가능한 이점이 있다.Further, according to the present invention, the time required for the master such as the CPU and the DMAC to participate in the data transfer is reduced, so that the master can perform another task in advance. Therefore, there is an advantage that overall system performance can be improved.

또한, 본 발명은 동일 슬레이브 내에서의 데이터 이동을 할 경우에도 적용이 가능한 이점이 있다.Further, the present invention is advantageous in that it can be applied to data movement in the same slave.

이하 본 발명의 바람직한 실시 예를 첨부된 도면의 참조와 함께 상세히 설명한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings. In the following description, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.

이하, 본 발명은 모바일 플랫폼을 위한 온 칩 버스 장치 및 방법에 대해 설명할 것이다. Hereinafter, the present invention will be described on an on-chip bus device and method for a mobile platform.

본 발명은 슬레이브와 슬레이브간에 직접적인 데이터 전송를 가능하게 하는 트랜잭션 프로토콜 및 이를 위한 장치 구성을 제안한다.The present invention proposes a transaction protocol that enables direct data transfer between a slave and a slave, and an apparatus configuration therefor.

기존 마스터가 초기화하던 연속적이고 별도로 수행되던 읽기 트랜잭션과 쓰기 트랜잭션을 하나의 새로운 읽기 후의 직접 쓰기(D-WAR, Direct Write After Read)트랜잭션으로 통합한다. 즉, 소스 슬레이브에서 데스터네이션 슬레이브로의 직접적인 데이터 전송을 마스터의 개입 없이 가능하게 한다. Consolidate continuous and separately performed read and write transactions that were initiated by an existing master into a single new read-after-write (D-WAR) transaction. That is, it enables direct data transfer from the source slave to the destination slave without the intervention of the master.

도 3은 본 발명의 실시 예에 따른 버스의 구조를 도시한 것이다.3 shows the structure of a bus according to an embodiment of the present invention.

상기 도 3을 참조하면, 본 발명의 버스(300) 구조는 기존의 버스 구조에서 D-WAR 신호가 추가된다. 즉, 마스터 인터페이스에 1-비트 'D-WAR' 신호가 추가된다(점선으로 표시). 그리고 소스 슬레이브의 RD채널의 신호가 데스터네이션 슬레이 브의 WD채널로 멀티플렉싱되는 경로가 추가된다(점선으로 표시).Referring to FIG. 3, the bus 300 of the present invention adds a D-WAR signal to an existing bus structure. That is, a 1-bit 'D-WAR' signal is added to the master interface (indicated by the dotted line). And a path is added (indicated by a dotted line) in which the signal of the RD channel of the source slave is multiplexed to the WD channel of the destination slave.

상기 D-WAR 신호는 스케줄러(320)로 출력되고, 상기 스케줄러(320)는 상기 D-WAR신호를 수신할 경우, 슬레이브1(340)가 출력한 데이터를 멀티플렉서(322)가 멀티플렉싱하여 디멀티플렉서(326)를 통해 슬레이브2(350)로 출력하고, 상기 슬레이브2(350)는 입력받은 데이터를 저장한다. The D-WAR signal is output to the scheduler 320. When the D-WAR signal is received, the scheduler 320 multiplexes the data output from the slave 1 340 by the multiplexer 322 and outputs the multiplexed data to the demultiplexer 326 To the slave 2 350, and the slave 2 350 stores the received data.

상기 과정에서 상기 슬레이브2(350)는 상기 마스터(300)가 출력한 쓰기 주소를 AW 채널을 통해 입력받고, 상기 쓰기 주소에 데이터를 저장하고, 저장과정을 완료하면, 응답 신호를 B 채널을 통해 상기 마스터(300)로 출력한다.In the above process, the slave 2 350 receives the write address output from the master 300 through the AW channel, stores the data in the write address, and upon completion of the storing process, And outputs it to the master 300.

스케줄러(312, 316, 324, 328, 332)의 기능과, 멀티플렉서(318, 334) 및 디멀티플렉서(314, 326, 330)의 기능은 기존과 동일하다. 단, 상기 슬레이브1(340)의 출력 데이터가 상기 슬레이브2(350)에 저장되는 과정에서 스케줄러(324)는 상기 마스터(300)로부터 슬레이브2(350)를 선택할 것을 지시받고, 디멀티플렉서(326)는 스케줄러(324)의 제어에 의해 멀티플렉서(322)로부터 출력된 데이터를 상기 슬레이브2(350)로 디멀티플렉싱한다. 상기의 모든 스케줄러는 마스터(300)의 제어에 의해 동작한다.The functions of the schedulers 312, 316, 324, 328 and 332 and the functions of the multiplexers 318 and 334 and the demultiplexers 314, 326 and 330 are the same as those of the prior art. The scheduler 324 instructs the master 300 to select the slave 2 350 while the output data of the slave 1 340 is stored in the slave 2 350. The demultiplexer 326 And demultiplexes the data output from the multiplexer 322 to the slave 2 350 under the control of the scheduler 324. [ All of the above schedulers operate under the control of the master 300.

도 4는 본 발명의 실시 예에 따른 버스 동작 과정을 도시한 도면이다.4 is a diagram illustrating a bus operation process according to an embodiment of the present invention.

상기 도 4를 참조하면, 마스터(410)는 슬레이브 2(430)로 이동할 데이터가 저장된 슬레이브 1(420)의 주소를 나타내는 읽기 주소를 상기 슬레이브 1(410)로 출력한다. 이 경우, AR 채널을 이용한다.4, the master 410 outputs a read address to the slave 1 410 indicating the address of the slave 1 420 in which data to be transferred to the slave 2 430 is stored. In this case, an AR channel is used.

이후, 상기 슬레이브 1(420)이 상기 읽기 주소에 대해 읽기 동작을 수행하고, 상기 슬레이브 1(420)이 읽은 데이터를 상기 마스터(410)로 출력한다, 이 경우, RD 채널을 이용한다.Then, the slave 1 420 performs a read operation on the read address, and the slave 1 420 outputs the read data to the master 410. In this case, an RD channel is used.

상기의 과정과 동시에, 상기 마스터(410)는 D-WAR 시그널을 출력한다.상기 마스터(410)는 상기 슬레이브 2(430)에 저장할 주소를 나타내는 쓰기 주소를 상기 슬레이브 2(430)로 출력한다. 이 경우 AW 채널을 이용한다The master 410 outputs a D-WAR signal to the slave 2 430. The master 410 outputs a write address indicating the address to be stored in the slave 2 430 to the slave 2 430. [ In this case, use the AW channel

이후, 상기 슬레이브 1(420)이 상기 마스터(410)로 출력한 데이터가 직접 슬레이브 2(430)로 포워딩된다. 상기 포워딩 과정은 상기 마스터(410)의 상기 도 3의 스케줄러(328, 324)의 제어하에서, 멀티플렉서(322) 및 디멀티플렉서(326)에 의해 수행된다. 이 경우 WD 채널을 이용한다. Then, the data output from the slave 1 420 to the master 410 is directly forwarded to the slave 2 430. The forwarding process is performed by the multiplexer 322 and the demultiplexer 326 under the control of the scheduler 328, 324 of FIG. 3 of the master 410. In this case, the WD channel is used.

상기 슬레이브 2(430)는 포워딩한 데이터에 대해 쓰기 동작을 수행하여 저장한다. 상기 쓰기 동작을 완료하면, 상기 슬레이브 2(430)는 상기 마스터(410)로 응답 신호를 출력한다. 이 경우, B 채널을 이용한다.The slave 2 430 performs a write operation on the forwarded data and stores the data. When the writing operation is completed, the slave 2 430 outputs a response signal to the master 410. In this case, the B channel is used.

도 5는 본 발명의 실시 예에 따른 버스 동작 과정을 도시한 흐름도이다.5 is a flowchart illustrating a bus operation process according to an embodiment of the present invention.

상기 도 5를 참조하면, 마스터는 슬레이브 2로 이동할 데이터가 저장된 슬레이브 1의 주소를 나타내는 읽기 주소를 상기 슬레이브 1로 출력한다(510 단계). 이 경우, AR채널을 이용한다.Referring to FIG. 5, the master outputs a read address indicating the address of the slave 1 storing data to be transferred to the slave 2 to the slave 1 (operation 510). In this case, an AR channel is used.

이후, 상기 슬레이브 1이 상기 읽기 주소에 대해 읽기 동작을 수행하고(520 단계), 상기 슬레이브 1이 읽은 데이터를 상기 마스터로 출력한다(530 단계), 이 경우, RD 채널을 이용한다.Then, the slave 1 performs a read operation on the read address (operation 520), and outputs data read by the slave 1 to the master (operation 530). In this case, an RD channel is used.

상기의 과정과 동시에, 상기 마스터는 D-WAR 시그널을 출력하고(515 단계), 슬레이브 2에 저장할 주소를 나타내는 쓰기 주소를 상기 슬레이브 2로 출력한다. 이 경우 AW채널을 이용한다(525 단계).At the same time as above, the master outputs a D-WAR signal (step 515) and outputs a write address indicating the address to be stored in the slave 2 to the slave 2. In this case, the AW channel is used (step 525).

여기서, 상기 530단계의 과정이 끝나기 전에, 상기 515 및 525 단계의 과정이 먼저 끝나는 것이 바람직하다.Here, it is preferable that the processes of steps 515 and 525 are completed before the process of step 530 is completed.

이후, 상기 슬레이브 1이 상기 마스터로 출력한 데이터를 직접 슬레이브 2로 포워딩한다(535 단계). 이 경우 WD 채널을 이용한다.Thereafter, the slave 1 forwards the data output to the master directly to the slave 2 (step 535). In this case, the WD channel is used.

상기 슬레이브 2는 포워딩한 데이터에 대해 쓰기 동작을 수행하여 저장한다(540 단계). The slave 2 performs a write operation on the forwarded data and stores it (operation 540).

상기 쓰기 동작을 완료하면, 상기 슬레이브 2는 상기 마스터에게 응답 신호를 출력한다(545 단계). 이 경우, B 채널을 이용한다.When the writing operation is completed, the slave 2 outputs a response signal to the master (Step 545). In this case, the B channel is used.

상기의 과정에서 슬레이브 1이 출력한 데이터를 상기 마스터가 선택적으로 레지스터에 저장하는 것도 가능하다.It is also possible for the master to selectively store the data output by the slave 1 in the above process.

본 발명의 구조는 슬레이브의 수가 2개 뿐만이 아니라, 3개 이상일 경우에도 적용가능한다. 즉, 소스 슬레이브 장치의 출력을 데스터네이션 슬레이브 장치의 입력으로 연결할 수 있으면 가능하다.The structure of the present invention is applicable not only to the number of slaves but also to three or more slaves. That is, it is possible to connect the output of the source slave device to the input of the destination slave device.

한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이 다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.While the present invention has been described in connection with what is presently considered to be the most practical and preferred embodiment, it is to be understood that the invention is not limited to the disclosed embodiments, but is capable of various modifications within the scope of the invention. Therefore, the scope of the present invention should not be limited by the illustrated embodiments, but should be determined by the scope of the appended claims and equivalents thereof.

도 1은 기존의 버스 구조를 도시한 도면,1 shows a conventional bus structure,

도 2는 기존의 버스 동작 과정을 도시한 도면,2 is a diagram illustrating a conventional bus operation process,

도 3은 본 발명의 실시 예에 따른 버스의 구조를 도시한 도면,3 is a diagram illustrating a structure of a bus according to an embodiment of the present invention,

도 4는 본 발명의 실시 예에 따른 버스 동작 과정을 도시한 도면, 및,4 is a diagram illustrating a bus operation process according to an embodiment of the present invention,

도 5는 본 발명의 실시 예에 따른 버스 동작 과정을 도시한 흐름도.5 is a flowchart illustrating a bus operation process according to an embodiment of the present invention.

Claims (11)

버스 구조를 사용하는 시스템에 있어서,In a system using a bus structure, 제 1 슬레이브에 저장된 데이터를 마스터의 경유 없이, 제 2 슬레이브로 저장하도록, 직접 저장을 지시하는 시그널을 출력하는 마스터와,A master outputting a signal instructing direct storage so as to store the data stored in the first slave as the second slave without passing through the master; 상기 직접 저장을 지시하는 시그널을 수신하여 상기 제 1 슬레이브가 출력하는 데이터를 직접 상기 제 2 슬레이브로 포워딩하도록 스케줄링하는 제 1 스케줄러를 포함하고,And a first scheduler for receiving a signal indicating direct storage and scheduling to forward data output from the first slave directly to the second slave, 상기 마스터는, 읽기 트랜잭션과 쓰기 트랜잭션을 하나의 트랜잭션으로 통합하여 수행하기 위해, 동일 시간 구간 동안 상기 제 1 슬레이브로 읽기 주소를, 상기 제 2 슬레이브로 쓰기 주소를 출력하는 것을 특징으로 하는 장치.Wherein the master outputs a read address to the first slave and a write address to the second slave for the same time interval in order to integrate the read transaction and the write transaction into one transaction. 삭제delete 제 1항에 있어서,The method according to claim 1, 상기 제 1 슬레이브는 상기 읽기 주소에 대해 저장된 데이터를 상기 마스터로 출력하는 것을 특징으로 하는 장치.Wherein the first slave outputs data stored for the read address to the master. 제 1항에 있어서,The method according to claim 1, 상기 제 2 슬레이브는 포워딩한 데이터를 상기 쓰기 주소에 저장하고, 저장을 완료한 경우, 상기 마스터에게 응답 신호를 출력하는 것을 특징으로 하는 장치.Wherein the second slave stores the forwarded data in the write address and outputs a response signal to the master when the storage is completed. 제 1항에 있어서,The method according to claim 1, 상기 직접 저장을 지시하는 시그널은 D-WAR(Direct-Write After Read) 시그널인 것을 특징으로 하는 장치.Wherein the signal for direct storage is a Direct-Write After Read (D-WAR) signal. 제 1항에 있어서,The method according to claim 1, 상기 제 1 스케줄러는 멀티플렉서를 제어하여 상기 제 1 슬레이브로부터의 데이터를 멀티플렉싱하게 하는 것을 특징으로 하는 장치.Wherein the first scheduler controls the multiplexer to multiplex data from the first slave. 제 1항에 있어서,The method according to claim 1, 제 1 스케줄러가 멀티플렉싱하게 한 상기 데이터를, 디멀터플렉서를 제어하여 디멀티플렉싱하게 하고 상기 제 2 슬레이브로 포워딩하는 제 2 스케줄러를 더 포함하는 것을 특징으로 하는 장치.Further comprising: a second scheduler for controlling the demultiplexer to demultiplex and forward the data to the first slave, the data being multiplexed by the first scheduler. 버스 구조를 사용하는 시스템의 데이터 직접 저장 방법에 있어서,A method for directly storing data in a system using a bus structure, 마스터가 제 1 슬레이브에 저장된 데이터를 마스터의 경유 없이, 제 2 슬레이브로 저장하도록, 직접 저장을 지시하는 시그널을 출력하는 제 1 과정과,A first step of outputting a signal instructing direct storage so that the master stores the data stored in the first slave as the second slave without passing through the master; 상기 제 1 과정 이후에, 읽기 트랜잭션과 쓰기 트랜잭션을 하나의 트랜잭션으로 통합하여 수행하기 위해, 동일 시간 구간 동안 상기 제 1 슬레이브로 읽기 주소를, 상기 제 2 슬레이브로 쓰기 주소를, 출력하는 제 2 과정과,A second step of outputting a read address to the first slave and a write address to the second slave during the same time interval in order to integrate the read transaction and the write transaction into one transaction after the first process; and, 상기 제 2 과정 이후, 상기 직접 저장을 지시하는 시그널을 수신한 스케줄러가 상기 제 1 슬레이브가 출력하는 데이터를 직접 상기 제 2 슬레이브로 포워딩하도록 스케줄링하는 제 3 과정과, A third step of scheduling the scheduler to forward the data output from the first slave directly to the second slave after receiving the signal indicating direct storage after the second step; 상기 제 2 슬레이브는 포워딩한 데이터를 저장하는 제 4 과정과,A fourth step of storing forwarding data of the second slave; 상기 제 4 과정을 완료한 경우, 상기 제 2 슬레이브가 상기 마스터에게 응답 신호를 출력하는 제 5 과정을 포함하는 것을 특징으로 하는 방법.And when the fourth step is completed, the second slave outputs a response signal to the master. 제 8항에 있어서,9. The method of claim 8, 상기 제 1 슬레이브가 상기 읽기 주소에 대해 저장된 데이터를 상기 마스터로 출력하는 제 7 과정을 더 포함하는 것을 특징으로 하는 방법. And outputting the data stored for the read address to the master by the first slave. 제 8항에 있어서,9. The method of claim 8, 상기 직접 저장을 지시하는 시그널은 D-WAR(Direct-Write After Read) 시그널인 것을 특징으로 하는 방법.Wherein the signal for direct storage is a Direct-Write After Read (D-WAR) signal. 제 8항에 있어서,9. The method of claim 8, 상기 제 3 과정은, In the third step, 상기 스케줄러가 멀티플렉서를 제어하여 상기 제1 슬레이브로부터의 데이터를 멀티플렉싱하는 과정과,The scheduler controlling a multiplexer to multiplex data from the first slave; 멀티플렉싱한 상기 데이터를 다른 스케줄러가 디멀티플렉서를 제어하여 디멀티플렉싱하여 상기 제 2 슬레이브로 포워딩하는 과정을 포함하는 것을 특징으로 하는 방법.And controlling the demultiplexer to demultiplex the multiplexed data by another scheduler and forwarding the multiplexed data to the second slave.
KR1020070114070A 2007-11-09 2007-11-09 Apparatus and method for performance mobile platform on-chip bus KR101423675B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070114070A KR101423675B1 (en) 2007-11-09 2007-11-09 Apparatus and method for performance mobile platform on-chip bus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070114070A KR101423675B1 (en) 2007-11-09 2007-11-09 Apparatus and method for performance mobile platform on-chip bus

Publications (2)

Publication Number Publication Date
KR20090047942A KR20090047942A (en) 2009-05-13
KR101423675B1 true KR101423675B1 (en) 2014-07-25

Family

ID=40857202

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070114070A KR101423675B1 (en) 2007-11-09 2007-11-09 Apparatus and method for performance mobile platform on-chip bus

Country Status (1)

Country Link
KR (1) KR101423675B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030060067A (en) * 2000-06-09 2003-07-12 모토로라 인코포레이티드 Integrated processor platform supporting wireless handheld multi-media devices
JP2005228222A (en) * 2004-02-16 2005-08-25 Ricoh Co Ltd Serial data transfer method and device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030060067A (en) * 2000-06-09 2003-07-12 모토로라 인코포레이티드 Integrated processor platform supporting wireless handheld multi-media devices
JP2005228222A (en) * 2004-02-16 2005-08-25 Ricoh Co Ltd Serial data transfer method and device

Also Published As

Publication number Publication date
KR20090047942A (en) 2009-05-13

Similar Documents

Publication Publication Date Title
US6950910B2 (en) Mobile wireless communication device architectures and methods therefor
US7506089B2 (en) Bus system and method thereof
JP4182801B2 (en) Multi-processor system
US20080178024A1 (en) Multilayered bus system
JP2002196974A (en) Digital signal processing system
JP2004171209A (en) Shared memory data transfer device
US8086767B2 (en) Pin multiplexing
CN104583944A (en) Fast deskew when exiting low-power partial-width high speed link state
JP2008009817A (en) Semiconductor device and data transfer method
JP4233373B2 (en) Data transfer control device
US9104819B2 (en) Multi-master bus architecture for system-on-chip
US6718411B2 (en) Asic system architecture including data aggregation technique
KR100591524B1 (en) Method and slave device for supporting dynamic clock gating under bus architecture
JP2001117858A (en) Data processor
KR101423675B1 (en) Apparatus and method for performance mobile platform on-chip bus
US7296109B1 (en) Buffer bypass circuit for reducing latency in information transfers to a bus
US7519848B2 (en) Data transfer apparatus
US8677033B2 (en) Method for initializing registers of peripherals in a microcontroller
JP2004118234A (en) Data transfer device
US8139615B2 (en) Data processing apparatus
WO2016053146A1 (en) Computer system
JP2007207121A (en) Data processor and control method therefor
JP2008102609A (en) Bus bridge
JPH07319840A (en) Multi-cpu device
JP2008040894A (en) On-chip bus system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170629

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 5