KR101371931B1 - 제어된 데이터 액세스를 이용하여 다중 데이터 타입을 저장하는 데이터 파일 - Google Patents
제어된 데이터 액세스를 이용하여 다중 데이터 타입을 저장하는 데이터 파일 Download PDFInfo
- Publication number
- KR101371931B1 KR101371931B1 KR1020127031020A KR20127031020A KR101371931B1 KR 101371931 B1 KR101371931 B1 KR 101371931B1 KR 1020127031020 A KR1020127031020 A KR 1020127031020A KR 20127031020 A KR20127031020 A KR 20127031020A KR 101371931 B1 KR101371931 B1 KR 101371931B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- fields
- bit
- bits
- entry
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 23
- 230000000295 complement effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 235000004522 Pentaglottis sempervirens Nutrition 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- 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
-
- 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/30098—Register arrangements
- G06F9/30105—Register structure
- G06F9/30112—Register structure comprising data of variable length
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Executing Machine-Instructions (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
컴퓨터의 레지스터나 데이터 파일이 여러 데이터 타입을 효율적으로 저장하는 방법 및 장치를 제공한다. 단일 데이터 파일은 다양한 크기와 가수의 포맷(정수, 분수 및 대분수 포함)을 가지는 데이터를 저장할 수 있다. 레지스터 파일은 필드로 나뉘며, 이에 따라 레지스터 파일의 관련 부분이 읽기 되거나 쓰기 된다.
Description
본 발명은 디지털 프로세서에 관한 것이며 구체적으로, 본 발명은 다른 데이터 타입을 저장할 수 있는 프로세서의 데이터 파일에 관한 것이다.
대부분의 프로그램 가능한 디지털 프로세서는 레지스터 파일을 이용하여 프로세서에 데이터를 저장한다. J.L.헤네시 및 D.A. 패터슨의 컴퓨터 아키텍쳐("양적 접근", 3판, 모건 카우프만 출판, 2003)을 참조한다. 대부분의 프로세서에서, n-비트 레지스터를 포함하는 정수 레지스터 파일은 n과 동일하거나 적은 크기를 가지는 정수 데이터 타입을 저장할 수 있다. 그러나, 이러한 프로세서에서, 더 작은 데이터 타입이 더 큰 데이터 타입(즉, 모든 n 비트 데이터가 읽기 되거나 쓰기 된다)과 동일한 미케니즘을 사용하여 접속된다. 따라서, 더 작은 데이터 타입에 대해서도 전력 소모를 줄이지 못한다. 일부 레지스터 파일은 정수와 부유-포인트 데이터 타입 모두를 저장한다. V.Y. 고쉬테인 및 O.A. 에프리모바의 "공동 레지스터 파일을 이용한 정수 및 부동 소수점 동작의 충돌-없는 실행에 대한 방법 및 장치" 및 미국 특허 번호 제6,668,316호(2003년, 12월 23일)를 참조한다. 그러나, 연산수 데이터 타입에 기반하여 레지스터 파일의 특정 부분이 접속되도록 함으로써, 이러한 레지스터 파일이 전력 소모를 줄이지는 않는다.
명령 세트 프로세서는 일반적으로 폭넓은 다양성을 가지는 데이터 타입을 지원한다. 디지털 신호 처리 및 멀티미디어 애플리케이션을 위한 명령 세트 프로세서에서, 공통 데이터 타입은 정수와, 분수 및 대분수(mixed number)들을 포함한다. 이러한 데이터-타입은 고정-포인트라 불리는데, 왜냐하면 이진 소수점(binary point)이 고정된 위치에 존재하기 때문이다. 데이터 타입은 일반적으로 다양한 크기를 가진다(예, 8, 16, 32, 40 또는 64 비트). 큰 크기의 데이터 타입은 넓은 범위의 숫자를 나타내거나 정확성이 더 높은 숫자를 나타내는데 사용될 수 있으나, 더 많은 저장 용량과 더 많은 기능 유닛을 필요로 한다. 더 작은 크기의 데이터 타입은 더 적은 저장 용량과 더 적은 기능 유닛을 필요로 하나 넓은 범위나 정확도를 제공하지 않는다.
도 1은 데이터 타입의 다양성을 나타낸다. 맨 위의 두 개의 데이터 타입은 정수에 대응하고, 그 다음 두 개의 데이터 타입은 분수에 대응하며, 마지막 두 개의 데이터 타입은 대분수(mixed number)에 대응한다. 도 1에서, 숫자의 최하위 비트가 오른쪽에 위치하고, 최상위 비트가 왼쪽에 위치한다. 정수에 있어서, 숫자의 모든 비트가 이진 소수점(binary point)의 좌측으로 존재한다. 부호 없는(언사인드, unsigned) n-비트 정수는 0부터 2n-1까지의 범위를 가지며, 2의 보수 n-비트 정수는 -2n-1부터 2n-1-1까지의 범위를 가진다. 언사인드 분수에 있어서, 숫자의 모든 비트가 이진 소수점의 오른쪽에 위치하며, 반면에, 이의 보수 분수(도 1에 도시되지 않음)에 대하여 이진 소수점의 왼쪽으로 부호 비트가 존재하고, 비트의 나머지가 이진 소수점의 오른쪽으로 위치한다. 언사인드 n-비트 분수는 0부터 1-2n 사이의 범위를 가진다. 그리고 이의 보수 n-비트 분수는 -1 에서 1-2n-1 사이의 범위를 가진다. 대분수(mixed number)는 정수 비트(integer bit)가 이진 소수점의 좌측에 위치하도록 하고 분수 비트(fration bit)가 이진 소수점의 우측에 위치하도록 한다. i 정수 비트와 (n-i) 분수 비트와 혼합된 언사인드 대분수는 0부터 2i-2-n+i 사이의 범위를 가지며, 이의 보수 대분수는 -2i-1부터 2 i-1- 2 --n+i-1 사이의 범위를 가진다.
도 1에서, 각 타입의 숫자는 더 긴 데이터 타입과 더 짧은 데이터 타입으로 도시된다. 실제로, 각 타입의 숫자에 대한 둘 이상의 크기가 존재한다. 명령 세트 프로세서에서, 서로 다른 데이터 타입은 서로 다른 레지스터 파일 내에 저장될 것이다. 예를 들어, 일반적인 목적의 프로세서에서, 정수와 부동 소수점 데이터 타입이 일반적으로 구분된 레지스터 파일을 가진다. 그러나 이러한 접근법은 프로세서의 영역과 전력 소모를 증가시키며, 성능을 저하한다. 다른 선택사항은 동일한 레지스터 파일 내에 모든 데이터 타입을 저장하도록 하는 것이다. 그러나 이 경우에, 프로세서는 일반적으로 최대 사용가능한 데이터 타입을 이용하여 레지스터 파일을 읽거나 쓴다. 이는 많은 양의 전력이 소모되도록 한다. 예를 들어, 사용가능한 최대 데이터 타입이 32 비트라면, 레지스터 파일 내 각 레지스터의 크기는 32 비트이다. 16 비트 및 8 비트 데이터 타입은 동일한 32 비트 레지스터를 사용하고, 데이터 타입에 관계없이, 레지스터 파일에 대한 모든 액세스는 32비트에 관한 것이다.
명령 세트 프로세서에서, 데이터는 일반적으로 하나 이상의 레지스터 파일 내에 저장된다. D.A 패터슨과 J.L. 헤네시의 "컴퓨터 구조 및 설계(하드웨어/소프트웨어 인터페이스, 2판, 모건 카우프만 출판, 1998)"를 참조한다. 도 2는 하나 조합된 읽기/쓰기 포트 k 어드레스 비트를 포함하는 레지스터 파일과 n 데이터 비트를 나타낸다. 이러한 레지스터 파일은 2k x n 비트 데이터 전체를 2k n-비트 레지스터로 저장한다. n 데이터 비트는 레지스터 파일에 읽기나 쓰기가 되는 데이터에 대응한다. k 어드레스 비트는 액세스 될 레지스터의 위치를 나타낸다. 인에이블 제어 신호는 레지스터 파일이 활성화되어야 하는지 여부를 나타낸다. 읽기/쓰기 제어 신호는 레지스터 파일이 읽기나 쓰기 되어야 하는지 여부를 나타낸다. 레지스터 파일에 대한 어드레스가 복호화(decode)되고, 특정 레지스터 파일이 읽기나 쓰기가 되어야 하는지 여부를 결정하기 위한 인에이블 및 읽기/쓰기 제어 신호와 결합하여 사용된다. 레지스터 파일 구현예는 일반적으로 레지스터의 수, 레지스터의 크기, 읽기 및 쓰기 포트의 수, 및 제어 신호의 타입에 따라 변화한다. N.H.E 웨스트 및 캄란 에쉬라기안의, CMOS VLSI 디자인 원리(시스템 조감, 2판, AT&T, 1993)를 참조한다.
본 발명의 장치 및 방법에 있어서, 단일 레지스터 파일(register file)은 다른 크기를 가지며, 정수, 분수 및 대분수를 포함하는 다양한 데이터 타입을 저장할 수 있다. 서로 다른 레지스터 파일에 서로 다른 데이터 타입을 저장하는 것에 비교할 때, 이러한 어프로치는 영역 및 전력 소모를 줄인다. 전력 소모를 더 줄이기 위해, 레지스터 파일이 세그먼트(segment)나 필드(field)로 나뉠 수 있으며, 따라서 특정 데이터 타입이 액세스 될 때, 레지스터 파일의 관련 부분이 액세스 된다(예, 읽기 또는 쓰기).
본 발명은 n 데이터 비트와 k 어드레스 비트를 가지는 데이터 파일을 포함하는 디지털 프로세서이다. 데이터 파일은 데이터(Data) 포트와, 어드레스 포트와, 하나 이상의 읽기/쓰기(Read/Write) 포트를 가진다. n 데이터 비트는 m 필드와 m 인에이블(enable) 포트로 나뉘므로 하나 이상의 필드가 각 어드레스에 대해 활성화될 수 있다. n은 프로세서가 수동하도록 설계된 최대 비트 데이터 타입의 비트 수를 나타낸다. 최소 필드의 데이터 비트(nj)의 수는 프로세서가 수용하도록 설계된 최소 비트 데이터 타입의 비트의 수와 동일할 수 있다. 개별적으로 활성화되거나 함께 활성화될 때, 각 필드(j)의 데이터 비트(nj)의 수가 복수의 서로 다른 데이터 비트(nj) 데이터 타입을 수용하도록 선택된다.
데이터 파일은 레지스터 데이터 파일일 수 있다. 데이터 파일은 다음의 고정 포인트 데이터 타입의 둘 이상을 수용한다. 즉, 정수, 분수 및 대분수가 그것이다. 정수 부분과 대분수의 분수 부분은 두 개의 인접한 필드에 존재한다. 각각의 필드(j)는 nj 데이터 비트를 가지며, 선택된 데이터 타입에 필요한 필드의 수만이 각각의 읽기/쓰기 동작에 대해 활성화된다.
본 발명이 이하에서 첨부된 도면을 참조하여 상세히 설명될 것이다.
도 1은 정수와, 분수와, 대분수를 포함하며 서로 다른 크기를 가지는 다양한 공통 데이터 타입을 나타낸다.
도 2는 하나의 읽기/쓰기 포트를 가지는 n-비트 레지스터 파일에 의해 일반적인 2k-워드를 나타낸다.
도 3은 본 발명에 따라 여러 필드로 나뉜 레지스터를 나타낸다.
도 4는 본 발명에 따라 네 개의 필드로 나뉜 64-비트 레지스터를 나타낸다.
도 5는 본 발명에 따라 세 개의 필드로 나뉜 40-비트 레지스터를 나타낸다.
도 6은 본 발명에 따라 각 레지스터가 개별적으로 활성화되며, 여러 개의 더 작은 레지스터 파일들로 나뉜 레지스터 파일을 나타낸다.
도 2는 하나의 읽기/쓰기 포트를 가지는 n-비트 레지스터 파일에 의해 일반적인 2k-워드를 나타낸다.
도 3은 본 발명에 따라 여러 필드로 나뉜 레지스터를 나타낸다.
도 4는 본 발명에 따라 네 개의 필드로 나뉜 64-비트 레지스터를 나타낸다.
도 5는 본 발명에 따라 세 개의 필드로 나뉜 40-비트 레지스터를 나타낸다.
도 6은 본 발명에 따라 각 레지스터가 개별적으로 활성화되며, 여러 개의 더 작은 레지스터 파일들로 나뉜 레지스터 파일을 나타낸다.
본 발명은 컴퓨터 레지스터나 데이터 파일 내에 여러 데이터 타입을 효과적으로 저장하기 위한 방법 및 장치이다. 이전 기술과 비교하면, 단일 레지스터나 데이터 파일은 여러 데이터 타입을 저장하는 데 사용되며, 레지스터 파일의 필요한 부분만이 읽거나 쓰기 된다. 이를 달성하기 위한 하나의 방법이 도 3에 도시된다. 도 3은 여러 필드로 구획된 레지스터 파일 내에 단일 레지스터를 나타내며, 여기서 m은 필드의 전체 수를 나타낸다. 필드 각각은 사이즈 면에서 변경될 수 있으며, 임의 수의 필드일 수 있다. 필드(j)의 수는 nj로 표시된다. 필드(n1+n2+...nj)의 길이의 합은 레지스터 파일에 저장될 가장 큰 데이터 타입만큼 커야 한다. 나아가, 각 데이터 타입이 하나 이상의 필드를 액세스함으로써 액세스 (읽기 또는 쓰기)될 수 있도록 레지스터가 구획되어야 한다.
본 발명의 일 실시예로서, 8 비트, 16 비트, 32 비트 및 64 비트 정수를 지원하는 프로세서를 가정한다. 가장 큰 데이터 타입의 크기가 64 비트이기 때문에, 각 레지스터는 모든 데이터 타입이든 저장하기 위해서 64비트이어야 한다. 도 4에 도시된 바와 같이, 각 64 비트 레지스터는 네 개의 필드로 분할될 수 있다. 즉, 두 개의 8 비트 필드(Field 1, Field 2), 하나의 16 비트 필드(Field 3) 그리고 하나의 32 비트 필드(Field 4)로 나뉜다. 8 비트 정수가 필드 1(Field 1)에 저장된다. 16 비트 정수가 필드 1(Field 1) 및 필드 2(Field 2)에 저장된다. 32비트 정수는 필드 1 내지 3(Field 1-3)에 저장된다. 그리고 64 비트 정수는 필드 1 내지 4(Field 1-4)에 저장된다. 특정 데이터 타입에 대해 레지스터 파일을 액세스할 때, 대응하는 필드만이 활성화되거나 액세스 된다.
본 발명의 제 2 실시예로서, 16 비트 및 32 비트 정수와 분수, 그리고 8비트 정수 비트(integer bit)를 가지는 24 비트 및 40비트 대분수를 지원하는 프로세서를 고려한다. 최대 데이터 타입의 크기가 40 비트이므로, 각 레지스터는 40 비트이어야 한다. 도 5에 도시된 바와 같이, 각각의 40 비트 레지스터는 세 개의 필드로 나뉠 수 있다(두 개의 16 비트 필드(Field 1 및 Field 2)와, 하나의 8 비트 필드(Field 3)). 정수에 대해, 이진 소수점은 필드 1(Field 1)의 우측에 위치한다. 따라서, 16 비트 정수는 필드 1(Field 1)에 저장되며, 32 비트 정수는 필드 1 및 2 (Field 1, 2)내에 저장된다. 대분수와 분수에 대해, 이진 소수점 3 사이에 위치한다. 따라서, 16 비트 분수는 필드 2(Field 2)에 저장되고, 32 비트 분수는 필드 1 및 2 (Field 1, 2)에 저장된다. 24 비트 대분수는 필드 2 및 3(Field 2, 3)에 저장되고 40 비트 대분수는 필드 1 내지 3(Field 1-3)에 저장된다.
도 6은 하나의 조합된 읽기/쓰기 포트(Read/Write), k 어드레스 비트(Address) 및 n 데이터 비트(Data)를 가지는 레지스터 파일에 대한 제안된 발명의 하나의 가능한 구현 예를 나타낸다. 여러 개의 읽기 및 쓰기 포트를 가지는 레지스터 파일이나 또 다른 레지스터 파일 구성으로 동일한 개념이 쉽게 확장될 수 있다. 도 2에 도시된 레지스터 파일과 유사하게, 도 6에 저장된 레지스터 파일은 2k x n 비트 전체를 저장한다. 이는 m 개의 더 작은 레지스터 파일로 구획되며, 이때 레지스터 파일(k)은 2k x nj 데이터 비트를 2k - nj 비트 레지스터로 저장한다. 도 3에 도시된 바와 같이, 레지스터 파일은 동일한 방법으로 개별적인 레지스터로 구획된다. 레지스터 파일(j)은 어드레스 비트 모두와, 읽기/쓰기 신호(Read/Write), 고유 데이터의 nj 비트, 그리고 고유의 인에이블 신호(Enable)를 수신한다. 인에이블 신호는 액세스 될 데이터 타입에 따라 설정되어 레지스터 파일의 적합한 부분 만이 읽기나 쓰기 된다.
본 발명이 레지스터 파일에 대해 상세히 설명 및 묘사되었으나, 이는 설명 및 예를 들기 위한 것이며, 본 발명의 제한하기 위한 것이 아니며, 본 발명의 원리는 다른 데이터 파일에 적용가능 함이 명확히 이해되어야 한다. 필드(j)의 nj- 데이터 비트의 수가 여러 정수(예, 8, 16, 32, 64)로 도시되었으나, 다른 필드 길이가 사용될 수 있다. 본 발명의 범위는 첨부된 청구항의 용어에 의해서만 제한된다.
Claims (22)
- 데이터 파일(file)을 포함하는 디지털 프로세서에 있어서, 상기 데이터 파일은:
데이터 포트와;
어드레스 포트와;
읽기 및 쓰기 포트와;
각각이 어드레스를 가지고, 복수의 필드로 나뉘는 복수의 엔트리; 그리고
상기 엔트리에 의해 저장된 데이터 타입의 비트의 수에 근거하여
각각의 엔트리에서 복수의 필드 중 하나 이상을 선택하는 복수의 인에이블 포트를 포함하며,
상기 복수의 필드 중 하나의 데이터 비트 길이는 상기 복수의 필드 중 다른 하나의 데이터 비트 길이와 다르고, 그리고
상기 데이터 파일이 하나의 읽기 및 쓰기 포트를 포함하며,
상기 복수의 필드는 서로 다른 데이터 비트 길이를 가지는 복수의 데이터 타입을 저장하도록 구성되는 것임을 특징으로 하는 디지털 프로세서. - 제 1 항에 있어서,
각각의 엔트리는 상기 디지털 프로세서에 의해 저장된 최대 비트 데이터 타입의 데이터 비트의 수와 동일한 전체 비트 길이를 가지는 것을 특징으로 하는 디지털 프로세서. - 삭제
- 삭제
- 제 1 항에 있어서,
최소 길이를 가지는 필드의 데이터 비트의 수는, 상기 디지털 프로세서에 의해 저장된 최소 비트 데이터 타입을 나타내는 데 사용된 데이터 비트의 수와 동일한 것을 특징으로 하는 디지털 프로세서. - 삭제
- 삭제
- 제 1 항에 있어서,
상기 데이터 파일은 레지스터 데이터 파일인 것을 특징으로 하는 디지털 프로세서. - 제 1 항에 있어서,
상기 데이터 파일은, 둘 이상의 고정 포인트 데이터 타입을 저장하고, 상기 고정 포인트 데이터 타입은 정수, 분수 및 대분수인 것을 특징으로 하는 디지털 프로세서. - 제 9 항에 있어서,
대분수의 정수와 분수 부분은 두 개의 인접한 필드에 존재하는 것을 특징으로 하는 디지털 프로세서. - 디지털 프로세서의 동작 방법에 있어서, 상기 방법은:
데이터 파일 내의 한 엔트리를 어드레싱(addressing) 하는 단계로서, 상기 엔트리는 복수의 필드로 나뉘는 단계; 그리고
데이터를 저장 또는 인출하기 위해, 다수의 인에이블 포트를 통해, 어드레스 된 엔트리 내의 복수의 필드 중 하나 이상의 필드를 선택하는 단계로서, 상기 선택은 데이터의 테이터 타입 비트 수에 근거하는 단계를 포함하고,
상기 복수의 필드 중 하나의 데이터 비트 길이는 상기 복수의 필드 중 다른 하나의 데이터 비트 길이와 다르며, 그리고
상기 선택하는 단계는 하나의 읽기 및 쓰기 포트를 통해 한 신호를 전송함을 특징으로 하는 디지털 프로세서 동작 방법. - 제 11 항에 있어서,
각각의 엔트리는 상기 디지털 프로세서에 의해 저장된 최대 비트 데이터 타입의 데이터 비트의 수와 동일한 전체 비트 길이를 가지는 것을 특징으로 하는 디지털 프로세서 동작 방법. - 제 11 항에 있어서,
각각의 필드가 각각의 어드레스를 위해 선택될 수 있는 것을 특징으로 하는 디지털 프로세서 동작 방법. - 제 11 항에 있어서,
최소 길이를 가지는 필드를 더 포함하되,
데이터 비트의 수가 상기 디지털 프로세서에 의해 저장된 최대 비트 데이터 타입을 나타내는 데 사용된 데이터 비트의 수와 동일한 것을 특징으로 하는 디지털 프로세서 동작 방법. - 제 11 항에 있어서,
상기 복수의 필드는 서로 다른 데이터 비트 길이를 가지는 복수의 데이터 타입을 저장하는 것을 특징으로 하는 디지털 프로세서 동작 방법. - 제 11 항에 있어서,
상기 데이터 파일은 레지스터 데이터 파일인 것을 특징으로 하는 디지털 프로세서 동작 방법. - 제 11 항에 있어서,
상기 데이터 파일은 둘 이상의 고정 포인트 데이터 타입을 저장하며, 상기 고정 포인터 데이터 타입은 정수와, 분수와 대분수인 것을 특징으로 하는 디지털 프로세서 동작 방법. - 제 17 항에 있어서,
대분수의 정수와 분수 부분이 두 개의 인접한 필드에 존재하는 것을 특징으로 하는 디지털 프로세서 동작 방법. - 데이터 필드 내의 한 엔트리를 어드레싱하는 수단으로서, 상기 엔트리는 복수의 필드로 나뉘는 수단; 그리고
데이터를 저장 또는 인출하기 위해, 다수의 인에이블 포트를 통해, 어드레스 된 엔트리 내의 복수의 필드 중 하나 이상의 필드를 선택하는 수단으로서, 상기 선택이 데이터의 테이터 타입 비트 수에 근거하는 수단을 포함하며,
상기 복수의 필드 중 하나의 데이터 비트 길이가 상기 복수의 필드 중 다른 하나의 데이터 비트 길이와 다르고, 그리고
상기 선택하는 수단은 하나의 읽기 및 쓰기 포트를 포함함을 특징으로 하는 디지털 프로세서. - 제 19 항에 있어서,
상기 복수의 엔트리는 각각 상기 디지털 프로세서에 의해 저장된 최대 비트 데이터 타입의 데이터 비트의 수와 동일한 전체 비트 길이를 가지는 것을 특징으로 하는 디지털 프로세서. - 제 19 항에 있어서,
최소 길이를 가지는 필드의 데이터 비트의 수가 상기 디지털 프로세서에 의해 저장된 최대 비트 데이터 타입을 나타내는 데 사용된 데이터 비트의 수와 동일한 것을 특징으로 하는 디지털 프로세서. - 제 19 항에 있어서,
각각의 필드는 각각의 어드레스에 대해 선택될 수 있는 것을 특징으로 하는 디지털 프로세서.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US62864704P | 2004-11-17 | 2004-11-17 | |
US60/628,647 | 2004-11-17 | ||
PCT/US2005/041419 WO2006071385A2 (en) | 2004-11-17 | 2005-11-15 | Data file storing multiple data types with controlled data access |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020077009582A Division KR20070097024A (ko) | 2004-11-17 | 2005-11-15 | 제어된 데이터 액세스를 이용하여 다중 데이터 타입을저장하는 데이터 파일 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120135442A KR20120135442A (ko) | 2012-12-13 |
KR101371931B1 true KR101371931B1 (ko) | 2014-03-10 |
Family
ID=36615365
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020077009582A KR20070097024A (ko) | 2004-11-17 | 2005-11-15 | 제어된 데이터 액세스를 이용하여 다중 데이터 타입을저장하는 데이터 파일 |
KR1020127031020A KR101371931B1 (ko) | 2004-11-17 | 2005-11-15 | 제어된 데이터 액세스를 이용하여 다중 데이터 타입을 저장하는 데이터 파일 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020077009582A KR20070097024A (ko) | 2004-11-17 | 2005-11-15 | 제어된 데이터 액세스를 이용하여 다중 데이터 타입을저장하는 데이터 파일 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20090276432A1 (ko) |
EP (1) | EP1825383B1 (ko) |
KR (2) | KR20070097024A (ko) |
TW (1) | TW200625097A (ko) |
WO (1) | WO2006071385A2 (ko) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8074051B2 (en) * | 2004-04-07 | 2011-12-06 | Aspen Acquisition Corporation | Multithreaded processor with multiple concurrent pipelines per thread |
EP2069947A4 (en) * | 2006-09-26 | 2013-10-09 | Qualcomm Inc | APPLICATION OF MATRIX INVERSION SOFTWARE IN A WIRELESS COMMUNICATION SYSTEM |
WO2008060948A2 (en) * | 2006-11-10 | 2008-05-22 | Sandbridge Technologies, Inc. | Method and system for parallelization of pipelined computations |
EP2602710A1 (en) * | 2007-11-05 | 2013-06-12 | Aspen Acquisition Corporation | Method of encoding register instruction fields |
US7979681B2 (en) * | 2007-11-20 | 2011-07-12 | Qualcomm Incorporated | System and method of selectively accessing a register file |
KR20100120133A (ko) * | 2008-01-30 | 2010-11-12 | 샌드브리지 테크놀로지스, 인코포레이티드 | 멀티-프로세서 동기화를 활성화하는 방법 |
KR20100126690A (ko) * | 2008-02-18 | 2010-12-02 | 샌드브리지 테크놀로지스, 인코포레이티드 | 널-종료 문자열 동작을 가속화하는 방법 |
KR20100133964A (ko) * | 2008-03-13 | 2010-12-22 | 아스펜 액퀴지션 코포레이션 | 유효 어레이를 비활성화함으로써 전력을 절약하기 위한 방법 |
CN101324837B (zh) * | 2008-07-21 | 2010-06-23 | 北京大学 | 一种微处理器内部寄存器堆的设计和访问方法 |
WO2010017263A1 (en) | 2008-08-06 | 2010-02-11 | Sandbridge Technologies, Inc. | Haltable and restartable dma engine |
KR101700405B1 (ko) * | 2010-03-22 | 2017-01-26 | 삼성전자주식회사 | 레지스터, 프로세서 및 프로세서 제어 방법 |
KR101801920B1 (ko) | 2010-12-17 | 2017-12-28 | 삼성전자주식회사 | 동적 클러스터링이 가능한 레지스터 파일 및 동적 클러스터링이 가능한 레지스터 파일을 이용한 재구성 가능 컴퓨팅 장치 |
KR101949417B1 (ko) | 2011-12-02 | 2019-02-20 | 삼성전자주식회사 | 프로세서, 명령어 생성 장치 및 방법 |
US9996353B2 (en) | 2015-02-26 | 2018-06-12 | International Business Machines Corporation | Universal history buffer to support multiple register types |
US9971604B2 (en) | 2015-02-26 | 2018-05-15 | International Business Machines Corporation | History buffer for multiple-field registers |
US10067766B2 (en) * | 2015-02-26 | 2018-09-04 | International Business Machines Corporation | History buffer with hybrid entry support for multiple-field registers |
US10909015B2 (en) * | 2016-12-30 | 2021-02-02 | Intel Corporation | Apparatus and method for generating performance monitoring metrics |
US11327733B2 (en) * | 2020-05-27 | 2022-05-10 | Blaize, Inc. | Method of using multidimensional blockification to optimize computer program and device thereof |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0945783A2 (en) * | 1998-03-23 | 1999-09-29 | Nec Corporation | Variable length register device |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6370623B1 (en) * | 1988-12-28 | 2002-04-09 | Philips Electronics North America Corporation | Multiport register file to accommodate data of differing lengths |
US5590352A (en) * | 1994-04-26 | 1996-12-31 | Advanced Micro Devices, Inc. | Dependency checking and forwarding of variable width operands |
US5819057A (en) * | 1995-01-25 | 1998-10-06 | Advanced Micro Devices, Inc. | Superscalar microprocessor including an instruction alignment unit with limited dispatch to decode units |
US6006315A (en) * | 1996-10-18 | 1999-12-21 | Samsung Electronics Co., Ltd. | Computer methods for writing a scalar value to a vector |
US6272257B1 (en) * | 1997-04-30 | 2001-08-07 | Canon Kabushiki Kaisha | Decoder of variable length codes |
US6061782A (en) * | 1997-11-29 | 2000-05-09 | Ip First Llc | Mechanism for floating point to integer conversion with RGB bias multiply |
US6343356B1 (en) * | 1998-10-09 | 2002-01-29 | Bops, Inc. | Methods and apparatus for dynamic instruction controlled reconfiguration register file with extended precision |
US6668316B1 (en) * | 1999-02-17 | 2003-12-23 | Elbrus International Limited | Method and apparatus for conflict-free execution of integer and floating-point operations with a common register file |
US6889312B1 (en) * | 2001-04-02 | 2005-05-03 | Advanced Micro Devices, Inc. | Selective zero extension based on operand size |
US6948051B2 (en) * | 2001-05-15 | 2005-09-20 | International Business Machines Corporation | Method and apparatus for reducing logic activity in a microprocessor using reduced bit width slices that are enabled or disabled depending on operation width |
US6968445B2 (en) * | 2001-12-20 | 2005-11-22 | Sandbridge Technologies, Inc. | Multithreaded processor with efficient processing for convergence device applications |
EP1499957B1 (en) * | 2002-04-10 | 2009-09-23 | Nxp B.V. | Data processing system with multiple register banks |
US6912623B2 (en) * | 2002-06-04 | 2005-06-28 | Sandbridge Technologies, Inc. | Method and apparatus for multithreaded cache with simplified implementation of cache replacement policy |
US6990557B2 (en) * | 2002-06-04 | 2006-01-24 | Sandbridge Technologies, Inc. | Method and apparatus for multithreaded cache with cache eviction based on thread identifier |
US6904511B2 (en) * | 2002-10-11 | 2005-06-07 | Sandbridge Technologies, Inc. | Method and apparatus for register file port reduction in a multithreaded processor |
US6925643B2 (en) * | 2002-10-11 | 2005-08-02 | Sandbridge Technologies, Inc. | Method and apparatus for thread-based memory access in a multithreaded processor |
US6842848B2 (en) * | 2002-10-11 | 2005-01-11 | Sandbridge Technologies, Inc. | Method and apparatus for token triggered multithreading |
US6971103B2 (en) * | 2002-10-15 | 2005-11-29 | Sandbridge Technologies, Inc. | Inter-thread communications using shared interrupt register |
JP2006529043A (ja) * | 2003-05-09 | 2006-12-28 | サンドブリッジ テクノロジーズ インコーポレーテッド | 飽和あり、または飽和なしで、オペランドの積和を実行するプロセッサ簡約ユニット |
US7428567B2 (en) * | 2003-07-23 | 2008-09-23 | Sandbridge Technologies, Inc. | Arithmetic unit for addition or subtraction with preliminary saturation detection |
US7251737B2 (en) * | 2003-10-31 | 2007-07-31 | Sandbridge Technologies, Inc. | Convergence device with dynamic program throttling that replaces noncritical programs with alternate capacity programs based on power indicator |
US7797363B2 (en) * | 2004-04-07 | 2010-09-14 | Sandbridge Technologies, Inc. | Processor having parallel vector multiply and reduce operations with sequential semantics |
US7475222B2 (en) * | 2004-04-07 | 2009-01-06 | Sandbridge Technologies, Inc. | Multi-threaded processor having compound instruction and operation formats |
US8074051B2 (en) * | 2004-04-07 | 2011-12-06 | Aspen Acquisition Corporation | Multithreaded processor with multiple concurrent pipelines per thread |
-
2005
- 2005-11-11 TW TW094139530A patent/TW200625097A/zh unknown
- 2005-11-15 EP EP05851690.7A patent/EP1825383B1/en not_active Not-in-force
- 2005-11-15 US US11/718,607 patent/US20090276432A1/en not_active Abandoned
- 2005-11-15 WO PCT/US2005/041419 patent/WO2006071385A2/en active Application Filing
- 2005-11-15 KR KR1020077009582A patent/KR20070097024A/ko active Search and Examination
- 2005-11-15 KR KR1020127031020A patent/KR101371931B1/ko not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0945783A2 (en) * | 1998-03-23 | 1999-09-29 | Nec Corporation | Variable length register device |
Also Published As
Publication number | Publication date |
---|---|
US20090276432A1 (en) | 2009-11-05 |
KR20070097024A (ko) | 2007-10-02 |
KR20120135442A (ko) | 2012-12-13 |
TW200625097A (en) | 2006-07-16 |
WO2006071385A2 (en) | 2006-07-06 |
EP1825383A4 (en) | 2009-12-23 |
WO2006071385A3 (en) | 2009-04-09 |
EP1825383A2 (en) | 2007-08-29 |
EP1825383B1 (en) | 2015-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101371931B1 (ko) | 제어된 데이터 액세스를 이용하여 다중 데이터 타입을 저장하는 데이터 파일 | |
US8078828B1 (en) | Memory mapped register file | |
US7216138B2 (en) | Method and apparatus for floating point operations and format conversion operations | |
US7461109B2 (en) | Method and apparatus for providing packed shift operations in a processor | |
US6665790B1 (en) | Vector register file with arbitrary vector addressing | |
US8255665B2 (en) | SIMD processor with register addressing, buffer stall and methods | |
US5832288A (en) | Element-select mechanism for a vector processor | |
US6738793B2 (en) | Processor capable of executing packed shift operations | |
US6651159B1 (en) | Floating point register stack management for CISC | |
WO2001067234A3 (en) | Vliw computer processing architecture having a scalable number of register files | |
GB1164475A (en) | Improvements in or relating to Central Processor | |
EP1271305B1 (en) | Data processing apparatus | |
US7788450B2 (en) | Method and apparatus for efficiently accessing both aligned and unaligned data from a memory | |
US20030046559A1 (en) | Apparatus and method for a data storage device with a plurality of randomly located data | |
US20060179287A1 (en) | Apparatus for controlling multi-word stack operations in digital data processors | |
US6442676B1 (en) | Processor with different width functional units ignoring extra bits of bus wider than instruction width | |
US6941421B2 (en) | Zero delay data cache effective address generation | |
US5752271A (en) | Method and apparatus for using double precision addressable registers for single precision data | |
US20040128475A1 (en) | Widely accessible processor register file and method for use | |
US20050139647A1 (en) | Method and apparatus for performing bit-aligned permute | |
US6393552B1 (en) | Method and system for dividing a computer processor register into sectors | |
EP0915416B1 (en) | System for allowing a two word instruction to be executed in a single cycle and method therefor | |
JP3128843B2 (ja) | 情報処理装置 | |
US6230256B1 (en) | Data processing system having a bus wider than processor instruction width | |
Lee | HP Precision: a spectrum architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
J201 | Request for trial against refusal decision | ||
B701 | Decision to grant | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20161229 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20171228 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |