KR19980047479U - 파이프라인 가산기 - Google Patents

파이프라인 가산기 Download PDF

Info

Publication number
KR19980047479U
KR19980047479U KR2019960060635U KR19960060635U KR19980047479U KR 19980047479 U KR19980047479 U KR 19980047479U KR 2019960060635 U KR2019960060635 U KR 2019960060635U KR 19960060635 U KR19960060635 U KR 19960060635U KR 19980047479 U KR19980047479 U KR 19980047479U
Authority
KR
South Korea
Prior art keywords
adder
stage
pipeline
data
output
Prior art date
Application number
KR2019960060635U
Other languages
English (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 KR2019960060635U priority Critical patent/KR19980047479U/ko
Publication of KR19980047479U publication Critical patent/KR19980047479U/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Advance Control (AREA)

Abstract

본 고안은 파이프라인 구조를 갖는 가산기에 관한 것으로, 특히, 하드웨어로 설계시 전체 시스템과의 요구에 부응하는 테스팅에 대한 노력을 줄일 수 있도록 성능 테스팅이 간단한 구조를 갖는 파이라인 가산기에 관한 것으로서, 두개의 데이터를 가산하는 가산기(10-0)와, 상기 가산기(10-1)의 출력 및 나머지 데이터를 래치하는 래치부(10-i)로 구성된 제 1 스테이지와; 상기 제 1 스테이지의 가산기 출력과 입력 데이터를 가산하는 가산기(20-0)와, 상기 가산기(20-0)의 출력 및 상기 제 1 스테이지 래치부(10-i)의 데이터를 래치하는 래치부(20-i)로 구성된 제 2 스테이지; 상기 제 2 스테이지와 동일하게 구성된 다수개의 중간 스테이지; 및 모든 입력 데이터를 합한 값을 출력하는 가산기(40-0)와, 각 스테이지에서 계산한 중간 결과값을 모두 출력하는 래치부(40-i)로 구성된 최종 스테이지로 이루어진, 파이프라인 구조를 갖는 가산기를 통해서 각 단계에서 계산한 중간 결과값을 출력시키도록 하여 각 단계의 결과값을 비교하여 정상동작을 했는지 바로 검사 할 수 있기 때문에 테스팅을 간단히 할 수 있는 효과가 있다.

Description

파이프라인 가산기
본 고안은 파이프라인 구조를 갖는 가산기에 관한 것으로, 특히, 하드웨어로 설계시 전체 시스템과의 요구에 부응하는 테스팅에 대한 노력을 줄일 수 있도록 성능 테스팅이 간단한 구조를 갖는 파이라인 가산기에 관한 것이다.
일반적으로 시스템을 설계하는 데에 소요되는 시간(design time)의 대부분은 성능을 테스팅하는데에 집중되어 있으며, 테스팅에 많은 시간을 할당하고 있기 때문에 디자인 시간을 감소를 위한 다양한 테스팅 방법에 제시되고 있다. 테스팅에 관련된 기본 목적은 정확한 테스팅을 수행하면서도 테스팅에 소요되는 시간의 감소를 유도하는 것으로 볼 수 있다. 이에 따라 테스팅의 분야는 크게 몇가지로 나눌수 있는데, 이를 설명하면 다음과 같다.
우선, ATPG( automatic test pattern generation)을 적용하여 테스트 시간을 줄이기 위한 테스트 벡터를 알고리즘을 이용하여 자동으로 끄집어 내어서 설계자가 테스트 벡터를 구성하는데 용이하게 하는 방법이 제공되어 있다. 이러한 방법은 기능 테스트(function test)뿐만 아니라 실패 검출(fault detection)을 고려하여 테스트 벡터를 만들어 낸다. 두번째로는 DFT(desgin for testability)의 방법이 있으며, 이것은 상기에서 언급한 ATPG가 다루기 힘든 여러가지 문제점으로 인하여 테스트 벡터를 구성하기 힘들 경우에 비해서, 디자인시 테스트하는데 용이하도록 몇가지 모듈(하드웨어)를 추가하는 것이다. 이 외에도 BIST(built-in-self-test)의 방법도 있으며, 이는 글자그대로 설계된 하드웨어 자체로 성능을 테스팅할 수 있도록 설계하는 것이다.
한편, 방대한 데이터를 반복하여 연산하는 하드웨어 특히, 고속의 데이터 처리를 요구하는 시스템에서는 파이프라인 구조를 많이 응용하고 있는데, 파이프라인 처리는 데이터 처리의 고속화 방식의 하나로서, 시스템의 효율을 높이기 위하여 둘 이상의 프로세서가 서로 다른 부분을 병렬 처리하여 앞의 프로세서에 의하여 산출된 결과가 다음 프로세서의 입력으로 이용될 수 있도록 한다. 즉, 파이프라인 끝에서 연속적으로 입력한 데이터를 파이프라인 중의 각 스테이지에서 순차 처리를 하고, 다른 끝에서 연속 출력을 얻는 방법을 가르며, 데이터 처리를 가능한 범위에서 세분화하여 그들을 각 스테이지에 할당하므로써 물리적으로는 1개의 파이프라인상에서 스테이지 수만큼 병렬 처리가 실행되는 것이다.
도 1은 선형 파이프라인 프로세서의 기본 구조도로서, L 은 래치, C 는 클럭 그리고 Si는 i 번째 스테이지를 나타낸다. 도 4 에 도시된 파이프라인은 일련의 처리 스테이지들(a cascade of processing stages)로 구성되고, 상기 스테이지들은 파이프를 통해 흐르는 데이터 스트림에 대한 연산(arithmetic) 또는 논리(logic) 동작을 수행하는 순수한 조합 회로(combinational circuit)이다. 또한, 상기 스테이지들은 고속 인터페이스 래치들에 의해 분리된다. 인접 스테이지들간의 정보 흐름은 동시적으로 모든 래치에 인가되는 동기 클럭에 의해 제어된다.
이어서, 선형 파이프라인의 클럭 기간(Clock period), 속도 증가(Speedup), 효율성(Efficiency), 처리량(Throughput) 등에 대해서 살펴보기로 한다.
1)클럭 기간(Clock period) : 각 스테이지 Si내에 있는 논리 회로는 τi라고 표시되는 시간 지연을 갖는다. 그리고, 각 인터페이스 래치의 시간 지연을 τl라고 하면, 선형 파이프라인의 클럭 기간은 다음 수학식 1과 같이 나타낼 수 있다.
상기 수학식 1에서 클럭 기간의 역수는 파이프라인 프로세서의 주파수 f = 1/τ 에 해당한다.
이어서, 도 2 는 선형 파이프라인의 중첩 동작을 설명하기 위한 4-스테이지 파이프라인 프로세서의 공간-시간 다이어그램으로서, X 축은 시간을 나타내고, Y 축은 공간을 나타내며,는 i 번째 태스크(task)내에 있는 j 번째 서브태스크(subtask)를 나타낸다.
도 2에서 보는 바와 같이, 일단, 파이프가 채워진 후, 클럭 기간당 하나의 처리 결과를 출력하게 된다. 이상적으로 k 스테이지를 갖는 선형 파이프라인은 Tk= k +(n-1) 클럭 기간내에 n 태스크를 처리할 수 있는데, 여기서 k 사이클은 파이프라인을 채우거나 첫 번째 태스크의 수행을 완료하기 위해 사용되며, n-1 사이클은 나머지 n-1 태스크들을 완료하기 위해 요구된다. 상기와 같은 수의 태스크들은 T1= n*k 시간 지연내에서 동일 기능을 갖는 넌-파이프라인(nonpipeline) 프로세서에서 수행될 수 있다.
2) 속도 증가(Speedup) : 동일한 넌-파이프라인 프로세서에 대한 k-스테이지 선형 파이프라인 프로세서의 속도 증가(Speedup)는 다음 수학식 2와 같이 정의할 수 있다.
상기 수학식 2에서 선형 파이프라인이 제공할 수 있는 최대 속도 증가는 k 이며, 여기서 k 는 파이프내의 스테이지 수이다. 이러한 최대 속도 증가는 인스트럭션(instructions), 인터럽트(interrupts), 프로그램 브랜치(program branch) 그리고 다른 요인들 간의 데이터 의존도 때문에 완벽하게 성취될 수는 없다고 알려져 있다.
3) 효율성(efficiency) : 선형 파이프라인의 효율성은 다음 수학식 3과 같이 정의될 수 있다.
여기서, n 은 태스크(즉, 인스트럭션)의 수를 나타내며, k 는 파이프라인 스테이지의 수를 나타내고, τ 는 선형 파이프라인의 클럭 기간을 나타낸다. n→∞ 일 때 η→1 이 되는데, 이것은 파이프라인을 통해 진행되는 태스크의 수가 커지면 커질수록 파이프라인의 효율성이 좋아진다는 것을 의미한다. 그리고, 수학식 2 와 수학식 3 으로부터 η=Sk/k 을 얻어낼 수 있으며, 이러한 것은 이상적인 속도 증가 k 에 대한 실제적인 속도 증가의 비율로서 선형 파이프라인의 효율성을 다른 관점에서 제공한다. 파이프라인의 안정 상태에서 n ≫ k 이면, 효율성 η 가 1 로 접근해야 한다. 그러나, 이러한 이상적인 경우는 프로그램 브랜치, 인터럽트, 데이터 의존도와 다른 요인등 때문에 모든 시간이 유지되지 않는다.
4) 처리량(Throughput) : 처리량은 단위 시간당 파이프라인에 의해 완료될 수 있는 결과(태스크)의 수로 정의되는데, 이러한 비율은 파이프라인의 계산 능력을 반영한다. 즉, 처리량은 다음식과 같이 정의된다.
여기서, n 은 관찰 기간 kτ+(n-1)τ 동안 진행된 태스크의 총 수와 같다. 이상적인 경우, η→1 일 때 ω= 1/τ = f 이고, 이것은 선형 파이프라인의 최대 처리량이 주파수와 동일하다는 것을 의미하며, 그 주파수는 클럭 기간당 하나의 출력 결과와 일치한다.
이상에서 살펴본 파이프라인 구조가 갖는 효율성을 이용하여 많은 산술 시스템들이 개발되고 있으며, 특히, 파이프라인 구조를 갖는 가산기를 설계하는 데 있어서, 파이프 라인의 각 프로세서들이 정확히 동작하여 올바른 중간 처리 결과를 생성했는지에 대한 테스팅을 용이하게 할수 있는 것이 요구되고 있다.
이에, 본 고안은 상기와 같은 필요성을 충족시키고자 고안된 것으로써, 각 파이프 라인 처리부의 중간 과정의 값들을 출력하여 이 값들을 검토하여 가산기 자체로 테스팅이 가능한 파이프라인 가산기 구조를 제공하는 데 그 목적이 있다.
상기와 같은 목적을 달성하기 위하여 본 고안의 장치는, 다수개의 데이터를 모두 가산하여 최종 결과값을 구하는 가산기에 있어서, 두개의 입력 데이터를 가산하는 가산기와 상기 가산기의 출력 및 나머지 입력 데이터를 래치하는 래치부로 구성된 제 1 스테이지와; 상기 제 1 스테이지의 가산기 출력과 하나의 입력 데이터를 가산하는 가산기와 상기 가산기의 출력 및 상기 제 1 스테이지 래치부의 데이터를 래치하는 래치부로 구성된 제 2 스테이지; 상기 제 2 스테이지와 동일하게 구성된 다수개의 중간 스테이지; 및 모든 입력 데이터를 합한 값을 출력하는 가산기와 각 스테이지에서 계산한 중간 결과값을 모두 출력하는 래치부로 구성된 최종 스테이지로 구성되는 것을 특징으로 한다.
도 1은 일반적인 선형 파이프라인 프로세서의 구조도,
도 2는 선형 파이프라인의 중첩 동작을 설명하기 위한 4-스테이지 파이프라인 프로세서의 공간-시간 다이어그램,
도 3은 본 발명에 따른 테스팅이 용이한 파이프라인 가산기의 일실시 구조도이다.
* 도면의 주요부분에 대한 설명 *
10-0,20-0,30-0,40-0 : 2입력 가산기 10-1∼40-4 : 래치
이하, 본 고안의 실시예를 첨부된 도면을 참조하여 자세히 설명하고자 한다.
도 3은 본 고안에 따른 파이프라인 가산기에 대한 개략도로서, 본 발명은 4스테이지의 파이프를 갖는 가산기이다.
각 스테이지는 두개의 입력 데이터를 가산하는 하나의 가산기와 상기 가산기의 출력 및 나머지 입력 데이터를 래치하는 4개의 래치(혹은 래지스터)들로 구성된다.
도 3에서 보는 바와 같이, 5개의 입력 데이터를 최종 가산하는데는 4개 스테이지가 필요하게 되는데, 제 1 스테이지에서는 데이터 A1+A2를 계산하고, 제 2 스테이지에서는 데이터 A1+A2+A3를 계산하고, 제 3 스테이지에서는 데이터 A1+A2+A3+A4를 계산하고, 제 4 스테이지에서는 데이터 A1+A2+A3+A4+A5를 계산하므로써 최종 연산이 수행된다.
각 스테이지의 가산기의 위치는 대각선 방향으로 배치되어 있으며, 각 가산기의 출력을 래치하는 래치를 기준으로하여 위쪽에 위치한 래치는 상위 스테이지의 중간 출력값을 래치하고, 아래쪽에 위치한 래치는 아직 가산되지 않은 나머지 입력 데이터를 래치하고 있다. 결국 아래쪽의 래치들은 동기를 맞추고, 글리치(glitch)를 감소시키는 역할을 하고 있으며, 위쪽의 래치들은 파이프라인 내부에서 얻어진 중간값들을 최종 단으로 끄집어내는 역할을 하고 있는 것이다.
첫번째 클럭동안에 상기 제 1 스테이지의 가산기(10-0)를 통해 얻어진 출력값A1+A2은 제 1 래치(10-1)로, 나머지 입력 데이터는 아래쪽의 제 2내지 제 4래치(10-1∼10-4)로 래치된다. 두번째 클럭동안에 상기 A1+A2 중간값은 제 2 스테이지의 제 1 래치(20-1)로, 상기 제 2 스테이지의 가산기(20-0)를 통해 얻어진 출력값 A1+A2+A3은 제 2 래치(20-2)로, 나머지 입력 데이터는 아래쪽의 제 3 내지 제 4 래치(20-3∼20-4)로 래치된다. 세번째 클럭동안에 상기 A1+A2 중간값은 제 3 스테이지의 제 1 래치(30-1)로, 상기 A1+A2+A3 중간값은 제 2 래치(30-2)로, 상기 제 3 스테이지의 가산기(30-0)를 통해 얻어진 출력값 A1+A2+A3+A4은 제 3 래치(30-3)로, 나머지 입력 데이터는 아래쪽의 제 4래치(30-4)로 래치된다. 네번째 클럭동안에 상기 A1+A2 중간값은 제 4 스테이지의 제 1 래치(40-1)로, 상기 A1+A2+A3 중간값은 제 2 래치(40-2)로, 상기 A1+A2+A3+A4 중간값은 제 3 래치(40-3)로, 상기 제 4 스테이지의 가산기(40-0)를 통해 얻어진 출력값 A1+A2+A3+A4+A5은 제 4 래치(40-4)로 래치된다. 즉, 마지막 제 4 스테이지에서 각각의 래치는 제 1내지 제 3스테이지의 중간 결과값과, 제 4스테이지의 최종 결과값을 모두 래치하여 외부로 출력하는 것이다.
본 명세서의 실시예는 5개의 데이터를 가산하는 파이프라인을 예로 한 것으로, 이에 한하여 본 고안을 한정해석해서는 안될 것이다.
이상에서 살펴본 바와 같이, 파이프라인 구조를 갖는 가산기에서 각 단계에서 계산한 중간 결과값을 출력시키도록 하여 각 단계의 결과값을 비교하여 정상동작을 했는지 바로 검사 할 수 있기 때문에 테스팅을 간단히 할 수 있는 효과가 있다.

