KR101423675B1 - Apparatus and method for performance mobile platform on-chip bus - Google Patents
Apparatus and method for performance mobile platform on-chip bus Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4208—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System 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
본 발명은 고성능 모바일 플랫폼에서 사용되는 온-칩 버스의 성능 향상을 위한 장치 및 방법에 관한 것으로, 더욱 상세하게는 시스템 온 칩(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
이후, 상기 마스터는(100)는 상기 슬레이브1(140)로부터 읽기 데이터를 전달받아서, 내부 레지시스터에 저장한다. 그리고 상기 마스터(100)는 저장되어 있던 데이터를 슬레이브2(150)에게 쓰기 위한 동작을 시작한다.Then, the
이때, 상기 마스터(100)는 AW채널을 통해 쓰기 주소를 전달하고, WD채널을 통해 쓰기 데이터를 전달한다. 이 두 채널은 동시에 동작이 가능하다. 상기 슬레이브2(150)는 내부 쓰기 동작을 수행하고 완료가 되면, B채널을 통해 상기 마스터(100)에게 쓰기의 완료를 알린다. At this time, the
기존의 버스 시스템에서는 이와 같은 순서로 5개의 채널을 각각 사용하여 상기 마스터(100)가 상기 슬레이브1(140)의 데이터를 상기 슬레이브2(150)에게 전달하게 된다. 이를 상기 마스터(100) 및 상기 슬레이브(140, 150)별로 시간 순으로 정리하면 도 2와 같이 나타낼 수 있다.In the conventional bus system, the
상기 도 1에서는 멀티플렉서(118, 134)가 스케줄러(116, 132)의 제어에 의해 슬레이브(140, 150)중 하나를 선택하고, 선택된 슬레이브로부터 데이터를 입력받는다. 그리고, 디멀티플렉서(114, 126, 130)는 스케줄러(112, 124, 128)의 제어에 의해 슬레이브(140, 150) 중 하나를 선택하여 선택된 스케줄러로 데이터를 출력한다.1, the
상기 도 1에서의 굵은 선은 현재 동작 중인 과정을 나타내는 것으로, 상기 마스터(100)가 출력한 데이터가 상기 슬레이브(140, 150)중 하나에 출력되는 것을 나타낸다.The bold line in FIG. 1 indicates a current operation, and indicates that data output by the
도 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
상기의 모바일 플랫폼 버스 시스템의 경우, 임베디드 시스템에서 빈번하게 발생되는 슬레이브에서 슬레이브로의 단순한 데이터 전송 동작을 수행하기 위하여 마스터-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
상기 D-WAR 신호는 스케줄러(320)로 출력되고, 상기 스케줄러(320)는 상기 D-WAR신호를 수신할 경우, 슬레이브1(340)가 출력한 데이터를 멀티플렉서(322)가 멀티플렉싱하여 디멀티플렉서(326)를 통해 슬레이브2(350)로 출력하고, 상기 슬레이브2(350)는 입력받은 데이터를 저장한다. The D-WAR signal is output to the
상기 과정에서 상기 슬레이브2(350)는 상기 마스터(300)가 출력한 쓰기 주소를 AW 채널을 통해 입력받고, 상기 쓰기 주소에 데이터를 저장하고, 저장과정을 완료하면, 응답 신호를 B 채널을 통해 상기 마스터(300)로 출력한다.In the above process, the
스케줄러(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
도 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
이후, 상기 슬레이브 1(420)이 상기 읽기 주소에 대해 읽기 동작을 수행하고, 상기 슬레이브 1(420)이 읽은 데이터를 상기 마스터(410)로 출력한다, 이 경우, RD 채널을 이용한다.Then, the
상기의 과정과 동시에, 상기 마스터(410)는 D-WAR 시그널을 출력한다.상기 마스터(410)는 상기 슬레이브 2(430)에 저장할 주소를 나타내는 쓰기 주소를 상기 슬레이브 2(430)로 출력한다. 이 경우 AW 채널을 이용한다The
이후, 상기 슬레이브 1(420)이 상기 마스터(410)로 출력한 데이터가 직접 슬레이브 2(430)로 포워딩된다. 상기 포워딩 과정은 상기 마스터(410)의 상기 도 3의 스케줄러(328, 324)의 제어하에서, 멀티플렉서(322) 및 디멀티플렉서(326)에 의해 수행된다. 이 경우 WD 채널을 이용한다. Then, the data output from the
상기 슬레이브 2(430)는 포워딩한 데이터에 대해 쓰기 동작을 수행하여 저장한다. 상기 쓰기 동작을 완료하면, 상기 슬레이브 2(430)는 상기 마스터(410)로 응답 신호를 출력한다. 이 경우, B 채널을 이용한다.The
도 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
이후, 상기 슬레이브 1이 상기 읽기 주소에 대해 읽기 동작을 수행하고(520 단계), 상기 슬레이브 1이 읽은 데이터를 상기 마스터로 출력한다(530 단계), 이 경우, RD 채널을 이용한다.Then, the
상기의 과정과 동시에, 상기 마스터는 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
여기서, 상기 530단계의 과정이 끝나기 전에, 상기 515 및 525 단계의 과정이 먼저 끝나는 것이 바람직하다.Here, it is preferable that the processes of
이후, 상기 슬레이브 1이 상기 마스터로 출력한 데이터를 직접 슬레이브 2로 포워딩한다(535 단계). 이 경우 WD 채널을 이용한다.Thereafter, the
상기 슬레이브 2는 포워딩한 데이터에 대해 쓰기 동작을 수행하여 저장한다(540 단계). The
상기 쓰기 동작을 완료하면, 상기 슬레이브 2는 상기 마스터에게 응답 신호를 출력한다(545 단계). 이 경우, B 채널을 이용한다.When the writing operation is completed, the
상기의 과정에서 슬레이브 1이 출력한 데이터를 상기 마스터가 선택적으로 레지스터에 저장하는 것도 가능하다.It is also possible for the master to selectively store the data output by the
본 발명의 구조는 슬레이브의 수가 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)
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)
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 |
-
2007
- 2007-11-09 KR KR1020070114070A patent/KR101423675B1/en active IP Right Grant
Patent Citations (2)
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 |