KR0137217B1 - 다기능 데이타 처리기 - Google Patents
다기능 데이타 처리기Info
- Publication number
- KR0137217B1 KR0137217B1 KR1019890011815A KR890011815A KR0137217B1 KR 0137217 B1 KR0137217 B1 KR 0137217B1 KR 1019890011815 A KR1019890011815 A KR 1019890011815A KR 890011815 A KR890011815 A KR 890011815A KR 0137217 B1 KR0137217 B1 KR 0137217B1
- Authority
- KR
- South Korea
- Prior art keywords
- bit
- arithmetic logic
- port
- logic device
- bits
- Prior art date
Links
- 230000008878 coupling Effects 0.000 claims 11
- 238000010168 coupling process Methods 0.000 claims 11
- 238000005859 coupling reaction Methods 0.000 claims 11
- BQCADISMDOOEFD-UHFFFAOYSA-N Silver Chemical compound [Ag] BQCADISMDOOEFD-UHFFFAOYSA-N 0.000 claims 1
- 229910052709 silver Inorganic materials 0.000 claims 1
- 239000004332 silver Substances 0.000 claims 1
- 238000000034 method Methods 0.000 description 15
- 239000004020 conductor Substances 0.000 description 7
- 238000007781 pre-processing Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 238000004064 recycling Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7828—Architectures of general purpose stored program computers comprising a single central processing unit without memory
- G06F15/7832—Architectures of general purpose stored program computers comprising a single central processing unit without memory on one IC chip (single chip microprocessors)
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
- G06F9/30014—Arithmetic instructions with variable precision
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/3808—Details concerning the type of numbers or the way they are handled
- G06F2207/3812—Devices capable of handling different types of numbers
- G06F2207/382—Reconfigurable for different fixed word lengths
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/3808—Details concerning the type of numbers or the way they are handled
- G06F2207/3812—Devices capable of handling different types of numbers
- G06F2207/3824—Accepting both fixed-point and floating-point numbers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/3808—Details concerning the type of numbers or the way they are handled
- G06F2207/3828—Multigauge devices, i.e. capable of handling packed numbers without unpacking them
Abstract
내용 없음
Description
제1도는 본 발명에 따른 재구성 가능한 처리 장치의 전체적인 블록 다이어그램.
제2도는 제1도의 레지스터 파일에 대한 레지스터 부분의 블록 다이어그램.
*도면의 주요 부분에 대한 부호의 설명
10,12:입력포트14,20:도선세트
18,24:멀티플렉서26:멀티플렉서 제어회로
36:레지스터 파일42,44:출력포트
50,60:산술논리장치76:캐리출력단자
78:스위치82:캐리 출력포트단자
84:제어 가능 스위치
본 발명은 단정도, 다수정도 및 부동소숫점 데이타에 효과적으로 동작하는 마이크로 프로세서 아키텍쳐에 관한 것이다.
디지탈 신호 처리기는 현대 모든 종류의 시스템에 널리 사용된다. 예컨데, 8, 16 또는 32비트 데이타 경로와 같은 다른 비트수를 가진 데이타를 처리해야 하는 경우, 여러형태의 데이타를 효과적으로 수용하도록 하키텍쳐를 구성하는데는 어려운 점이 발생한다.
예컨데, 8,16 및 32비트 데이타를 처리할 경우, 데이타의 일부분은 24비트 가수 및 8비트 지수를 가진 부동 소숫점 형태로 되어야 하며, 각 클럭 사이클에 대해 16비트 데이타를 동작시키고, 다음 동작 사이클 때까지 캐리 비트를 일시적으로 기억하도록 16비트 산술논리장치(ALU)를 사용해야 한다. 32비트 동작을 수행하도록 16비트 마이크로 프로세서를 사용하는데 있어서의 문제점은 다수의 클럭 사이클이 요구되기 때문에, 전체 동작이 느려진다는 것이다. 16비트 ALU를 사용하며 8비트 데이타를 처리하는 경입력포트, 16비트 처리 경로 또는 포맷에 16비트 ALU를 구성하도록 8비트의 사전 처리가 요구된다. 16비트 ALU를 사용하며, 24비트 가수와 8비트 지수를 처리할려고 할 경우, 데이타의 24비트 가수부분이 2부분으로 나누어져야 하며, 그에 따라 적어도 2개의 클럭 사이클이 요구되고, 그 후에 지수에 동작하는 추가 클럭 사이클이 수행되어야 하기 때문에 더욱 심각하게 된다.
일반적으로 32비트 신호를 처리하는데는 32비트 프로세서 또는 ALU가 사용된다.
이것은 32비트를 루프의 한 번 수행동안 단일 클럭 사이클로 처리할 수 있는 장점이 있다.
그러나, 32비트 ALU마이크로 프로세서는 16비트 및 8비트 신호 양자를 처리하기 위해서 사전 처리가 요구된데이타. 8비트 지수를 가진 24비트 가수는 언팩킹(UNpacking)에 의해 가수 및 지수 부분의 독립 처리가 추가로 요구되며, 가수 부분의 사전처리가 추가로 요구되며, 가수 부분의 사전처리가 추가로 요구된다.
사전처리, 언팩킹 및 그와 동등한 것은 하드 웨어 및 클럭 사이클, 또는 양자를 추가로 요구하기 때문에 바람직하지 못하다.
상술한 바와 같은 8,16 및 32비트와 같은 다수 데이타 형태를 처리할려고 할 경우, 16비트 ALU 시스템을 사용하여 가장 큰 구룹 보다 작은 구룹 데이타의 증가를 팩할 수 잇다. 추가의 문제점은 단일 32비트 워드의 MSB 및 LSB 부분을 나타내는 연속 16비트 워드가 올바른 처리를 위해 ALU의 적당한 부분으로 로드되어야 한다는 점에 있다.
따라서, 여러 데이타 형태를 효과적으로 처리할 수 있는 ALU 장치가 바람직하게 요구된다.
산술논리장치(ALU)는 최소한 3부분으로 구획져 있다. 각 부분은 두 개의 입력포트를 포함해서 출력포트 및 최소한 하나의 캐리 단자를 구비한다.
제1의 ALU 부분은 N1 비트 입력 및 출력포트를 가지고 있고, 제2 및 제3의 ALU 부분은 N2 및 N3 비트 입력 및 출력포트 각각을 가지고 있다.(N1+N2+N3) 비트 워드를 처리할려고 할 경우, 3개의 ALU 부분은 1클럭 사이클 동안 (N1+N2+N3) 비트 워드를 처리하는(N1+N2+N3) 비트 ALU 부분을 형성하도록 서로 결합된 그들의 캐리 입력 및 출력단자를 가지고 있다. N1 비트의 ALU 부분은 두 개의 독립된(N2+N3) 비트 워드를 동시에 처리하도록 2개의 결합된 N2 및 N3 비트 ALU 부분으로 부터 결합 해제 된다.
N1 비트 및 N2비트의 ALU 부분은 나머지 N3 비트의 ALU 부분이 N3 비트 지수를 독립적으로 처리할 동안(N1+N2) 비트 가수를 처리하도록 서로 결합된다. 특정한 실시예에서, N2=N3, N1=N2+N3이다. 구체적으로 N1=16비트이고, N2 및 N3는 각각 8비트이다.
제1도에서, 16비트 데이타 또는 신호는 소오스(도시생략)로 부터 제1의 16비트 입력포트(10)에 인가되며, 또한 제2의 16비트 입력포트(12)에 인가된다. 포트(10,12)는 2개의 단정도 16비트워드, 한 개의 32비트 배정도 워드 또는 부동소숫점 24비트 가수 및 8비트 지수를 수용할 수 있다. 입력신호가 32비트 워드인 경우, 입력포트(10)는 상위 부분을 수용하고 입력포트(12)는 하위 부분을 수용한다. 입력 워드가 부동 소숫점 24비트 가수와 8비트 지수로 이루어진 경우, 입력포트(10)는 가수로 된 16개의 최상위 비트를 수용하고, 입력포트(12)는 그 8개의 최상위 부분 중 가수로 된 나머지 8개의 최하위 비트 및 그 8개의 최하위 부분 중 8비트 지수 부분을 수용한다. 단일 16비트 워드만을 처리할 경우 입력포트(12)에서의 신호는 관련되지 않으며 이하 기술되는 레지스터 파일에 로드되지 않는다.
입력포트(10)에 인가된 신호는 16비트 도선세트(14)를 통하여 멀티플렉서(18)의 제1입력포트(16)에 인가된다. 입력포트(12)에 인가된 신호는 도선세트(20)을 통하여 멀티플렉서(24)의 제1입력포트(22)에 인가된다.
멀티플렉서(18.24)는 멀티플렉서 제어회로(26)로 부터 제어된다. 신호가 로드되는 경우, 입력포트(10,12)을 통하여 멀티플렉서(18,24) 각각의 입력단자(16,24)에 인가된 신호는 각 도선 세트(28,30)을 통하여 멀티플렉서(18.24)의 출력포트로 부터 레지스터 파일(36)의 각 입력단자(32,34)에 각각 결합된다.
레지스터 파일(36)은 제2도와 관련하여 추가 기술되는 레지스터의 구룹이다.
레지스터 파일(36)은 도선세트(120)을 통하여 인가된 제어신호를 조정제어하에 입력단자(32,34)로 인가된 워드를 기억한다.
레지스터 파일(36)은 이하 기술되는 산술논리장치(ALUS)의 동작을 용이하게 하도록 일시적인 기억을 제공하는 랜덤 액세스 메모리이다. 레지스터 파일(36)은 각 포트(38,40,42,44)에 16비트 출력을 갖는다.
레지스터 파일(36)의 16비트 출력포트(38)에 나타나는 신호는 도선세트(46)를 통해서 16비트 ALU(50)의 16비트 제1입력포트(48)에 인가된다.
레지스터 파일(36)의 출력포트(40)에 나타나는 신호는 16비트 도선세트(52)를 통해서 ALU(50)의 16비트 입력포트(54)에 인가된다. 따라서, 부동 소숫점 가수의 16비트 MSB는 ALU(50)의 입력포트에 인가된다. 레지스터 파일(36)의 16비트 출력포트(42)에 나타나는 출력 신호는 최상위 비트(MSB) 및 최하위 비트(LSB) 부분으로 양분된다.
MSB 부분은 8비트 도체세트(56)을 통하여 8비트 ALU(60)의 제1의 8비트 입력포트(58)에 인가된다. 레지스터 파일(36)의 출력포트(42)에 나타나는 신호의 LSB 부분은 8비트 도선세트(62)을 통하여 8비트 ALU(66)의 제1의 8비트 입력포트(64)에 인가된다. 레지스터 파일(36)의 출력포트(44)에 나타나는 16비트 신호는 MSB 및 LSB 부분으로 양분되는데, MSB 부분은 8비트 도선세트(68)을 통하여 ALU(60)의 제2의 8비트 입력포트(70)에 인가되고, LSB 부분은 8비트 도선세트(72)을 통하여 ALU(66)의 제2의 8비트 입력포트(74)에 인가된다. 따라서, 부동 솟수점 워드에 대한 가수의 8개의 최하위 비트는 ALU(60)의 입력포트에 인가되고, 또한 8비트 가수 비트는 ALU(66)의 입력포트에 입가된다.
8비트의 ALU(66)는 제어가능 스위치(78)를 통하여 ALU(60)의 캐리 입력포트(80)에 결합된 캐리출력포트(76)를 포함한다.
스위치(78)가 기계적 단극성 이중-드로의 스위치로써 도시되어 있지만, 당해 분야에 통상의 기술을 가진자는 이와 동등한 반도체 스위치가 사용될 수 있음을 알 것이다. ALU(60)은 제어가능 스위치(84)를 통하여 ALU(50)의 캐리 입력포트(86)에 결합된 캐리출력포트(82)를 포함한다. 도시된 위치에 있는 스위치(78)는 ALU(66)의 캐리출력단자(76)를 ALU(60)의 캐리입력단자(80)에 결합시킬 수 있지만, 도시 생략된 다른 위치에서 스위치(78)는 캐리출력단자(80)로 부터 캐리출력단자(76)를 결합 해제하여, 그 대신에 논리 로우 레벨(접지로서 도시)이 인가되는 단자(88)에 캐리출력단자(80)를 결합한다. 유사한 방법으로, 도시된 위치에 있는 제어가능 스위치(84)는 ALU(60)의 캐리출력단자(82)를 ALU(50)의 캐리입력단자(86)에 결합시키지만, 도시 생략된 다른 위치에서는 그것을 결합 해제하여 그 대신에 단자(90)에 결합된 논리 로우 레벨로 캐리입력포트(86)를 결합한다.
스위치(78,84)는 블럭(92)으로써 도시된 스위치 제어회로(92)에 의해 제어된다. 스위치 제어회로(92)는 도선세트(93)를 통해서 회로 클럭 사이클 동안 처리되는 신호 형태를 나타내는 신호를 수신하는 간단한 디코더 일 수 있다.
스위치 제어회로(92)는 신호를 디코드하여 이하 기술되는 바와 같은 적절한 위치에 스위치(78,84)를 위치시킨다.
16비트 ALU(50)는 도선세트(96)에 의해서 멀티플렉서(18)의 제2입력포트(98)에 결합된 16비트 출력포트(94)에 그 처리된 출력 신호를 발생한다. 8비트 ALU(60)에 의해 발생된 신호는 8비트 출력포트(98)에서 발생되어 MSB 8비트 도선세트(100)에 결합된다.
유사한 방법으로 ALU(66)의 8비트 출력신호는 8비트 출력포트(102)에서 발생되어 LSB 8비트 도선세트(104)에 결합된다.
도선세트(100,104)는 멀티플렉서(24)의 제2입력포트(108)에 결합된 16비트 도선세트(106)를 형성하도록 통합된다.
32비트 입력신호로 동작할 때, 그것의 MSB는 입력포트(10)에 인가되고, 그것의 LSB는 입력포트(12)에 인가되며, 32비트 동작은 3개의 클럭 사이클로 수행된다. 제1클럭 사이클은 입력포트(10,12)로 부터 레지스터 파일로 제1의 32비트 워드를 로드하도록 사용된다. 제2클럭 사이클은 레지스터 파일로 제2의 32비트 워드를 로드하도록 사용된다.
양자에 32비트 워드가 기억되어 있는 경우, 제3클럭 사이클은 3개의 ALU(50)에 의해 워드를 처리하도록 사용될 수 있으며, 도시된 스위치(78,80) 위치에 의해 하나의 32비트 ALU에 결합된다. 처리된 워드는 멀티플렉서(18,24)의 제2입력을 통하여 추가 처리를 위해 레지스터 파일(36)에 재순환된다.
물론, 로딩 및 처리의 발생이 계속되는 진행 동작동안 로딩동안 요구되는 클럭 사이클은 처리동안 사용되는 클럭 사이클과 동시에 발생한다.
따라서 출력은 각 클럭 주기동안 발생하게 된다. 통상적으로 32비트 출력은 16비트 출력포트(111,113) 각각에 결합된 점선(110,112)으로 도시된 바와 같은 도선세트(96,106)로 부터 얻어질 수 있다.
16비트 입력을 독립적으로 동작시키기 위해서 제1의 독립된 16비트 입력 워드는 입력포트(12)로 제2의 독립된 16비트 입력 워드를 계속적으로 인가하기 위해 입력단자(10)에 인가되고, 동시에 2개의 워드를 제1클럭 사이클에 따라 레지스터 파일(16)에 기억된다. 제2클럭 사이클동안 16비트 ALU(50)는 ALU(60,66) 또는 8비트 ALU(60,66)에 독립적으로 데이타를 처리할 수 있으며, ALU(50)에 독립적인 신호를 처리할 수 있다.
ALU(60,66)으로 부터 ALU(50)의 독립은 스위치(84)를 개방위로는 이동이므로 인하여, 즉 다른 위치(도시 생략)는 이동시키므로 인하여 수행되며, 그 단자(86)는 접지에 결합된다.
4개의 16비트 단점도 워드의 서터는 제1클럭 사이클 동안 입력포트(10) 및 멀티플렉서(8)를 통해서 제1의 2개의 16비트 워드를 레지스터 파일(36)에, 그리고 입력포트(12) 및 멀티플렉서(24)를 통해서 제2의 2개의 16비트 워드를 레지스터 파일(36)에 인가함으로서 수행되고, 제2사이클 동안 입력포트(10) 및 멀티플렉서(18)을 통하여 제3의 16비트 워드를 레지스터 파일(36)에, 그리고 입력포트(12) 및 멀티플렉서(24)를 통해서 제4의 16비트 워드를 레지스터 파일(36)에 인가함으로써 수행된다.
제3클럭 사이클에서, ALU(50)는 레지스터 파일(36)의 포트(38,40)으로 부터의 그 제1입력포트(48) 및 제2입력포트(54)에 인가된 제1 및 제316비트 워드를 독립적으로 처리한다.
또한 ALU(60,66)는 레지스터 파일(36)의 출력포트(42,44)로 부터 그 입력에 인가된 제2 및 제4의 16비트 워드를 독립적으로 처리한다.
배정도 워드가 처리되는 경우에, 계속적인 동작은 각 클럭 사이클 동안 로딩 및 처리를 포함한다.
스위치(84)는 출력포트(94,98,102)에서 발생된 출력이 기억소자에 인가되는 시간에 또는 그 시간 이전의 임의의 시간에, 즉 멀티플렉서(18) 통해서 레지스터 파일(36)로 재순환함으로써, 또는 도선세트(110)를 통해서 이용장치에 출력을 인가함으로서 개방될 수 있다.
스위치(84)가 개방되면, 16비트 ALU(50)는 ALU(60,66)에 독립적으로 동작한다. 그러나, 스위치(78)이 폐쇄되면 ALU(66)의 캐리 출력은 ALU(60)의 캐리출력(80)에 결합되며, 그에 의해 2개의 8비트 ALU가 16비트 ALU(50)로 부터 독립된 단일 16비트 ALU를 형성한다.
이어서, 입력포트(12) 및 멀티플렉서(24)를 통해서 레지스터 파일(36)에 초기에 가해진 16비트 신호는 8비트 ALU(86) 및 MSB 부분에 의해 처리되는 그 LSB 부분과, 8비트 ALU(60)에 의해 처리되는 8비트 ALU(66)의 캐리 출력을 갖는다. 2개의 독립적으로 처리된 출력은 도선세트(96,106)에서 독립적으로 발생되며, 재순환에 사용되며 전술한 바와 같은 출력에 사용된다.
2개의 32비트 심볼에 대한 동작을 수행하는 경우, 각각은 24비트 가수와 8비트 지수의 형태로 되며, 각 심볼은 제1의 16비트 MSB 워드 및 8비트 LSB 부분으로 분할된 24비트 가수를 포함하는 독립된 32비트 워드로서 처리되며, 8비트 지수는 제2의 16비트 워드에서 8비트 LSB 가수 부분과 관련된다.
각 심볼의 2개의 합성 16비트워드는 각 클럭 주기동안 레지스터(36)으로 로드되나, 이에 반해 2개의 상기 32비트 심볼의 로딩은 2번의 클럭 사이클을 요구한다.
24비트 가수는 ㅍ트(38,40)로 부터 인가되며, 레지스터 파일(36)의 포트(42,44)의 MSB 부분으로 부터 16비트 ALU(50)의 양 입력포트 및 8비트 ALU(60)의 양 입력포트에 인가된다.
ALU에 의해 처리된 결과가 완료되기 전의 임의의 시간에 스위치(84)를 폐쇄되고, 스위치(78)는 개방된다. 스위치(78)가 개방되면, ALU(66)는 다른 2개의 ALU와 독립적으로 동작하며, 8비트 ALU(60)는 24비트 ALU로써 16비트 ALU(50)와 결합하여 작동한다. 심볼의 24비트 가수 부분은 24비트 ALU 결합에 의해 처리되며, 8비트 가수 부분은 8비트 ALU(66)에 의해 처리된다. 따라서, 부동 소숫점 신호의 처리는 간단한 32비트(배정도) 및 16비트(단정도) 워드쌍의 처리와 마찬가지로 하나의 클록 사이클 내에서 완료될 수 있다.
스위치(78,84)가 개방된 상태로 되면, 그에 따라 16비트 ALU(50), 서로 독립적인 8비트 ALU(60) 및 8비트 ALU(66)가 독립적으로 동작한다.
제2도는 레지스터 파일(36)의 블록 다이어그램이다.
제1도의 구성 요소에 대응하는 제2도의 구성 요소는 동일 참조 부호로 표시했다. 제2도에서, 16비트 도선 세트(28)는 32비트의 멀티플렉서(210a,210b,…,210n) 각각의 제1의 16비트 입력포트(208a,208b,…,208n)에 병렬로 인가된다.
유사한 방식으로, 16비트 도선 세트(30)는 멀티플렉서(210a,210b,…,210n)각각의 제2의 16비트 입력포트(206a,206b,…,206n)에 병렬로 인가된다.
멀티플렉서(210)의 16비트 출력포트는 32개의 16비트 레지스터(212a,212b,…,212n) 각각의 16비트 입력포트에 인가된다.
레지스터(212) 중 임의의 하나의 레지스터에 로드된 16비트 워드는 항상 그 16비트 출력도선 세트(214a,214b,…,214n)에 나타난다. 각 레지스터(212)의 출력도선세트(214)는 멀티플렉서(216a,216b,216c…,216d)의 각각의 32개의 16비트 입력포트 중 하나의 포트에 동시에 인가된다. 멀티플렉서(216a)의 16비트 출력도선세트는 레지스터 파일(36)의 16비트 출력포트(38)에 결합된다. 멀티플렉서(216a)의 출력은 16비트 출력포트(40)에 결합되며, 멀티플렉서(216c)의 출력은 출력포트(42)에 결합되며, 멀티플렉서(216d)의 출력은 출력포트(44)에 결합된다.
각 32:1 멀티플렉서(216)는 제어 도선세트(218)의 일부분인 대응 도선세트(218a-d)를 통해서 인가된 5비트 제어 신호에 의해 제어된다.
따라서, 예컨대 제2도에 도시된 바와 같이, 멀티플렉서(216a)는 도선세트(218a)를 통해서 그곳에 인가된 5비트 선택신호의 제어하에 그 출력 도선세트 및 출력포트에 32개의 16비트 입력 중 선택된 하나의 입력에 인가된 신호를 결합한다.
이러한 배열로 인하여 레지스터(212) 중 임의의 레지스터에 기억된 16비트 워드가 출력포트(38,40,42 또는 44) 중 임의의 출력포트에 결합되고, 출력포트(38 내지 44)에 인가하기 위해 레지스터(212) 중 임의의 4개의 레지스터에 기억된 16비트 워드를 동시에 선택할 수 있다.
각 멀티플렉서(210)는 그 선택(S) 입력단ㅈ가 특정 논리상태, 즉 논리 로우 상태일 때 도선세트(28)로 부터 제1입력포트에 인가된 신호를 그 출력 도선세트 및 대응 레지스터(212)의 입력포트에 결합한다.
구체적으로, 임의의 멀티플렉서(216)의 8입력이 논리 하이조건일 때, 그 멀티플렉서(210)는 그 출력 도선 세트 및 관련 레지스터(212)에 도선세트(30)로 부터 그 제2입력포트(206)에 인가된 신호를 결합한다. 멀티플렉서(210)의 S입력이 논리 로우 레벨일 때, 그 멀티플렉서는 그 출력 도선 세트에 도선세트(28)로 부터 그 제1입력포트에 인가된 신호를 결합한다.
각 레지스터(212)는 로드 인에이블(LB) 입력 단자를 포함한다. 각 레지스터(212A,212B,…,212n)은 OR 게이트(220a,220b,…,220n)에 각각과 결합된다.
각 OR게이트(220)는 2개입 입력단자를 포함하는데, 그 하나의 입력단자는 32개의 단일 도선으로 된 출력 도선 또는 32개의 디코더(222) 중 하나의 디코더로 부터의 라인(223)에 결합된다.
각 OR게이트(220)의 다른 입력 단자는 32개의 디코더(224) 중 제2의 디코더의 단일 도선 출력라인(225) 중 하나에 결합된다.
따라서, 디코더(224)의 32개의 출력도선(225)는 32개의 분리된 OR게이트(220)의 입력에 개별적으로 인가된다. 유사한 방법으로, 디코더(222)의 출력도선(223)은 OR게이트(220)의 제2입력에 결합되며, 또한 관련 멀티플렉서(210)의 S입력에 결합된다.
특정한 예로서, OR게이트(220a)는 멀티플렉서(210a)로 부터 16비트 신호를 수신하도록 배열된 레지스터(212a)의 LE입력 단자에 결합된 그 출력을 갖는다. 32개의 디코더(222) 중 하나의 디코더로 부터의 출력도선(223a)는 멀티플렉서(210a)의 S입력 및 OR게이트(220a)의 입력에 결합된다. 또한 OR게이트(220a)는 32개의 디코더의 출력 선택 도선(225a)에 결합된다.
디코더(222)는 도선세트(226)로 부터 제어 신호를 수신하고, 디코더(224)는 도선세트(228)를 통해서 5비트 제어 신호를 수신한다. 도선세트(226)를 통하여 디코더(222)에 인가된 제어신호는 그 31개의 출력라인(223) 중 하나의 라인을 논리하여 조건으로 취하게 하여, 그에 의하여 기억장치로 기억하도록 31개의 레지스터(212) 중 하나의 레지스터를 인에이블하고, 관련 멀티플렉서(210)을 제어하여 기입 또는 로딩하도록 그 레지스터를 도선세트(30)으로 부터의 신호를 결합한다.
따라서 다음 클럭 펄스가 IE입력에서 논리하여 조건으로 인에이블될 때, 그것은 도선세트(30)으로 부터 디코더(222)에 의해 선택된 레지스터로 기입된다. 도선세트(228)를 통하여 디코더(224)에 인가된 5비트 제어신호는 도선세트(28)로 부터 로딩하기 위해 임의의 다른 단일 레지스터를 동시에 선택할 수 있다.
따라서, 도선세트(228) 상의 5비트 신호에 의하여 디코더(224)의 32개의 출력 도선(225) 중 하나의 출력 도선은 그의 관련 OR게이트(220)에 의해 인에이블 되도록 레지스터(212)를 선택한다.
디코더(224)의 출력 도선은 관련 멀티플렉서의 S입력단자에 결합되지 않기 때문에 디코더(224)에 의해 선택된 레지스터(212)와 관련된 멀티플렉서는 도선세트(28)로 부터 발생되는 선택된 레지스터 신호에 결합된다. 디코더(222)에 의해 선택된 레지스터로 출력되는 동일 클럭 펄스는 또한 디코더(224)에 의해 선택된 레지스터로 클럭된다.
이러한 동작 부분을 관찰할 수 있는 간단한 방법은 도선세트(226)에 인가된 신호가 도선세트(30)로 부터 다음 클럭 펄스에서 로드되도록 레지스터를 선택하고, 도선세트(228)에 인가된 신호가 도선세트(28)로 부터 유사하게 로드되는 레지스터를 선택하도록 고려하는 것이다.
스위치(78,84,제1도)를 제어하는 정확한 방법은 각 순간마다 처리되는 단정도, 배정도 또는 특정 클럭 사이클에서의 부동 소숫점 중 하나일 수 있는 데이타 형태에 달려 있으며, 또한 수행되는 처리 형태에 달려 있다.
통상의 지식을 가진 사람에게 명백한 바와 같이, 제어는 도선세트를 통해서 인가된 제어 신호가 ALU의 적절한 포트에 도달되게 함으로서 행하여 진다. 이와 유사하게, 멀티플렉서(18,24)의 제어는 새로운 워드가 로드될 때, 및 데이타의 재순환이 요구될 때에 달려 있으며, 또한 특정한 배열 장치에도 달려 있다.
본 발명의 다른 실시예는 당해 기술분야에 통상의 기술을 가진자에게 명백할 것이다. 예컨대, 시스템 출력은 출력도선(110,112,제1도) 대신에 레지스터 파일의 출력포트(38,40,42,44)로 부터 얻을 수 있다.
일반적으로, 다른 비트수는 워드에 따라 사용될 수 있다.
일반적이니 요구 조건은 단정도 처리가 N1비트를 사용하고, 부동 소숫점 처리가 N3비트 지수를 사용하며, 배정도 처리가 N1+N2+N3 비트 워드에 의해 수행되는 경우로, 여기서 N2는 N1과 N3간의 차이다.
Claims (10)
- 제1 및 제2의 N비트 소오스 포트에서 발생되고 2N 비트 워드 또는 2개의 N비트 워드, 또는 지수가 N/2비트이고 가수가 3N/2비트인 워드의 형태로 구성가능한 2N비트 데이타를 처리하기 위한 장치에 있어서, 제1 및 제2의 N비트 입력포트와, 제1,제2,제3,제4,제5 및 제6출력포트를 구비하는 N비트 레지스터 파일을 포함하는데, 상기 제1 및 제2출력포트는 N비트를 가지고, 제3 및 제4출력포트는 각각 N/2비트를 포함하여 하나의 N비트 출력포트를 함께 구성하는데 상기 제3출력포트는 상기 N비트의 최상위 비트를 나타내고 상기 제4출력포트는 나머지 하위 비트를 나타내며, 상기 제5 및 제6출력포트는 각각 N/2비트를 포함하여 하나의 N비트 출력포트를 함께 구성하는데 상기 제5출력포트는 최상위 비트를 나타내고 상기 제6출력포트는 나머지 하위비트를 나타내며; 제1부분에 제1 및 제2입력포트가 결합된 동적으로 재구성 가능한 산술 논리 장치를 포함하는데, 상기 산술 논리 장치의 상기 제1 및 제2입력포트는 각각 N비트를 가지고 상기 레지스터 파일의 상기 제1 및 제2출력포트에 각각 결합되며 상기 제1부분은 캐리 입력 단자 및 N비트 출력포트를 추가로 구비하며, 제2부분에 제3 및 제4출력포트가 추가로 결합되는데, 상기 제2부분은 캐리 입력 단자, 캐리 출력 단자, N/2비트 출력포트를 추가로 구비하며, 상기 산술 논리 장치의 제3입력포트는 N/2비트를 가지고 상기 레지스터 파일의 상기 제3출력포트에 결합되고, 상기 산술 논리 장치의 제4입력포트는 N/2비트를 가지고 상기 레지스터 파일의 상기 제5출력포트에 결합되며, 제3부분에 제5 및 제6입력포트가 추가로 결합되는데, 상기 제3부분은 캐리 출력 단자 및 N/2 비트 출력포트를 추가로 구비하고, 상기 산술 논리 장치의 상기 제5입력포트는 N/2비트를 가지고 상기 레지스터 파일의 상기 제4출력포트에 결합되며, 상기 산술 논리 장치의 제6입력포트는 N/2비트를 가지고 상기 레지스터 파일의 상기 제6출력포트에 결합되며, 상기 산술 논리 장치는 제1 및 제2제어 가능 스위치 수단을 추가로 구비하는데, 상기 제1스위치 수단은 상기 제2부분의 상기 캐리 출력 단자와 상기 제1부분의 상기 캐리 입력 단자에 결합되는 제어 가능 경로를 구비하고, 상기 제2스위치 수단은 상기 제3부분의 상기 캐리 출력 단자와 상기 제2부분의 상기 캐리 입력 단자에 결합되는 제어 가능 경로를 구비하며, 상기 제1 및 제2스위치 수단은 각각 제어 입력 단자를 추가로구비하며, 상기 레지스터 파일의 상기 제1 및 제2의 N비트 입력포트에 결합되고 상기 제1 및 제2의 N비트 소오스 포트에 결합되도록 조정되어 상기 제1 및 제2소오스 포트로 부터의 데이타를 상기 레지스터 파일의 상기 제1 및 제2입력포트에 각각 결합하는 결합 수단과; 제1, 제2 및 제3동작 모드로 상기 스위치 수단을 제어하기 위해 상기 제1 및 제2스위치 수단에 결합된 스위치 제어 수단을 포함하는데, 상기 제1동작 모드는 상기 제1 및 제2스위치 수단을 폐쇄함으로써 2N비트 산술 논리 장치로서 상기 산술 논리 장치의 상기 제1, 제2 및 제3부분을 함께 동작시키며, 상기 제2동작 모드는 상기 제1스위치 수단을 개방하고 상기 제2스위치 수단을 폐쇄함으로써 상기 산술 논리 장치의 상기 제1부분을 독립적으로 동작시키고 N비트 부분으로서 상기 산술 논리 장치의 상기 제2 및 제3부분을 함께 동작시키며, 상기 제3동작 모드는 상기 제1스위치 수단을 폐쇄하고 상기 제2스위치 수단을 개방함으로써 상기 산술 논리 장치의 상기 제1 및 제2부분을 포함하는 상기 산술 논리 장치의 3N/2 비트 부분과 상기 산술 논리 장치의 상기 제3부분을 포함하는 별도의 N/2 비트 부분을 형성하는 것을 특징으로 하는 2N 비트 데이타 처리장치.
- 제1항에 있어서, N은 16이고, N/2은 8인 것을 특징으로 하는 2N 비트 데이타 처리장치.
- 제1항에 있어서, 상기 결합 수단은 제1 및 제2의 N비트 입력포트 및 N비트 출력포트를 구비하고 제어 입력포트를 추가로 구비하는 제1멀티플렉싱 수단을 포함하는데, 상기 제1멀티플렉싱 수단의 출력포트는 상기 레지스터 파일의 상기 제1입력포트에 결합되고, 상기 제1멀티플렉싱 수단의 상기 제1입력포트는 상기 산술 논리 장치의 상기 제1부분의 상기 출력포트에 결합되고, 상기 제1멀티플렉싱 수단의 상기 제2입력포트는 상기 제1소오스 포트에 결합되도록 조정되며; 제1 및 제2의 N비트 입력포트와 최상위 비트 및 최하위 비트부분으로 분할되는 N비트 출력포트를 구비하고 제어 입력포트를 추가로 구비하는 제2멀티플렉싱 수단을 포함하는데, 상기 제2멀티플렉싱 수단의 상기 출력포트는 상기 레지스터 파일의 상기 제2입력포트에 결합되고, 상기 제2멀티플렉싱 수단의 상기 제1입력포트의 상기 최상위 비트 부분은 상기 산술 논리 장치의 상기 제2부분의 상기 출력포트에 결합되며, 상기 제2멀티플렉싱 수단의 상기 제1입력포트의 상기 최하위 비트 부분은 상기 산술 논리 장치의 제3부분의 상기 출력포트에 결합되고, 상기 제2멀티플렉싱 수단의 상기 제2입력포트는 상기 제2소오스 포트에 결합되도록 조정되며; 제1비궤환 동작 모드 및 제2귀환 동작 모드 중 하나의 동작 모드로 상기 제1 및 제2멀티플렉싱 수단을 함께 동작시키기 위하여 상기 제1 및 제2멀티플렉싱 수단에 결합된 멀티플렉스 제어 수단을 포함하는데, 상기 제1동작 모드는 상기 소오스 포트로 부터 데이타를 수신하도록 상기 멀티플렉싱 수단의 상기 제2포트를 결합하고 상기 레지스터 파일의 상기 제1 및 제2입력포트에 상기 제1 및 제2멀티플렉싱 수단의 상기 출력포트를 결합하여 처리될 데이타로 상기 레지스터 파일을 로딩하고 상기 레지스터 파일의 상기 입력포트로 부터 상기 산술 논리 장치의 상기 제1,제2 및 제3의 출력포트를 결합 해제하며, 제2동작 모드는 상기 레지스터 파일의 상기 입력포트로 부터 상기 소오스 포트를 결합 해제하고 상기 레지스터 파일의 상기 제2입력포트의 상기 최상위 비트 및 상기 최하위 비트 부분 각각에 대한 상기 산술 논리 장치의 상기 제2 및 제3부분의 상기 출력포트 및 상기 레지스터 파일의 상기 제1포트에 상기 산술 논리 장치의 상기 제1부분의 상기 출력포트를 결합하는 것을 특징으로 하는 2N비트 데이타 처리 장치.
- 제1항에 있어서, 상기 스위치 제어 수단은 제4동작 모드로 상기 스위치 수단을 추가로 제어하며, 상기 제4동작 모드는 상기 산술 논리 장치의 상기 제1,제2 및 제3부분을 독립적으로 동작시키기 위해 상기 제1 및 제2스위치 수단양자를 개방시키는 것을 특징으로 하는 2N비트 데이타 처리 장치.
- N비트의 제1포트, 제2포트 및 출력포트와 캐리 입력 단자를 구비하는 제1의 산술 논리 장치와; N/2비트의 제1포트, 제2포트 및 출력포트와 캐리 입력 단자 및 출력단자를 구비하는 제2의 산술 논리 장치와; N/2 비트의 제1포트, 제2포트 및 출력포트와 캐리 출력 단자를 구비하는 제3의 산술 논리 장치와; 상기 제1 및 제2의 산술 논리 장치와 상기 캐리 입력 단자와 상기 제2 및 제3의 산술 논리 장치의 상기 캐리 출력 단자에 결합되어 상기 제3의 산술 논리 장치의 상기 캐리 출력 단자를 상기 제2의 산술 논리장치의 상기 캐리 입력 단자에 상기 제2의 산술 논리 장치의 상기 캐리 출력 단자를 상기 제1의 산술 논리 장치의 상기 캐리 입력 단자에 선택적으로 결합하기 위한 제어 가능 결합 수단과; 가) 제1동작 모드로, 제1의 2N비트 워드의 N비트 최상위 비트를 상기 제1의 산술 논리 장치의 상기 제1입력포트에 인가하고, 제2의 2N비트 워드의 N비트 최상위 비트를 상기 제1의 산술 논리 장치의 상기 제2입력포트에 인가하며, 상기 제1의 2N비트 워드의 N/2비트 최하위 비트를 상기 제3의 산술 논리 장치의 상기 제1입력포트에 인가하고, 상기 제2의 2N비트 워드의 N/2비트 최하위 비트를 상기 제3의 산술 논리 장치의 상기 제2입력포트에 인가하며, 상기 제1의 2N비트 워드의 나머지 N/2비트를 상기 제2의 산술 논리 장치의 상기 제1입력포트에 인가하고, 상기 제2의 2N비트 워드의 나머지 N/2비트를 상기 제2의 산술 논리 장치의 상기 제2입력포트에 인가하며, 나) 제2동작모드로, 제1의 N비트 워드를 상기 제1의 산술 논리 장치의 상기 제1입력포트에 인가하고, 제2의 비트 워드를 상기 제1의 산술 논리 장치의 상기 제2입력포트에 인가하며, 제3의 N비트 워드 중 N/2개의 최상위 비트를 상기 제2의 산술 논리 장치의 상기 제1입력포트에 인가하고, 제4의 N비트 워드 중 N/2개의 최상위 비트를 상기 제2의 산술 논리 장치의 상기 제2입력포트에 인가하며, 상기 제3의 N비트 워드 중 N/2개의 최하위 비트를 상기 제3의 산술 논리 장치의 상기 제1입력포트에 인가하고, 상기 제4의 N비트 워드 중 N/2개의 최하위 비트를 상기 제3의 산술 논리 장치의 상위 제2입력포트에 인가하며, 다) 제3동작모드로, 제1의 부동 소숫점 워드에서 3N/2비트 가수 중 N개의 최상위 비트를 상기 제1의 산술 논리 장치의 상기 제1입력 포트에 인가하고, 제2의 부동 소숫점 워드에서 3N/2비트 가수 중 N개의 최상위 비트를 상기 제1의 산술 논리 장치의 상기 제2입력포트에 인가하며, 상기 제1의 부동 소숫점 워드에서 상기 3N/2비트 가수 중 N/2개의 최하위 비트를 상기 제2의 산술 논리 장치의 상기 제1입력 포트에 인가하며, 상기 제2의 부동 솟수점 워드에서 N/2개의 최하위 비트를 상기 제2의 산술 논리 장치의 상기 제2입력포트에 인가하고, 상기 제1의 부동 소숫점 워드 중 N/2비트 지수를 상기 제3의 산술 논리 장치의 상기 제1입력 포트에 인가하며, 상기 제2의 부동 소숫점 워드 중 N/2비트 지수를 상기 제3의 산술 논리 장치의 상기 제2입력포트에 인가하는 수단과; 가) 상기 제1동작 모드로, 상기 제3의 산술 논리 장치의 상기 캐리 출력 단자를 상기 제2의 산술 논리 장치의 상기 캐리 입력 단자에 결합하고, 상기 제2의 산술 논리 장치의 상기 캐리입력 단자에 결합하고, 상기 제2의 산술 논리 장치의 상기 캐리 출력 단자를 상기 제1의 산술 논리 장치의 상기 캐리 입력 단자에 결합하며, 나) 상기 제2동작 모드로, 상기 제1의 산술 논리 장치의 상기캐리 입력 단자로 부터 상기 제2의 산술 논리 장치의 상기 캐리 출력 단자를 결합 해제하고, 상기 제3의 산술 논리 장치의 상기 캐리 출력 단자를 상기 제2의 산술 논리 장치의 상기 캐리 입력 단자에 결합하며, 다) 상기 제3동작 모드로, 상기 제2의 산술 논리 장치의 상기 캐리 출력 단자를 상기 제1의 산술 논리 장치의 상기 캐리 입력 단자에 결합하고, 상기 제2의 산술 논리장치의 상기 캐리 입력 단자로 부터 상기 제3의 산술 논리 장치의 상기 캐리 출력 단자를 결합해제하기 위해 상기 제어 가능 결합 수단을 제어하는 수단을 포함하는 것을 특징으로 하는 2N비트 데이타 처리 장치.
- 비트 수가(N1+N2+N3)이고 N1비트의 제1소오스 포트와(N2+N3)비트의 제2소오스 포트에서 발생되며(N1+N2+N3) 비트 워드나 2개의 N1비트 워드 또는 지수가 N3 비트이고 가수가 (N1+N2) 비트인 워드의 형태로 구성 형태로 구성 ㄱ능한 데이타를 처리하기 위한 장치에 있어서, 제1의 N1비트 입력 포트 및 제2의 (N2+N3) 비트 입력 포트와 제1,제2,제3,제4,제5 및 제6출력포트를 구비하는 N1비트 레지스터 파일을 포함하는데, 상기 제1 및 제2출력포트는 각각 N1비트를 가지고, 제3 및 제4출력 포트는 각각 2N 비트 및 N3 비트를 포함하여 하나의 출력포트를 함께 구성하는데 상기 제3출력포트는 상기[N2+N3] 비트의 최상위 비트를 나타내고 상기 제4출력포트는 나머지 하위 비트를 나타내며, 상기 제5 및 제6출력포트는 각각 N2비트 및 N3비트를 포함하여 하나의 출력포트를 함께 구성하는데 상기 제5출력포트는 최상위 비트를 나타내고 상기 제6출력포트는 나머지 하위 비트를 나타내며; 제1부분에 제1 및 제2입력포트가 결합된 동적으로 재구성 가능한 산술 논리 장치를 포함하는데, 상기 산술 논리 장치의 상기 제1 및 제2입력포트는 각각 N1비트를 가지고 상기 레지스터 파일의 제1 및 제2출력포트에 각각 결합되며, 상기 제1부분은 캐리 입력 단자 및 N1비트 출력포트를 추가로 구비하며, 제2부분에 제3 및 제4입력포트가 추가로 결합되는데, 상기 제2부분은 캐리 입력 단자, 캐리 출력 단자 및 N2비트 출력포트를 추가로 구비하며, 상기 산술 논리 장치의 제3입력포트는 N2비트를 가지고 상기 레지스터 파일의 상기 제3출력포트에 결합되며, 상기 산술 논리 장치의 상기 제4입력포트는 N2비트를 가지고 상기 레지스터 파일의 상기 제5출력포트에 결합되며, 제3부분에 제5및 제6입력포트가 추가로 결합되는데, 상기 제3부분은 캐리 출력 단자 및 N3비트 출력 포트를 추가로 구비하며, 상기 산술 논리 장치의 상기 제5입력포트는 N3비트를 가지고 상기 레지스터 파일의 상기 제4출력 포트에 결합되며, 상기 산술 논리 장치의 상기 제6입력포트는 N3비트를 가지고 상기 레지스터 파일의 상기 제6출력포트에 결합되며, 상기 산술 논리 장치는 제1 및 제2제어가능 스위치 수단을 추가로 구비하는데, 상기 제1스위칭 수단은 상기 제2부분의 상기 캐리 출력 단자와 상기 제1부분의 상기 캐리 입력 단자에 결합된 제어 가능 경로를 구비하고, 상기 제2스위치 수단은 상기 제3부분의 상기 캐리 출력 단자와 상기 제2부분의 상기 캐리 입력 단자에 결합된 제어 가능 경로를 구비하며, 상기 제1 및 제2스위치 수단은 각각 제어 입력 단자를 추가로 구비하며; 상기 레지스터 파일의 상기 제1 및 제2입력포트에 결합되고 상기 제1 및 제2소오스 포트에 결합되도록 조정되어 상기 제1 및 제2소오스 포트로 부터의 데이타를 상기 레지스터 파일의 상기 제1 및 제2입력포트에 각각 결합하는 결합수단과; 적어도 제1, 제2 및 제3동작모드로 상기 스위치 수단을 제어하기 위해 상기 제1 및 제2스위치 수단에 결합되는 스위치 제어 수단을 포함하는데, 상기 제1동작 모드는 상기 제1 및 제2스위치 수단을 폐쇄함으로써(N1+N2+N3)비트 산술 논리 장치로서 상기 산술 논리 장치의 상기 제1,제2 및 제3부분을 함께 동작시키며, 상기 제2동작 모드는 상기 제1스위치 수단을 개방하고 상기 제2스위치 수단을 폐쇄함으로써 상기 산술 논리 장치의 상기 제1부분을 독립적으로 동작시키고(N2+N3)비트 부분으로서 상기 산술 논리 장치의 상기 제2 및 제3부분을 함께 동작시키며, 상기 제3동작 모드는 상기 제1스위치 수단을 폐쇄하고 상기 제2스위치 수단을 개방함으로써 상기 산술 논리 장치의 상기 제1 및 제2부분을 포함하는 상기 산술 논리 장치의(N1+N2) 비트 부분과 상기 산술 논리 장치의 상기 제3부분을 포함하는 별도의 N3비트 부분을 형성하는 것을 특징으로 하는 데이타 처리 장치.
- 제5항에 있어서, N=N2+N3인 것을 특징으로 하는 데이타 처리 장치.
- 제7항에 있어서, N1은 16이고, N2는 8이며, N3은 8인 것을 특징으로 하는 데이타 처리 장치.
- 제6항에 있어서, N2=N3인 것을 특징으로 하는 데이타 처리 장치.
- 제6항에 있어서, 상기 스위치 제어 수단은 제4동작 모드로 상기 스위치 수단을 추가로 제어하며, 상기 제4동작 모드는 상기 산술 논리 장치의 상기 제1,제2,제3부분을 독립적으로 동작시키도록 상기 제1 및 제2스위치 수단을 개방하는 것을 특징으로 하는 데이타 처리 장치.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US234,124 | 1988-08-19 | ||
US07/234,124 US4901268A (en) | 1988-08-19 | 1988-08-19 | Multiple function data processor |
Publications (2)
Publication Number | Publication Date |
---|---|
KR900003733A KR900003733A (ko) | 1990-03-26 |
KR0137217B1 true KR0137217B1 (ko) | 1998-06-15 |
Family
ID=22880035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019890011815A KR0137217B1 (ko) | 1988-08-19 | 1989-08-19 | 다기능 데이타 처리기 |
Country Status (5)
Country | Link |
---|---|
US (1) | US4901268A (ko) |
KR (1) | KR0137217B1 (ko) |
CA (1) | CA1325281C (ko) |
FR (1) | FR2635601B1 (ko) |
GB (1) | GB2222012B (ko) |
Families Citing this family (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5001662A (en) * | 1989-04-28 | 1991-03-19 | Apple Computer, Inc. | Method and apparatus for multi-gauge computation |
JP2651267B2 (ja) * | 1990-07-26 | 1997-09-10 | 富士通株式会社 | 演算処理装置及び演算処理方法 |
US5666510A (en) * | 1991-05-08 | 1997-09-09 | Hitachi, Ltd. | Data processing device having an expandable address space |
US5625713A (en) * | 1991-08-09 | 1997-04-29 | Ricoh Corporation | Apparatus and method for increasing the throughput of an acoustic or image compression system |
JPH05282133A (ja) * | 1992-04-01 | 1993-10-29 | Mitsubishi Electric Corp | 演算方式 |
JP2806171B2 (ja) * | 1992-08-31 | 1998-09-30 | 日本電気株式会社 | データ演算装置 |
DE69428466T2 (de) * | 1993-11-23 | 2002-05-23 | Hewlett Packard Co | Parallele Datenverarbeitung in einem Einzelprozessor |
US5509129A (en) * | 1993-11-30 | 1996-04-16 | Guttag; Karl M. | Long instruction word controlling plural independent processor operations |
JP2561055B2 (ja) * | 1994-11-18 | 1996-12-04 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 情報処理装置及びその制御方法 |
US5943242A (en) * | 1995-11-17 | 1999-08-24 | Pact Gmbh | Dynamically reconfigurable data processing system |
US7266725B2 (en) * | 2001-09-03 | 2007-09-04 | Pact Xpp Technologies Ag | Method for debugging reconfigurable architectures |
DE19651075A1 (de) * | 1996-12-09 | 1998-06-10 | Pact Inf Tech Gmbh | Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen |
US6338106B1 (en) | 1996-12-20 | 2002-01-08 | Pact Gmbh | I/O and memory bus system for DFPS and units with two or multi-dimensional programmable cell architectures |
DE19654595A1 (de) * | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen |
DE19654593A1 (de) | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | Umkonfigurierungs-Verfahren für programmierbare Bausteine zur Laufzeit |
DE19654846A1 (de) * | 1996-12-27 | 1998-07-09 | Pact Inf Tech Gmbh | Verfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.) |
EP1329816B1 (de) * | 1996-12-27 | 2011-06-22 | Richter, Thomas | Verfahren zum selbständigen dynamischen Umladen von Datenflussprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o.dgl.) |
DE19704044A1 (de) * | 1997-02-04 | 1998-08-13 | Pact Inf Tech Gmbh | Verfahren zur automatischen Adressgenerierung von Bausteinen innerhalb Clustern aus einer Vielzahl dieser Bausteine |
US6542998B1 (en) | 1997-02-08 | 2003-04-01 | Pact Gmbh | Method of self-synchronization of configurable elements of a programmable module |
DE19704728A1 (de) * | 1997-02-08 | 1998-08-13 | Pact Inf Tech Gmbh | Verfahren zur Selbstsynchronisation von konfigurierbaren Elementen eines programmierbaren Bausteines |
DE19704742A1 (de) * | 1997-02-11 | 1998-09-24 | Pact Inf Tech Gmbh | Internes Bussystem für DFPs, sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen, zur Bewältigung großer Datenmengen mit hohem Vernetzungsaufwand |
US8686549B2 (en) | 2001-09-03 | 2014-04-01 | Martin Vorbach | Reconfigurable elements |
DE19861088A1 (de) * | 1997-12-22 | 2000-02-10 | Pact Inf Tech Gmbh | Verfahren zur Reparatur von integrierten Schaltkreisen |
KR100265362B1 (ko) * | 1997-12-30 | 2000-09-15 | 김영환 | 직병렬 방식을 이용한 마이크로프로세서의 데이터송수신 방법 |
DE19807872A1 (de) | 1998-02-25 | 1999-08-26 | Pact Inf Tech Gmbh | Verfahren zur Verwaltung von Konfigurationsdaten in Datenflußprozessoren sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstruktur (FPGAs, DPGAs, o. dgl. |
KR100668161B1 (ko) * | 1998-10-30 | 2007-01-11 | 신에쯔 한도타이 가부시키가이샤 | 연마용 워크피스 홀더 및 그 제조방법, 워크피스의 연마방법 및 연마장치 |
US6493817B1 (en) * | 1999-05-21 | 2002-12-10 | Hewlett-Packard Company | Floating-point unit which utilizes standard MAC units for performing SIMD operations |
WO2000077652A2 (de) | 1999-06-10 | 2000-12-21 | Pact Informationstechnologie Gmbh | Sequenz-partitionierung auf zellstrukturen |
EP2226732A3 (de) | 2000-06-13 | 2016-04-06 | PACT XPP Technologies AG | Cachehierarchie für einen Multicore-Prozessor |
JP2004517386A (ja) | 2000-10-06 | 2004-06-10 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | 方法および装置 |
US20040015899A1 (en) * | 2000-10-06 | 2004-01-22 | Frank May | Method for processing data |
US8058899B2 (en) | 2000-10-06 | 2011-11-15 | Martin Vorbach | Logic cell array and bus system |
US6990555B2 (en) * | 2001-01-09 | 2006-01-24 | Pact Xpp Technologies Ag | Method of hierarchical caching of configuration data having dataflow processors and modules having two- or multidimensional programmable cell structure (FPGAs, DPGAs, etc.) |
US7210129B2 (en) | 2001-08-16 | 2007-04-24 | Pact Xpp Technologies Ag | Method for translating programs for reconfigurable architectures |
US9037807B2 (en) * | 2001-03-05 | 2015-05-19 | Pact Xpp Technologies Ag | Processor arrangement on a chip including data processing, memory, and interface elements |
US20090300262A1 (en) * | 2001-03-05 | 2009-12-03 | Martin Vorbach | Methods and devices for treating and/or processing data |
US7844796B2 (en) * | 2001-03-05 | 2010-11-30 | Martin Vorbach | Data processing device and method |
US20090210653A1 (en) * | 2001-03-05 | 2009-08-20 | Pact Xpp Technologies Ag | Method and device for treating and processing data |
US7581076B2 (en) | 2001-03-05 | 2009-08-25 | Pact Xpp Technologies Ag | Methods and devices for treating and/or processing data |
US7444531B2 (en) * | 2001-03-05 | 2008-10-28 | Pact Xpp Technologies Ag | Methods and devices for treating and processing data |
WO2005045692A2 (en) * | 2003-08-28 | 2005-05-19 | Pact Xpp Technologies Ag | Data processing device and method |
US7657877B2 (en) * | 2001-06-20 | 2010-02-02 | Pact Xpp Technologies Ag | Method for processing data |
US7996827B2 (en) | 2001-08-16 | 2011-08-09 | Martin Vorbach | Method for the translation of programs for reconfigurable architectures |
US20030037085A1 (en) * | 2001-08-20 | 2003-02-20 | Sandbote Sam B. | Field processing unit |
US7434191B2 (en) * | 2001-09-03 | 2008-10-07 | Pact Xpp Technologies Ag | Router |
US8686475B2 (en) | 2001-09-19 | 2014-04-01 | Pact Xpp Technologies Ag | Reconfigurable elements |
US7577822B2 (en) * | 2001-12-14 | 2009-08-18 | Pact Xpp Technologies Ag | Parallel task operation in processor and reconfigurable coprocessor configured based on information in link list including termination information for synchronization |
AU2003214046A1 (en) * | 2002-01-18 | 2003-09-09 | Pact Xpp Technologies Ag | Method and device for partitioning large computer programs |
AU2003208266A1 (en) * | 2002-01-19 | 2003-07-30 | Pact Xpp Technologies Ag | Reconfigurable processor |
AU2003214003A1 (en) | 2002-02-18 | 2003-09-09 | Pact Xpp Technologies Ag | Bus systems and method for reconfiguration |
WO2003081454A2 (de) * | 2002-03-21 | 2003-10-02 | Pact Xpp Technologies Ag | Verfahren und vorrichtung zur datenverarbeitung |
US8914590B2 (en) * | 2002-08-07 | 2014-12-16 | Pact Xpp Technologies Ag | Data processing method and device |
WO2004088502A2 (de) * | 2003-04-04 | 2004-10-14 | Pact Xpp Technologies Ag | Verfahren und vorrichtung für die datenverarbeitung |
US20110238948A1 (en) * | 2002-08-07 | 2011-09-29 | Martin Vorbach | Method and device for coupling a data processing unit and a data processing array |
US7657861B2 (en) * | 2002-08-07 | 2010-02-02 | Pact Xpp Technologies Ag | Method and device for processing data |
WO2004021176A2 (de) | 2002-08-07 | 2004-03-11 | Pact Xpp Technologies Ag | Verfahren und vorrichtung zur datenverarbeitung |
WO2005010632A2 (en) * | 2003-06-17 | 2005-02-03 | Pact Xpp Technologies Ag | Data processing device and method |
US7394284B2 (en) * | 2002-09-06 | 2008-07-01 | Pact Xpp Technologies Ag | Reconfigurable sequencer structure |
EP1849095B1 (en) * | 2005-02-07 | 2013-01-02 | Richter, Thomas | Low latency massive parallel data processing device |
US7281942B2 (en) * | 2005-11-18 | 2007-10-16 | Ideal Industries, Inc. | Releasable wire connector |
WO2007082730A1 (de) | 2006-01-18 | 2007-07-26 | Pact Xpp Technologies Ag | Hardwaredefinitionsverfahren |
JP4782591B2 (ja) * | 2006-03-10 | 2011-09-28 | 富士通セミコンダクター株式会社 | リコンフィグラブル回路 |
WO2010011813A1 (en) * | 2008-07-23 | 2010-01-28 | Alkermes, Inc. | Complex of trospium and pharmaceutical compositions thereof |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4161784A (en) * | 1978-01-05 | 1979-07-17 | Honeywell Information Systems, Inc. | Microprogrammable floating point arithmetic unit capable of performing arithmetic operations on long and short operands |
US4296469A (en) * | 1978-11-17 | 1981-10-20 | Motorola, Inc. | Execution unit for data processor using segmented bus structure |
US4612628A (en) * | 1983-02-14 | 1986-09-16 | Data General Corp. | Floating-point unit constructed of identical modules |
JPH061438B2 (ja) * | 1984-04-26 | 1994-01-05 | 日本電気株式会社 | 倍精度乗算器 |
JPS61141034A (ja) * | 1984-12-14 | 1986-06-28 | Hitachi Ltd | 演算結果限界割出し装置 |
JPS61239327A (ja) * | 1985-04-16 | 1986-10-24 | Nec Corp | オ−バフロ−検出方式 |
JPS61255433A (ja) * | 1985-05-07 | 1986-11-13 | Mitsubishi Electric Corp | 演算装置 |
US4752901A (en) * | 1985-09-16 | 1988-06-21 | Motorola, Inc. | Arithmetic logic unit utilizing strobed gates |
US4754412A (en) * | 1985-10-07 | 1988-06-28 | Schlumberger Systems & Services, Inc. | Arithmetic logic system using the output of a first alu to control the operation of a second alu |
US4748585A (en) * | 1985-12-26 | 1988-05-31 | Chiarulli Donald M | Processor utilizing reconfigurable process segments to accomodate data word length |
US4760544A (en) * | 1986-06-20 | 1988-07-26 | Plessey Overseas Limited | Arithmetic logic and shift device |
EP0252511B1 (de) * | 1986-07-11 | 1991-05-29 | Siemens Nixdorf Informationssysteme Aktiengesellschaft | Verfahren und Anordnung zur Verknüpfung von Operanden variabler Länge in Datenverarbeitungsanlagen |
US4823260A (en) * | 1987-11-12 | 1989-04-18 | Intel Corporation | Mixed-precision floating point operations from a single instruction opcode |
-
1988
- 1988-08-19 US US07/234,124 patent/US4901268A/en not_active Expired - Fee Related
-
1989
- 1989-06-01 CA CA000601486A patent/CA1325281C/en not_active Expired - Fee Related
- 1989-08-03 FR FR898910476A patent/FR2635601B1/fr not_active Expired - Fee Related
- 1989-08-18 GB GB8918917A patent/GB2222012B/en not_active Expired - Fee Related
- 1989-08-19 KR KR1019890011815A patent/KR0137217B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR900003733A (ko) | 1990-03-26 |
GB2222012A (en) | 1990-02-21 |
FR2635601A1 (fr) | 1990-02-23 |
GB2222012B (en) | 1992-09-09 |
CA1325281C (en) | 1993-12-14 |
GB8918917D0 (en) | 1989-09-27 |
US4901268A (en) | 1990-02-13 |
FR2635601B1 (fr) | 1993-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR0137217B1 (ko) | 다기능 데이타 처리기 | |
JP2674754B2 (ja) | バレル・シフタ | |
US4488252A (en) | Floating point addition architecture | |
US6523107B1 (en) | Method and apparatus for providing instruction streams to a processing device | |
US5161117A (en) | Floating point conversion device and method | |
US4780842A (en) | Cellular processor apparatus capable of performing floating point arithmetic operations | |
JPH02138620A (ja) | 数値量を計算する方法および数値データ処理装置 | |
EP0109770B1 (en) | Testing digital electronic circuits | |
US4835414A (en) | Flexible, reconfigurable terminal pin | |
JP2000155671A (ja) | 浮動小数点演算装置 | |
JP2983542B2 (ja) | 処理高速化装置 | |
CA1167169A (en) | Microprocessor control apparatus | |
US3699326A (en) | Rounding numbers expressed in 2{40 s complement notation | |
EP1384160A2 (en) | Apparatus for variable word length computing in an array processor | |
KR0142334B1 (ko) | 확장된 비트 슬라이스 프로세서 산술논리 연산 유니트 | |
US4247893A (en) | Memory interface device with processing capability | |
US4796218A (en) | Arithmetic circuit capable of executing floating point operation and fixed point operation | |
US4847802A (en) | Method and apparatus for identifying the precision of an operand in a multiprecision floating-point processor | |
US4217657A (en) | Floating point arithmetic control | |
GB1567536A (en) | Data processors | |
EP0602337A1 (en) | High-speed barrel shifter | |
JPH0160856B2 (ko) | ||
GB1580328A (en) | Programmable sequential logic | |
US4644489A (en) | Multi-format binary coded decimal processor with selective output formatting | |
US5070445A (en) | Programmably controlled partially distributed masking mechanism in a programmable unit having variable data path widths |
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: 20020126 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |