KR100221326B1 - A pipeline system using the hierarchical structure - Google Patents

A pipeline system using the hierarchical structure Download PDF

Info

Publication number
KR100221326B1
KR100221326B1 KR1019960072065A KR19960072065A KR100221326B1 KR 100221326 B1 KR100221326 B1 KR 100221326B1 KR 1019960072065 A KR1019960072065 A KR 1019960072065A KR 19960072065 A KR19960072065 A KR 19960072065A KR 100221326 B1 KR100221326 B1 KR 100221326B1
Authority
KR
South Korea
Prior art keywords
data
primary
buffering means
switching
storage unit
Prior art date
Application number
KR1019960072065A
Other languages
Korean (ko)
Other versions
KR19980053029A (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 KR1019960072065A priority Critical patent/KR100221326B1/en
Publication of KR19980053029A publication Critical patent/KR19980053029A/en
Application granted granted Critical
Publication of KR100221326B1 publication Critical patent/KR100221326B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1515Non-blocking multistage, e.g. Clos
    • H04L49/1546Non-blocking multistage, e.g. Clos using pipelined operation

Abstract

본 발명은 계층 버퍼 구조를 갖는 파이프라인 시스템에 관한 것으로서, 본 발명의 파이프라인 시스템은, 입력된 데이터 스트림에 포함된 제 1 스위칭 정보(SI1)를 따라 데이터를 1 차적으로 스위칭하여 출력하는 1 차 버퍼링 수단(400)과; 상기 1 차 버퍼링 수단(400)으로부터의 데이터 스트림에 포함된 제 2 스위칭 정보(SI2)에 따라 데이터를 2 차적으로 스위칭하여 출력하는 2 차 버퍼링 수단(500); 상기 2 차 버퍼링 수단(500)으로부터의 데이터를 입력받아 완충 역할을 하는 3 차 버퍼링 수단(600); 및 상기 3 차 버퍼링 수단(600)으로부터의 데이터를 입력받아 각각의 기능을 수행하는 다수개의 기능 유닛(700)으로 구성되어 있으며, 상기 본 발명에 따르면 입력되는 데이터 스트림에 포함된 스위칭 정보를 이용하여 병렬로 구비된 복수개의 기능 유닛에 데이터를 계층적으로 전달하므로써 가상 기능 유닛의 개수를 늘려 병렬성을 향상시킬 뿐만 아니라 파이프라인의 데이터 처리능력을 크게 향상시킬 수 있다.The present invention relates to a pipelined system having a hierarchical buffer structure. The pipelined system of the present invention is a primary system that primarily switches and outputs data according to first switching information SI1 included in an input data stream. Buffering means (400); Secondary buffering means (500) for secondly switching and outputting data according to second switching information (SI2) included in the data stream from the primary buffering means (400); Tertiary buffering means (600) for receiving data from the secondary buffering means (500) and acting as a buffer; And a plurality of functional units 700 which receive data from the tertiary buffering means 600 and perform respective functions, and according to the present invention, using the switching information included in the input data stream. By hierarchically transferring data to a plurality of functional units provided in parallel, the number of virtual functional units can be increased to not only improve parallelism but also greatly improve data processing capacity of the pipeline.

Description

계층 버퍼 구조를 갖는 파이프라인 시스템Pipeline system with hierarchical buffer structure

본 발명은 계층 버퍼 구조를 갖는 파이프라인 시스템에 관한 것으로서, 특히 입력되는 데이터 스트림에 포함된 스위칭 정보를 이용하여 병렬로 구비된 복수개의 기능 유닛(Function Unit : FU)에 데이터를 계층적으로 전달하므로써 가상 기능 유닛의 개수를 늘려 병렬성을 향상시킬 뿐만 아니라 파이프라인의 데이터 처리능력을 크게 향상시키도록 되어진 계층 버퍼 구조를 갖는 파이프라인 시스템에 관한 것이다.The present invention relates to a pipeline system having a hierarchical buffer structure. In particular, the present invention relates to a plurality of functional units (FUs) provided in parallel by using switching information included in an input data stream. The present invention relates to a pipeline system having a hierarchical buffer structure designed to increase parallelism by increasing the number of virtual functional units, as well as to greatly improve data throughput of the pipeline.

일반적으로, 파이프라이닝(pipelining)은 디지탈 컴퓨터에서 시간적인 병렬화(temporal parallelism)를 실현하는 수단을 제공한다. 컴퓨터에서 파이프라인이라는 개념은 생산 공장에서의 생산 라인 개념과 유사하다.In general, pipelining provides a means of realizing temporal parallelism in digital computers. The concept of pipeline in a computer is similar to the concept of a production line in a production plant.

파이프라이닝을 수행하기 위해서는, 입력 프로세스를 일련의 서브 프로세스들(a sequence of subprocess)로 세분해야 하는데, 상기 일련의 서브 프로세스들 각각은 파이프라인에서 다른 스테이지들과 동시에 동작하는 특정 하드웨어 스테이지에 의해 수행된다. 연속적인 프로세스들은 파이프내에서 흐름이 형성되고, 서브 프로세스 레벨에서 중첩 방식(overlapped fashion)으로 수행된다. 이와 같은 파이프 라 방식은 디지탈 컴퓨터의 처리량을 놀라울 정도로 향상시키게 된다.In order to perform pipelining, the input process must be subdivided into a sequence of subprocesses, each of which is performed by a particular hardware stage operating concurrently with other stages in the pipeline. do. Successive processes form a flow in the pipe and are performed in an overlapped fashion at the subprocess level. This type of pipe method can dramatically increase the throughput of digital computers.

이어서, 파이프라인 프로세서의 분류에 대해서 살펴보면, 다양한 형태의 파이프라인 프로세서들은 프로세싱 레벨 및 파이프라인 구성과 제어 전략에 따라 분류된다.Subsequently, when classifying pipeline processors, various types of pipeline processors are classified according to processing levels and pipeline configurations and control strategies.

우선, Handler 는 프로세싱 레벨에 따라 산술 파이프라이닝(arithmetic pipelining), 인스트럭션 파이프라이닝(instruction), 프로세서 파이프라이닝(processor pipelining)로 분류하였다.First, Handlers are classified into arithmetic pipelining, instruction pipelining, and processor pipelining according to processing levels.

도 1 은 산술 파이프라이닝을 설명1 illustrates arithmetic pipelining

도 2 는 인스트럭션 파이프라이닝을 설명2 illustrates instruction pipelining

도 3 은 프로세서 파이프라이닝을 설명3 illustrates processor pipelining

그리고, Ramamoorthy 와 Li 는 파이프라인 구성과 제어 전략에 따라 단일기능(Unifunction)/다기능(Multifunction) 파이프라인, 정적(Static)/동적(Dynamic) 파이프라인, 스칼라(Scalar)/벡터(vector) 파이프라인으로 분류하였다.And Ramamoorthy and Li have a single function / multifunction pipeline, a static / dynamic pipeline, a scalar / vector pipeline, depending on the pipeline configuration and control strategy. Classified as

우선 단일기능/다기능 파이프라인에 대해서 살펴보면, 고정된 전용 기능을 갖는 파이프라인 유닛은 "단일 기능적(unifunctional)"이라고 부른다. Cray-1 은 다양한 스칼라, 벡터, 고정 소수점 및 부동 소수점 동작을 위해 12 단일 기능 파이프라인 유닛을 갖는다. 그리고, 다기능 파이프는 파이프라인내에 스테이지들의 다른 서브세트(subset)를 상호 연결하므로써 다른 시간에 또는 동시에 다른 기능들을 수행할 수 있다. TI-ASC 는 4 개의 다기능 파이프라인 프로세서들을 갖는데, 그들 각각은 다른 시간에 많은 산술 논리 동작을 재구성할 수 있다.Looking at the monofunctional / multifunctional pipeline first, a pipeline unit with a fixed dedicated function is called "unifunctional". Cray-1 has 12 single function pipeline units for various scalar, vector, fixed point and floating point operations. Multifunctional pipes can then perform different functions at different times or simultaneously by interconnecting different subsets of stages in the pipeline. The TI-ASC has four multifunction pipeline processors, each of which can reconfigure many arithmetic logic operations at different times.

그리고, 정적/동적 파이프라인을 살펴보면, 정적 파이프라인은 한 번에 단지 하나의 기능적 구성을 추정할 수 있다. 정적 파이프라인은 단일 기능적이거나 다기능적이다. 단지 같은 형태의 인스트럭션이 계속적으로 수행된다면 정적인 파이프내에서 파이프라이닝은 가능해진다. 정적인 파이프라인에 의해 수행된 기능은 자주 변해서는 안된다. 한편, 동적 파이프라인 프로세서는 동시에 존재하는 여러개의 기능적 구성이 허용된다. 이러한 관점에서 동적 파이프라인은 다기능적이어야 한다. 동적인 구성은 정적인 파이프라인에서 보다 훨씬 더 정교한 제어와 시퀀싱 메카니즘이 요구된다. 대부분의 컴퓨터는 단일 기능적이거나 다기능적인 정적인 파이프들을 갖추고 있다.And, looking at the static / dynamic pipeline, the static pipeline can only estimate one functional configuration at a time. Static pipelines are single functional or multifunctional. Pipelining is possible in static pipes only if the same type of instruction is executed continuously. Functions performed by static pipelines should not change often. Dynamic pipeline processors, on the other hand, allow for multiple functional configurations to exist simultaneously. In this regard, dynamic pipelines must be multifunctional. Dynamic configuration requires much more sophisticated control and sequencing mechanisms than in static pipelines. Most computers have a single functional or multifunctional static pipe.

또한, 인스트럭션 또는 데이터 형태에 의존하는 파이프라인 프로세서들은 또한 스칼라 파이프라인과 벡터 파이프라인으로 분류된다. 스칼라 파이프라인은 "DO" 루프의 제어하에 일련의 스칼라 오퍼랜드를 처리한다. 작은 "DO" 루프내의 인스트럭션은 종종 인스트럭션 버퍼로 미리 훼치(Prefetch)된다. 반복되는 스칼라 인스트럭션을 위해 요구된 스칼라 오퍼랜드는 파이프라인에 오퍼랜드를 계속적으로 공급하기 위해 데이터 캐쉬(data cache)로 옮겨진다. IBM 시스템/360 모델 91 은 스칼라 파이프라인을 갖춘 장치의 전형적인 예이다. 하지만, 모델 91 에는 캐쉬가 존재하지 않는다. 한편, 벡터 파이프라인은 벡터 오퍼랜드에 대한 벡터 인스트럭션을 처리하기 위하여 특별히 설계된다. 벡터 인스트럭션을 갖는 컴퓨터는 벡터 프로세서라고 부르며, 이러한 벡터 프로세서의 설계는 스칼라 파이프라인의 설계로부터 확장된 것이다. 벡터 파이프라인내에 있는 벡터 오퍼랜드의 처리는 스칼라 파이프라인 내에서 처럼 소프트웨어의 제어하에 있다기 보다는 오히려 펌웨어(firmware)와 하드웨어의 제어하에 있다.In addition, pipeline processors that depend on the instruction or data type are also classified into scalar pipelines and vector pipelines. The scalar pipeline processes a series of scalar operands under the control of the "DO" loop. Instructions in small "DO" loops are often prefetched into the instruction buffer. The scalar operands required for repeating scalar instructions are moved to a data cache to continuously supply the operands to the pipeline. The IBM System / 360 Model 91 is a typical example of a device with a scalar pipeline. However, there is no cache in Model 91. On the other hand, the vector pipeline is specially designed to process vector instructions for vector operands. A computer with vector instructions is called a vector processor, and the design of this vector processor extends from the design of a scalar pipeline. The processing of vector operands in the vector pipeline is under the control of firmware and hardware rather than under software control as in the scalar pipeline.

이어서, 선형 파이프라이닝(linear pipelining)에 대해서 살펴보면 다음과 같다.Next, the linear pipelining (linear pipelining) is as follows.

일정한 지연을 가지는 파이프라인에 있어서, 모든 태스크(컴퓨터로 처리되는 일의 최소 단위)들은 모든 스테이션내에서 동일한 처리 시간을 갖는다. 이상적인 생산 라인내의 스테이션들은 충분한 자원 사용과 함께 동시적으로 수행된다. 그러나, 실질적으로 연속적인 스테이션들은 동일한 지연을 갖지 않는다. 생산 라인의 최적의 분배는 많은 요인에 의해 영향을 받는데, 그러한 요인으로는 워킹 유니트의 질(효율성과 수용성), 요구되는 처리 속도와 전체 생산 라인의 비용 등이 있다.In a pipeline with constant delay, all tasks (the smallest unit of work processed by the computer) have the same processing time in all stations. Stations in an ideal production line run concurrently with sufficient resource usage. However, substantially consecutive stations do not have the same delay. The optimal distribution of a production line is influenced by many factors, including the quality of the working unit (efficiency and acceptability), the required processing speed and the cost of the entire production line.

주어진 태스크 T 에 대한 서브 태스크(subtask)들의 집합 {T1,T2,...,Tk} 의 선행 관계를 보면, 선행하는 태스크 Ti(i<j)가 끝나기 전까지는 후행하는 태스크 Tj가 시작되지 않음을 나타낸다. 모든 서브 태스크들의 상호 의존도는 선행 그래프(precedence graph)를 형성하며, 선형 파이프라인(Linear pipeline)은 선형 선행 그래프에 따라 일련의 서브 태스크들을 처리할 수 있다.Looking at the predecessor of the set of subtasks {T 1 , T 2 , ..., T k } for a given task T, the task T that follows until the preceding task T i (i <j) ends Indicates that j does not start. The interdependencies of all subtasks form a precedence graph, and the linear pipeline can process a series of subtasks according to the linear preceding graph.

도 4 은 선형 파이프라인 프로세서의 기본 구조도로서, L 은 래치, C 는 클럭 그리고 Si는 i 번째 스테이지를 나타낸다.4 is a basic structural diagram of a linear pipeline processor, where L is a latch, C is a clock, and S i is an i-th stage.

도 4 에 도시된 파이프라인은 일련의 처리 스테이지들(a cascade of processing stages)로 구성되고, 상기 스테이지들은 파이프를 통해 흐르는 데이터 스트림에 대한 연산(arithmetic) 또는 논리(logic) 동작을 수행하는 순수한 조합 회로(combinational circuit)이다. 또한, 상기 스테이지들은 고속 인터페이스 래치들에 의해 분리된다. 이러한 래치들은 스테이지들간의 즉각적인 결과를 유지하고 있기 위한 빠른 레지스터들이다. 인접 스테이지들간의 정보 흐름은 동시적으로 모든 래치에 인가되는 공통 클럭에 의해 제어된다.The pipeline shown in FIG. 4 consists of a cascade of processing stages, which are pure combinations that perform arithmetic or logic operations on the data stream flowing through the pipe. It is a combinational circuit. The stages are also separated by high speed interface latches. These latches are fast registers to maintain immediate results between stages. The flow of information between adjacent stages is controlled by a common clock applied to all latches simultaneously.

이어서, 선형 파이프라인의 클럭 기간(Clock period), 속도 증가(Speedup), 효율성(Efficiency), 처리량(Throughput) 등에 대해서 살펴보기로 한다.Next, the clock period, speedup, efficiency, and throughput of the linear pipeline will be described.

1)클럭 기간(Clock period)1) Clock period