Claims (2)

  1. 다수개의 데이터를 모두 가산하여 최종 결과값을 구하는 가산기에 있어서,
    두개의 입력 데이터를 가산하는 가산기(10-0)와, 상기 가산기(10-1)의 출력 및 나머지 입력 데이터를 래치하는 래치부(10-i)로 구성된 제 1 스테이지와;
    상기 제 1 스테이지의 가산기 출력과 입력 데이터를 가산하는 가산기(20-0)와, 상기 가산기(20-0)의 출력 및 상기 제 1 스테이지 래치부(10-i)의 데이터를 래치하는 래치부(20-i)로 구성된 제 2 스테이지;
    상기 제 2 스테이지와 동일하게 구성된 다수개의 중간 스테이지; 및
    모든 입력 데이터를 합한 값을 출력하는 가산기(40-0)와, 각 스테이지에서 계산한 중간 결과값을 모두 출력하는 래치부(40-i)로 구성된 최종 스테이지로 구성되는 것을 특징으로 하는 파이프라인 가산기.
  2. 제 1 항에 있어서, 상기 제 k 스테이지는 입력 데이터들중 두개의 데이터를 가산하여 중간 결과를 출력하는 가산기와, 상기 가산기의 중간 결과값을 래치하는 하나의 래치, 가산에 참여하지 않은 입력 데이터를 래치하여 동기를 맞추는 다수개의 래치 및, 이전 스테이지의 중간 결과값을 래치하는 다수개의 래치로 구성되는 것을 특징으로 하는 파이프라인 가산기.
