KR20090047942A - 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
- KR20090047942A KR20090047942A KR1020070114070A KR20070114070A KR20090047942A KR 20090047942 A KR20090047942 A KR 20090047942A KR 1020070114070 A KR1020070114070 A KR 1020070114070A KR 20070114070 A KR20070114070 A KR 20070114070A KR 20090047942 A KR20090047942 A KR 20090047942A
- Authority
- KR
- South Korea
- Prior art keywords
- slave
- data
- master
- address
- scheduler
- 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, and in a system using a bus structure, a master outputting a signal indicating direct storage and a first slave receiving the signal indicating the direct storage to output the first slave. It includes a first scheduler that schedules data to be directly forwarded to the second slave to reduce the time the master, such as CPU, DMAC involved in data transmission, so that the master can perform other tasks in advance. Therefore, there is an advantage that can improve the overall system performance.
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, a master-slave (Master-slave) widely used in a system-on-chip platform. Slave) In the bus structure, the time spent by the master for data transfer by enabling a direct slave-to-slave transaction from the slave to the data transfer between the slaves without relaying the master. The present invention relates to a new high-performance bus protocol method and apparatus for enabling high-speed data transmission by reducing workload and power consumption, and also reducing time required for data transmission.
종래 대부분의 모바일 플랫폼에서 사용되는 버스 구조는 ARM사에서 개발한 AMBA(Advanced Microprocessor 버스 Architecture) 프로토콜에 기반하고 있다.이 AMBA 버스에서 가장 최신 버전인 AMBA 3.0 - AXI(Advanced Extensible Interface) 프로토콜은 고성능 임베디드(Embedded) 플랫폼을 위하여 설계되었고, 고성능 모바일 플랫폼에 점차 적용되고 있으며, 이를 이용한 상용제품이 하나 둘 씩 출시되고 있는 실정이다.The bus structure used in most conventional mobile platforms is based on the Advanced Microprocessor Bus Architecture (AMBA) protocol developed by ARM, which is the latest version of the AMBA 3.0-Advanced Extensible Interface (AXI) protocol. It is designed for (Embedded) platform and is gradually applied to high performance mobile platform, and commercial products using this are being released one by one.
AMBA 버스와 같은 종래의 모든 임베디드 버스 구조는 마스터 버스와 슬레이브 버스로 구분되어 있다. 읽기 또는 쓰기 트랜잭션을 초기화하는 주체를 마스터라고 하며, 마스터의 트랜잭션에 응대하는 객체를 슬레이브라고 한다. All conventional embedded bus structures, such as AMBA buses, are divided into master buses and slave buses. The subject that initiates the 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 occur between master and slave. That is, the master initiates a read or write transaction, reads data from the slave's address, and transfers it to the master or writes the data to the slave's address.
도 1은 기존의 버스 구조를 도시한 도면이다.1 is a diagram illustrating 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 five channels: (1) Read address (AR channel), (2) Read data (RD channel), (3) Write address (AW channel), (4) Write data (WD channel), (5) Write response (B channel).
읽기 트랜잭션의 경우, 마스터는 AR 채널을 통해 읽기 주소를 슬레이브에게 전달하고, RD 채널을 통해 슬레이브로부터 읽기 데이터를 수신한다. 쓰기 트랜잭션의 경우, 마스터는 AW채널을 통해 쓰기 주소를, WD채널을 통해 쓰기 데이터를 슬 레이브에게 전달하면, 슬레이브는 해당 쓰기 동작을 마친후, B 채널을 통해 쓰기 동작이 성공적으로 완료되었음을 마스터에게 보고한다.In the case of a read transaction, the master sends a read address to the slave through the AR channel and receives read data from the slave through the RD channel. In the case of a write transaction, the master sends the write address through the AW channel and the write data through the WD channel to the slave. After the slave completes the write operation, it informs the master that the write operation was successfully completed through the B channel. report.
상기의 각각의 채널들은 시간과 공간 모두 독립적으로 수행이 가능하다. 따라서 버스 구조 내에서 각 채널은 완벽하게 분리가 되어 있다. Each of the channels can be performed independently of both time and space. Therefore, each channel is completely separated within the bus structure.
기존의 버스 구조에서의 모든 트랜잭션은 마스터에서 슬레이브로의 읽기 또는 쓰기 트랜잭션으로 간주할 수 있다. 고성능 모바일 플랫폼상에서 주로 요구되는 버스 트랜잭션의 패턴이면서 성능상의 병목현상의 원인이 되는 패턴은 메모리 슬레이브(DRAM, SRAM 등)의 어느 주소 영역에서 같은 메모리의 다른 주소 영역으로 데이터를 옮기거나, 메모리 슬레이브 상의 특정 데이터 묶음을 다른 슬레이브(USB, PCMCIA 등)로 이동하는 것이다.All transactions in the existing bus structure can be thought of as read or write transactions from master to slave. The pattern of bus transactions that is often required on high-performance mobile platforms and the cause of performance bottlenecks is the movement of data from one address area of a memory slave (DRAM, SRAM, etc.) to another address area of the same memory, or on a memory slave. To move a specific set of data to another slave (USB, PCMCIA, etc.).
이와 같은, 슬레이브에서 슬레이브로의 데이터 이동이 매우 빈번하게 발생하는데, 이를 위하여 마스터의 역할이 필요하다. 즉, 마스터가 소스 슬레이브로부터 해당 데이터를 읽고, 이를 받아서 데스터네이션 슬레이브로 다시 쓰는 역할이다. 이를 위해서, 마스터는 연속된 일련의 읽기 및 쓰기 트랜잭션을 초기화한다.As such, data movement from slave to slave occurs very frequently, and for this purpose, the role of the master is required. In other words, the master reads the data from the source slave, receives it, and writes it back to the destination slave. To do this, the master initiates a series of read and write transactions.
이러한 버스(110)상의 동작을 채널별로 살펴 보면, 마스터(100)가 슬레이브1(140)의 데이터를 슬레이브2(150)로 이동하는 상황에서. 우선 AR채널을 통해서 상기 마스터(100)가 상기 슬레이브1(140)에게 읽기 주소를 전달한다.Looking at the operation on the
이후, 상기 마스터는(100)는 상기 슬레이브1(140)로부터 읽기 데이터를 전달받아서, 내부 레지시스터에 저장한다. 그리고 상기 마스터(100)는 저장되어 있던 데이터를 슬레이브2(150)에게 쓰기 위한 동작을 시작한다.Thereafter, the
이때, 상기 마스터(100)는 AW채널을 통해 쓰기 주소를 전달하고, WD채널을 통해 쓰기 데이터를 전달한다. 이 두 채널은 동시에 동작이 가능하다. 상기 슬레이브2(150)는 내부 쓰기 동작을 수행하고 완료가 되면, B채널을 통해 상기 마스터(100)에게 쓰기의 완료를 알린다. In this case, the
기존의 버스 시스템에서는 이와 같은 순서로 5개의 채널을 각각 사용하여 상기 마스터(100)가 상기 슬레이브1(140)의 데이터를 상기 슬레이브2(150)에게 전달하게 된다. 이를 상기 마스터(100) 및 상기 슬레이브(140, 150)별로 시간 순으로 정리하면 도 2와 같이 나타낼 수 있다.In the existing bus system, the
상기 도 1에서는 멀티플렉서(118, 134)가 스케줄러(116, 132)의 제어에 의해 슬레이브(140, 150)중 하나를 선택하고, 선택된 슬레이브로부터 데이터를 입력받는다. 그리고, 디멀티플렉서(114, 126, 130)는 스케줄러(112, 124, 128)의 제어에 의해 슬레이브(140, 150) 중 하나를 선택하여 선택된 스케줄러로 데이터를 출력한다.In FIG. 1, the
상기 도 1에서의 굵은 선은 현재 동작 중인 과정을 나타내는 것으로, 상기 마스터(100)가 출력한 데이터가 상기 슬레이브(140, 150)중 하나에 출력되는 것을 나타낸다.The thick line in FIG. 1 represents a process currently in operation, and indicates that data output from 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, as a result of a read process from the
상기의 모바일 플랫폼 버스 시스템의 경우, 임베디드 시스템에서 빈번하게 발생되는 슬레이브에서 슬레이브로의 단순한 데이터 전송 동작을 수행하기 위하여 마스터-CPU 또는 DMAC(Direct Memory Access Controller)의 독립적이고 연속된 읽기 트랜잭션과 쓰기 트랜잭션을 사용하고 있다. In the case of the mobile platform bus system, independent and continuous read and write transactions of a master-CPU or a direct memory access controller (DMAC) to perform a simple data transfer operation from a slave to a slave frequently occur in an embedded system. I'm using.
이는 동일한 슬레이브(Memory)내에서의 데이터 이동의 경우에도 마찬가지로 운용된다. 이와 같은 종래의 기술은 다음과 같은 문제점이 있다.This also works in the case of data movement in the same slave (Memory). This conventional technique has the following problems.
첫 번째로, 슬레이브 사이의 전송을 수행하는데 있어서, 마스터가 매번 2회의 읽기/쓰기 트랜잭션을 수행한다. 따라서 마스터의 업무 로드가 증가하며, 버스의 사용 회수도 증가한다. CPU의 업무 로드를 감소하기 위해서 DMAC를 사용하는데, DMAC 역시 CPU와 같은 방식으로 읽기 및 쓰기 트랜잭션을 수행하므로, 전송 자체의 성능향상은 없으나 비용증가를 야기하는 문제점이 있다.First, in performing transfers between slaves, the master performs two read / write transactions each time. This increases the workload on the master and increases the frequency of bus use. DMAC is used to reduce the work load of the CPU. Since the DMAC performs read and write transactions in the same manner as the CPU, there is no performance improvement of the transmission itself, but there is a problem that increases the cost.
두 번째로, 데이터의 흐름이 소스 슬레이브에서 마스터로 전달되었다가, 다시 데스터네이션 슬레이브로 전달된다. 즉, 데이터의 이동 경로가 불필요하게 마스터를 경유하도록 되어 있다. 이로 인하여 불필요한 지연시간(Latency)와 전력이 낭비되는 문제점이 있다. Secondly, the flow of data is transferred from the source slave to the master and then back to the destination slave. In other words, the data movement path is unnecessarily via the master. As a result, 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 for embedding a built-in DMAC inside the destination slave, but this has been applied to the bus system and the expansion of logic / buffer for additional DMAC functions in the slave. An additional master interface is required. Therefore, it requires power consumption and cost (area). In addition, in the case of a slave, a pre-designed IP (Intellectual Property) is often purchased, and there is a problem in that a slave having a special built-in DMAC function must be separately supplied.
본 발명의 목적은 모바일 플랫폼을 위한 온 칩 버스 장치 및 방법을 제공함에 있다.An object of the present invention is to provide an on-chip bus apparatus and method for a mobile platform.
본 발명의 다른 목적은 기존 버스 시스템에서 서로 다른 슬레이브 간 또는 동일 슬레이브 내에서 데이터 전송을 위하여, 불필요한 마스터의 읽기 및 쓰기 트랜잭션을 간략화시켜서, 마스터의 업무 로드 및 전송 지연시간을 감소시키고, 고성능 모바일 플랫폼 내에서의 고속 데이터 전송과 전력 및 면적 비용을 줄이기 위한 장치 및 방법을 제공함에 있다.Another object of the present invention is to simplify read and write transactions of an unnecessary master for data transmission between different slaves or within the same slave in an existing bus system, thereby reducing the workload and transmission latency of the master, and a high performance mobile platform. An apparatus and method for reducing data and power and area costs are provided.
본 발명의 목적을 달성하기 위한 제 1 견지에 따르면, 버스 구조를 사용하는 시스템에 있어서 직접 저장을 지시하는 시그널을 출력하는 마스터와 상기 직접 저장을 지시하는 시그널을 수신하여 제 1 슬레이브가 출력하는 데이터를 직접 상기 제 2 슬레이브로 포워딩하도록 스케줄링하는 제 1 스케줄러를 포함하는 것을 특징 으로 한다.According to a first aspect of the present invention, in a system using a bus structure, a master outputting a signal indicating direct storage and a data received by the first slave receiving the signal indicating the direct storage are output. And a first scheduler for scheduling to forward the data directly to the second slave.
본 발명의 목적을 달성하기 위한 제 2 견지에 따르면, 버스 구조를 사용하는 시스템의 데이터 직접 저장 방법에 있어서 마스터가 직접 저장을 지시하는 시그널을 출력하는 제 1 과정과 상기 제 1 과정 이후에, 상기 마스터가 제 2 슬레이브에 저장할 주소를 나타내는 쓰기 주소를 상기 제 2 슬레이브로 출력하는 제 2 과정과 상기 제 2과정 이후 상기 직접 저장을 지시하는 시그널을 수신한 스케줄러가 상기 제 1 슬레이브가 출력하는 데이터를 직접 제 2 슬레이브로 포워딩하도록 스케줄링하는 제 3 과정과 상기 제 2 슬레이브는 포워딩한 데이터를 저장하는 제 4 과정과 상기 제 4 과정을 완료한 경우, 상기 제 2 슬레이브가 상기 마스터에게 응답 신호를 출력하는 제 5 과정을 포함하는 것을 특징으로 한다.According to a second aspect for achieving the object of the present invention, in the method of directly storing data in a system using a bus structure, after the first step and the first step of outputting a signal indicating direct storage by the master, A second process of outputting a write address indicating an address to be stored by the master to the second slave to the second slave and a scheduler receiving a signal indicating the direct storage after the second process may output data output by the first slave. When the third process of scheduling to forward to the second slave directly and the fourth process of storing the forwarded data and the fourth process, the second slave outputs a response signal to the master. And a fifth process.
본 발명의 D-WAR 트랜잭션을 사용함으로써 슬레이브 사이의 단순한 데이터 전송를 빠르게 수행할 수 있다. 따라서 고성능 모바일 플랫폼에서 데이터 전송 시간을 단축시킬 수 있다. 더불어 마스터의 내부 레지스터를 거치지 않으므로, 소비 전력 감소가 가능한 이점이 있다.By using the D-WAR transaction of the present invention, simple data transfer between slaves can be performed quickly. As a result, data transfer time can be reduced on high-performance mobile platforms. In addition, it does not go through the internal resistor of the master, there is an advantage that can reduce the power consumption.
또한, 본 발명은 CPU, DMAC와 같은 마스터가 데이터 전송에 관여하는 시간을 줄임으로서, 해당 마스터가 다른 작업을 미리 수행할 수 있다. 따라서 전체적인 시스템 성능 향상이 가능한 이점이 있다.In addition, the present invention reduces the time that the master such as the CPU, DMAC involved in the data transfer, the master can perform other tasks in advance. Therefore, there is an advantage that can improve the overall system performance.
또한, 본 발명은 동일 슬레이브 내에서의 데이터 이동을 할 경우에도 적용이 가능한 이점이 있다.In addition, the present invention has the advantage that it can be applied even when moving data in the same slave.
이하 본 발명의 바람직한 실시 예를 첨부된 도면의 참조와 함께 상세히 설명한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In describing the present invention, when it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.
이하, 본 발명은 모바일 플랫폼을 위한 온 칩 버스 장치 및 방법에 대해 설명할 것이다. Hereinafter, the present invention will be described on-chip bus apparatus and method for a mobile platform.
본 발명은 슬레이브와 슬레이브간에 직접적인 데이터 전송를 가능하게 하는 트랜잭션 프로토콜 및 이를 위한 장치 구성을 제안한다.The present invention proposes a transaction protocol and an apparatus configuration therefor that enable direct data transfer between slaves.
기존 마스터가 초기화하던 연속적이고 별도로 수행되던 읽기 트랜잭션과 쓰기 트랜잭션을 하나의 새로운 읽기 후의 직접 쓰기(D-WAR, Direct Write After Read)트랜잭션으로 통합한다. 즉, 소스 슬레이브에서 데스터네이션 슬레이브로의 직접적인 데이터 전송을 마스터의 개입 없이 가능하게 한다. Consolidate the continuous and separately executed read and write transactions initiated by the existing master into a new Direct Write After Read (D-WAR) transaction. That is, direct data transfer from the source slave to the destination slave is possible without the master's intervention.
도 3은 본 발명의 실시 예에 따른 버스의 구조를 도시한 것이다.3 illustrates a structure of a bus according to an exemplary embodiment of the present invention.
상기 도 3을 참조하면, 본 발명의 버스(300) 구조는 기존의 버스 구조에서 D-WAR 신호가 추가된다. 즉, 마스터 인터페이스에 1-비트 'D-WAR' 신호가 추가된다(점선으로 표시). 그리고 소스 슬레이브의 RD채널의 신호가 데스터네이션 슬레이 브의 WD채널로 멀티플렉싱되는 경로가 추가된다(점선으로 표시).Referring to FIG. 3, in 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 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 exemplary embodiment of the present invention.
상기 도 4를 참조하면, 마스터(410)는 슬레이브 2(430)로 이동할 데이터가 저장된 슬레이브 1(420)의 주소를 나타내는 읽기 주소를 상기 슬레이브 1(410)로 출력한다. 이 경우, AR 채널을 이용한다.Referring to FIG. 4, the
이후, 상기 슬레이브 1(420)이 상기 읽기 주소에 대해 읽기 동작을 수행하고, 상기 슬레이브 1(420)이 읽은 데이터를 상기 마스터(410)로 출력한다, 이 경우, RD 채널을 이용한다.Thereafter, the
상기의 과정과 동시에, 상기 마스터(410)는 D-WAR 시그널을 출력한다.상기 마스터(410)는 상기 슬레이브 2(430)에 저장할 주소를 나타내는 쓰기 주소를 상기 슬레이브 2(430)로 출력한다. 이 경우 AW 채널을 이용한다Simultaneously with the above process, the
이후, 상기 슬레이브 1(420)이 상기 마스터(410)로 출력한 데이터가 직접 슬레이브 2(430)로 포워딩된다. 상기 포워딩 과정은 상기 마스터(410)의 상기 도 3의 스케줄러(328, 324)의 제어하에서, 멀티플렉서(322) 및 디멀티플렉서(326)에 의해 수행된다. 이 경우 WD 채널을 이용한다. Thereafter, 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 exemplary 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
이후, 상기 슬레이브 1이 상기 읽기 주소에 대해 읽기 동작을 수행하고(520 단계), 상기 슬레이브 1이 읽은 데이터를 상기 마스터로 출력한다(530 단계), 이 경우, RD 채널을 이용한다.Thereafter, the
상기의 과정과 동시에, 상기 마스터는 D-WAR 시그널을 출력하고(515 단계), 슬레이브 2에 저장할 주소를 나타내는 쓰기 주소를 상기 슬레이브 2로 출력한다. 이 경우 AW채널을 이용한다(525 단계).Simultaneously with the above process, the master outputs a D-WAR signal (step 515), and outputs a write address indicating an address to be stored in the
여기서, 상기 530단계의 과정이 끝나기 전에, 상기 515 및 525 단계의 과정이 먼저 끝나는 것이 바람직하다.Here, before the process of
이후, 상기 슬레이브 1이 상기 마스터로 출력한 데이터를 직접 슬레이브 2로 포워딩한다(535 단계). 이 경우 WD 채널을 이용한다.Thereafter, the
상기 슬레이브 2는 포워딩한 데이터에 대해 쓰기 동작을 수행하여 저장한다(540 단계). The
상기 쓰기 동작을 완료하면, 상기 슬레이브 2는 상기 마스터에게 응답 신호를 출력한다(545 단계). 이 경우, B 채널을 이용한다.When the write operation is completed, the
상기의 과정에서 슬레이브 1이 출력한 데이터를 상기 마스터가 선택적으로 레지스터에 저장하는 것도 가능하다.It is also possible for the master to selectively store 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. That is, if the output of the source slave device can be connected to the input of the destination slave device.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이 다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.Meanwhile, in the detailed description of the present invention, specific embodiments have been described. However, various modifications may be made without departing from the scope of the present invention. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined not only by the scope of the following claims, but also by the equivalents of the claims.
도 1은 기존의 버스 구조를 도시한 도면,1 is a view showing a conventional bus structure,
도 2는 기존의 버스 동작 과정을 도시한 도면,2 is a view illustrating a conventional bus operation process;
도 3은 본 발명의 실시 예에 따른 버스의 구조를 도시한 도면,3 is a view showing the 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 exemplary 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 true KR20090047942A (en) | 2009-05-13 |
KR101423675B1 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) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7089344B1 (en) * | 2000-06-09 | 2006-08-08 | Motorola, Inc. | Integrated processor platform supporting wireless handheld multi-media devices |
JP4458873B2 (en) * | 2004-02-16 | 2010-04-28 | 株式会社リコー | Serial data transfer method and apparatus |
-
2007
- 2007-11-09 KR KR1020070114070A patent/KR101423675B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR101423675B1 (en) | 2014-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7506089B2 (en) | Bus system and method thereof | |
JP4845522B2 (en) | System bus control device, integrated circuit and data processing system | |
JP4182801B2 (en) | Multi-processor system | |
JP2004171209A (en) | Shared memory data transfer device | |
US7962670B2 (en) | Pin multiplexing | |
WO2015194133A1 (en) | Arithmetic device, arithmetic device control method, and storage medium in which arithmetic device control program is recorded | |
JP2006293927A (en) | Direct memory access controller and system lsi including direct memory access controller | |
US20070156937A1 (en) | Data transfer in multiprocessor system | |
JP2001117858A (en) | Data processor | |
JP4902640B2 (en) | Integrated circuit and integrated circuit system | |
US7203781B2 (en) | Bus architecture with primary bus and secondary or slave bus wherein transfer via DMA is in single transfer phase engagement of primary bus | |
US20120110535A1 (en) | Integrated circuit manufacturing method and semiconductor integrated circuit | |
KR20090047942A (en) | Apparatus and method for performance mobile platform on-chip bus | |
JP2008140065A (en) | Access arbitration device, access arbitration method and information processor | |
JP2005216147A (en) | Information processing apparatus | |
KR20060064146A (en) | Low power micro controller | |
JP5613517B2 (en) | Information processing device | |
US7716392B2 (en) | Computer system having an I/O module directly connected to a main storage for DMA transfer | |
JP4633334B2 (en) | Information processing apparatus and memory access arbitration method | |
EP3198455B1 (en) | Managing memory in a multiprocessor system | |
US8677033B2 (en) | Method for initializing registers of peripherals in a microcontroller | |
KR100973851B1 (en) | Embedded system and method for preventing internal BUS conflict thereof | |
JP2003122704A (en) | Data processor | |
JP2005293435A (en) | Data transfer device and its setting method | |
JP2008165463A (en) | Bus controller |
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 |