각 스테이지 Si내에 있는 논리 회로는 τi라고 표시되는 시간 지연을 갖는다. 그리고, 각 인터페이스 래치의 시간 지연을 τl라고 하면, 선형 파이프라인의 클럭 기간은 다음 식과 같이 나타낼 수 있다.The logic circuit in each stage S i has a time delay, denoted τ i . If the time delay of each interface latch is τ 1 , the clock period of the linear pipeline may be expressed as follows.

클럭 기간의 역수는 파이프라인 프로세서의 주파수 f = 1/τ 로 표현된다.The inverse of the clock period is represented by the frequency f = 1 / τ of the pipeline processor.

도 5 는 선형 파이프라인의 중첩 동작을 설명5 illustrates the overlapping operation of the linear pipeline

일단, 파이프가 채워지면 스테이지 수에 독립하는 클럭 기간당 하나의 결과를 출력하게 된다. 이상적으로 k 스테이지를 갖는 선형 파이프라인은 Tk= k +(n-1) 클럭 기간내에 n 태스크를 처리할 수 있는데, 여기서 k 사이클은 파이프라인을 채우거나 첫 번째 태스크의 수행을 완료하기 위해 사용되며, n-1 사이클은 나머지 n-1 태스크들을 완료하기 위해 요구된다. 상기와 같은 수의 태스크들은 T1= n*k 시간 지연내에서 동일 기능을 갖는 넌-파이프라인(nonpipeline) 프로세서에서 수행될 수 있다.Once the pipe is filled, it will output one result per clock period independent of the number of stages. Ideally, a linear pipeline with k stages can handle n tasks within a T k = k + (n-1) clock period, where k cycles are used to fill the pipeline or to complete the execution of the first task. N-1 cycles are required to complete the remaining n-1 tasks. Such number of tasks may be performed in a nonpipeline processor having the same function within a T 1 = n * k time delay.

