KR20060065738A - 배럴시프트장치 - Google Patents

배럴시프트장치 Download PDF

Info

Publication number
KR20060065738A
KR20060065738A KR1020067008458A KR20067008458A KR20060065738A KR 20060065738 A KR20060065738 A KR 20060065738A KR 1020067008458 A KR1020067008458 A KR 1020067008458A KR 20067008458 A KR20067008458 A KR 20067008458A KR 20060065738 A KR20060065738 A KR 20060065738A
Authority
KR
South Korea
Prior art keywords
data
shift
bit
control signal
intermediate data
Prior art date
Application number
KR1020067008458A
Other languages
English (en)
Other versions
KR100774068B1 (ko
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 마츠시타 덴끼 산교 가부시키가이샤
Publication of KR20060065738A publication Critical patent/KR20060065738A/ko
Application granted granted Critical
Publication of KR100774068B1 publication Critical patent/KR100774068B1/ko

Links

Images

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
    • G06F5/015Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising having at least two separately controlled shifting levels, e.g. using shifting matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Complex Calculations (AREA)
  • Dram (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

배럴시프트장치를 파이프라인 레지스터로 분할하고, 시프트처리를 다단처리 단계로 실행할 경우에, 제 2 시프트회로(50)의 시프트량을 제어하는 제 2 제어신호를 복호회로(20)에서 복호함으로써, 제 2 시프트회로(50)로부터 최종적으로 출력데이터로서 출력되는 데이터요소가, 중간데이터 유지회로(30)에서의 중간데이터의 어느 자리위치에 있는가를 검출한다. 중간데이터 유지회로(30)는, 상기 복호회로(20)의 자리위치 검출결과에 기초하여 중간데이터의 데이터요소 중, 최종적으로 출력될 데이터요소만을 유지하고, 출력데이터에는 반영되지 않는 불필요한 데이터요소는 유지하지 않는다. 따라서 중간데이터 유지회로(30)에서의 데이터 저장동작을 제어하여, 파이프라인 구조화에 따른 전력증가가 억제된다.
배럴시프트장치, 파이프라인 레지스터, 파이프라인 구조

Description

배럴시프트장치{BARREL SHIFT DEVICE}
본 발명은, 디지털신호처리에 있어서 다비트 데이터의 좌우 시프트처리를 실행하는 배럴시프트장치에 관한 것이다.
종래의 배럴시프트장치는 다단의 선택기로 구성된다. 한편 신호처리에서 처리능력을 향상시킬 목적에서, 배럴시프트장치를 파이프라인 레지스터로 분할하여, 시프트처리를 다단 처리단계로 실행할 필요성이 생겼다.
종래의 다단선택기 구성의 배럴시프트장치로서, 예를 들어 특허문헌1(일특개 2000-293354호 공보 제 7쪽, 제 1도)이 있다. 특허문헌1에 기재된 배럴시프트장치는, 제어신호에 의해 시프트처리의 실행여부를 선택하는 선택기로 구성되는 시프트회로를 다단으로 조합시킨 구조를 갖는다. 예를 들어 좌 15비트 시프트에서 우 16비트 시프트 사이에서 임의의 시프트를 실현할 경우, 각각 1비트, 2비트, 4비트, 8비트의 좌시프트 기능을 갖는 시프트회로와 16비트 우시프트 기능을 갖는 시프트회로를 다단으로 조합시킴으로써 실현 가능하다. 이 경우, 우 5비트시프트를 실현하는 데는, 1비트 좌시프트회로, 2비트 좌시프트회로, 8비트 좌시프트회로와 16비트 우시프트회로를 능동(active)으로 하면 된다.
이하에 도 10을 이용하여 특허문헌1 기재의 배럴시프트장치에 파이프라인 구 조를 도입했을 때의 구성 및 그 동작을 상세하게 설명한다.
도 10은 특허문헌1 기재의 배럴시프트장치에 파이프라인 구조를 도입했을 때의 개략도이다. 제 1 시프트회로(10)는 입력데이터를 제 1 제어신호에 기초하여 시프트처리하고 중간데이터(30)로서 출력한다. 여기서 제 1 시프트회로(10)는 1비트 좌시프트회로(11)와 2비트 좌시프트회로(12)와 4비트 좌시프트회로(13)로 구성되며, 좌 7비트시프트부터 0비트시프트까지의 임의 시프트를 실현한다.
중간데이터 유지회로(30)는 제 1 시프트회로(10)의 출력인 중간데이터를 유지하고, 다음의 제 2 시프트회로로 출력한다.
제어신호 유지회로(40)는 제 2 제어신호를 유지하고 출력한다.
제 2 시프트회로(50)는 중간데이터를 제어신호 유지회로(40)가 출력하는 제 2 제어신호에 기초하여 시프트처리하고 출력데이터로서 출력한다. 여기서 제 2 시프트회로(50)는 8비트 좌시프트회로(51)와 16비트 우시프트회로(52)로 구성되며, 제 1 시프트회로에서의 시프트처리와 조합시킴으로써 입력데이터의 좌 15비트시프트에서 우 16비트시프트 사이의 임의 시프트를 실현한다.
발명의 개시
발명이 해결하고자 하는 과제
그러나 종래의 파이프라인 레지스터로 분할하는 배럴시프트장치의 기술에서는, 제 1 시프트회로를 구성하는 각 시프트회로를 경유할 때마다 데이터의 비트 폭이 커지며, 이로써 제 1 시프트회로에서 출력되는 중간데이터의 비트 폭이 커지며, 나아가 중간데이터 유지회로의 실장규모가 증대되어버리므로, 소비전력이 증가한다는 문제가 있다.
본 발명은 상기 종래의 과제를 해결하는 것으로, 중간데이터 유지회로의 데이터 저장동작을 제어함으로써, 파이프라인 구조에 따른 전력증가를 억제하는 것을 목적으로 한다.
과제를 해결하기 위한 수단
상기 목적을 달성하기 위해 본 발명의 배럴시프트장치에서는, 중간데이터 유지회로에 유지되는 중간데이터 중, 최종 출력데이터로서 출력될 데이터요소 이외의 전부 또는 일부 불필요한 데이터요소의 저장동작을 억제하도록 한다.
즉 본 발명의 배럴시프트장치는, 소정 비트 폭의 입력데이터를 수취하여, 제 1 시프트량 및 제 2 시프트량을 조합시킨 합계시프트 양만큼 상기 입력데이터를 좌우로 시프트하여, 원하는 시프트 후의 출력데이터로서 출력하는 배럴시프트장치에 있어서, 상기 입력데이터를 수취하고, 상기 제 1 시프트량을 제어하는 제 1 제어신호에 기초하여 상기 입력데이터를 시프트하고, 중간데이터로서 출력하는 제 1 시프트수단과, 상기 제 1 시프트수단으로부터의 중간데이터를 유지하기 위한 중간데이터 유지수단과, 상기 제 2 시프트량을 제어하는 제 2 제어신호를 유지하고, 출력하는 제어신호 유지수단과, 상기 중간데이터 유지수단에 유지된 중간데이터를 수취하고, 상기 제어신호 유지수단이 출력하는 상기 제 2 제어신호에 기초하여 상기 수취한 중간데이터를 시프트시키고, 상기 원하는 시프트 후의 출력데이터로서 출력하는 제 2 시프트수단을 구비함과 더불어, 상기 제 2 제어신호를 수취하고 이 제 2 제어신호에 기초하여, 상기 제 1 시프트수단으로부터의 중간데이터를 구성하는 모든 데이터요소 중, 상기 제 2 시프트수단으로부터 원하는 시프트 후의 출력데이터로서 출력되는 데이터요소 이외의 데이터요소를 일부 또는 전부 제외한 데이터요소의 상기 중간데이터 내에서의 자리위치를 검출하는 복호수단을 구비하며, 상기 중간데이터 유지수단은, 상기 복호수단에서 검출된 상기 자리위치에 기초하여, 상기 중간데이터 중 상기 제 2 시프트수단으로부터 원하는 시프트 후의 출력데이터로서 출력될 데이터요소 이외의 데이터요소 일부 또는 전부가 제외되어, 적어도 상기 제 2 시프트수단으로부터 원하는 시프트 후의 출력데이터로서 출력되는 데이터요소를 포함하는 자리위치의 데이터요소를 새로이 유지하는 것을 특징으로 한다.
본 발명은 상기 배럴시프트장치에 있어서, 상기 복호수단은, 상기 제 2 제어신호가 나타내는 정보 전부에 기초하여, 상기 제 1 시프트수단으로부터의 중간데이터를 구성하는 모든 데이터요소 중, 상기 제 2 시프트수단으로부터 원하는 시프트 후의 출력데이터로서 출력될 데이터요소만의, 상기 중간데이터 내에서의 자리위치를 검출하는 것을 특징으로 한다.
본 발명은 상기 배럴시프트장치에 있어서, 상기 복호수단은, 상기 제 2 제어신호가 나타내는 정보의 일부에 기초하여, 상기 제 1 시프트수단으로부터의 중간데이터를 구성하는 모든 데이터요소 중, 상기 제 2 시프트수단으로부터 원하는 시프트 후의 출력데이터로서 출력될 데이터요소 이외의 데이터요소를 일부 제외한 데이터요소의, 상기 중간데이터 내에서의 자리위치를 검출하는 것을 특징으로 한다.
본 발명은 상기 배럴시프트장치에 있어서, 상기 제 2 제어신호는 복수의 비트신호로 이루어지는 제어신호이며, 상기 중간데이터 유지수단은, 상기 제 2 제어신호의 소정 1비트 신호에 기초하여, 상기 제 1 시프트수단으로부터의 중간데이터를 구성하는 모든 데이터요소 중, 상기 제 2 시프트수단으로부터 원하는 시프트 후의 출력데이터로서 출력될 데이터요소 이외의 데이터요소가 일부 제외된 자리위치의 데이터요소를 유지 및 출력하는 것을 특징으로 한다.
본 발명의 배럴시프트장치는, 소정 비트 폭의 입력데이터를 수취하여, 제 1 시프트량 및 제 2 시프트량을 조합시킨 합계시프트 양만큼 상기 입력데이터를 좌우로 시프트하여, 원하는 시프트 후의 출력데이터로서 출력하는 배럴시프트장치에 있어서, 상기 입력데이터를 수취하고, 상기 제 1 시프트량을 제어하는 제 1 제어신호에 기초하여 상기 입력데이터를 시프트하고, 중간데이터로서 출력하는 제 1 시프트수단과, 상기 제 1 시프트수단으로부터의 중간데이터를 유지하기 위한 중간데이터 유지수단과, 상기 제 2 시프트량을 제어하는 제 2 제어신호를 유지하고, 출력하는 제어신호 유지수단과, 상기 중간데이터 유지수단에 유지된 중간데이터를 수취하고, 상기 제어신호 유지수단이 출력하는 상기 제 2 제어신호에 기초하여 상기 수취한 중간데이터를 시프트시키고, 상기 원하는 시프트 후의 출력데이터로서 출력하는 제 2 시프트수단을 구비함과 더불어, 상기 제 1 제어신호를 수취하고 이 제 1 제어신호에 기초하여, 상기 제 1 시프트수단으로부터의 중간데이터를 구성하는 모든 데이터요소 중, 상기 입력데이터에 포함되는 데이터요소의 자리위치를 검출하는 복호수단을 구비하며, 상기 중간데이터 유지수단은, 상기 복호수단에서 검출된 상기 자리위치에 기초하여, 상기 중간데이터를 구성하는 모든 데이터요소 중, 적어도 상기 입력데이터에 포함되는 데이터요소를 포함하는 자리위치의 데이터요소를 새로이 유지하는 것을 특징으로 한다.
본 발명은 상기 배럴시프트장치에 있어서, 상기 복호수단은, 상기 제 1 제어신호가 나타내는 정보 전부에 기초하여, 상기 제 1 시프트수단으로부터의 중간데이터를 구성하는 모든 데이터요소 중, 상기 입력데이터에 포함되는 데이터요소만의, 상기 중간데이터 내에서의 자리위치를 검출하는 것을 특징으로 한다.
본 발명은 상기 배럴시프트장치에 있어서, 상기 복호수단은, 상기 제 1 제어신호가 나타내는 정보 일부에 기초하여, 상기 제 1 시프트수단으로부터의 중간데이터를 구성하는 모든 데이터요소 중, 상기 입력데이터에 포함되는 데이터요소 이외의 데이터요소 일부를 제외한 데이터요소의, 상기 중간데이터 내에서의 자리위치를 검출하는 것을 특징으로 한다.
본 발명은 상기 배럴시프트장치에 있어서, 상기 제 1 제어신호는 복수 비트의 신호로 이루어지는 제어신호이며, 상기 중간데이터 유지수단은, 상기 제 1 제어신호의 소정 1비트 신호에 기초하여, 상기 제 1 시프트수단으로부터의 중간데이터를 구성하는 모든 데이터요소 중, 상기 입력데이터에 포함되는 데이터요소 이외의 데이터요소 일부가 제외된 자리위치의 데이터요소를 유지 및 출력하는 것을 특징으로 한다.
이상으로써 본 발명에서는, 제 2 시프트수단에서 실시되는 시프트량을 제어하는 제 2 제어신호를 복호수단을 이용하여 복호함으로써, 중간데이터로부터 출력데이터로서 출력될 데이터요소의 자리위치를 검출하며, 중간데이터 유지수단에서는, 적어도 상기 자리위치의 중간데이터 요소를 유지하도록 동작한다. 따라서 최종 데이터로서 출력되지 않는 불필요한 데이터요소를 중간데이터 유지수단에 저장하지 않고, 이전에 유지했던 데이터요소를 계속 유지할 수 있으므로, 그만큼 절전화가 가능해진다.
또 본 발명에서는, 제 1 시프트수단에서 실시되는 시프트량을 제어하는 제 1 제어신호를 복호수단을 이용하여 복호함으로써, 중간데이터를 구성하는 모든 데이터요소 중, 적어도 입력데이터에 포함되는 데이터요소의 자리위치를 검출하며, 중간데이터 유지수단에서는 적어도 이 자리위치의 중간데이터 요소를 유지하도록 동작한다. 따라서 입력데이터의 데이터요소가 아닌 데이터요소를 중간데이터 유지수단에 저장하지 않고, 이전에 유지했던 데이터요소를 계속 유지할 수 있으므로, 그만큼 절전화가 가능해진다.
발명의 효과
이상 설명한 바와 같이, 본 발명의 배럴시프트장치에 의하면, 파이프라인 구조화에 따라 삽입되는 중간데이터 유지수단부터 데이터 출력까지 사이의 제 2 시프트수단에서 실시되는 시프트량의 정보를 제어신호로서 이용하여, 중간데이터 유지수단에서의, 최종적으로는 출력되지 않는 데이터요소의 유지동작을 억제하므로, 절전화를 실현하기가 가능해진다.
또 본 발명의 배럴시프트장치에 의하면, 데이터 입력부터 파이프라인 구조화에 따라 삽입되는 중간데이터 유지수단까지 사이의 제 1 시프트수단에서 실시되는 시프트량의 정보를 제어신호로서 이용하여, 중간데이터 유지수단에서의 불필요한 데이터요소의 저장유지 동작을 억제하므로, 절전화를 실현하기가 가능해진다.
도 1은 본 발명 제 1 실시형태의 배럴시프트장치 개략도.
도 2는 본 발명 제 1 실시형태의 11비트 우시프트 처리의 동작설명도.
도 3은 본 발명 제 1 실시형태의 중간데이터 유지회로의 동작설명도.
도 4는 본 발명 제 1 실시형태의 중간데이터 유지회로의 동작설명도.
도 5는 본 발명 제 2 실시형태의 배럴시프트장치 개략도.
도 6은 본 발명 제 2 실시형태의 11비트 우시프트 처리의 동작설명도.
도 7은 본 발명 제 2 실시형태의 중간데이터 유지회로의 동작설명도.
도 8은 본 발명 제 2 실시형태의 중간데이터 유지회로의 동작설명도.
도 9는 본 발명 제 2 실시형태의 중간데이터 유지회로의 동작설명도.
도 10은 종래 기술의 구성을 나타내는 개략도.
부호의 설명
10 : 제 1 시프트회로(제 1 시프트수단)
11 : 1비트 좌시프트회로 12 : 2비트 좌시프트회로
13 : 4비트 좌시프트회로 20, 60 : 복호회로(복호수단)
30 : 중간데이터 유지회로(중간데이터 유지수단)
40 : 제어신호 유지회로(제어신호 유지수단)
50 : 제 2 시프트회로(제 2 시프트수단)
51 : 8비트 좌시프트회로 52 : 16비트 우시프트회로
C1[2:0] : 제 1 제어신호
C1[0] : 제 1 제어신호의 1비트 데이터(소정 1비트 신호)
C2[1:0] : 제 2 제어신호
C2[0] : 제 2 제어신호의 1비트 데이터(소정 1비트 신호)
Hi : 신호가 능동(active)인 상태
Lo : 신호가 수동(passive)인 상태
0: 0값 출력 S : 부호확장 출력
H : 데이터유지 출력
이하, 본 발명의 실시형태에 대해 도면을 참조하면서 설명한다.
제 1 실시형태
제 1 실시형태의 배럴시프트장치의 개략도를 도 1에 나타낸다.
본 실시형태의 배럴시프트장치는 도 1에 나타내는 바와 같이, 파이프라인 레지스터로 분할되어, 다단 처리단계로 시프트처리가 실행된다.
여기서는 이 도 1을 이용하여, 본 실시형태의 배럴시프트장치 구성을 설명한다. 또 본 실시형태에서는, 설명을 간단히 하기 위해 16비트 데이터(소정 비트 폭의 입력데이터)를 좌 15비트에서 우 16비트의 범위에서 임의로 산술시프트 가능한 배럴시프트장치를 전제로 하여 설명한다.
도 1에 있어서, 10은 제 1 시프트회로로서, 3비트 데이터로 이루어지는 제 1 제어신호에 기초하여 입력데이터를 시프트처리하며, 중간데이터 유지회로(30)로 중 간데이터를 출력한다. 이 제 1 시프트회로(10)는, 1비트 좌시프트회로(11), 2비트 좌시프트회로(12) 및 4비트 좌시프트회로(13)의 3개 시프트회로로 구성된다. 이들 3개의 시프트회로(11, 12, 13)는 각각, 상기 제 1 제어신호 중 대응하는 비트데이터를 수취한다. 즉, 제 1 제어신호의 각 비트데이터 조합에 의해, 3개 시프트회로(11, 12, 13)에서의 시프트처리를 조합시켜, 좌 7비트 시프트에서 0비트 시프트까지의 임의의 시프트량(제 1 시프트량)을 실현한다.
50은 제 2 시프트회로로서, 중간데이터 유지회로(30)가 출력하는 중간데이터를 수취하여, 제 1 시프트회로(10)에서의 시프트처리에 이어 소정의 시프트처리를 실행하며, 전체적으로 원하는 시프트를 완성시켜 출력데이터를 출력한다. 이 제 2 시프트회로(50)는 도 1에 나타내는 바와 같이, 8비트 좌시프트회로(51)와 16비트 우시프트회로(52)로 구성된다. 또 이 제 2 시프트회로(50)는, 제 1 시프트회로(10)와 마찬가지로 외부로부터 입력되는 제 2 제어신호의 제어에 의해 시프트(제 2 시프트량의 시프트)처리를 실행하는 것이나, 제 2 제어신호는 제 2 시프트회로(50)에 직접 입력되지 않는다. 제 2 제어신호는 복호회로(20)에 입력됨과 더불어, 제 2 제어신호를 일단 유지하는 제어신호 유지회로(40)를 통해 제 2 시프트회로(50)로 입력된다. 이 제어신호 유지회로(40)를 통해 제 2 시프트회로(50)로 입력된 제 2 제어신호는 2분할되어, 제 2 시프트회로(50) 중의 2개 시프트회로(51, 및 52)로 각각 입력된다. 그리고 2개의 시프트회로(51 및 52)에 의한 각각의 시프트처리 조합에 의해, 제 1 시프트회로(10)에 의한 시프트처리에 이은 시프트처리를 실행하며, 입력데이터의 좌 15비트시프트에서 우 16비트시프트간의 임의의 시프트, 즉 원하는 시프트를 완성시켜 출력한다.
한편, 제 2 제어신호가 입력된 복호회로(20)는, 중간데이터의 데이터요소 중, 제 2 시프트회로(50)에 의해 시프트처리된 결과로서 출력되는 출력데이터 데이터요소의 중간데이터 유지회로(30) 중의 자리위치를, 제 2 제어신호에 기초하여 검출하고, 그 검출결과를 중간데이터 유지회로(30)로 출력한다. 이 복호회로(20)의 검출결과를 이용하여, 중간데이터 유지회로(30)는 출력데이터로서 제 2 시프트회로(50)로부터 출력될 자리위치의 데이터요소만, 또는 이 출력될 자리위치의 데이터요소를 포함하는 데이터요소이면서 출력데이터에 반영되지 않는 불필요한 데이터를 일부 제외한 데이터요소를 유지한다. 이와 같은 복호회로(20)의 기능에 의해, 중간데이터 유지회로(30)는 출력데이터의 데이터요소로서 출력되지 않는 불필요한 데이터요소를 유지하지 않아도 되는 양만큼 불필요한 저장동작을 생략할 수 있으므로 전력절감이 가능하다.
다음으로 도 2를 이용하여 본 실시형태의 배럴시프트장치에 대해, 구체적인 시프트처리의 동작을 설명하기로 한다. 여기서는 시프트처리의 구체예로서, 11비트 좌시프트처리를 실행할 경우에 대해 설명한다. 또 도면 중 "0"은 0값을, "S"는 부호확장을, "H"는 유지데이터를 나타낸다.
도 2에 나타내는 제 1 제어신호(C1[2:0])는 3비트 데이터로서, 3개의 1비트 데이터 C1[0], C1[1], C1[2]로 구성된다. 제 1 시프트회로(10)를 구성하는 1비트 좌시프트회로(11), 2비트 좌시프트회로(12), 4비트 좌시프트회로(13)는 각각, 제 1 제어신호의 각 비트데이터(C1[0], C1[1], C1[2])에 의해 제어된다. 11비트 우시프 트처리 시는 제 1 제어신호의 1비트 데이터 C1[0], C1[2]가 능동인 상태 "Hi", 또 제 1 제어신호의 1비트 데이터 C1[1]이 수동인 상태 "Lo"로 된다. 제 1 시프트회로(10)로 입력된 입력데이터는 제 1 제어신호(C1[2:0])에 기초하여 시프트 처리된다.
우선 1비트 좌시프트회로(11)에서 1비트 좌시프트 처리되어, 0번째의 비트데이터에는 0값이 매입되고, 17 비트폭 데이터로서 출력된다. 다음으로, 2비트 좌시프트회로(12)에서는 시프트 처리되지 않고, 17번째의 비트데이터 및 18번째의 비트데이터가 부호 확장되어 19 비트폭 데이터로서 출력된다. 그리고 4비트 좌시프트회로(13)에서는 4비트 좌시프트 처리되어, 0번째 비트데이터, 1번째 비트데이터, 2번째 비트데이터, 및 3번째 비트데이터에는 0값이 매입되고, 23 비트폭 데이터의 중간데이터로서 중간데이터 유지회로(30)에 출력된다.
제 2 제어신호(C2[1:0])는 2비트 데이터로서, 1비트 데이터 C2[0], C2[1]로 구성된다. 제 2 시프트회로(50)를 구성하는 8비트 좌시프트회로(51), 16비트 우시프트회로(52)는, 제 2 제어신호의 각 비트데이터(C2[0], C2[1])로 제어된다. 복호회로(20)는 각각, 제 2 시프트회로(50)에서의 시프트처리 후 출력될 출력데이터의 데이터요소가 중간데이터의 어느 자리위치로 출력됐는지를 제 2 제어신호(C2[1:0])로부터 검출하고, 이 검출결과를 중간데이터 유지회로(30)에 출력한다. 이 자리위치의 검출동작을 구체적으로 설명하면, 예를 들어 11비트 우시프트처리 시는 제 2 제어신호의 비트데이터(C2[1])가 능동인 상태 "Hi", 또 제 2 제어신호의 비트데이터(C2[0])가 수동인 상태 "Lo"로 되어, 제 2 시프트회로(50)에서는 16비트 우시프 트처리가 실시되므로, 중간데이터의 16번째 비트부터 22번째 비트까지의 자리위치 데이터요소가 출력데이터의 데이터요소로서 출력됨을 알 수 있다. 따라서 중간데이터 유지회로(30)는 복호회로(20)의 자리위치 검출결과에 기초하여, 중간데이터의 16번째 비트부터 22번째 비트까지의 자리위치 데이터요소를 새로이 저장 유지하며, 이들 검출된 자리위치 이외의 0번째 비트부터 15번째 비트까지의 자리위치 데이터요소에 관해서는 이전의 유지데이터요소를 그대로 계속해서 유지한다.
제어신호 유지회로(40)는 제 2 제어신호(C2[1:0])를 유지하여 제 2 시프트회로(50)로 출력한다. 제 2 시프트회로(50)를 구성하는 8비트 좌시프트회로(51), 16비트 우시프트회로(52)는 각각 제 2 제어신호의 각 비트 데이터(C2[0], C2[1])가 제어신호 유지회로(40)에 유지된 후의 출력에 의해 제어된다. 이하 설명을 간단히 하기 위해 제어신호 유지회로(40)에 유지된 후의 신호도 제 2 제어신호(C2[1:0])로 표현한다. 11비트 우시프트처리 시는 제 2 제어신호의 비트데이터(C2[1])가 능동인 상태 "Hi", 또는 제 2 제어신호의 비트데이터(C2[0])가 수동인 상태 "Lo"로 된다. 제 2 시프트회로(50)에 입력된 중간데이터 유지회로(30)의 출력은 상기 제 2 제어신호(C2[1:0])에 기초하여 시프트 처리된다.
우선 8비트 좌시프트회로(51)에서는 시프트 처리되지 않고, 23번째 비트부터 30번째 비트까지의 자리위치가 부호 확장되어 31 비트폭 데이터로서 출력된다. 다음으로 16비트 우시프트회로(52)에서는 16비트 우시프트 처리되어, 15번째 비트의 자리위치가 부호 확장되어 16 비트폭 데이터로서 출력된다.
도 3은 중간데이터 유지회로(30)의 동작설명도이다. 중간데이터 유지회 로(30)는 제 2 제어신호(C2[1:0])의 상태에 따라 복호회로(20)의 출력에 기초하여 다음과 같이 동작한다.
제 2 제어신호의 각 비트 데이터(C2[0], C2[1])가 모두 수동인 상태 "Lo"일 때, 0번째 비트부터 15번째 비트까지 자리위치의 중간데이터 데이터요소가 그대로 16비트의 출력데이터로서 출력되므로, 그 0번째 비트부터 15번째 비트까지 자리위치의 중간데이터 데이터요소가 중간데이터 유지회로(30)에 저장 유지된다.
제 2 제어신호의 비트 데이터(C2[0])가 능동인 상태 "Hi"이고, 또 제 2 제어신호의 비트 데이터(C2[1])가 수동인 상태 "Lo"일 때, 8비트 좌시프트회로(51)에 의해 좌시프트 처리되고, 16비트 우시프트회로(52)에서는 시프트 처리되지 않고 그대로이므로, 제 2 시프트회로(50)에서는 8비트 좌시프트 처리되게 되어, 중간데이터 중에서 8비트 좌시프트 처리되어 출력데이터의 16비트 폭에 남는, 0번째 비트부터 7번째 비트까지 자리위치의 중간데이터 데이터요소가 중간데이터 유지회로(30)에 저장 유지된다.
제 2 제어신호의 비트 데이터(C2[1])가 능동인 상태 "Hi"이고, 또 제 2 제어신호의 비트 데이터(C2[0])가 수동인 상태 "Lo"일 때, 8비트 좌시프트회로(51)에서는 시프트 처리되지 않고 그대로이며, 16비트 우시프트회로(52)에 의해 16비트 우시프트 처리되어, 제 2 시프트회로(50)에서는 16비트 우시프트 처리되게 되므로, 중간데이터 중에서 16비트 우시프트 처리되어 출력데이터의 16비트 폭에 남는 16번째 비트부터 22번째 비트까지 자리위치의 중간데이터 데이터요소가 중간데이터 유지회로(30)에 저장 유지된다.
제 2 제어신호의 각 비트 데이터(C2[0], C2[1])가 모두 능동인 상태 "Hi"일 때, 8비트 좌시프트회로(51)에 의해 8비트 좌시프트 처리되고, 16비트 우시프트회로(52)에 의해 16비트 우시프트 처리되어, 제 2 시프트회로(50)에서는 8비트 우시프트 처리되게 되므로, 중간데이터 중에서 8비트 우시프트 처리되어 출력데이터의 16비트폭에 남는, 8번째 비트부터 22번째 비트까지 자리위치의 중간데이터 데이터요소가 중간데이터 유지회로(30)에 저장 유지된다.
이와 같이, 중간데이터를 구성하는 모든 데이터요소 중, 출력데이터가 될 데이터요소만이 중간데이터 유지회로(30)에 저장 유지되게 된다.
도 4는 중간데이터 유지회로(30)의 동작설명도이다. 복호회로(20)는 제 2 제어신호(C2[1:0])의 일부 신호를 복호하도록 해도 된다. 여기서는, 제 2 제어신호의 비트데이터(소정의 1비트 데이터)(C2[1])를 그대로 중간데이터 유지회로(30)로 출력한다. 중간데이터 유지회로(30)는 제 2 제어신호의 비트 데이터(C2[1]) 상태에 따라 복호회로(20)의 출력에 기초하여 다음과 같이 동작한다.
제 2 제어신호의 비트 데이터(C2[1])가 수동인 상태 "Lo"일 때, 도 3에서 설명한 바와 같이 제 2 제어신호의 비트 데이터(C2[0])가 어느 상태이더라도, 중간데이터 중의 0번째 비트부터 15번째 비트까지 자리위치의 중간데이터 데이터요소에는, 제 2 시프트회로(50)로부터 출력될 출력데이터가 포함되므로, 0번째 비트부터 15번째 비트까지 자리위치의 중간데이터 데이터요소가 중간데이터 유지회로(30)에 저장 유지된다.
또 제 2 제어신호의 비트 데이터(C2[1])가 능동인 상태 "Hi"일 때, 도 3에서 설명한 바와 같이 제 2 제어신호의 비트 데이터(C2[0])가 어느 상태이더라도, 중간데이터 중의 8번째 비트부터 22번째 비트까지의 자리위치 데이터요소에는, 제 2 시프트회로(50)로부터 출력될 출력데이터가 포함되므로, 8번째 비트부터 22번째 비트까지 자리위치의 중간데이터 데이터요소가 중간데이터 유지회로(30)에 저장 유지된다.
이와 같이, 적어도 출력데이터가 될 데이터요소를 포함하는 자리위치가 복호회로(20)에 의해 검출되고, 그 출력데이터를 포함하는 자리위치의 데이터요소가 중간데이터 유지회로(30)에 저장 유지되며, 일부에 부호확장 데이터 또는 0값을 매입한 데이터가 저장되는 경우도 있다.
상기 도 3의 경우가 절전에 가장 효과적이나, 제 2 제어신호(C2[1:0])의 일부를 복호함으로써 복호회로(20)의 회로를 간단히 할 수 있다.
이상, 산술 시프트처리를 전제로 서술했으나, 논리 시프트처리에 대해서는 부호확장을 0값 확장으로 치환하면 된다. 또, 다른 시프트처리에 대해서도 마찬가지이다.
이와 같이 하여, 제 1 실시형태에서는 중간데이터 유지회로(30)의 동작을 제어함으로써, 중간데이터 유지회로(30)를 구성하는 기억회로에의 불필요한 데이터요소 저장동작을 방지하고, 이전의 데이터요소를 계속 유지시킴으로써, 종래의 기술에 비해 중간데이터 유지회로(30)의 절전화와 제 2 시프트회로의 활성화를 억제함에 따른 절전화가 가능해진다.
제 2 실시형태
제 2 실시형태의 배럴시프트장치 개략도를 도 5에 나타낸다.
본 실시형태에서의 도 5의 배럴시프트장치는, 제 1 실시형태와 마찬가지로 파이프라인 레지스터로 분할되어 다단처리 단계로 시프트처리가 실행된다.
우선 도 5를 이용하여, 본 실시형태의 배럴시프트장치 구성을 설명한다. 여기서 본 실시형태에서는, 설명을 간단히 하기 위해 16비트 데이터(소정 비트 폭의 입력데이터)를 좌 15비트부터 우 16비트의 범위에서 임의로 산술시프트 가능한 배럴시프트장치를 전제로 하여 설명한다. 또 제 1 실시형태에서 도 1을 이용하여 설명한 배럴시프트장치와 동일 구성에 대해서는, 동일부호를 부여하고 그 설명을 생략한다.
도 5의 배럴시프트장치가, 제 1 실시형태에서 나타낸 도 1의 배럴시프트장치와 다른 점은, 복호회로(60)가 수취하는 제어신호가, 제 2 제어신호가 아닌 제 1 제어신호이며, 제 1 시프트회로(10)에 의해 시프트된 입력데이터요소의, 중간데이터 유지회로(30) 중의 자리위치를, 입력된 제 1 제어신호에 기초하여 검출하는 점이다. 이 제 1 제어신호에 기초하는 검출에서 복호회로(60)는, 제 1 시프트회로(10)로부터 출력되는 데이터 중, 적어도 제 1 시프트회로에 의한 시프트 후 입력데이터의 데이터요소가 출력될 자리위치를 검출한다. 그리고 이 검출결과를 수취한 중간데이터 유지회로(30)는, 중간데이터를 구성하는 모든 데이터요소 중, 상기 입력데이터의 데이터요소 이외의 데이터요소를 일부 또는 전부 제외한 데이터요소만을 유지하고, 이 유지된 데이터요소를 제 2 시프트회로(50)에 출력한다.
이로써 중간데이터 유지회로(30)에 유지되어야 할 데이터를 축소할 수 있어, 불필요한 저장동작을 억제할 수 있으므로 절전화가 가능하다.
다음으로 도 6을 이용하여, 본 실시형태의 배럴시프트장치에 대해 구체적인 시프트처리의 동작을 설명한다. 여기서는 시프트처리의 구체예로서, 11비트 우시프트처리를 실행할 경우에 대해 설명한다. 또 도면 중의 "0"은 0값을, "S"는 부호확장을, "H"는 유지데이터를 나타낸다.
제 1 제어신호(C1[2:0])는 3비트 데이터로서, 1비트 데이터 C1[0], C1[1], C1[2]로 구성된다. 제 1 시프트회로(10)를 구성하는 1비트 좌시프트회로(11), 2비트 좌시프트회로(12), 4비트 좌시프트회로(13)는 각각, 제 1 제어신호의 각 비트데이터(C1[0], C1[1], C1[2])에 의해 제어된다. 11비트 우시프트처리 시는 제 1 제어신호의 비트 데이터 C1[0], C1[2]가 능동인 상태 "Hi", 또 제 1 제어신호의 비트 데이터 C1[1]이 수동인 상태 "Lo"로 된다. 제 1 시프트회로(10)로 입력된 입력데이터는 제 1 제어신호(C1[2:0])에 기초하여 시프트 처리된다.
우선 1비트 좌시프트회로(11)에서 1비트 좌시프트 처리되어, 0번째의 비트데이터에는 0값의 데이터요소가 메워지고, 17 비트폭 데이터로서 출력된다. 다음으로, 2비트 좌시프트회로(12)에서는 시프트 처리되지 않고, 17번째의 비트와 18번째의 비트가 부호 확장되어 19 비트폭 데이터로서 출력된다. 그리고 4비트 좌시프트회로(13)에서는 4비트 좌시프트 처리되어, 0번째 비트, 1번째 비트, 2번째 비트, 및 3번째 비트의 자리위치에는 0값의 데이터요소가 메워지고, 23 비트폭 데이터의 중간데이터로서 중간데이터 유지회로(30)에 출력된다.
복호회로(60)는 제 1 제어신호(C1[2:0])로부터, 입력데이터의 데이터요소가 중간데이터의 어느 자리위치에 출력됐는지를 검출하고, 그 검출결과를 중간데이터 유지회로(30)에 출력한다. 11비트 우시프트처리 시는, 제 1 제어신호의 비트데이터(C1[0], C1[2])가 능동인 상태 "Hi", 또 제 1 제어신호의 비트데이터(C1[1])가 수동인 상태 "Lo"로 되며, 제 1 시프트회로(10)의 부분에서는 5비트 좌시프트처리가 실시되므로, 중간데이터의 5번째 비트부터 20번째 비트까지 자리위치의 중간데이터 데이터요소가 입력데이터의 데이터요소임을 알 수 있다.
중간데이터 유지회로(30)는 복호회로(60)의 출력에 기초하여, 중간데이터의 5번째 비트부터 20번째 비트까지 자리위치의 데이터요소를 저장 유지하며, 0번째 비트부터 4번째 비트, 및 21번째 비트, 22번째 비트 자리위치의 데이터요소에 관해서는 이전의 유지데이터요소를 계속해서 유지한다. 그리고 제 2 시프트회로(50)로 출력하는 단계에서, 0번째 비트부터 4번째 비트의 자리위치에 대해서는 0값의 데이터요소를 출력하고, 5번째 비트부터 20번째 비트까지의 자리위치에 대해서는 저장 유지된 데이터요소를 출력하며, 21번째 비트, 22번째 비트에 대해서는 부호 확장시켜 출력한다. 이와 같이 본 실시형태에서는 산술 시프트연산일 경우를 나타내므로, 유지된 데이터보다 상위의 자리위치에는 입력데이터의 부호가 출력되고, 또 유지된 데이터보다 하위의 자리위치에는 0값의 데이터요소가 출력된다.
제어신호 유지회로(40)는 제 2 제어신호(C2[1:0])를 유지하여 제 2 시프트회로(50)로 출력한다. 제 2 시프트회로(50)를 구성하는 8비트 좌시프트회로(51), 16비트 우시프트회로(52)는 각각 제 2 제어신호의 비트 데이터(C2[0], C2[1])가 제어신호 유지회로(40)에 유지된 후의 출력에 의해 제어된다. 이하 설명을 간단히 하기 위해 제어신호 유지회로(40)에 유지된 후의 신호도 제 2 제어신호(C2[1:0])로 표현한다. 11비트 우시프트처리 시는 제 2 제어신호의 비트데이터(C2[1])가 능동인 상태 "Hi", 또는 제 2 제어신호의 비트데이터(C2[0])가 수동인 상태 "Lo"로 된다. 제 2 시프트회로(50)에 입력된 중간데이터 유지회로(30)의 출력은 상기 제 2 제어신호(C2[1:0])에 기초하여 시프트 처리된다.
우선 8비트 좌시프트회로(51)에서는 시프트 처리되지 않고, 23번째 비트부터 30번째 비트가 부호 확장되어 31 비트폭 데이터로서 출력된다. 다음으로 16비트 우시프트회로(52)에서는 16비트 우시프트 처리되어, 15번째 비트가 부호 확장되어 16 비트폭 데이터의 출력데이터로서 출력된다.
도 7은 중간데이터 유지회로(30)의 동작설명도이다. 중간데이터 유지회로(30)는 제 1 제어신호(C1[2:0])의 상태에 따라 복호회로(60)의 출력에 기초하여 다음과 같이 동작한다.
제 1 제어신호의 비트 데이터(C1[0], C1[1], C1[2])가 모두 수동인 상태 "Lo"일 때, 0번째 비트부터 15번째 비트까지 자리위치의 입력데이터 데이터요소가 그대로 16비트의 중간데이터로서 제 1 시프트회로(10)로부터 출력되므로, 0번째 비트부터 15번째 비트까지 자리위치의 중간데이터 데이터요소가 중간데이터 유지회로(30)에 저장 유지된다.
제 1 제어신호의 비트 데이터(C1[0])가 능동인 상태 "Hi"이고, 또 제 1 제어신호의 비트 데이터(C1[1], C1[2])가 수동인 상태 "Lo"일 때, 1비트 좌시프트회로(11)에 의해 1비트 좌시프트 처리되고, 2비트 좌시프트회로(12) 및 4비트 좌시프 트회로(13)에서는 시프트처리되지 않고 그대로이므로, 제 1 시프트회로(10)에서는 1비트 좌시프트 처리되게 되어, 중간데이터로는, 입력데이터가 출력될 자리위치인 1번째 비트부터 16번째 비트까지 자리위치의 중간데이터 데이터요소가 중간데이터 유지회로(30)에 저장 유지된다.
제 1 제어신호의 비트 데이터(C1[1])가 능동인 상태 "Hi"이고, 또 제 1 제어신호의 비트 데이터(C1[0], C1[2])가 수동인 상태 "Lo"일 때, 2비트 좌시프트회로(12)에 의해 2비트 좌시프트 처리되고, 1비트 좌시프트회로(11) 및 4비트 좌시프트회로(13)에서는 시프트처리되지 않고 그대로이므로, 제 1 시프트회로(10)에서는 2비트 좌시프트 처리되게 되어, 중간데이터로는 입력데이터가 출력될 자리위치인 2번째 비트부터 17번째 비트까지 자리위치의 중간데이터 데이터요소가 중간데이터 유지회로(30)에 저장 유지된다.
제 1 제어신호의 비트 데이터(C1[0], C1[1])가 능동인 상태 "Hi"이고, 또 제 1 제어신호의 비트 데이터(C1[2])가 수동인 상태 "Lo"일 때, 1비트 좌시프트회로(11)에 의해 1비트 좌시프트 처리되고, 2비트 좌시프트회로(12)에 의해 2비트 좌시프트 처리되며, 또 4비트 좌시프트회로(13)에서는 시프트처리되지 않고 그대로이므로, 제 1 시프트회로(10)에서는 3비트 좌시프트 처리되게 되어, 중간데이터로는 입력데이터가 출력될 자리위치인 3번째 비트부터 18번째 비트까지 자리위치의 중간데이터 데이터요소가 중간데이터 유지회로(30)에 저장 유지된다.
제 1 제어신호의 비트 데이터(C1[2])가 능동인 상태 "Hi"이고, 또 제 1 제어신호의 비트 데이터(C1[0], C1[1])가 수동인 상태 "Lo"일 때, 4비트 좌시프트회 로(13)에 의해 4비트 좌시프트 처리되고, 1비트 좌시프트회로(11) 및 2비트 좌시프트회로(12)에서는 시프트처리되지 않고 그대로이므로, 제 1 시프트회로(10)에서는 4비트 좌시프트 처리되게 되어, 중간데이터로는 입력데이터가 출력될 자리위치인 4번째 비트부터 19번째 비트까지 자리위치의 중간데이터 데이터요소가 중간데이터 유지회로(30)에 저장 유지된다.
제 1 제어신호의 비트 데이터(C1[0], C1[2])가 능동인 상태 "Hi"이고, 또 제 1 제어신호의 비트 데이터(C1[1])가 수동인 상태 "Lo"일 때, 1비트 좌시프트회로(11)에 의해 1비트 좌시프트 처리되고, 4비트 좌시프트회로(13)에 의해 4비트 좌시프트 처리되며, 또 2비트 좌시프트회로(12)에서는 시프트처리되지 않고 그대로이므로, 제 1 시프트회로(10)에서는 5비트 좌시프트 처리되게 되어, 중간데이터로는 입력데이터가 출력될 자리위치인 5번째 비트부터 20번째 비트까지 자리위치의 중간데이터 데이터요소가 중간데이터 유지회로(30)에 저장 유지된다.
제 1 제어신호의 비트 데이터(C1[1], C1[2])가 능동인 상태 "Hi"이고, 또 제 1 제어신호의 비트 데이터(C1[0])가 수동인 상태 "Lo"일 때, 2비트 좌시프트회로(12)에 의해 2비트 좌시프트 처리되고, 4비트 좌시프트회로(13)에 의해 4비트 좌시프트 처리되며, 또 1비트 좌시프트회로(11)에서는 시프트 처리되지 않고 그대로이므로, 제 1 시프트회로(10)에서는 6비트 좌시프트 처리되게 되어, 중간데이터로는 입력데이터가 출력될 자리위치인 6번째 비트부터 21번째 비트까지 자리위치의 중간데이터 데이터요소가 중간데이터 유지회로(30)에 저장 유지된다.
제 1 제어신호의 비트 데이터(C1[0], C1[1], C1[2])가 모두 능동인 상태 "Hi"일 때, 1비트 좌시프트회로(11), 2비트 좌시프트회로(12) 및 4비트 좌시프트회로(13), 즉 제 1 시프트회로(10)에서 7비트 좌시프트 처리되므로, 중간데이터로는 입력데이터가 출력될 자리위치인 7번째 비트부터 22번째 비트까지의 데이터요소가 중간데이터 유지회로(30)에 저장 유지된다.
이와 같이, 중간데이터를 구성하는 모든 데이터요소 중, 입력데이터의 데이터요소만이 중간데이터 유지회로(30)에 새로이 저장 유지되게 된다.
도 8은 중간데이터 유지회로(30)의 동작설명도이다. 복호회로(60)는 제 1 제어신호(C1[2:0])의 일부 신호를 복호하도록 해도 된다. 여기서는, 제 1 제어신호(C1[2:1])를 복호하여 중간데이터 유지회로(30)로 출력한다. 중간데이터 유지회로(30)는 제 1 제어신호(C1[2:1])의 상태에 따라 복호회로(60)의 출력에 기초하여 다음과 같이 동작한다.
제 1 제어신호의 비트 데이터(C1[1], C1[2])가 모두 수동인 상태 "Lo"일 때, 도 7을 이용하여 설명한 바와 같이 제 1 제어신호의 비트 데이터(C1[0])가 어느 상태이더라도, 중간데이터 중의 0번째 비트부터 16번째 비트까지 자리위치의 중간데이터 데이터요소에는, 입력데이터의 데이터요소가 포함되므로, 0번째 비트부터 16번째 비트까지 자리위치의 중간데이터 데이터요소가 중간데이터 유지회로(30)에 저장 유지된다.
제 1 제어신호의 비트 데이터(C1[1])가 능동인 상태 "Hi"이고, 또 제 1 제어신호의 비트 데이터(C1[2])가 수동인 상태 "Lo"일 때, 도 7을 이용하여 설명한 바와 같이 제 1 제어신호의 비트 데이터(C1[0])가 어느 상태이더라도, 중간데이터 중 의 2번째 비트부터 18번째 비트까지의 자리위치 데이터요소에는, 입력데이터의 데이터요소가 포함되므로, 2번째 비트부터 18번째 비트까지 자리위치의 중간데이터 데이터요소가 중간데이터 유지회로(30)에 저장 유지된다.
제 1 제어신호의 비트 데이터(C1[2])가 능동인 상태 "Hi"이고, 또 제 1 제어신호의 비트 데이터(C1[1])가 수동인 상태 "Lo"일 때, 도 7을 이용하여 설명한 바와 같이 제 1 제어신호의 비트 데이터(C1[0])가 어느 상태이더라도, 중간데이터 중의 4번째 비트부터 20번째 비트까지의 자리위치 데이터요소에는, 입력데이터의 데이터요소가 포함되므로, 4번째 비트부터 20번째 비트까지 자리위치의 중간데이터 데이터요소가 중간데이터 유지회로(30)에 저장 유지된다.
제 1 제어신호의 비트 데이터(C1[1], C1[2])가 모두 능동인 상태 "Hi"일 때, 도 7을 이용하여 설명한 바와 같이 제 1 제어신호의 비트 데이터(C1[0])가 어느 상태이더라도, 중간데이터 중의 6번째 비트부터 22번째 비트까지의 자리위치 데이터요소에는, 입력데이터의 데이터요소가 포함되므로, 6번째 비트부터 22번째 비트까지 자리위치의 중간데이터 데이터요소가 중간데이터 유지회로(30)에 저장 유지된다.
이와 같이, 적어도 입력데이터에 포함되는 데이터요소가 중간데이터 유지회로(30)에 저장 유지되어, 일부에 부호확장 데이터, 0값을 매입한 데이터가 저장되게 된다.
도 9는 중간데이터 유지회로의 동작설명도이다. 복호회로(60)는 제 1 제어신호(C1[2:0])의 일부 신호를 복호하도록 해도 된다. 여기서는, 도 8을 이용하여 나 타낸 경우보다 더 적은, 1비트의 제 1 제어신호 비트데이터(C1[2])를 그대로 중간데이터 유지회로(30)에 출력한다. 중간데이터 유지회로(30)는 제 1 제어신호 비트데이터(C1[2])의 상태에 따라 복호회로(60)의 출력에 기초하여 다음과 같이 동작한다.
제 1 제어신호의 비트 데이터(C1[2])가 수동인 상태 "Lo"일 때, 도 7을 이용하여 설명한 바와 같이 제 1 제어신호의 비트 데이터(C1[0] 및 C1[1])가 어느 상태이더라도, 중간데이터 중의 0번째 비트부터 18번째 비트까지 자리위치의 데이터요소에는, 입력데이터의 데이터요소가 포함되므로, 0번째 비트부터 18번째 비트까지 자리위치의 중간데이터 데이터요소가 중간데이터 유지회로(30)에 저장 유지된다.
제 1 제어신호의 비트 데이터(C1[2])가 능동인 상태 "Hi"일 때, 도 7을 이용하여 설명한 바와 같이 제 1 제어신호의 비트 데이터(C1[0] 및 C1[1])가 어느 상태이더라도, 중간데이터 중의 4번째 비트부터 22번째 비트까지의 자리위치 데이터요소에는, 입력데이터의 데이터요소가 포함되므로, 4번째 비트부터 22번째 비트까지 자리위치의 중간데이터 데이터요소가 중간데이터 유지회로(30)에 저장 유지된다.
이와 같이, 적어도 입력데이터의 데이터요소가 중간데이터 유지회로(30)에 저장 유지되어, 일부에 부호확장 데이터, 0값 매입 데이터가 저장되게 된다.
상기 도 7의 경우가 절전에 가장 효과적이나, 상기 도 8, 도 9와 같이 제 1 제어신호(C1[2:0])의 일부를 복호함으로써 복호회로(60)의 회로를 간단히 할 수 있다.
이상, 산술 시프트처리를 전제로 서술했으나, 논리 시프트처리에 대해서는 부호확장을 0값 확장으로 치환시키면 된다. 또 다른 시프트처리에 대해서도 마찬가지이다.
이와 같이 하여, 제 2 실시형태에서는 중간데이터 유지회로(30)의 동작을 제어함으로써, 중간데이터 유지회로(30)를 구성하는 기억회로에의 불필요한 데이터요소 저장동작을 방지하여, 종래의 기술에 비해 중간데이터 유지회로(30)의 절전화가 가능해진다.
본 발명의 배럴시프트장치는, 파이프라인 구조화에 의해 시프트회로간에 삽입되는 중간데이터 유지회로의 동작을 제어하여, 출력데이터에 반영되지 않는 불필요한 데이터요소의 저장 유지 동작을 억제함으로써, 배럴시프트장치의 절전화가 가능해지므로, 디지털신호처리에 있어서의 다비트 데이터 좌우시프트 처리를 행하는 반도체장치의 구성요소 등으로서 유용하다.

Claims (8)

  1. 소정 비트 폭의 입력데이터를 수취하여, 제 1 시프트량 및 제 2 시프트량을 조합시킨 합계시프트 양만큼 상기 입력데이터를 좌우로 시프트하여, 원하는 시프트 후의 출력데이터로서 출력하는 배럴시프트장치에 있어서,
    상기 입력데이터를 수취하고, 상기 제 1 시프트량을 제어하는 제 1 제어신호에 기초하여 상기 입력데이터를 시프트하고, 중간데이터로서 출력하는 제 1 시프트수단과,
    상기 제 1 시프트수단으로부터의 중간데이터를 유지하기 위한 중간데이터 유지수단과,
    상기 제 2 시프트량을 제어하는 제 2 제어신호를 유지하고, 출력하는 제어신호 유지수단과,
    상기 중간데이터 유지수단에 유지된 중간데이터를 수취하고, 상기 제어신호 유지수단이 출력하는 상기 제 2 제어신호에 기초하여 상기 수취한 중간데이터를 시프트시키고, 상기 원하는 시프트 후의 출력데이터로서 출력하는 제 2 시프트수단을 구비함과 더불어,
    상기 제 2 제어신호를 수취하고 이 제 2 제어신호에 기초하여, 상기 제 1 시프트수단으로부터의 중간데이터를 구성하는 모든 데이터요소 중, 상기 제 2 시프트수단으로부터 원하는 시프트 후의 출력데이터로서 출력될 데이터요소 이외의 데이터요소 일부 또는 전부를 제외한 데이터요소의 상기 중간데이터 내에서의 자리위치 를 검출하는 복호수단을 구비하며,
    상기 중간데이터 유지수단은, 상기 복호수단에서 검출된 상기 자리위치에 기초하여, 상기 중간데이터 중 상기 제 2 시프트수단으로부터 원하는 시프트 후의 출력데이터로서 출력될 데이터요소 이외의 데이터요소 일부 또는 전부가 제외되어, 적어도 상기 제 2 시프트수단으로부터 원하는 시프트 후의 출력데이터로서 출력될 데이터요소를 포함하는 자리위치의 데이터요소를 새로이 유지하는 것을 특징으로 하는 배럴시프트장치.
  2. 제 1 항에 있어서,
    상기 복호수단은, 상기 제 2 제어신호가 나타내는 정보 전부에 기초하여, 상기 제 1 시프트수단으로부터의 중간데이터를 구성하는 모든 데이터요소 중, 상기 제 2 시프트수단으로부터 원하는 시프트 후의 출력데이터로서 출력될 데이터요소만의, 상기 중간데이터 내에서의 자리위치를 검출하는 것을 특징으로 하는 배럴시프트장치.
  3. 제 1 항에 있어서,
    상기 복호수단은, 상기 제 2 제어신호가 나타내는 정보 일부에 기초하여, 상기 제 1 시프트수단으로부터의 중간데이터를 구성하는 모든 데이터요소 중, 상기 제 2 시프트수단으로부터 원하는 시프트 후의 출력데이터로서 출력될 데이터요소 이외의 데이터요소 일부를 제외한 데이터요소의, 상기 중간데이터 내에서의 자리위 치를 검출하는 것을 특징으로 하는 배럴시프트장치.
  4. 제 1 항에 있어서,
    상기 제 2 제어신호는 복수 비트의 신호로 이루어지는 제어신호이며,
    상기 중간데이터 유지수단은, 상기 제 2 제어신호의 소정의 1비트 신호에 기초하여, 상기 제 1 시프트수단으로부터의 중간데이터를 구성하는 모든 데이터요소 중, 상기 제 2 시프트수단으로부터 원하는 시프트 후의 출력데이터로서 출력될 데이터요소 이외의 데이터요소 일부가 제외된 자리위치의 데이터요소를 유지 및 출력하는 것을 특징으로 하는 배럴시프트장치.
  5. 소정 비트 폭의 입력데이터를 수취하여, 제 1 시프트량 및 제 2 시프트량을 조합시킨 합계시프트 양만큼 상기 입력데이터를 좌우로 시프트하여, 원하는 시프트 후의 출력데이터로서 출력하는 배럴시프트장치에 있어서,
    상기 입력데이터를 수취하고, 상기 제 1 시프트량을 제어하는 제 1 제어신호에 기초하여 상기 입력데이터를 시프트하고, 중간데이터로서 출력하는 제 1 시프트수단과,
    상기 제 1 시프트수단으로부터의 중간데이터를 유지하기 위한 중간데이터 유지수단과,
    상기 제 2 시프트량을 제어하는 제 2 제어신호를 유지하고, 출력하는 제어신호 유지수단과,
    상기 중간데이터 유지수단에 유지된 중간데이터를 수취하고, 상기 제어신호 유지수단이 출력하는 상기 제 2 제어신호에 기초하여 상기 수취한 중간데이터를 시프트시키고, 상기 원하는 시프트 후의 출력데이터로서 출력하는 제 2 시프트수단을 구비함과 더불어,
    상기 제 1 제어신호를 수취하고 이 제 1 제어신호에 기초하여, 상기 제 1 시프트수단으로부터의 중간데이터를 구성하는 모든 데이터요소 중, 상기 입력데이터에 포함되는 데이터요소의 자리위치를 검출하는 복호수단을 구비하며,
    상기 중간데이터 유지수단은, 상기 복호수단에서 검출된 상기 자리위치에 기초하여, 상기 중간데이터를 구성하는 모든 데이터요소 중, 적어도 상기 입력데이터에 포함되는 데이터요소를 포함하는 자리위치의 데이터요소를 새로이 유지하는 것을 특징으로 하는 배럴시프트장치.
  6. 제 5 항에 있어서,
    상기 복호수단은, 상기 제 1 제어신호가 나타내는 정보 전부에 기초하여, 상기 제 1 시프트수단으로부터의 중간데이터를 구성하는 모든 데이터요소 중, 상기 입력데이터에 포함되는 데이터요소만의, 상기 중간데이터 내에서의 자리위치를 검출하는 것을 특징으로 하는 배럴시프트장치.
  7. 제 5 항에 있어서,
    상기 복호수단은, 상기 제 1 제어신호가 나타내는 정보 일부에 기초하여, 상 기 제 1 시프트수단으로부터의 중간데이터를 구성하는 모든 데이터요소 중, 상기 입력데이터에 포함되는 데이터요소 이외의 데이터요소 일부를 제외한 데이터요소의, 상기 중간데이터 내에서의 자리위치를 검출하는 것을 특징으로 하는 배럴시프트장치.
  8. 제 5 항에 있어서,
    상기 제 1 제어신호는 복수 비트의 신호로 이루어지는 제어신호이며,
    상기 중간데이터 유지수단은, 상기 제 1 제어신호의 소정 1비트 신호에 기초하여, 상기 제 1 시프트수단으로부터의 중간데이터를 구성하는 모든 데이터요소 중, 상기 입력데이터에 포함되는 데이터요소 이외의 데이터요소 일부가 제외된 자리위치의 데이터요소를 유지 및 출력하는 것을 특징으로 하는 배럴시프트장치.
KR1020067008458A 2004-09-14 2005-08-31 배럴시프트장치 KR100774068B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004267007 2004-09-14
JPJP-P-2004-00267007 2004-09-14

Publications (2)

Publication Number Publication Date
KR20060065738A true KR20060065738A (ko) 2006-06-14
KR100774068B1 KR100774068B1 (ko) 2007-11-06

Family

ID=36059894

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067008458A KR100774068B1 (ko) 2004-09-14 2005-08-31 배럴시프트장치

Country Status (8)

Country Link
US (1) US7461108B2 (ko)
EP (1) EP1821195B1 (ko)
JP (1) JP4129280B2 (ko)
KR (1) KR100774068B1 (ko)
CN (1) CN100468315C (ko)
DE (1) DE602005023050D1 (ko)
TW (1) TW200627267A (ko)
WO (1) WO2006030639A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9378017B2 (en) 2012-12-29 2016-06-28 Intel Corporation Apparatus and method of efficient vector roll operation
CN104243085A (zh) * 2013-06-08 2014-12-24 阿尔卡特朗讯 用于编码重组位数据的方法、装置和基站控制器
CN109217878B (zh) * 2017-06-30 2021-09-14 重庆软维科技有限公司 一种数据处理装置及方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4780716A (en) * 1985-11-01 1988-10-25 Nec Corporation Semiconductor integrated switching apparatus
JPH0391028A (ja) * 1989-09-04 1991-04-16 Mitsubishi Electric Corp パイプライン処理装置
JP3034408B2 (ja) * 1993-09-30 2000-04-17 株式会社東芝 シフト回路及び可変長符号復号器
JP3378444B2 (ja) * 1996-08-08 2003-02-17 株式会社東芝 シフト回路
US5822231A (en) * 1996-10-31 1998-10-13 Samsung Electronics Co., Ltd. Ternary based shifter that supports multiple data types for shift functions
JP2000293354A (ja) 1999-04-08 2000-10-20 Matsushita Electric Ind Co Ltd 演算処理装置
CA2373432C (en) * 2000-03-09 2005-02-08 Mitsubishi Denki Kabushiki Kaisha Block cipher apparatus using auxiliary transformation
US7685212B2 (en) * 2001-10-29 2010-03-23 Intel Corporation Fast full search motion estimation with SIMD merge instruction
US6877019B2 (en) 2002-01-08 2005-04-05 3Dsp Corporation Barrel shifter
KR20030066997A (ko) * 2002-02-06 2003-08-14 주식회사 하이닉스반도체 데이터 출력 버퍼 블록 및 이의 구동 방법
JP4593071B2 (ja) * 2002-03-26 2010-12-08 シャープ株式会社 シフトレジスタおよびそれを備えた表示装置
JP2003337694A (ja) 2002-05-21 2003-11-28 Sharp Corp シフト回路

Also Published As

Publication number Publication date
JP4129280B2 (ja) 2008-08-06
CN1898639A (zh) 2007-01-17
JPWO2006030639A1 (ja) 2008-05-15
CN100468315C (zh) 2009-03-11
KR100774068B1 (ko) 2007-11-06
EP1821195A1 (en) 2007-08-22
EP1821195B1 (en) 2010-08-18
TW200627267A (en) 2006-08-01
US7461108B2 (en) 2008-12-02
WO2006030639A1 (ja) 2006-03-23
DE602005023050D1 (de) 2010-09-30
US20070180007A1 (en) 2007-08-02
EP1821195A4 (en) 2009-01-07

Similar Documents

Publication Publication Date Title
KR100403035B1 (ko) 비터비복호방법및비터비복호회로
US20050289323A1 (en) Barrel shifter for a microprocessor
US5440504A (en) Arithmetic apparatus for digital signal processor
US5970097A (en) Arithmetic apparatus for use in Viterbi decoding
JPH07177039A (ja) ハフマン符号化復号化装置
US6754870B2 (en) CRC operation unit and CRC operation method
KR100774068B1 (ko) 배럴시프트장치
US20040021591A1 (en) Processor, encoder, decoder, and electronic apparatus
US6442729B1 (en) Convolution code generator and digital signal processor which includes the same
KR100864363B1 (ko) 부호화 회로 및 디지털 신호 처리 회로
US6681236B2 (en) Method of performing operations with a variable arithmetic
JP3191442B2 (ja) ビタビ復号用演算装置
US5945657A (en) Constant divider
US20220091820A1 (en) Storage medium and operation device
JP3225763B2 (ja) 符号化装置および復号化装置
US20030056080A1 (en) Register read circuit using the remainders of modulo of a register number by the number of register sub-banks
JP3250363B2 (ja) 演算装置
WO2004030226A1 (en) Method of calculating an intra-row permutation pattern for an interleaver
KR20060004259A (ko) 테일-바이팅 기법에서 마지막 상태를 찾는 방법 및 이를이용한 터보 부호기
JP3237267B2 (ja) 演算装置
KR100434364B1 (ko) 직렬 가산기
JP3600234B2 (ja) オーディオ装置
JPH0722969A (ja) 演算装置
CN114895868A (zh) 基于两位商计算的除法运算单元及除法器
CN114840175A (zh) 一种实现取余运算的装置、方法及运算芯片

Legal Events

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

Payment date: 20110920

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee