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
Application number
KR1019890011815A
Other languages
English (en)
Other versions
KR900003733A (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 KR900003733A publication Critical patent/KR900003733A/ko
Application granted granted Critical
Publication of KR0137217B1 publication Critical patent/KR0137217B1/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7828Architectures of general purpose stored program computers comprising a single central processing unit without memory
    • G06F15/7832Architectures of general purpose stored program computers comprising a single central processing unit without memory on one IC chip (single chip microprocessors)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures 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
    • 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/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • 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/57Arithmetic 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • G06F9/30014Arithmetic instructions with variable precision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3812Devices capable of handling different types of numbers
    • G06F2207/382Reconfigurable for different fixed word lengths
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3812Devices capable of handling different types of numbers
    • G06F2207/3824Accepting both fixed-point and floating-point numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3828Multigauge 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. 제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 비트 데이타 처리장치.
  2. 제1항에 있어서, N은 16이고, N/2은 8인 것을 특징으로 하는 2N 비트 데이타 처리장치.
  3. 제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비트 데이타 처리 장치.
  4. 제1항에 있어서, 상기 스위치 제어 수단은 제4동작 모드로 상기 스위치 수단을 추가로 제어하며, 상기 제4동작 모드는 상기 산술 논리 장치의 상기 제1,제2 및 제3부분을 독립적으로 동작시키기 위해 상기 제1 및 제2스위치 수단양자를 개방시키는 것을 특징으로 하는 2N비트 데이타 처리 장치.
  5. 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비트 데이타 처리 장치.
  6. 비트 수가(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비트 부분을 형성하는 것을 특징으로 하는 데이타 처리 장치.
  7. 제5항에 있어서, N=N2+N3인 것을 특징으로 하는 데이타 처리 장치.
  8. 제7항에 있어서, N1은 16이고, N2는 8이며, N3은 8인 것을 특징으로 하는 데이타 처리 장치.
  9. 제6항에 있어서, N2=N3인 것을 특징으로 하는 데이타 처리 장치.
  10. 제6항에 있어서, 상기 스위치 제어 수단은 제4동작 모드로 상기 스위치 수단을 추가로 제어하며, 상기 제4동작 모드는 상기 산술 논리 장치의 상기 제1,제2,제3부분을 독립적으로 동작시키도록 상기 제1 및 제2스위치 수단을 개방하는 것을 특징으로 하는 데이타 처리 장치.
KR1019890011815A 1988-08-19 1989-08-19 다기능 데이타 처리기 KR0137217B1 (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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