2) 속도 증가(Speedup)2) Speedup

동일한 넌-파이프라인 프로세서에 대한 k-스테이지 선형 파이프라인 프로세서의 속도 증가(Speedup)는 다음 식과 같이 정의할 수 있다.The speedup of a k-stage linear pipeline processor for the same non-pipeline processor may be defined as follows.

선형 파이프라인이 제공할 수 있는 최대 속도 증가는 k 이며, 여기서 k 는 파이프내의 스테이지 수이다. 이러한 최대 속도 증가는 인스트럭션(instructions), 인터럽트(interrupts), 프로그램 브랜치(program branch) 그리고 다른 요인들 간의 데이터 의존도 때문에 완벽하게 성취될 수는 없다. 순서없는 인스트럭션 수행에 의해 발생된 대기상태는 많은 파이프라인 사이클을 소모시킨다.The maximum speed increase a linear pipeline can provide is k, where k is the number of stages in the pipe. This maximum speed increase cannot be achieved completely because of data dependence between instructions, interrupts, program branch and other factors. The wait state caused by unordered instruction execution consumes many pipeline cycles.

상기 수학식 1 에서 클럭 기간을 정의하고, 상기 수학식 2 에서 속도 증가를 정의한 후에, 선형 파이프라인 프로세서의 수행 능력을 측정하기 위한 두 개의 단위를 살펴보면 도 5 에 도시된 공간-시간 다이어그램내의 시간 간격(time interval)과 스테이지 공간(stage space)이 있는데, 이러한 시간 간격과 스테이지 공간의 산물을 시간-공간 스팬(time-space span)이라고 한다. 주어진 시간-공간 스팬은 비지(busy) 상태 또는 아이들(idle) 상태에 존재할 수 있지만, 두 상태 동시에 존재할 수는 없다. 이러한 개념은 파이프라인의 성능을 측정하는데 사용된다.After defining the clock period in Equation 1 and defining the speed increase in Equation 2, two units for measuring the performance of the linear pipeline processor will be described. The time interval in the space-time diagram shown in FIG. There is a time interval and a stage space, and a product of the time interval and the stage space is called a time-space span. A given time-space span can exist in a busy or idle state, but not both states at the same time. This concept is used to measure the performance of pipelines.

3) 효율성(efficiency)3) efficiency

선형 파이프라인의 효율성은 모든 비지(busy) 그리고 아이들(idle) 시간-공간 스팬의 합에 해당하는 전체 시간-공간 스팬에 대한 비지(busy) 시간-공간 스팬의 백분율에 의해 측정된다. 즉, 파이프라인의 효율성은 다음 식과 같이 정의될 수 있다.The efficiency of a linear pipeline is measured by the percentage of busy time-space span over the total time-space span corresponding to the sum of all busy and idle time-space spans. That is, the efficiency of the pipeline can be defined as follows.

여기서, n 은 태스크(즉, 인스트럭션)의 수를 나타내며, k 는 파이프라인 스테이지의 수를 나타내고, τ 는 선형 파이프라인의 클럭 기간을 나타낸다. n→∞ 일 때 η→1 이 되는데, 이것은 파이프라인을 통해 진행되는 태스크의 수가 커지면 커질수록 파이프라인의 효율성이 좋아진다는 것을 의미한다. 그리고, 수학식 2 와 수학식 3 으로부터 η=Sk/k 을 얻어낼 수 있으며, 이러한 것은 이상적인 속도 증가 k 에 대한 실제적인 속도 증가의 비율로서 선형 파이프라인의 효율성을 다른 관점에서 제공한다. 파이프라인의 안정 상태에서 n ≫ k 이면, 효율성 η 가 1 로 접근해야 한다. 그러나, 이러한 이상적인 경우는 프로그램 브랜치, 인터럽트, 데이터 의존도와 다른 요인등 때문에 모든 시간이 유지되지 않는다.Where n represents the number of tasks (ie, instructions), k represents the number of pipeline stages, and τ represents the clock period of the linear pipeline. When n → ∞, it becomes η → 1, which means that the larger the number of tasks going through the pipeline, the better the efficiency of the pipeline. From Equation 2 and Equation 3, η = S k / k can be obtained, which provides the efficiency of the linear pipeline from another perspective as the ratio of the actual speed increase to the ideal speed increase k. If n »k at steady state of pipeline, efficiency η should approach 1. However, this ideal case does not hold all the time due to program branches, interrupts, data dependencies and other factors.

4) 처리량(Throughput)4) Throughput

처리량은 단위 시간당 파이프라인에 의해 완료될 수 있는 결과(태스크)의 수로 정의되는데, 이러한 비율은 파이프라인의 계산 능력을 반영한다. 즉, 처리량은 다음식과 같이 정의된다.Throughput is defined as the number of results (tasks) that can be completed by the pipeline per unit of time, and this ratio reflects the computational power of the pipeline. That is, the throughput is defined as follows.

여기서, n 은 관찰 기간 kτ+(n-1)τ 동안 진행된 태스크의 총 수와 같다. 이상적인 경우, η→1 일 때 ω= 1/τ = f 이고, 이것은 선형 파이프라인의 최대 처리량이 주파수와 동일하다는 것을 의미하며, 그 주파수는 클럭 기간당 하나의 출력 결과와 일치한다.Where n is equal to the total number of tasks performed during the observation period kτ + (n-1) τ. Ideally, when η → 1, then ω = 1 / τ = f, which means that the maximum throughput of the linear pipeline is equal to frequency, which corresponds to one output result per clock period.

도 6 은 종래의 복수 파이프라인의 구조도로서, 종래의 복수 파이프라인은 기능 유닛 결정부(100)와, 네트웍(200), 및 복수개의 기능 유닛(300-1∼300-n)으로 구성된다.6 is a structural diagram of a plurality of conventional pipelines. The conventional plurality of pipelines includes a functional unit determination unit 100, a network 200, and a plurality of functional units 300-1 to 300-n.

