KR100385233B1 - 데이터 프로세싱 시스템의 익스포넌트 유닛 - Google Patents

데이터 프로세싱 시스템의 익스포넌트 유닛 Download PDF

Info

Publication number
KR100385233B1
KR100385233B1 KR10-2000-0012770A KR20000012770A KR100385233B1 KR 100385233 B1 KR100385233 B1 KR 100385233B1 KR 20000012770 A KR20000012770 A KR 20000012770A KR 100385233 B1 KR100385233 B1 KR 100385233B1
Authority
KR
South Korea
Prior art keywords
operand
bit
signal
component
significant bit
Prior art date
Application number
KR10-2000-0012770A
Other languages
English (en)
Other versions
KR20010091260A (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 삼성전자주식회사
Priority to KR10-2000-0012770A priority Critical patent/KR100385233B1/ko
Priority to US09/777,093 priority patent/US6760738B2/en
Priority to CNB011109963A priority patent/CN1224893C/zh
Publication of KR20010091260A publication Critical patent/KR20010091260A/ko
Application granted granted Critical
Publication of KR100385233B1 publication Critical patent/KR100385233B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/74Selecting or encoding within a word the position of one or more bits having a specified value, e.g. most or least significant one or zero detection, priority encoders
    • 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

Abstract

여기에 개시된 익스포넌트 유닛은 외부로부터 제공되는 오퍼랜드의 최상위 비트와 동일한 값을 갖는 연속된 비트들의 개수인 익스포넌트를 출력한다. 이 익스포넌트 유닛은 최소의 하드웨어 추가만으로 리딩 1 검출기(또는 리딩 0 검출기)의 프로세싱 비트 폭보다 큰 비트 폭을 가지는 오퍼랜드의 익스포넌트 값을 구할 수 있다.

Description

데이터 프로세싱 시스템의 익스포넌트 유닛{EXPONENT UNIT FOR DATA PROCESSING SYSTEM}
본 발명은 데이터 프로세싱 시스템에 관한 것으로, 좀 더 구체적으로는 오퍼랜드의 최상위 비트와 동일한 값을 갖는 연속된 비트들의 개수를 출력하는 익스포넌트 유닛(exponent unit)을 포함하는 데이터 프로세싱 시스템에 관한 것이다.
잘 알려진 바와 같이, 디지털 신호 프로세서(digital signal processor; DSP)와 같은 데이터 프로세싱 시스템에서 사용되는 익스포넌트 유닛은 오퍼랜드(operand)의 최상위 비트(most significant bit; MSB)와 동일한 값을 갖는 연속된 비트들의 개수를 검출하는 장치이다. 이러한 익스포넌트 유닛으로부터 출력되는 익스포넌트 값은 고정 소수점 연산이나 곱셈/나눗셈 연산 등을 수행하기 위한 쉬프트 정보로 사용되어 데이터 프로세싱 시스템의 연산 속도를 향상시키는데 도움을 준다.
예를 들어, 이진수 '0.0000011'을 고정 소수점 수로 표현하려면 왼쪽으로 5번 쉬프트해야 하고, 그 때의 지수(exponent)는 십진수 '5'가 된다. 이러한 고정 소수점 변환을 위해 익스포넌트 유닛을 사용하면 용이한 방법으로 지수를 구할 수있다. 즉, 최상위 비트 '0'과 동일한 값을 갖는 익스포넌트는 '6'이 되고, 이 값에서 1을 감소시키면 지수 '5'가 구해진다.
정밀한 데이터 표현을 위해 데이터 프로세싱 시스템에서 사용되는 데이터의 비트 수가 증가함에 따라 데이터 프로세싱 시스템 내부에 구성되는 회로들의 프로세싱 비트 폭을 증가시켜야 하는 것은 자명하다. 따라서, 데이터 프로세싱 시스템의 프로세싱 비트 폭이 증가하면 익스포넌트 유닛의 프로세싱 비트 폭도 증가시켜야만 한다. 익스포넌트 유닛의 프로세싱 비트 폭 증가는 하드웨어 면적의 증가와 생산 비용 증가를 초래한다.
따라서, 본 발명의 목적은 최소의 하드웨어 추가로 적어도 2 배의 데이터 비트들을 처리할 수 있는 데이터 프로세싱 시스템의 익스포넌트 유닛을 제공하는데 있다.
도 1은 본 발명의 바람직한 실시예가 적용되는 디지털 신호 프로세서의 구성을 보여주는 블록도;
도 2는 24 비트 리딩 1 검출기를 이용하여 48 비트 오퍼랜드의 익스포넌트 값을 구할 수 있는 본 발명의 바람직한 실시예에 따른 익스포넌트 유닛의 상세한 블럭도;
도 3은 도 2에 도시된 가수 및 캐리 제어부의 상세 회로도; 그리고
도 4는 본 발명의 바람직한 실시예에 따른 익스포넌트 유닛의 동작을 설명하기 위한 타이밍도이다.
*도면의 주요 부분에 대한 부호의 설명*
10 : 프로그램 메모리 20 : 디지털 신호 프로세서
30 : 프로세서 버스 31 : 프로그램 어드레스 버스
32 : 프로그램 데이터 버스 33 : 데이터 버스
34 : 컨트롤 버스 110 : 파이프라인 컨트롤러
120 : 디코더 130 : ALU
130 : 상태 레지스터 150 : 익스포넌트 유닛
160 : 배럴 쉬프터 170 : 멀티플라이어
202, 204, 206, 208, 210 : 래치 220 : 로직 회로
230 : 익스포넌트 검출기 240 : 가수 및 캐리 제어부
250, 260 : 앤드 게이트 270 : 가산기
상술한 바와 같은 본 발명의 목적을 달성하기 위한 본 발명의 일 특징에 의하면, 외부로부터 제공되는 오퍼랜드의 최상위 비트와 동일한 값을 갖는 연속된 비트들의 개수인 익스포넌트를 출력하는 익스포넌트 유닛은: 상기 오퍼랜드의 최상위 비트와 동일한 값을 갖는 연속된 비트들의 개수를 검출하는 검출 수단, 단정밀도 모드인 경우에 그리고 배정밀도 모드이면서 이전 제 1 상태 비트가 셋되어 있고 상기 오퍼랜드의 최상위 비트가 이전 제 2 상태 비트와 동일한 경우에 상기 검출 수단의 검출 값을 가수로 출력하고, 그리고 배정밀도 모드인 경우에 상기 이전 제 1상태 비트가 셋되어 있고 상기 오퍼랜드의 최상위 비트가 상기 이전 제 2 상태 비트와 동일할 때 캐리 신호를 발생하는 가수 및 캐리 제어 수단, 배정밀도 모드인 경우 이전 오퍼랜드의 익스포넌트를 피가수로 출력하는 피가수 제어 수단, 상기 가수, 피가수 그리고 캐리 신호를 합하는 가산기 그리고 상기 오퍼랜드의 모든 비트들이 동일한 값을 갖는 지를 검사하고 그것들이 동일한 값을 갖는 경우 제 1 상태 비트를 셋하고, 상기 오퍼랜드의 최하위 비트로 제 2 상태 비트를 셋하는 로직 회로를 포함한다. 상기 가산기로부터 출력되는 합 신호는 상기 오퍼랜드의 익스포넌트로 출력된다.
본 발명의 목적을 달성하기 위한 본 발명의 다른 특징에 의하면, 데이터 프로세싱 시스템은: 오퍼랜드의 최상위 비트와 동일한 값을 갖는 연속된 비트들의 개수인 익스포넌트를 출력하는 익스포넌트 유닛, 제 1 및 제 2 상태 비트들을 저장하는 상태 레지스터 그리고 외부로부터 제공되는 명령어를 디코드하고, 디코드된 명령어가 익스포넌트 명령어이면 명령어에 포함된 오퍼랜드와 상기 상태 레지스터에 저장된 제 1 및 제 2 상태 비트들을 상기 익스포넌트 유닛으로 제공하고, 상기 디코드된 명령어가 단정밀도 익스포넌트 명령어이면 제 1 레벨을 그리고 배정밀도 익스포넌트 명령어이면 제 2 레벨을 갖는 모드 신호를 출력하는 디코더를 포함한다.
상기 익스포넌트 유닛은, 상기 상태 레지스터로부터 제공된 제 1 및 제 2 상태 비트들을 각각 래치하는 제 1 및 제 2 래치들, 상기 오퍼랜드의 최상위 비트와 동일한 값을 갖는 연속된 비트들의 개수를 검출하는 검출 수단, 상기 모드 신호가 제 1 레벨인 경우 그리고 상기 모드 신호가 제 2 레벨이면서 상기 제 1 래치에 래치된 제 1 상태 비트가 셋되어 있고 상기 오퍼랜드의 최상위 비트가 상기 제 2 래치에 래치된 제 2 상태 비트와 동일한 경우에 상기 검출 수단의 검출 값을 가수로 출력하고, 그리고 상기 모드 신호가 제 2 레벨인 경우에 상기 제 1 래치에 래치된 제 1 상태 비트가 셋되어 있고 상기 오퍼랜드의 최상위 비트가 상기 제 2 래치에 래치된 제 2 상태 비트와 동일할 때 캐리 신호를 발생하는 가수 및 캐리 제어 수단, 상기 모드 신호가 제 2 레벨인 경우 이전 오퍼랜드의 익스포넌트를 피가수로 출력하는 피가수 제어 수단, 상기 가수, 피가수 그리고 캐리 신호를 합하는 가산기 그리고 상기 오퍼랜드의 모든 비트들이 동일한 값을 갖는 지를 검사하고 그것들이 동일한 값을 갖는 경우 상기 상태 레지스터의 제 1 상태 비트를 셋하고, 상기 오퍼랜드의 최하위 비트로 상기 상태 레지스터의 제 2 상태 비트를 셋하는 로직 회로를 포함한다. 상기 가산기로부터 출력되는 합 신호는 상기 오퍼랜드의 익스포넌트로 출력된다. 상기 제 1 및 제 2 래치들은 래치된 값을 소정 시간 동안 유지시키며 상기 배정밀도 익스포넌트 명령어는 상기 단정밀도 익스포넌트 명령어가 발생한 후 연이어 발생된다.
(작용)
이와 같이 최소의 하드웨어 추가만으로 리딩 1 검출기(또는 리딩 0 검출기)의 프로세싱 비트 폭보다 큰 비트 폭을 가지는 오퍼랜드의 익스포넌트 값을 구할 수 있는 익스포넌트 유닛이 구현된다.
(실시예)
이하 본 발명에 따른 실시예를 첨부된 도면 도 1 내지 도 4를 참조하여 상세히 설명한다.
도 1은 본 발명의 바람직한 실시예가 적용되는 디지털 신호 프로세서의 구성을 보여주는 블록도이다.
프로세서 버스(30)는 외부 프로그램 메모리(10)와 상기 디지털 신호 프로세서(20)를 상호 연결한다. 상기 프로세서 버스(30)는 프로그램 어드레스 버스(31), 프로그램 데이터 버스(32), 데이터 버스(33) 그리고 컨트롤 버스(34)를 포함한다. 상기 디지털 신호 프로세서(20)는 상기 프로세서 버스(30)와 연결된 파이프라인 컨트롤러(110), 디코더(120), 산술 로직 유닛(arithmetic logic unit; 130), 상태 레지스터(status register; 140), 익스포넌트 유닛(exponent unit; 150), 배럴 쉬프터(barrel shifter; 160) 그리고 멀티플라이어(multiplier; 170)를 포함한다.
이 실시예에서 상기 디지털 신호 프로세서(20)는 파이프라인 프로세싱을 수행한다. 이 파이프라인은 여러 개의 단계들을 포함한다. 이 단계들은, 예를 들면, 페치(fetch) 단계, 디코드(decode) 단계, 실행(execute) 단계이다. 이러한 파이프라인 단계들은 상기 파이프라인 컨트롤러(110)에 의해 제어된다. 이 파이프라인 컨트롤러(110)는 프로그램 메모리(10)로부터 페치할 명령어의 어드레스를 발생한다. 디코더(120)는 상기 프로그램 메모리(10)로부터 페치된 명령어를 디코드하고, 디코드된 명령어가 익스포넌트 명령어이면 페치된 명령어에 포함되어 있는 오퍼랜드(operand)를 익스포넌트 유닛(150)으로 제공하고 그리고 상기 상태 레지스터(140)에 저장되어 있는 상태 비트들(오버플로우 비트, 캐리 비트)이 상기 익스포넌트 유닛(150)으로 제공되도록 제어한다.
익스포넌트 명령어는 단정밀도(single precision; 또는 표준) 익스포넌트 명령어와 배정밀도(double precision) 익스포넌트 명령어로 나뉘어진다.
EXP A
상기 명령어는 오퍼랜드 A의 익스포넌트를 평가(evaluation)하기 위한 명령어로서 단정밀도 익스포넌트 명령어이다. 상기 오퍼랜드 A는 예를 들면, 24 비트(단정밀도)이다. 48 비트(배정밀도) 오퍼랜드의 익스포넌트 값은 다음과 같은 명령어들을 사용하여 2 사이클(cycle) 동안 구할 수 있다.
//Double precision exponent evaluation about {A, B}
EXP A
EXPC B
즉, 단정밀도 익스포넌트 명령어 "EXP A"를 이용하여 48 비트 오퍼랜드의 상위 24 비트(A)의 익스포넌트 값을 구하고 나서 배정밀도 익스포넌트 명령어 "EXPC B"를 이용하여 하위 24 비트(B)의 익스포넌트 값을 구한다. 단, 배정밀도 익스포넌트 명령어는 반드시 단정밀도 명령어에 이어서 발생되고, 48 비트 오퍼랜드의 전체 익스포넌트 값은 상위 24 비트(A)의 익스포넌트 값과 하위 24 비트(B)의 익스포넌트 값의 합과 같다.
이러한 단정밀도 익스포넌트 명령어와 배정밀도 익스포넌트 명령어에 응답하여 단정밀도(24 비트) 오퍼랜드의 익스포넌트 값뿐만 아니라 배정밀도(48 비트) 오퍼랜드 오퍼랜드의 익스포넌트 값을 구할 수 있는 본 발명의 바람직한 실시예에 따른 익스포넌트 유닛의 상세한 구성이 도 2에 도시되어 있다. 특히, 이 실시예에서는 24 비트 리딩 1 검출기(234)를 이용하여 48 비트 오퍼랜드의 익스포넌트 값을 구할 수 있다.
도 2를 참조하면, 상기 익스포넌트 유닛(150)은 래치들(202, 204, 206, 208, 210), 로직 회로(220), 익스포넌트 검출기(230), 가수 및 캐리 제어부(240), 앤드 게이트들(250, 260) 그리고 가산기(270)를 포함한다. 상기 래치들(202, 204)은 상기 상태 레지스터(140)에 저장된 캐리 비트(CARRYi-1)와 오버플로우 비트(OVERFLOWi-1)를 데이터 버스(33)를 통하여 받아들여 각각 래치한다. 상기 래치(206)는 프로그램 데이터 버스(32)를 통해 입력되는 오퍼랜드(DATA[23:0])를 래치한다. 상기 래치(208)는 디코더(120)에서 디코드된 명령어가 단정밀도 익스포넌트 명령어인지 또는 배정밀도 익스포넌트 명령어인지를 나타내는 모드 신호(MODE)를 래치한다. 상기 모드 신호(MODE)는 디코드된 명령어가 단정밀도 익스포넌트 명령어일 때 하이 레벨(논리 '1')을 그리고 디코드된 명령어가 배정밀도 익스포넌트 명령어일 때 로우 레벨(논리 '0')을 갖는다. 그리고 래치(210)는 이전 오퍼랜드의 익스포넌트(EXPi-1)를 래치한다. 상기 래치들(202, 204, 206, 208, 210)은 래치된 값을 한 사이클 동안 유지시킨다.
상기 익스포넌트 검출기(230)는 멀티플렉서(232)와 24 비트 리딩 1 검출기(leading one detector; 234)로 구성되어 오퍼랜드(DATA[23:0])의 익스포넌트 값을 검출한다. 상기 멀티플렉서(232)는 상기 래치(206)에 래치된 오퍼랜드의 최상위 비트(DATA[23])가 '0'이면 상기 래치(206)에 래치된 오퍼랜드를 반전시켜 출력하고, '1'이면 상기 래치(206)에 래치된 오퍼랜드를 그대로 출력한다. 따라서, 상기 멀티플렉서(232)로부터 출력되는 오퍼랜드의 최상위 비트는 항상 '1'이 된다. 상기 리딩 1 검출기(234)는 상기 멀티플렉서(232)로부터 출력되는 오퍼랜드를 받아들여 (최상위 비트-1) 번째 비트부터 연속된 '1'의 개수를 검출한다. 상기 멀티플렉서(232)로부터 출력되는 오퍼랜드의 최상위 비트는 항상 '1'이므로, 상기 리딩 1 검출기(234)는 최상위 비트('1')와 동일한 값을 가지는 연속된 비트들의 개수(즉, 익스포넌트 값)를 검출할 수 있다. 상기 익스포넌트 검출기(230) 내에 리딩 1 검출기(234) 대신 리딩 0 검출기가 구성되면 상기 멀티플렉서(232)는 최상위 비트가 '0'일 때 상기 래치(206)에 래치된 오퍼랜드를 그대로 출력하고, '1'이면 상기 래치(206)에 래치된 오퍼랜드를 반전시켜 출력하도록 설계하면 된다.
디코드된 명령어가 단정밀도 익스포넌트 명령어인 경우, 상기 익스포넌트 검출기(230)에서 검출된 값은 오퍼랜드 A의 참된 익스포넌트 값이다. 그러나, 배정밀도 익스포넌트 명령어인 경우, 상기 익스포넌트 검출기(230)에서 검출된 값은 오퍼랜드 B의 익스포넌트 값이므로 이전 오퍼랜드 A의 익스포넌트 값과 더해져야 배정밀도 오퍼랜드의 참된 익스포넌트 값을 구할 수 있다. 디코드된 명령어가 단정밀도 익스포넌트 명령어 인지 또는 배정밀도 익스포넌트 명령어 인지에 따라서 상기 익스포넌트 검출기(230)에서 검출된 값을 그대로 출력하거나 또는 이전 오퍼랜드의 익스포넌트 값과 더하는 동작은 추후 설명되는 가수 및 캐리 제어부(240), 앤드 게이트들(250, 260) 그리고 가산기(270)에 의해 수행된다.
상기 로직 회로(220)는 멀티플렉서들(222, 228), 앤드 게이트(224) 그리고 전체 1 검사기(226)를 포함한다. 상기 전체 1 검사기(226)는 상기 익스포넌트 검출기(230)의 멀티플렉서(232)로부터 출력되는 오퍼랜드의 모든 비트들이 동일한 값을 갖는 지의 여부를 검사하는 회로도이다. 이 실시예에서 상기 멀티플렉서(232)는 최상위 비트가 '1'이 되도록 오퍼랜드(DATA[23:0])를 반전 또는 비반전시켜 출력하므로, 오퍼랜드의 모든 비트들이 '1'인 지를 검사하면 오퍼랜드의 모든 비트들이 동일한 값을 갖는 지의 여부를 알 수 있다. 상기 전체 1 검사기(226)는 예를 들면 앤드 게이트로 구성될 수 있고, 오퍼랜드의 모든 비트들이 동일한 값('1')을 가지면 하이 레벨의 신호를 출력한다.
디코드된 명령어가 단정밀도 익스포넌트 명령어인 경우(즉, 모드 신호(MODE)가 로우 레벨인 경우)에 상기 전체 1 검사기(226)로부터 출력되는 신호는 오버플로우 비트(OVERFLOWi)로 출력된다. 즉, 오퍼랜드(DATA[23:0])의 모든 비트들이 '1'인 경우 상기 오버플로우 비트(OVERFLOWi)가 '1'로 셋(set)된다. 캐리 비트(CARRYi)는 상기 래치(206)에 래치된 오퍼랜드의 최하위 비트(DATA[0])로 셋된다.
한편, 디코드된 명령어가 배정밀도 익스포넌트 명령어인 경우(즉, 모드 신호(MODE)가 하이 레벨인 경우)에는 다른 방법으로 오버플로우 비트(OVERFLOWi)의값을 설정한다. 구체적으로, 멀티플렉서(222)는 현재 오퍼랜드의 최상위 비트(DATA[23])가 '0'이면 이전 캐리 비트(CARRYi-1)를 반전시켜 출력하고, '1'이면 이전 캐리 비트(CARRYi-1)를 그대로 출력한다. 앤드 게이트(224)는 상기 멀티플렉서(222)의 출력 신호와 상기 전체 1 검사기(226)의 출력 신호를 앤드 연산한다. 이 앤드 게이트(224)의 출력 신호는 상기 오버플로우 비트(OVERFLOWi)로 셋된다. 즉, 디코드된 명령어가 배정밀도 익스포넌트 명령어인 경우에는 이전 캐리 비트(CARRYi-1; 즉, 이전 오퍼랜드의 최하위 비트)가 현재 오퍼랜드의 최상위 비트(DATA[23])와 동일한 값을 가질 때 상기 전체 1 검사기(226)의 출력 신호는 상기 오버플로우 비트(OVERFLOWi)로 셋된다.
다시 말하면, 단정밀도 익스포넌트 명령을 수행하고 나서 상기 오버플로우 비트(OVERFLOWi)가 '1'로 셋되어 있으면 24 비트 오퍼랜드의 모든 비트들이 동일한 값을 가짐을 알 수 있고, 배정밀도 익스포넌트 명령어를 수행하고 나서 상기 오버플로우 비트(OVERFLOWi)가 '1'로 설정되어 있으면 48 비트 오퍼랜드의 모든 비트들이 동일한 값을 가짐을 알 수 있다. 특히, 배정밀도 익스포넌트 명령어인 경우에 상위 24 비트가 모두 동일한 값을 가지고, 하위 24 비트 명령어가 동일한 값을 가지더라도 상위 24 비트와 하위 24 비트가 서로 다른 값을 갖는 것은 충분한 개연성을 갖는다. 이러한 경우 상기 오버플로우 비트(OVERFLOWi)가 '1'로 셋되지 않도록 이전 오퍼랜드 A의 최하위 비트와 현재 오퍼랜드 B의 최상위 비트가 동일한 지의 여부를 판단하기 위해 캐리 비트(CARRYi), 멀티플렉서(222) 그리고 앤드게이트(224)가 사용되었다.
상기 로직 회로(220)로부터 출력되는 캐리 비트(CARRYi)와 오버플로우 비트(OVERFLOWi)는 도 1에 도시된 상태 레지스터(140)에 저장된다. 그러나, 명령어가 수행되고 있는 한 사이클동안 상기 래치들(202, 204)에 래치된 이전 캐리 비트(CARRYi-1)와 이전 오버플로우 비트(OVERFLOWi-1)는 유지된다.
상기 가수 및 캐리 제어부(240)는 상기 래치들(202, 204, 206, 208)에 래치된 값들(CARRYi-1, OVERFLOWi-1, MODE, DATA[23])을 받아들여 조합하고 매스크 신호(MASK)와 캐리 신호(Cin)를 발생한다. 좀 더 구체적으로, 상기 가수 및 캐리 제어부(240)는 도 3에 도시된 바와 같이, 앤드 게이트들(302, 308), 익스클루시브 오아 게이트(304) 및 인버터(306)로 구성된 제 1 로직 회로(242) 그리고 인버터(312)와 오아 게이트(314)로 구성된 제 2 로직 회로(244)를 포함한다. 상기 제 1 로직 회로(242)는 상기 모드 신호(MODE)가 하이 레벨인 동안(즉, 디코드된 명령어가 단정밀도 익스포넌트 명령어인 경우) 상기 래치(204)에 래치된 오버플로우 비트(OVERFLOWi-1)가 '1'이고, 상기 래치(202)에 래치된 캐리 비트(CARRYi-1)와 오퍼랜드의 최상위 비트(DATA[23])가 동일할 때 하이 레벨의 컨트롤 신호(CTRL)를 출력한다. 상기 제 2 로직 회로(244)는 상기 모드 신호(MODE)가 로우 레벨이거나(즉, 디코드된 명령어가 단정밀도 익스포넌트 명령어인 경우) 상기 컨트롤 신호(CTRL)가 하이 레벨일 때 매스크 신호(MASK)를 출력한다. 또한 상기 제 1 로직 회로(242)로부터 출력되는 제어 신호(CTRL)는 캐리 신호(Cin)로 출력된다.
다시 도 2를 참조하면, 앤드 게이트(250)는 상기 가수 및 캐리 제어부(240)로부터 출력되는 매스크 신호(MASK)에 응답하여 상기 익스포넌트 검출기(230)로부터 출력되는 익스포넌트 값을 선택적으로 상기 가산기(270)의 가수(X1)로 제공한다. 다시 말하면, 디코드된 명령어가 단정밀도 익스포넌트 명령어인 경우에는 상기 익스포넌트 검출기(230)로부터 출력되는 익스포넌트 값을 곧바로 상기 가산기(270)의 가수(X1)로 제공하고, 반면 배정밀도 익스포넌트 명령어인 경우에는 이전 오퍼랜드의 모든 비트들이 동일한 값을 갖고 이전 오퍼랜드의 최하위 비트와 현재 오퍼랜드의 최상위 비트가 동일한 값을 가질 때에만 상기 익스포넌트 검출기(230)로부터 출력되는 익스포넌트 값을 상기 가산기(270)의 가수(X1)로 제공한다.
상기 앤드 게이트(260)는 상기 모드 신호(MODE)와 이전 오퍼랜드의 익스포넌트 값(EXPi-1)을 앤드 연산하고, 그 결과를 상기 가산기(270)의 피가수(X2)로 제공한다. 상기 가산기(270)는 상기 앤드 게이트(250)를 통해 제공되는 현재 오퍼랜드의 익스포넌트 값(X1)과 이전 오퍼랜드의 익스포넌트 값(X2) 그리고 캐리 신호(Cin)를 합한다. 상기 가산기(270)로부터 출력되는 익스포넌트 값(EXPi)은 현재 디코드된 익스포넌트 명령어의 참된 익스포넌트 값이다.
계속해서 도 4에 도시된 타이밍도를 참조하여 본 발명의 바람직한 실시예에 따른 익스포넌트 유닛의 동작이 설명된다. 이 실시예에서는 배정밀도 수인 '0.000 0000 0000 0000 0000 0000 0000 0000 0100 1100 1010 1110"의 익스포넌트 값을 구하기 위해 다음과 같은 배정밀도 익스포넌트 명령어가 수행되는 과정이 설명된다.
EXP A
EXPC B
단, A = 0.000 0000 0000 0000 0000 0000
B = 0000 0000 0100 1100 1010 1110
제 1 클럭 사이클(Cycle 1) 동안, 파이프라인 컨트롤러(110)는 프로그램 메모리(10)로부터 페치될 어드레스(ADDR1)를 발생한다. 상기 프로그램 메모리(10)에서 페치된 명령어(EXP A)는 프로그램 데이터 버스(32)에 실린다.
제 2 클럭 사이클(Cycle 2) 동안, 상기 프로그램 메모리(10)에서 페치된 명령어(EXP A)는 프로그램 데이터 버스(32)를 통하여 디코더(120)의 명령어 레지스터(instruction register; IR)로 제공된다. 상기 디코더(120)는 명령어 레지스터(IR)에 저장된 명령어를 디코드하고, 디코드된 명령어가 익스포넌트 명령어이면 오퍼랜드(A)를 상기 익스포넌트 유닛(150)으로 제공하고, 또한 상태 레지스터(140)에 저장된 캐리 비트(CARRYi-1)와 오버플로우 비트(OVERFLOWi-1)가 상기 익스포넌트 유닛(150)으로 제공되도록 제어한다. 상기 디코더(120)로부터 제공된 오퍼랜드(A)는 프로그램 데이터 버스(32)를 통하여 익스포넌트 유닛(150)의 래치(206)에 래치되고, 상기 상태 레지스터(140)로부터 제공된 캐리 비트(CARRYi-1)와 오버플로우 비트(OVERFLOWi-1)는 데이터 버스(34)를 통하여 익스포넌트 유닛(150)의 래치들(202, 204)에 각각 래치된다. 또한, 상기 디코더(120)는 상기 디코드된 명령어가 단정밀도 익스포넌트 명령어이므로 로우 레벨(논리 '0')의 모드 신호(D_MODE)를 발생한다. 이 모드 신호(D_MODE)는 래치(208)에 래치된다. 한편, 상기 파이프라인 컨트롤러(110)는 제 2 클럭 사이클 동안 다음 페치 어드레스(ADDR2)를 발생한다. 상기 프로그램 메모리(10)에서 페치된 명령어(EXP A)는 프로그램 데이터 버스(32)에 로드된다.
제 3 클럭 사이클 동안, 상기 익스포넌트 유닛(150)은 오퍼랜드(A)의 익스포넌트 값을 구한다. 상기 멀티플렉서(232)는 상기 래치(206)에 래치된 오퍼랜드(DATA[23:0])의 최상위 비트가 '0'이므로 반전된 오퍼랜드를 선택 출력한다. 따라서, 상기 멀티플렉서(232)를 통해 출력되는 오퍼랜드는 '1111 1111 1111 1111 1111 1111'이다. 상기 리딩 1 검출기(234)는 (최상위 비트-1) 번째 비트부터 연속된 '1'의 개수를 검출한다. 이 예에서 상기 리딩 1 검출기(234)로부터 출력되는 값은 십진수 '23'이다.
상기 모드 신호(MODE)가 로우 레벨이므로 상기 가수 및 캐리 제어부(240)로부터 출력되는 매스크 신호(MASK)는 하이 레벨로 된다. 따라서, 상기 리딩 1 검출기(234)로부터 출력되는 신호는 앤드 게이트(250)를 통하여 가산기(270)의 가수(X1)로 제공된다. 그러나, 상기 모드 신호(MODE)가 로우 레벨이므로 상기 가산기(270)의 피가수(X2)와 캐리 신호(Cin)는 '0'이 된다. 따라서, 상기가산기(270)는 십진수 '23'을 출력(EXPi)한다. 이 값은 상기 오퍼랜드(A)의 익스포넌트 값이 된다.
그리고, 상기 멀티플렉서(232)로부터 출력되는 오퍼랜드의 모든 비트들은 '1'이므로 상기 오버플로우 비트(OVERFLOWi)는 '1'로 셋된다. 상기 래치(206)에 래치된 오퍼랜드의 최하위 비트(DATA[0])가 '0'이므로 상기 캐리 비트(CARRYi)는 '0'으로 셋된다. 이 상태 비트들(OVERFLOWi, CARRYi)은 데이터 버스(33)를 통하여 상태 레지스터(140)에 저장된다.
한편, 제 3 클럭 사이클 동안, 상기 프로그램 메모리(10)에서 페치된 명령어(EXPC B)는 프로그램 데이터 버스(32)를 통하여 디코더(120)의 명령어 레지스터(instruction register; IR)로 제공된다. 제 3 클럭 사이클 동안 상기 디코더(120)는 명령어 레지스터(IR)에 저장된 명령어를 디코드하고, 디코드된 명령어가 익스포넌트 명령어이면 오퍼랜드(B)를 상기 익스포넌트 유닛(150)으로 제공한다. 또한, 상기 디코더(120)는 상태 레지스터(140)에 저장된 캐리 비트(CARRYi-1)와 오버플로우 비트(OVERFLOWi-1)가 상기 익스포넌트 유닛(150)으로 제공되도록 제어한다. 이 캐리 비트(CARRYi-1)와 오버플로우 비트(OVERFLOWi-1)는 이전 익스포넌트 명령어(EXP A)를 수행하고 나서 설정된 값들을 갖는다. 상기 디코더(120)로부터 제공된 오퍼랜드(B)는 프로그램 데이터 버스(32)를 통하여 익스포넌트 유닛(150)의 래치(206)에 래치되고, 상기 상태 레지스터(140)로부터 제공된 캐리 비트(CARRYi-1)와 오버플로우 비트(OVERFLOWi-1)는 데이터 버스(34)를 통하여 익스포넌트 유닛(150)의 래치들(202, 204)에 각각 래치된다. 또한, 상기 디코더(120)는 상기 디코드된 명령어가 배정밀도 익스포넌트 명령어이므로 하이 레벨(논리 '1')의 모드 신호(D_MODE)를 발생한다.
제 4 클럭 사이클 동안, 상기 익스포넌트 유닛(150)은 오퍼랜드(B = 0000 0000 0100 1100 1010 1110)의 익스포넌트 값을 구한다. 상기 멀티플렉서(232)는 상기 래치(206)에 래치된 오퍼랜드(DATA[23:0])의 최상위 비트가 '0'이므로 반전된 오퍼랜드를 선택 출력한다. 따라서, 상기 멀티플렉서(232)를 통해 출력되는 오퍼랜드는 '1111 1111 1011 0011 0101 0001'이다. 상기 리딩 1 검출기(234)는 (최상위 비트-1) 번째 비트부터 연속된 '1'의 개수를 검출한다. 이 예에서 상기 리딩 1 검출기(234)로부터 출력되는 값은 십진수 '8'이다.
상기 모드 신호(MODE)가 하이 레벨, 이전 오버플로우 비트(OVERFLOWi-1)가 '1', 이전 캐리 비트(CARRYi-1)가 '0' 그리고 오퍼랜드(B)의 최상위 비트(DATA[23])가 '0'이므로 상기 가수 및 캐리 제어부(240)로부터 출력되는 매스크 신호(MASK)는 하이 레벨로 된다. 따라서, 상기 리딩 1 검출기(234)로부터 출력되는 신호는 앤드 게이트(250)를 통하여 가산기(270)의 가수(X1)로 제공된다. 그리고, 상기 모드 신호(MODE)가 하이 레벨이므로 이전 오퍼랜드(A)의 익스포넌트 값(EXPi-1)은 앤드 게이트(260)를 통하여 상기 가산기(270)의 피가수(X2)로 제공된다. 그리고 상기 가수 및 캐리 제어부(240)로부터 가산기(270)로 제공되는 캐리 신호(Cin)는 '1'이 된다.따라서, 상기 가산기(270)는 가수(X1), 피가수(X2) 그리고 캐리 신호(Cin)를 모두 더한 값인 십진수 '32'를 오퍼랜드(B)의 익스포넌트 값으로 출력(EXPi)한다.
상기 리딩 1 검출기(234)는 제 3 사이클 동안 오퍼랜드(A)의 익스포넌트 값으로 십진수 '23'을 출력하고, 제 4 사이클 동안 오퍼랜드(B)의 익스포넌트 값으로 십진수 '8'을 출력한다. 따라서, 오퍼랜드들(A, B)의 익스포넌트 값들의 합은 '31'이다. 그러나, 배정밀도 수 '0.000 0000 0000 0000 0000 0000 0000 0000 0100 1100 1010 1110'의 실제 익스포넌트 값은 32이어야 한다. 따라서, 이전 오퍼랜드(A)의 모든 비트들이 동일한 값을 가지며 이전 오퍼랜드(A)의 최하위 비트와 현재 오퍼랜드(B)의 최상위 비트가 동일한 값을 갖는 경우 캐리 신호(Cin)가 '1'이 되어 가산기(270)로 제공된다.
한편, 상기 멀티플렉서(232)로부터 출력되는 오퍼랜드의 모든 비트들은 '1'이 아니므로 상기 오버플로우 비트(OVERFLOWi)는 '0'으로 셋된다. 그리고, 상기 래치(206)에 래치된 오퍼랜드의 최하위 비트(DATA[0])는 '0'이므로 상기 캐리 비트(CARRYi)는 '0'으로 셋된다. 이 상태 비트들(OVERFLOWi, CARRYi)은 데이터 버스(33)를 통하여 상태 레지스터(140)에 저장된다.
상술한 바와 같은 본 발명에 의하면, 24 비트 리딩 1 검출기를 이용하여 2 클럭 사이클 내에 48 비트 오퍼랜드의 익스포넌트 값을 구할 수 있다. 따라서, 최소의 하드웨어 추가만으로 리딩 1 검출기의 프로세싱 비트 폭보다 큰 비트 폭을 가지는 오퍼랜드의 익스포넌트 값을 구할 수 있다. 또한, 이러한 회로 구성을 갖는 익스포넌트 유닛은 실제 처리하고자 하는 데이터 비트 폭의 1/2 비트 폭을 처리하는 리딩 1 검출기를 구비해도 되므로 하드웨어 면적을 현저히 줄일 수 있을 뿐만 아니라 생산 비용도 절감할 수 있다.
예시적인 바람직한 실시예들을 이용하여 본 발명을 설명하였지만, 본 발명의 범위는 개시된 실시예들에 한정되지 않는다는 것이 잘 이해될 것이다. 오히려, 본 발명의 범위에는 다양한 변형 예들 및 그 유사한 구성들을 모두 포함될 수 있도록 하려는 것이다. 따라서, 청구 범위는 그러한 변형 예들 및 그 유사한 구성들 모두를 포함하는 것으로 가능한 폭넓게 해석되어야 한다.
이상과 같은 본 발명에 의하면, 최소의 하드웨어 추가만으로 리딩 1 검출기의 프로세싱 비트 폭보다 큰 비트 폭을 가지는 오퍼랜드의 익스포넌트 값을 구할 수 있다.

Claims (14)

  1. 외부로부터 제공되는 오퍼랜드의 최상위 비트와 동일한 값을 갖는 연속된 비트들의 개수인 익스포넌트를 출력하는 익스포넌트 유닛에 있어서:
    상기 오퍼랜드의 최상위 비트와 동일한 값을 갖는 연속된 비트들의 개수를 검출하는 검출 수단과;
    단정밀도 모드인 경우에 그리고 배정밀도 모드이면서 이전 제 1 상태 비트가 셋되어 있고 상기 오퍼랜드의 최상위 비트가 이전 제 2 상태 비트와 동일한 경우에 상기 검출 수단의 검출 값을 가수로 출력하고, 그리고 배정밀도 모드인 경우에 상기 이전 제 1 상태 비트가 셋되어 있고 상기 오퍼랜드의 최상위 비트가 상기 이전 제 2 상태 비트와 동일할 때 캐리 신호를 발생하는 가수 및 캐리 제어 수단과;
    배정밀도 모드인 경우 이전 오퍼랜드의 익스포넌트를 피가수로 출력하는 피가수 제어 수단과;
    상기 가수, 피가수 그리고 캐리 신호를 합하는 가산기; 그리고
    상기 오퍼랜드의 모든 비트들이 동일한 값을 갖는 지를 검사하고 그것들이 동일한 값을 갖는 경우 제 1 상태 비트를 셋하고, 상기 오퍼랜드의 최하위 비트로 제 2 상태 비트를 셋하는 로직 회로를 포함하되;
    상기 가산기로부터 출력되는 합 신호는 상기 오퍼랜드의 익스포넌트로 출력되고, 그리고
    상기 배정밀도 모드는 상기 단정밀도 모드가 발생한 후 연이어 발생되는 것을 특징으로 하는 익스포넌트 유닛.
  2. 제 1 항에 있어서,
    상기 단정밀도 모드인 경우 제 1 레벨을 그리고 배정밀도 모드인 경우 제 2 레벨을 가지는 모드 신호를 더 포함하는 것을 특징으로 하는 익스포넌트 유닛.
  3. 제 2 항에 있어서,
    상기 가수 및 캐리 제어 수단은,
    상기 배정밀도 모드인 동안 상기 이전 제 1 상태 비트가 셋되어 있고 상기 오퍼랜드의 최상위 비트가 상기 제 2 상태 비트와 동일할 때 제어 신호를 출력하는 제 1 로직 회로와;
    상기 모드 신호의 반전된 신호와 상기 제어 신호를 논리 합하여 매스크 신호를 출력하는 제 2 로직 회로와;
    상기 매스크 신호에 응답하여 상기 검출 수단의 검출 값을 상기 가수로 선택 출력하는 제 3 로직 회로를 포함하고; 그리고
    상기 제어 신호는 상기 캐리 신호로 제공되는 것을 특징으로 하는 익스포넌트 유닛.
  4. 제 2 항에 있어서,
    상기 피가수 제어 수단은, 상기 모드 신호와 상기 이전 오퍼랜드의 익스포넌트를 논리 곱하여 상기 가산기의 피가수로 출력하는 제 4 로직 회로를 포함하는 것을 특징으로 하는 익스포넌트 유닛.
  5. 제 1 항에 있어서,
    상기 검출 수단은,
    상기 오퍼랜드의 최상위 비트가 논리 '0'일 때 반전된 오퍼랜드를 그리고 상기 오퍼랜드의 최상위 비트가 논리 '1'일 때 상기 오퍼랜드를 선택 출력하는 제 1 멀티플렉서와;
    상기 오퍼랜드의 (최상위 비트-1) 번째 비트부터 논리 '1'의 개수를 검출하는 리딩 1 검출기를 포함하는 것을 특징으로 하는 익스포넌트 유닛.
  6. 제 5 항에 있어서,
    상기 로직 회로는,
    상기 제 1 멀티플렉서로부터 출력되는 오퍼랜드의 각 비트들이 모두 논리 '1'인 지를 검사하고 검사 신호를 출력하는 검사기를 포함하는 것을 특징으로 하는 익스포넌트 유닛.
  7. 제 2 항 및 제 6 항에 있어서,
    상기 로직 회로는,
    상기 오퍼랜드의 최상위 비트가 논리 '1'일 때 상기 이전 제 2 상태 비트를그리고 상기 오퍼랜드의 최상위 비트가 논리 '0'일 때 반전된 이전 제 2 상태 비트를 출력 신호로 선택 출력하는 제 2 멀티플렉서와;
    상기 제 2 멀티플렉서의 출력 신호와 상기 검사기로부터의 검사 신호를 논리 곱하는 앤드 게이트; 그리고
    상기 모드 신호에 응답하여 상기 검사기로부터의 검사 신호 또는 상기 앤드 게이트로부터의 출력 신호를 상기 제 1 상태 비트로 선택 출력하는 제 3 멀티플렉서를 포함하는 것을 특징으로 하는 익스포넌트 유닛.
  8. 제 2 항에 있어서,
    상기 이전 제 1 상태 비트를 저장하는 제 1 래치와;
    상기 이전 제 2 상태 비트를 저장하는 제 2 래치와;
    상기 모드 신호를 저장하는 제 3 래치와;
    상기 외부로부터 제공되는 오퍼랜드를 저장하는 제 4 래치; 그리고
    상기 이전 오퍼랜드의 익스포넌트를 저장하는 제 5 래치를 더 포함하되;
    상기 제 1 내지 제 5 래치들은 래치된 값을 소정 시간 동안 유지하는 것을 특징으로 하는 익스포넌트 유닛.
  9. 데이터 프로세싱 시스템에 있어서:
    오퍼랜드의 최상위 비트와 동일한 값을 갖는 연속된 비트들의 개수인 익스포넌트를 출력하는 익스포넌트 유닛과;
    제 1 및 제 2 상태 비트들을 저장하는 상태 레지스터; 그리고
    외부로부터 제공되는 명령어를 디코드하고, 디코드된 명령어가 익스포넌트 명령어이면 명령어에 포함된 오퍼랜드와 상기 상태 레지스터에 저장된 제 1 및 제 2 상태 비트들을 상기 익스포넌트 유닛으로 제공하고, 상기 디코드된 명령어가 단정밀도 익스포넌트 명령어이면 제 1 레벨을 그리고 배정밀도 익스포넌트 명령어이면 제 2 레벨을 갖는 모드 신호를 출력하는 디코더를 포함하되;
    상기 익스포넌트 유닛은,
    상기 상태 레지스터로부터 제공된 제 1 및 제 2 상태 비트들을 각각 래치하는 제 1 및 제 2 래치들과;
    상기 오퍼랜드의 최상위 비트와 동일한 값을 갖는 연속된 비트들의 개수를 검출하는 검출 수단과;
    상기 모드 신호가 제 1 레벨인 경우 그리고 상기 모드 신호가 제 2 레벨이면서 상기 제 1 래치에 래치된 제 1 상태 비트가 셋되어 있고 상기 오퍼랜드의 최상위 비트가 상기 제 2 래치에 래치된 제 2 상태 비트와 동일한 경우에 상기 검출 수단의 검출 값을 가수로 출력하고, 그리고 상기 모드 신호가 제 2 레벨인 경우에 상기 제 1 래치에 래치된 제 1 상태 비트가 셋되어 있고 상기 오퍼랜드의 최상위 비트가 상기 제 2 래치에 래치된 제 2 상태 비트와 동일할 때 캐리 신호를 발생하는 가수 및 캐리 제어 수단과;
    상기 모드 신호가 제 2 레벨인 경우 이전 오퍼랜드의 익스포넌트를 피가수로 출력하는 피가수 제어 수단과;
    상기 가수, 피가수 그리고 캐리 신호를 합하는 가산기; 그리고
    상기 오퍼랜드의 모든 비트들이 동일한 값을 갖는 지를 검사하고 그것들이 동일한 값을 갖는 경우 상기 상태 레지스터의 제 1 상태 비트를 셋하고, 상기 오퍼랜드의 최하위 비트로 상기 상태 레지스터의 제 2 상태 비트를 셋하는 로직 회로를 포함하고;
    상기 가산기로부터 출력되는 합 신호는 상기 오퍼랜드의 익스포넌트로 출력되고;
    상기 제 1 및 제 2 래치들은 래치된 값을 소정 시간 동안 유지시키며;
    상기 배정밀도 익스포넌트 명령어는 상기 단정밀도 익스포넌트 명령어가 발생한 후 연이어 발생되는 것을 특징으로 하는 데이터 프로세싱 시스템.
  10. 제 9 항에 있어서,
    상기 가수 및 캐리 제어 수단은,
    상기 모드 신호가 제 2 레벨을 갖고, 상기 제 1 래치에 래치된 제 1 상태 비트가 셋되어 있고 그리고 상기 오퍼랜드의 최상위 비트가 상기 제 2 래치에 래치된 제 2 상태 비트와 동일할 때 제어 신호를 출력하는 제 1 로직 회로와;
    상기 모드 신호의 반전된 신호와 상기 제어 신호를 논리 합하여 매스크 신호를 출력하는 제 2 로직 회로와;
    상기 매스크 신호에 응답하여 상기 검출 수단의 검출 값을 상기 가수로 선택 출력하는 제 3 로직 회로를 포함하고; 그리고
    상기 제어 신호는 상기 캐리 신호로 제공되는 것을 특징으로 하는 데이터 프로세싱 시스템.
  11. 제 9 항에 있어서,
    상기 피가수 제어 수단은, 상기 모드 신호와 상기 이전 오퍼랜드의 익스포넌트를 논리 곱하여 상기 가산기의 피가수로 출력하는 제 4 로직 회로를 포함하는 것을 특징으로 하는 데이터 프로세싱 시스템.
  12. 제 9 항에 있어서,
    상기 검출 수단은,
    상기 오퍼랜드의 최상위 비트가 논리 '0'일 때 반전된 오퍼랜드를 그리고 상기 오퍼랜드의 최상위 비트가 논리 '1'일 때 상기 오퍼랜드를 선택 출력하는 제 1 멀티플렉서와;
    상기 오퍼랜드의 (최상위 비트-1) 번째 비트부터 논리 '1'의 개수를 검출하는 리딩 1 검출기를 포함하는 것을 특징으로 하는 데이터 프로세싱 시스템.
  13. 제 12 항에 있어서,
    상기 로직 회로는,
    상기 제 1 멀티플렉서로부터 출력되는 오퍼랜드의 각 비트들이 모두 논리 '1'인 지를 검사하고 검사 신호를 출력하는 검사기를 포함하는 것을 특징으로 하는데이터 프로세싱 시스템.
  14. 제 12 항에 있어서,
    상기 로직 회로는,
    상기 오퍼랜드의 최상위 비트가 논리 '1'일 때 상기 제 2 래치에 래치된 제 2 상태 비트를 그리고 상기 오퍼랜드의 최상위 비트가 논리 '0'일 때 상기 제 2 래치에 래치된 제 2 상태 비트의 반전된 신호를 출력 신호로 선택 출력하는 제 2 멀티플렉서와;
    상기 제 2 멀티플렉서의 출력 신호와 상기 검사기로부터의 검사 신호를 논리 곱하는 앤드 게이트; 그리고
    상기 모드 신호에 응답하여 상기 검사기로부터의 검사 신호 또는 상기 앤드 게이트로부터의 출력 신호 가운데 하나를 상기 상태 레지스터의 제 1 상태 비트에 셋하는 제 3 멀티플렉서를 포함하는 것을 특징으로 하는 데이터 프로세싱 시스템.
KR10-2000-0012770A 2000-03-14 2000-03-14 데이터 프로세싱 시스템의 익스포넌트 유닛 KR100385233B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR10-2000-0012770A KR100385233B1 (ko) 2000-03-14 2000-03-14 데이터 프로세싱 시스템의 익스포넌트 유닛
US09/777,093 US6760738B2 (en) 2000-03-14 2001-02-05 Exponent unit of data processing system
CNB011109963A CN1224893C (zh) 2000-03-14 2001-03-09 幂运算单元和数据处理系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2000-0012770A KR100385233B1 (ko) 2000-03-14 2000-03-14 데이터 프로세싱 시스템의 익스포넌트 유닛

Publications (2)

Publication Number Publication Date
KR20010091260A KR20010091260A (ko) 2001-10-23
KR100385233B1 true KR100385233B1 (ko) 2003-05-23

Family

ID=19654999

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0012770A KR100385233B1 (ko) 2000-03-14 2000-03-14 데이터 프로세싱 시스템의 익스포넌트 유닛

Country Status (3)

Country Link
US (1) US6760738B2 (ko)
KR (1) KR100385233B1 (ko)
CN (1) CN1224893C (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100829788B1 (ko) * 2006-07-07 2008-05-16 삼성전자주식회사 커맨드 디코딩 시스템, 플래시 메모리 커맨드 디코딩시스템 및 이를 이용한 방법
CN105786444B (zh) * 2014-12-26 2018-10-12 联想(北京)有限公司 一种浮点数尾数前导零检测方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6198442A (ja) * 1984-10-19 1986-05-16 Nec Corp 演算装置
JPH0527949A (ja) * 1991-07-25 1993-02-05 Fujitsu Ltd 浮動小数点乗算における指数部演算回路
US5677861A (en) * 1994-06-07 1997-10-14 Matsushita Electric Industrial Co., Ltd. Arithmetic apparatus for floating-point numbers
KR19990054337A (ko) * 1997-12-26 1999-07-15 윤종용 지수연산 장치
KR20010036735A (ko) * 1999-10-11 2001-05-07 윤종용 상이한 워드 길이의 산술연산을 수행하는 데이터 처리장치 및 그 방법

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5010515A (en) * 1987-07-28 1991-04-23 Raster Technologies, Inc. Parallel graphics processor with workload distributing and dependency mechanisms and method for distributing workload
US5208665A (en) * 1987-08-20 1993-05-04 Telaction Corporation Presentation player for an interactive digital communication system
JPH07122868B2 (ja) * 1988-11-29 1995-12-25 日本電気株式会社 情報処理装置
JP2712131B2 (ja) * 1989-01-23 1998-02-10 株式会社日立製作所 通信制御装置
GB8915136D0 (en) * 1989-06-30 1989-08-23 Inmos Ltd Method for controlling communication between computers
CA2026527A1 (en) * 1989-10-11 1991-04-12 Douglas A. Fischer Parallel polygon/pixel rendering engine
JPH0758510B2 (ja) * 1989-10-31 1995-06-21 株式会社東芝 三次元図形処理装置
JP2910303B2 (ja) * 1990-06-04 1999-06-23 株式会社日立製作所 情報処理装置
US5461266A (en) * 1990-11-27 1995-10-24 Hitachi, Ltd. Power consumption control system
US5276836A (en) * 1991-01-10 1994-01-04 Hitachi, Ltd. Data processing device with common memory connecting mechanism
JP3059520B2 (ja) * 1991-05-24 2000-07-04 キヤノン株式会社 データ処理装置及びファクシミリ装置
US5493644A (en) * 1991-07-11 1996-02-20 Hewlett-Packard Company Polygon span interpolator with main memory Z buffer
EP0549924A1 (en) * 1992-01-03 1993-07-07 International Business Machines Corporation Asynchronous co-processor data mover method and means
US5926208A (en) * 1992-02-19 1999-07-20 Noonen; Michael Video compression and decompression arrangement having reconfigurable camera and low-bandwidth transmission capability
JPH05242232A (ja) * 1992-02-28 1993-09-21 Hitachi Ltd 情報処理装置及び映像表示装置
US5655131A (en) * 1992-12-18 1997-08-05 Xerox Corporation SIMD architecture for connection to host processor's bus
US5596742A (en) * 1993-04-02 1997-01-21 Massachusetts Institute Of Technology Virtual interconnections for reconfigurable logic systems
DE69322372T2 (de) * 1993-04-06 1999-04-29 St Microelectronics Srl Für zwei verschiedene Protokollstandards geeignete Schnittstellenschaltung zwischen einem Steuerbus und einer integrierten Schaltung
US5655151A (en) * 1994-01-28 1997-08-05 Apple Computer, Inc. DMA controller having a plurality of DMA channels each having multiple register sets storing different information controlling respective data transfer
JPH07225852A (ja) * 1994-02-15 1995-08-22 Fujitsu Ltd 動画生成方法および装置
WO1996013902A1 (en) * 1994-11-01 1996-05-09 Virtual Machine Works, Inc. Programmable multiplexing input/output port
US5675808A (en) * 1994-11-02 1997-10-07 Advanced Micro Devices, Inc. Power control of circuit modules within an integrated circuit
US5561820A (en) * 1994-11-30 1996-10-01 International Business Machines Corporation Bridge for interfacing buses in computer system with a direct memory access controller having dynamically configurable direct memory access channels
US5646651A (en) * 1994-12-14 1997-07-08 Spannaus; John Block mode, multiple access multi-media/graphics memory
US5644218A (en) * 1995-02-01 1997-07-01 Superconductivity, Inc. Protection device for a superconducting coil of a superconducting voltage stabilizer
US5682513A (en) * 1995-03-31 1997-10-28 International Business Machines Corporation Cache queue entry linking for DASD record updates
JPH10506492A (ja) * 1995-07-21 1998-06-23 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ 高性能密度を有するマルチメディアプロセッサアーキテクチャ
US6006318A (en) * 1995-08-16 1999-12-21 Microunity Systems Engineering, Inc. General purpose, dynamic partitioning, programmable media processor
US5864704A (en) * 1995-10-10 1999-01-26 Chromatic Research, Inc. Multimedia processor using variable length instructions with opcode specification of source operand as result of prior instruction
JP3429927B2 (ja) * 1995-10-16 2003-07-28 三菱電機株式会社 浮動小数点演算装置の正規化回路装置
US6154760A (en) * 1995-11-27 2000-11-28 Intel Corporation Instruction to normalize redundantly encoded floating point numbers
US5898892A (en) * 1996-05-17 1999-04-27 Advanced Micro Devices, Inc. Computer system with a data cache for providing real-time multimedia data to a multimedia engine
US5996058A (en) * 1996-08-19 1999-11-30 Samsung Electronics Company, Ltd. System and method for handling software interrupts with argument passing
US6078339A (en) * 1998-02-10 2000-06-20 Intel Corporation Mutual exclusion of drawing engine execution on a graphics device
US6041400A (en) * 1998-10-26 2000-03-21 Sony Corporation Distributed extensible processing architecture for digital signal processing applications
US6301594B1 (en) * 1999-03-11 2001-10-09 Sun Microsystems, Inc. Method and apparatus for high-speed exponent adjustment and exception generation for normalization of floating-point numbers

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6198442A (ja) * 1984-10-19 1986-05-16 Nec Corp 演算装置
JPH0527949A (ja) * 1991-07-25 1993-02-05 Fujitsu Ltd 浮動小数点乗算における指数部演算回路
US5677861A (en) * 1994-06-07 1997-10-14 Matsushita Electric Industrial Co., Ltd. Arithmetic apparatus for floating-point numbers
KR19990054337A (ko) * 1997-12-26 1999-07-15 윤종용 지수연산 장치
KR20010036735A (ko) * 1999-10-11 2001-05-07 윤종용 상이한 워드 길이의 산술연산을 수행하는 데이터 처리장치 및 그 방법

Also Published As

Publication number Publication date
CN1224893C (zh) 2005-10-26
KR20010091260A (ko) 2001-10-23
US20010023424A1 (en) 2001-09-20
US6760738B2 (en) 2004-07-06
CN1319797A (zh) 2001-10-31

Similar Documents

Publication Publication Date Title
EP0513595B1 (en) An apparatus for performing multiplications with reduced power and a method therefor
US5241492A (en) Apparatus for performing multiply and accumulate instructions with reduced power and a method therefor
JP4938844B2 (ja) 非正規化オペランドのためのモードベース乗算−加算プロセッサ
KR100239029B1 (ko) 가산기와 함께 사용하기 위한 결과 정규화기 및 결과 정규화 방법과 그를 포함하는 데이터 프로세서
US5862065A (en) Method and circuit for fast generation of zero flag condition code in a microprocessor-based computer
JPH0542011B2 (ko)
JPS6347827A (ja) 妥当性応答発生装置
JP2001034472A (ja) データ処理装置および除算、剰余算アルゴリズム
US5349671A (en) Microprocessor system generating instruction fetch addresses at high speed
US5615113A (en) Early signaling of no-overflow for nonrestoring twos complement division
US6078940A (en) Microprocessor with an instruction for multiply and left shift with saturate
GB2549153B (en) Apparatus and method for supporting a conversion instruction
KR100385233B1 (ko) 데이터 프로세싱 시스템의 익스포넌트 유닛
US6263424B1 (en) Execution of data dependent arithmetic instructions in multi-pipeline processors
US20060136536A1 (en) Data processing apparatus and method for converting a fixed point number to a floating point number
US8244783B2 (en) Normalizer shift prediction for log estimate instructions
JPH1091395A (ja) プロセッサ
US6094669A (en) Circuit and method for determining overflow in signed division
US6519620B1 (en) Saturation select apparatus and method therefor
US7237000B2 (en) Speed of execution of a conditional subtract instruction and increasing the range of operands over which the instruction would be performed correctly
JP2591250B2 (ja) データ処理装置
EP0356940A2 (en) Finite state machine
JP2615746B2 (ja) ビット操作回路
US5801978A (en) Overflow detection for integer-multiply instruction
JP2006338215A (ja) ベクトル積和演算回路

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: 20130430

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20140430

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20150430

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20160429

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20170427

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20180430

Year of fee payment: 16

LAPS Lapse due to unpaid annual fee