KR2019960060635U 1996-12-28 1996-12-28 파이프라인 가산기 KR19980047479U (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR2019960060635U KR19980047479U (ko) 1996-12-28 1996-12-28 파이프라인 가산기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR2019960060635U KR19980047479U (ko) 1996-12-28 1996-12-28 파이프라인 가산기

Publications (1)

Publication Number Publication Date
KR19980047479U true KR19980047479U (ko) 1998-09-25

Family

ID=53999318

Family Applications (1)

Application Number Title Priority Date Filing Date
KR2019960060635U KR19980047479U (ko) 1996-12-28 1996-12-28 파이프라인 가산기

Country Status (1)

Country Link
KR (1) KR19980047479U (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100412475B1 (ko) * 2000-08-01 2003-12-31 학교법인 인하학원 데이타 정렬회로 및 이를 이용한 자기타이밍 웨이브파이프라인 가산기

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100412475B1 (ko) * 2000-08-01 2003-12-31 학교법인 인하학원 데이타 정렬회로 및 이를 이용한 자기타이밍 웨이브파이프라인 가산기

Similar Documents

Publication Publication Date Title
Gregory et al. SOCRATES: A system for automatically synthesizing and optimizing combinational logic
US8146040B1 (en) Method of evaluating an architecture for an integrated circuit device
Ghosh et al. A low overhead design for testability and test generation technique for core-based systems
Williamson et al. Synthesis of parallel hardware implementations from synchronous dataflow graph specifications
Filkorn A method for symbolic verification of synchronous circuits
JP3059424B2 (ja) 検査系列生成方法
Chickermane et al. Addressing design for testability at the architectural level
Pomeranz et al. On the number of tests to detect all path delay faults in combinational logic circuits
Abdelfattah et al. Transparent structural online test for reconfigurable systems
US6018813A (en) Identification and test generation for primitive faults
KR19980047479U (ko) 파이프라인 가산기
Nepomnyashchy et al. Methods and algorithms for a high-level synthesis of the very-large-scale integration
Catthoor et al. A testability strategy for microprocessor architecture
Mirkhani et al. Hierarchical fault simulation using behavioral and gate level hardware models
Gopalakrishnan et al. Specification, simulation, and synthesis of self-timed circuits
Sarma et al. High-level synthesis: Technology transfer to industry
Singh et al. Software-based delay fault testing of processor cores
Yoshikawa et al. Fast false path identification based on functional unsensitizability using RTL information
JP2004077356A (ja) スキャンチェーン回路、スキャンチェーン構築方法およびそのプログラム
JPH05264656A (ja) 回路機能検査処理方式
Rudnick et al. Sequential circuit testability enhancement using a nonscan approach
Cheng Test generation for delay faults in non-scan and partial scan sequential circuits
Becker et al. A time optimal robust path-delay-fault self-testable adder
Gharebaghi et al. High-level test generation from VHDL behavioral descriptions
Kristic et al. Design for primitive delay fault testability

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application