여기서, 상기 기능 유닛 결정부(100)에서는 메모리(도시하지 않음)로부터 입력된 데이터 스트림(기능 파이프라인 식별자, 제 1 데이터, 제 2 데이터로 구성)중 기능 파이프라인 식별자(Function Pipeline Identifier : FP Id.)를 추출하여 기능 유닛(FU : Function Unit)을 결정하기 위한 제어신호를 발생시킨다.Here, the functional unit determination unit 100 may include a function pipeline identifier (FP Id) of data streams (consists of a function pipeline identifier, first data, and second data) input from a memory (not shown). E) to generate a control signal to determine the function unit (FU).

그리고, 상기 네트웍(200)에서는 상기 기능 유닛 결정부(100)로부터 발생된 제어 신호에 따라 스위칭 역할을 수행한다.In addition, the network 200 performs a switching role according to a control signal generated from the functional unit determiner 100.

또한, 상기 복수개의 기능 유닛(300-1∼300-n)은 병렬 구조로 되어 있고, 상기 네트웍(200)의 스위칭 선택에 따라 각각의 독립적 기능을 수행하는데, 이때 각각의 기능 유닛(300-1∼300-n)내의 다수개의 스테이지는 순차적인 동작을 위해 직렬구조로 되어 있다.In addition, the plurality of functional units 300-1 to 300-n have a parallel structure and perform independent functions according to the switching selection of the network 200, wherein each functional unit 300-1 is performed. Multiple stages within ˜300-n) are in series for sequential operation.

상술한 바와 같은 종래의 복수 파이프라인은 이미 살펴본 선형 파이프라인을 개선시킨 것이긴 하지만, 병렬 구조로된 복수개의 기능 유닛(300-1∼300-n)에 데이터를 적절히 전달하기 위해서 네트웍(200)을 사용하기 때문에, 하드웨어의 부피를 증가시킬 뿐만 아니라, 클럭의 주파수를 낮추고 클럭의 소모도 증가시킨다는 문제점이 있다.The conventional multiple pipeline as described above is an improvement of the linear pipeline described above, but the network 200 to properly transfer data to a plurality of functional units 300-1 to 300-n in parallel. Because of using, not only increases the volume of hardware, but also lowers the frequency of the clock and increases the consumption of the clock.

이에 본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로, 입력되는 데이터 스트림에 포함된 스위칭 정보를 이용하여 병렬로 구비된 복수개의 기능 유닛(Function Unit : FU)에 데이터를 계층적으로 전달하므로써 가상 기능 유닛의 개수를 늘려 병렬성을 향상시킬 뿐만 아니라 파이프라인의 데이터 처리능력을 크게 향상시키도록 되어진 계층 버퍼 구조를 갖는 파이프라인 시스템을 제공하는데 그 목적이 있다.Accordingly, the present invention has been made to solve the above problems, and by hierarchically transferring data to a plurality of function units (FU) provided in parallel by using the switching information included in the input data stream It is an object of the present invention to provide a pipeline system having a hierarchical buffer structure that is designed to increase parallelism by increasing the number of virtual functional units and to greatly improve the data throughput of the pipeline.

상기와 같은 목적을 달성하기 위한 본 발명에 따른 계층 버퍼 구조를 갖는 파이프라인 시스템은, 입력된 데이터 스트림에 포함된 제 1 스위칭 정보를 따라 데이터를 1 차적으로 스위칭하여 출력하는 1 차 버퍼링 수단과; 상기 1 차 버퍼링 수단으로부터의 데이터 스트림에 포함된 제 2 스위칭 정보에 따라 데이터를 2 차적으로 스위칭하여 출력하는 2 차 버퍼링 수단; 상기 2 차 버퍼링 수단으로부터의 데이터를 입력받아 완충 역할을 하는 3 차 버퍼링 수단; 및 상기 3 차 버퍼링 수단으로부터의 데이터를 입력받아 각각의 기능을 수행하는 다수개의 기능 유닛으로 구성된 것을 특징으로 한다.A pipeline system having a hierarchical buffer structure according to the present invention for achieving the above object comprises: primary buffering means for primaryly switching and outputting data according to first switching information included in an input data stream; Secondary buffering means for secondaryly switching and outputting data in accordance with second switching information included in the data stream from said primary buffering means; Tertiary buffering means for receiving data from the secondary buffering means and acting as a buffer; And a plurality of functional units which receive data from the tertiary buffering means and perform respective functions.

상기와 같은 본 발명에 따르면 입력되는 데이터 스트림에 포함된 스위칭 정보를 이용하여 병렬로 구비된 복수개의 기능 유닛에 데이터를 계층적으로 전달하므로써 가상 기능 유닛의 개수를 늘려 병렬성을 향상시킬 뿐만 아니라 파이프라인의 데이터 처리능력을 크게 향상시킬 수 있다.According to the present invention as described above by using the switching information included in the input data stream to pass the data hierarchically to a plurality of functional units provided in parallel to increase the number of virtual functional units to improve parallelism as well as pipeline Can significantly improve the data throughput.

도1은 산술 파이프라이닝을 설명1 illustrates arithmetic pipelining

도2는 인스트럭션 파이프라이닝을 설명2 illustrates instruction pipelining

도3은 프로세서 파이프라이닝을 설명Figure 3 illustrates processor pipelining

도4는 선형 파이프라인 프로세서의 기본 구조도,4 is a basic structural diagram of a linear pipeline processor;

도5는 선형 파이프라인의 중첩 동작을 설명Figure 5 illustrates the overlapping operation of the linear pipeline

도6은 종래의 복수 파이프라인의 구조도,6 is a structural diagram of a plurality of conventional pipelines,

도7은 본 발명에 따른 계층 버퍼 구조를 갖는 파이프라인 시스템을 도시한 구성 도이다.7 is a diagram illustrating a pipeline system having a hierarchical buffer structure according to the present invention.

* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings

100 : 기능 유닛 결정부200 : 네트웍100: function unit determination unit 200: network

300-1 ∼ 300-n : 복수개의 기능 유닛 400 : 1 차 버퍼링 수단300-1 to 300-n: Plural function unit 400: Primary buffering means

400-1 : 1 차 저장부 400-2 : 1 차 선택신호 발생부400-1: primary storage unit 400-2: primary selection signal generator

400-3 : 1 차 스위칭부 500 : 2 차 버퍼링 수단400-3: primary switching unit 500: secondary buffering means

500A : 2 차 제 1 버퍼링 수단 500A-1 : 2 차 제 1 저장부500A: secondary primary buffering means 500A-1: secondary primary storage

500A-2 : 2 차 제 1 선택신호 발생부 500A-3 : 2 차 제 1 스위칭부500A-2: secondary first selection signal generator 500A-3: secondary first switching unit

500B : 2 차 제 2 버퍼링 수단 500B-1 : 2 차 제 2 저장부500B: secondary secondary buffering means 500B-1: secondary secondary storage

500B-2 : 2 차 제 2 선택신호 발생부 500B-3 : 2 차 제 2 스위칭부500B-2: secondary secondary selection signal generator 500B-3: secondary secondary switching unit

600 : 3 차 버퍼링 수단 600-1 : 3 차 제 1 저장부600: tertiary buffering means 600-1: tertiary primary storage unit

600-2 : 3 차 제 2 저장부 600-3 : 3 차 제 3 저장부600-2: tertiary secondary storage unit 600-3: tertiary secondary storage unit

600-4 : 3 차 제 4 저장부 700 : 다수개의 기능 유닛600-4: tertiary fourth storage unit 700: multiple functional units

700-1 : 제 1 기능 유닛 700-2 : 제 2 기능 유닛700-1: first functional unit 700-2: second functional unit

700-3 : 제 3 기능 유닛 700-4 : 제 4 기능 유닛700-3: third functional unit 700-4: fourth functional unit

Si: i 번째 스테이지 L : 래치S i : i th stage L: latch

C : 클럭 Mi: i 번째 메모리 블록C: Clock M i : i-th memory block

Proc. n : n 번째 프로세서: i 번째 태스크중 j 번째 서브태스크Proc. n: nth processor : j th subtask of the i th task

이하, 첨부된 도면을 참조하여 본 발명에 대해서 설명Hereinafter, the present invention will be described with reference to the accompanying drawings.

도 7 은 본 발명에 따른 계층 버퍼 구조를 갖는 파이프라인 시스템의 구성도로서, 1 차 버퍼링 수단(400)과; 2 차 버퍼링 수단(500); 3 차 버퍼링 수단(600); 및 다수개의 기능 유닛(700)으로 구성되어 있는데, 상기 기능 유닛들(700)의 개수가 증가하면 버퍼링 수단의 차수( 1 차, 2 차, 3 차, 4 차 …)도 증가하도록 되어 있다. 이때, 입력되는 테이터 스트림은 SI1, SI2, DATA 로 구성되는데, 상기 SI1 은 1 비트에 해당하는 제 1 스위칭 정보를 나타내고, 상기 SI2 은 제 2 스위칭 정보를 나타내며, DATA 는 기능 유닛에서 사용될 데이터를 나타낸다. 상기 SI1 과 SI2 는 종래 기술에서 살펴본 바와 같이 기능 유닛 식별자(fu Id.)에 해당한다. 도 7 에 도시된 바와 같이, 상기 1 차 버퍼링 수단(400)은 1 차 저장부(400-1)와; 1 차 선택 신호 발생부(400-2); 및 1 차 스위칭부(400-3)로 이루어져 있으며, 상기 1 차 저장부(400-1)는 하나의 입력 포트와 두 개의 출력 포트를 가지고 있고, 선입 선출 방식(FIFO : First-In First-Out)에 따라 데이터를 처리하도록 되어 있다.7 is a schematic diagram of a pipeline system having a hierarchical buffer structure according to the present invention, comprising: primary buffering means 400; Secondary buffering means 500; Tertiary buffering means 600; And a plurality of functional units 700. When the number of functional units 700 increases, the order of the buffering means (primary, secondary, tertiary, quaternary ...) is also increased. In this case, the input data stream is composed of SI1, SI2, and DATA, wherein SI1 represents first switching information corresponding to one bit, SI2 represents second switching information, and DATA represents data to be used in a functional unit. . SI1 and SI2 correspond to a functional unit identifier (fu Id.) As described in the prior art. As shown in FIG. 7, the primary buffering means 400 includes a primary storage unit 400-1; A primary selection signal generator 400-2; And a primary switching unit 400-3, the primary storage unit 400-1 has one input port and two output ports, and a first-in first-out method (FIFO). To process the data.

그리고, 상기 2 차 버퍼링 수단(500)은 2 차 제 1 버퍼링 수단(500A); 및 2 차 제 2 버퍼링 수단(500B)으로 구성되어 있으며, 이때 상기 2 차 제 1 버퍼링 수단(500A)은 2 차 제 1 저장부(500A-1)과; 2 차 제 1 선택신호 발생부(500A-2); 및 2 차 제 1 스위칭부(500A-3)로 이루어져 있으며, 또한 상기 2 차 제 2 버퍼링 수단(500B)은 2 차 제 2 저장부(500B-1)과; 2 차 제 2 선택신호 발생부(500B-2); 및 2 차 제 2 스위칭부(500B-3)로 이루어져 있다. 상기 2 차 제 1 저장부(500A-1)와 상기 2 차 제 2 저장부(500B-1)는 하나의 입력 포트와 두 개의 출력 포트를 가지고 있고, 선입 선출 방식(FIFO : First-In First-Out)에 따라 데이터를 처리하도록 되어 있다.The secondary buffering means 500 includes secondary secondary buffering means 500A; And a secondary second buffering means (500B), wherein the secondary first buffering means (500A) includes a secondary first storage portion (500A-1); A second first selection signal generator 500A-2; And a secondary first switching unit 500A-3, and the secondary second buffering means 500B includes a secondary second storage unit 500B-1; A secondary second selection signal generator 500B-2; And a secondary second switching unit 500B-3. The secondary first storage unit 500A-1 and the secondary second storage unit 500B-1 have one input port and two output ports, and have a first-in first-out method (FIFO). Data is processed according to Out).

한편, 상기 3 차 버퍼링 수단(600)은 다수개의 3 차 저장부 즉, 3 차 제 1 저장부(600-1), 3 차 제 2 저장부(600-2), 3 차 제 3 저장부(600-3), 3 차 제 4 저장부(600-4)가 병렬 구조로 이루어져 있다. 상기 3 차 저장부(600-1∼600-4)들은 후단의 각 기능 유닛에 데이터를 전달하는 최종 버퍼링 수단이므로, 하나의 입력 포트와 하나의 출력 포트를 갖추고 있으면 되고, 선입 선출 방식(FIFO : First-In First-Out)에 따라 데이터를 처리하도록 되어 있다.Meanwhile, the tertiary buffering means 600 includes a plurality of tertiary storage units, that is, a tertiary first storage unit 600-1, a tertiary second storage unit 600-2, and a tertiary third storage unit ( 600-3) and the tertiary fourth storage unit 600-4 have a parallel structure. Since the tertiary storage units 600-1 to 600-4 are final buffering means for transferring data to each functional unit at a later stage, the tertiary storage units 600-1 to 600-4 need to have one input port and one output port. First-In First-Out).

마지막으로 상기 기능 유닛들(700)은 다수개의 기능 유닛 즉, 제 1 기능 유닛(700-1), 제 2 기능 유닛(700-2), 제 3 기능 유닛(700-3), 제 4 기능 유닛(700-4)이 병렬 구조로 되어 있다.Finally, the functional units 700 include a plurality of functional units, that is, a first functional unit 700-1, a second functional unit 700-2, a third functional unit 700-3, and a fourth functional unit. (700-4) is a parallel structure.

이어서, 상기와 같이 구성되는 본 발명의 실시예에 대한 동작을 살펴보기로 한다.Next, operation of the embodiment of the present invention configured as described above will be described.

여기에서는 4 개의 기능 유닛만을 구비시키므로써 버퍼링을 3 차로 수행하는 경우에 대해서 설명This section describes the case where buffering is performed in the third order by providing only four functional units.

도 7 를 참조하면, 1 차 버퍼링 수단(400)은 입력된 데이터 스트림에 포함된 제 1 스위칭 정보(SI1)에 따라 데이터를 1 차적으로 스위칭하여 출력하는데, 좀 더 구체적으로 살펴보면, 1 차 저장부(400-1)에서는 데이터 스트림을 입력받아 임시 저장한 후, 두 데이터를 출력하고, 1 차 선택 신호 발생부(400-2)에서는 상기 1 차 저장부(400-1)으로부터 두 개의 제 1 스위칭 정보(SI1)를 입력받아 1 차적인 데이터 선택 신호(fds)를 출력하며, 1 차 스위칭부(400-3)에서는 상기 1 차 저장부(400-1)로부터 두 데이터를 입력받아 상기 1 차 선택 신호 발생부(400-2)로부터의 1 차적인 데이터 선택 신호(fds)에 따라 두 데이터를 1 차적으로 스위칭하여 후단의 2 차 버퍼링 수단(500)을 구성하는 2 차 제 1 버퍼링 수단(500A)과 2 차 제 2 버퍼링 수단(500B)으로 각각 출력한다.Referring to FIG. 7, the primary buffering means 400 primarily switches and outputs data according to the first switching information SI1 included in the input data stream. In detail, the primary storage unit In 400-1, the data stream is received and temporarily stored, and then two data are output. In the first selection signal generator 400-2, two first switching devices from the first storage 400-1 are output. Receives the information SI1 and outputs a primary data selection signal fds, and the primary switching unit 400-3 receives two data from the primary storage unit 400-1 and selects the primary data. Secondary first buffering means 500A constituting secondary buffering means 500 at a later stage by first switching two data in accordance with the primary data selection signal fds from the signal generator 400-2. And second secondary buffering means 500B, respectively.

2 차 버퍼링 수단(500)은 상기 1 차 버퍼링 수단(400)의 1 차 스위칭부(400-3)로부터 데이터 스트림을 입력받으며, 그 데이터 스트림에 포함된 제 2 스위칭 정보(SI2)에 따라 데이터를 2 차적으로 스위칭하여 출력한다.The secondary buffering means 500 receives a data stream from the primary switching unit 400-3 of the primary buffering means 400, and receives the data stream according to the second switching information SI2 included in the data stream. Secondary switching output.

즉, 2 차 제 1 버퍼링 수단(500A)은 제 2 스위칭 정보(SI2)에 따라 제 1 데이터(제 1 기능 유닛과 제 2 기능 유닛에서 사용될 데이터)를 2 차적으로 스위칭하여 출력하는데, 좀 더 구체적으로 살펴보면 2 차 제 1 저장부(500A-1)에서는 상기 1 차 버퍼링 수단(400)의 1 차 스위칭부(400-3)로부터의 데이터 스트림을 입력받아 임시 저장한 후 두 데이터씩 출력하고, 2 차 제 1 선택 신호 발생부(500A-2)에서는 상기 2 차 제 1 저장부(500A-1)로부터 두 개의 제 2 스위칭 정보(SI2)를 입력받아 2 차적인 제 1 데이터 선택 신호(sds-1)를 출력하며, 2 차 제 1 스위칭부(500A-3)에서는 상기 2 차 제 1 저장부(500A-1)으로부터 두 개의 제 1 데이터를 입력받아 상기 2 차 제 1 선택 신호 발생부(500A-2)로부터의 2 차적인 제 1 데이터 선택 신호(sds-1)에 따라 두 개의 제 1 데이터를 2 차적으로 스위칭하여 후단의 3 차 버퍼링 수단(600)을 구성하는 3 차 제 1 저장 수단(600-1)과 3 차 제 2 저장 수단(600-2)로 각각 출력한다.That is, the secondary first buffering means 500A secondly switches and outputs first data (data to be used in the first functional unit and the second functional unit) according to the second switching information SI2. As shown in FIG. 2, the secondary first storage unit 500A-1 receives the data stream from the primary switching unit 400-3 of the primary buffering unit 400, temporarily stores the data stream, and outputs two data by two. The secondary first selection signal generator 500A-2 receives two second switching information SI2 from the secondary first storage unit 500A-1 and receives a secondary first data selection signal sds-1. ) And the secondary first switching unit 500A-3 receives two first data from the secondary first storage unit 500A-1 and the secondary first selection signal generator 500A-. The second first data is secondarily switched according to the secondary first data selection signal sds-1 from And each of the output to the third buffering means 600, the third first storage means 600-1 and the third second storing means (600-2) for configuring.

마찬가지로, 2 차 제 2 버퍼링 수단(500B)은 제 2 스위칭 정보(SI2)에 따라 제 2 데이터(제 3 기능 유닛과 제 4 기능 유닛에서 사용될 데이터)를 2 차적으로 스위칭하여 출력하는데, 좀더 구체적으로 살펴보면 2 차 제 2 저장부(500B-1)에서는 상기 1 차 버퍼링 수단(400)의 1 차 스위칭부(400-3)로부터 데이터 스트림을 입력받으며, 그 데이터 스트림을 임시 저장한 후 두 데이터씩 출력하고, 2 차 제 2 선택 신호 발생부(500B-2)에서는 상기 2 차 제 2 저장부(500B-1)로부터 두 개의 제 2 스위칭 정보(SI2)를 입력받아 2 차적인 제 2 데이터 선택 신호(sds-2)를 출력하며, 2 차 제 2 스위칭부(500B-3)에서는 상기 2 차 제 2 저장부(500B-1)로부터 두 개의 제 2 데이터를 입력받아 상기 2 차 제 2 선택 신호 발생부(500B-2)로부터의 2 차적인 제 2 데이터 선택 신호(sds-2)에 따라 두 개의 제 2 데이터를 2 차적으로 스위칭하여 후단의 3 차 버퍼링 수단(600)을 구성하는 3 차 제 3 저장부(600-3)와 3 차 제 4 저장부(600-4)로 각각 출력한다.Similarly, the secondary second buffering means 500B secondaryly switches and outputs second data (data to be used in the third functional unit and the fourth functional unit) in accordance with the second switching information SI2, more specifically. Looking at the secondary secondary storage unit 500B-1 receives a data stream from the primary switching unit 400-3 of the primary buffering means 400, and temporarily stores the data stream and then outputs two data. In addition, the secondary second selection signal generator 500B-2 receives two second switching information SI2 from the secondary second storage unit 500B-1 and receives a secondary second data selection signal ( sds-2), and the second secondary switching unit 500B-3 receives two second data from the second secondary storage unit 500B-1 to receive the second second selection signal generator. The second second data selection signal sds-2 from 500B-2 Secondary switching is performed and output to the third tertiary storage unit 600-3 and the tertiary fourth storage unit 600-4, which constitute the third tertiary buffering means 600.

한편, 3 차 버퍼링 수단(600)은 상기 2 차 버퍼링 수단(500)으로부터 데이터를 입력받아 완충 역할을 한 후, 하나의 데이터를 출력하는데, 즉 후단의 제 1 기능 유닛(700-1)에서 사용될 제 1 데이터를 3 차 제 1 저장부(600-1)에서 입력받아 완충하고, 후단의 제 2 기능 유닛(700-2)에서 사용될 제 1 데이터를 3 차 제 2 저장부(600-2)에서 입력받아 완충하며, 후단의 제 3 기능 유닛(700-3)에서 사용될 제 2 데이터를 3 차 제 3 저장부(600-3)에서 입력받아 완충하고, 후단의 제 4 기능 유닛(700-4)에서 사용될 제 2 데이터를 3 차 제 4 저장부(600-4)에서 입력받아 완충한다.Meanwhile, the tertiary buffering means 600 receives data from the secondary buffering means 500 and plays a buffer role, and then outputs one data, that is, the first functional unit 700-1 to be used. The first data is received from the tertiary first storage unit 600-1 and buffered, and the first data to be used in the second functional unit 700-2 at the rear end is stored in the tertiary second storage unit 600-2. Receives and buffers the second data to be used in the third functional unit (700-3) of the rear stage is received and buffered in the third tertiary storage unit (600-3), the fourth functional unit (700-4) of the rear stage The second data to be used in the third buffer unit 600-4 is received and buffered.

마지막으로 다수개의 기능 유닛(700)은 상기 3 차 버퍼링 수단(600)으로부터 각각의 완충된 데이터를 입력받아 각각의 독립적인 기능을 수행한다.Finally, the plurality of functional units 700 receives respective buffered data from the tertiary buffering means 600 and performs each independent function.

상기에서 서술된 실시예는 모든 점에서 예시에 불과한 것이고, 이를 한정적으로 해석해서는 안되며, 단지 본 발명의 진정한 정신 및 범위내에 존재하는 변형예는 모두 본 발명의 청구 범위에 속하는 것이다.The embodiments described above are merely illustrative in all respects and should not be construed as limiting, and all modifications that fall within the true spirit and scope of the present invention shall fall within the claims of the present invention.

이상에서 살펴본 바와 같이 본 발명에 따르면 입력되는 데이터 스트림에 포함된 스위칭 정보를 이용하여 병렬로 구비된 복수개의 기능 유닛에 데이터를 계층적으로 전달하므로써 가상 기능 유닛의 개수를 늘려 병렬성을 향상시킬 뿐만 아니라 파이프라인의 데이터 처리능력을 크게 향상시킬 수 있고, 어플리케이션에 따라 다이나믹한 가상 기능의 구현이 용이하다는 데 그 효과가 있다.As described above, according to the present invention, data is transmitted hierarchically to a plurality of functional units provided in parallel using switching information included in an input data stream, thereby increasing the number of virtual functional units to improve parallelism. The data processing power of the pipeline can be greatly improved, and dynamic virtual functions can be easily implemented depending on the application.

Claims (16)

입력된 데이터 스트림에 포함된 제 1 스위칭 정보(SI1)를 따라 데이터를 1 차적으로 스위칭하여 출력하는 1 차 버퍼링 수단(400)과;Primary buffering means (400) for primarily switching and outputting data according to first switching information (SI1) included in the input data stream; 상기 1 차 버퍼링 수단(400)으로부터의 데이터 스트림에 포함된 제 2 스위칭 정보(SI2)에 따라 데이터를 2 차적으로 스위칭하여 출력하는 2 차 버퍼링 수단(500);Secondary buffering means (500) for secondly switching and outputting data according to second switching information (SI2) included in the data stream from the primary buffering means (400); 상기 2 차 버퍼링 수단(500)으로부터의 데이터를 입력받아 완충 역할을 하는 3 차 버퍼링 수단(600); 및Tertiary buffering means (600) for receiving data from the secondary buffering means (500) and acting as a buffer; And 상기 3 차 버퍼링 수단(600)으로부터의 데이터를 입력받아 각각의 기능을 수행하는 다수개의 기능 유닛(700)으로 구성된 계층 버퍼 구조를 갖는 파이프라인 시스템.Pipeline system having a hierarchical buffer structure consisting of a plurality of functional units (700) for receiving data from the tertiary buffering means (600) to perform each function. 제 1 항에 있어서, 상기 1 차 버퍼링 수단(400)이, 데이터 스트림을 입력받아 임시 저장한 후 출력하는 1 차 저장부(400-1)과;2. The apparatus of claim 1, wherein the primary buffering means comprises: a primary storage unit 400-1 that receives a data stream and temporarily stores the data stream; 상기 1 차 저장부(400-1)로부터 두 개의 제 1 스위칭 정보(SI1)를 입력받아 1 차적인 데이터 선택 신호(fds)를 출력하는 1 차 선택 신호 발생부(400-2); 및 상기 1 차 저장부(400-1)로부터 두 데이터를 입력받아 상기 1 차 선택 신호 발생부(400-2)로부터의 1 차적인 데이터 선택 신호(fds)에 따라 두 데이터를 1 차적으로 스위칭하여 출력하는 1 차 스위칭부(400-3)로 구성된 것을 특징으로 하는 계층 버퍼 구조를 갖는 파이프라인 시스템.A primary selection signal generator 400-2 receiving two first switching information SI1 from the primary storage 400-1 and outputting a primary data selection signal fds; And receiving two data from the primary storage unit 400-1 and primarily switching the two data according to the primary data selection signal fds from the primary selection signal generator 400-2. Pipeline system having a hierarchical buffer structure, characterized in that consisting of the primary switching unit 400-3 to output. 제 2 항에 있어서, 상기 1 차 저장부(400-1)가. 선입 선출 방식에 따라 데이터를 처리하도록 되어진 것을 특징으로 하는 계층 버퍼 구조를 갖는 파이프라인 시스템.The method of claim 2, wherein the primary storage unit 400-1. A pipeline system with a hierarchical buffer structure, characterized in that it is adapted to process data in a first-in first-out manner. 제 2 항 또는 제 3 항에 있어서, 상기 1 차 저장부(400-1)가, 하나의 입력 포트와 두 개의 출력 포트로 구현된 것을 특징으로 하는 계층 버퍼 구조를 갖는 파이프라인 시스템.The pipeline system according to claim 2 or 3, wherein the primary storage unit 400-1 is implemented with one input port and two output ports. 제 1 항에 있어서, 상기 2 차 버퍼링 수단(500)이, 상기 1 차 버퍼링 수단(400)으로부터의 데이터 스트림에 포함된 제 2 스위칭 정보(SI2)에 따라 제 1 데이터를 2 차적으로 스위칭하여 출력하는 2 차 제 1 버퍼링 수단(500A); 및The method of claim 1, wherein the secondary buffering means 500 outputs the secondary data by secondary switching in accordance with the second switching information (SI2) included in the data stream from the primary buffering means (400) Secondary first buffering means 500A; And 상기 1 차 버퍼링 수단(400)으로부터의 데이터 스트림에 포함된 제 2 스위칭 정보(SI2)에 따라 제 2 데이터를 2 차적으로 스위칭하여 출력하는 2 차 제 2 버퍼링 수단(500B)으로 구성된 것을 특징으로 하는 계층 버퍼 구조를 갖는 파이프라인 시스템.And a second secondary buffering means 500B for secondaryly switching and outputting second data according to the second switching information SI2 included in the data stream from the primary buffering means 400. Pipeline system with hierarchical buffer structure. 제 5 항에 있어서, 상기 2 차 제 1 버퍼링 수단(500A)이, 상기 1 차 버퍼링 수단(400)으로부터의 데이터 스트림을 입력받아 임시 저장한 후 출력하는 2 차 제 1 저장부(500A-1)와;The secondary primary storage unit 500A-1 of claim 5, wherein the secondary primary buffering means 500A receives the temporary data stream from the primary buffering means 400 and temporarily stores the data stream. Wow; 상기 2 차 제 1 저장부(500A-1)로부터 두 개의 제 2 스위칭 정보(SI2)를 입력받아 2 차적인 제 1 데이터 선택 신호(sds-1)를 출력하는 2 차 제 1 선택 신호 발생부(500A-2); 및A secondary first selection signal generator for receiving two second switching information SI2 from the secondary first storage unit 500A-1 and outputting a secondary first data selection signal sds-1. 500A-2); And 상기 2 차 제 1 저장부(500A-1)로부터 두 개의 제 1 데이터를 입력받아 상기 2 차 제 1 선택 신호 발생부(500A-2)로부터의 2 차적인 제 1 데이터 선택 신호(sds-1)에 따라 두 개의 제 1 데이터를 2 차적으로 스위칭하여 출력하는 2 차 제 1 스위칭부(500A-3)로 구성된 것을 특징으로 하는 계층 버퍼 구조를 갖는 파이프라인 시스템.Receives two first data from the secondary first storage unit 500A-1 and receives a secondary first data selection signal sds-1 from the secondary first selection signal generator 500A-2. According to the pipeline system having a hierarchical buffer structure, characterized in that consisting of a secondary first switching unit (500A-3) for switching and outputting two first data. 제 6 항에 있어서, 상기 2 차 제 1 저장부(500A-1)가. 선입 선출 방식에 따라 데이터를 처리하도록 되어진 것을 특징으로 하는 계층 버퍼 구조를 갖는 파이프라인 시스템.The method of claim 6, wherein the secondary primary storage unit (500A-1). A pipeline system with a hierarchical buffer structure, characterized in that it is adapted to process data in a first-in first-out manner. 제 6 항 또는 제 7 항에 있어서, 상기 2 차 제 1 저장부(500A-1)가, 하나의 입력 포트와 두 개의 출력 포트로 구현된 것을 특징으로 하는 계층 버퍼 구조를 갖는 파이프라인 시스템.The pipeline system according to claim 6 or 7, wherein the secondary primary storage unit (500A-1) is implemented with one input port and two output ports. 제 5 항에 있어서, 상기 2 차 제 2 버퍼링 수단(500B)이, 상기 1 차 버퍼링 수단(400)으로부터의 데이터 스트림을 입력받아 임시 저장한 후 출력하는 2 차 제 2 저장부(500B-1)와;The secondary secondary storage unit 500B-1 of claim 5, wherein the secondary secondary buffering unit 500B receives and temporarily stores a data stream from the primary buffering unit 400 and outputs the temporary stream. Wow; 상기 2 차 제 2 저장부(500B-1)로부터 두 개의 제 2 스위칭 정보(SI2)를 입력받아 2 차적인 제 2 데이터 선택 신호(sds-2)를 출력하는 2 차 제 2 선택 신호 발생부(500B-2); 및A secondary second selection signal generator for receiving two second switching information SI2 from the secondary second storage unit 500B-1 and outputting a secondary second data selection signal sds-2; 500B-2); And 상기 2 차 제 2 저장부(500B-1)로부터 두 개의 제 2 데이터를 입력받아 상기 2 차 제 2 선택 신호 발생부(500B-2)로부터의 2 차적인 제 2 데이터 선택 신호(sds-2)에 따라 두 개의 제 2 데이터를 2 차적으로 스위칭하여 출력하는 2 차 제 2 스위칭부(500B-3)로 구성된 것을 특징으로 하는 계층 버퍼 구조를 갖는 파이프라인 시스템.The second second data selection signal sds-2 received from the second second storage signal generator 500B-2 by receiving two second data from the second storage unit 500B-1. According to the pipeline system having a hierarchical buffer structure, characterized in that consisting of a secondary second switching unit (500B-3) for switching and outputting two second data. 제 9 항에 있어서, 상기 2 차 제 2 저장부(500B-1)가. 선입 선출 방식에 따라 데이터를 처리하도록 되어진 것을 특징으로 하는 계층 버퍼 구조를 갖는 파이프라인 시스템.The method of claim 9, wherein the secondary secondary storage unit (500B-1). A pipeline system with a hierarchical buffer structure, characterized in that it is adapted to process data in a first-in first-out manner. 제 9 항 또는 제 10 항에 있어서, 상기 2 차 제 2 저장부(500B-1)가, 하나의 입력 포트와 두 개의 출력 포트로 구현된 것을 특징으로 하는 계층 버퍼 구조를 갖는 파이프라인 시스템.11. The pipeline system according to claim 9 or 10, wherein the secondary secondary storage unit (500B-1) is implemented with one input port and two output ports. 제 1 항에 있어서, 상기 3 차 버퍼링 수단(600)이, 병렬 구조로 이루어진 다수개의 3 차 저장부(600-1∼600-4)로 구비된 것을 특징으로 하는 계층 버퍼 구조를 갖는 파이프라인 시스템.The pipeline system having a hierarchical buffer structure according to claim 1, wherein the tertiary buffering means 600 includes a plurality of tertiary storage units 600-1 to 600-4 having a parallel structure. . 제 12 항에 있어서, 다수개의 3 차 저장부(600-1∼600-4)가, 선입 선출 방식에 따라 데이터를 처리하도록 되어진 것을 특징으로 하는 계층 버퍼 구조를 갖는 파이프라인 시스템.13. The pipeline system according to claim 12, wherein the plurality of tertiary storage units (600-1 to 600-4) are configured to process data in a first-in first-out manner. 제 12 항 또는 제 13 항에 있어서, 다수개의 3 차 저장부(600-1∼600-4)가, 하나의 입력 포트와 하나의 출력 포트로 구현된 것을 특징으로 하는 계층 버퍼 구조를 갖는 파이프라인 시스템.The pipeline having a hierarchical buffer structure according to claim 12 or 13, wherein the plurality of tertiary storage units 600-1 to 600-4 are implemented with one input port and one output port. system. 제 1 항에 있어서, 다수개의 기능 유닛(700-1∼700-4)이, 각각의 기능을 수행하기 위해서 병렬 구조로 되어 있는 것을 특징으로 하는 계층 버퍼 구조를 갖는 파이프라인 시스템.The pipeline system according to claim 1, wherein a plurality of functional units (700-1 to 700-4) are in parallel structure for performing respective functions. 제 1 항에 있어서, 상기 기능 유닛(700)의 개수가 증가함에 따라 버퍼링 수단의 차수도 증가하도록 되어진 것을 특징으로 하는 계층 버퍼 구조를 갖는 파이프라인 시스템.2. The pipeline system according to claim 1, wherein the order of the buffering means also increases as the number of functional units increases.
KR1019960072065A 1996-12-26 1996-12-26 A pipeline system using the hierarchical structure KR100221326B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960072065A KR100221326B1 (en) 1996-12-26 1996-12-26 A pipeline system using the hierarchical structure

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960072065A KR100221326B1 (en) 1996-12-26 1996-12-26 A pipeline system using the hierarchical structure

Publications (2)

Publication Number Publication Date
KR19980053029A KR19980053029A (en) 1998-09-25
KR100221326B1 true KR100221326B1 (en) 1999-09-15

Family

ID=19490940

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960072065A KR100221326B1 (en) 1996-12-26 1996-12-26 A pipeline system using the hierarchical structure

Country Status (1)

Country Link
KR (1) KR100221326B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100464196B1 (en) * 2001-03-08 2005-01-03 인터내셔널 비지네스 머신즈 코포레이션 Method and apparatus for virtualizing a serial port in a data processing system
KR102525248B1 (en) 2022-12-27 2023-04-24 서기원 High-strength covering yarn using a twisting machine and its manufacturing method and cut-resistant gloves manufactured thereby

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100383359B1 (en) * 2000-07-26 2003-05-12 김종권 Method for processing data enqueue by using balanced pipelined-heap
KR100441992B1 (en) * 2001-12-04 2004-07-30 주식회사 팬택앤큐리텔 Primitive Transmitting Method between Protocol Layers on the basis of Streaming Technique in Mobile Terminal

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100464196B1 (en) * 2001-03-08 2005-01-03 인터내셔널 비지네스 머신즈 코포레이션 Method and apparatus for virtualizing a serial port in a data processing system
KR102525248B1 (en) 2022-12-27 2023-04-24 서기원 High-strength covering yarn using a twisting machine and its manufacturing method and cut-resistant gloves manufactured thereby

Also Published As

Publication number Publication date
KR19980053029A (en) 1998-09-25

Similar Documents

Publication Publication Date Title
KR100464406B1 (en) Apparatus and method for dispatching very long instruction word with variable length
EP2441013B1 (en) Shared resource multi-thread processor array
US5825677A (en) Numerically intensive computer accelerator
KR930004214B1 (en) Data processing system
JP4391935B2 (en) Processing system with interspersed processors and communication elements
US5559973A (en) Data processing system and method thereof
JP5762440B2 (en) A tile-based processor architecture model for highly efficient embedded uniform multi-core platforms
KR100681199B1 (en) Method and apparatus for interrupt handling in coarse grained array
CN113326066B (en) Quantum control microarchitecture, quantum control processor and instruction execution method
CN108475196A (en) Data processing
KR100221326B1 (en) A pipeline system using the hierarchical structure
JP2008181535A (en) Digital signal processing apparatus
CN112074810B (en) Parallel processing apparatus
US20030172248A1 (en) Synergetic computing system
KR100226694B1 (en) A plural pipeline structure and a plural pipelining method
KR100221325B1 (en) Dual function flow pipeline structure using switches
KR19980037093A (en) Shuffle pipeline structure
KR19980035724A (en) Pipeline Structure with Functional Verification Flow and Its Pipelining Method
KR100230846B1 (en) A dual function flow pipeline structure
KR19980037090A (en) Functional flow pipeline structure with foreseeability
KR19980037092A (en) Pipeline Structure with Dual Function Validation Flow
KR100226695B1 (en) A pipeline structure having bidirectional function checking flow
CA2465008C (en) Context execution in a pipelined computer processor
JP4230461B2 (en) Fully synchronous super pipelined VLIW processor system and method
Fellman Design issues and an architecture for the monolithic implementation of a parallel digital signal processor

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee