KR20070097024A - 제어된 데이터 액세스를 이용하여 다중 데이터 타입을저장하는 데이터 파일 - Google Patents

제어된 데이터 액세스를 이용하여 다중 데이터 타입을저장하는 데이터 파일 Download PDF

Info

Publication number
KR20070097024A
KR20070097024A KR1020077009582A KR20077009582A KR20070097024A KR 20070097024 A KR20070097024 A KR 20070097024A KR 1020077009582 A KR1020077009582 A KR 1020077009582A KR 20077009582 A KR20077009582 A KR 20077009582A KR 20070097024 A KR20070097024 A KR 20070097024A
Authority
KR
South Korea
Prior art keywords
data
bits
field
fields
file
Prior art date
Application number
KR1020077009582A
Other languages
English (en)
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 KR20070097024A publication Critical patent/KR20070097024A/ko

Links

Images

Classifications

    • 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
    • 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/30098Register arrangements
    • G06F9/30105Register structure
    • G06F9/30112Register structure comprising data of variable length
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital 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

제어된 데이터 액세스를 이용하여 다중 데이터 타입을 저장하는 데이터 파일{DATA FILE STORING MULTIPLE DATA TYPES WITH CONTROLLED DATA ACCESS}
본 발명은 디지털 프로세서에 관한 것이며 구체적으로, 본 발명은 다른 데이터 타입을 저장할 수 있는 프로세서의 데이터 파일에 관한 것이다.
대부분의 프로그램 가능한 디지털 프로세서는 레지스터 파일을 이용하여 프로세서에 데이터를 저장한다. J.L.헤네시 및 D.A. 패터슨의 컴퓨터 아키텍쳐("양적 접근", 3판, 모건 카우프만 출판, 2003)을 참조한다. 대부분의 프로세서에서, n-비트 레지스터를 포함하는 정수 레지스터 파일은 n과 동일하거나 적은 크기를 가지는 정수 데이터 타입을 저장할 수 있다. 그러나, 이러한 프로세서에서, 더 작은 데이터 타입이 더 큰 데이터 타입(즉, 모든 n 비트 데이터가 읽기 되거나 쓰기 된다)과 동일한 미케니즘을 사용하여 접속된다. 따라서, 더 작은 데이터 타입에 대해서도 전력 소모를 줄이지 못한다. 일부 레지스터 파일은 정수와 부유-포인트 데이터 타입 모두를 저장한다. V.Y. 고쉬테인 및 O.A. 에프리모바의 "공동 레지스터 파일을 이용한 정수 및 부동 소수점 동작의 충돌-없는 실행에 대한 방법 및 장치" 및 미국 특허 번호 제6,668,316호(2003년, 12월 23일)를 참조한다. 그러나, 연산수 데이터 타입에 기반하여 레지스터 파일의 특정 부분이 접속되도록 함으로써, 이러한 레지 스터 파일이 전력 소모를 줄이지는 않는다.
명령 세트 프로세서는 일반적으로 폭넓은 다양성을 가지는 데이터 타입을 지원한다. 디지털 신호 처리 및 멀티미디어 애플리케이션을 위한 명령 세트 프로세서에서, 공통 데이터 타입은 정수와, 분수 및 혼합 수들을 포함한다. 이러한 데이터-타입은 고정-포인트라 불리는데, 왜냐하면 이진 소수점(binary point)이 고정된 위치에 존재하기 때문이다. 데이터 타입은 일반적으로 다양한 크기를 가진다(예, 8, 16, 32, 40 또는 64 비트). 큰 크기의 데이터 타입은 넓은 범위의 숫자를 나타내거나 정확성이 더 높은 숫자를 나타내는데 사용될 수 있으나, 더 많은 저장 용량과 더 많은 기능 유닛을 필요로 한다. 더 작은 크기의 데이터 타입은 더 적은 저장 용량과 더 적은 기능 유닛을 필요로 하나 넓은 범위나 정확도를 제공하지 않는다.
도 1은 데이터 타입의 다양성을 나타낸다. 맨 위의 두 개의 데이터 타입은 정수에 대응하고, 그 다음 두 개의 데이터 타입은 분수에 대응하며, 마지막 두 개의 데이터 타입은 혼합 수에 대응한다. 도 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 사이의 범위를 가진다. 혼합 수는 정수 비트(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은 본 발명에 따라 각 레지스터가 개별적으로 활성화되며, 여러 개의 더 작은 레지스터 파일들로 나뉜 레지스터 파일을 나타낸다.
본 발명은 컴퓨터 레지스터나 데이터 파일 내에 여러 데이터 타입을 효과적으로 저장하기 위한 방법 및 장치이다. 이전 기술과 비교하면, 단일 레지스터나 데이터 파일은 여러 데이터 타입을 저장하는 데 사용되며, 레지스터 파일의 필요한 부분만이 읽거나 쓰기 된다. 이를 달성하기 위한 하나의 방법이 도 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 (17)

  1. n 데이터 비트와 k 어드레스 비트를 가지는 데이터 파일을 포함하는 디지털 프로세서에 있어서, 상기 데이터 파일은:
    데이터 포트와, 어드레스 포트와, 그리고 하나 이상의 읽기/쓰기 포트와;
    m 필드로 나뉜 n 데이터 비트와; 그리고
    하나 이상의 필드가 각 어드레스에 대해 활성화될 수 있도록 하기 위한 m 인에이블 포트
    를 포함하는 것을 특징으로 하는 디지털 프로세서.
  2. 제 1 항에 있어서,
    n은 프로세서가 수용하도록 설계된 최대 비트 데이터 타입의 비트 수를 나타내는 것을 특징으로 하는 디지털 프로세서.
  3. 제 2 항에 있어서,
    최소 필드의 데이터 비트(nj)의 수가 프로세서가 수용하도록 설계된 최소 비트 데이터 타입의 수와 동일한 것을 특징으로 하는 디지털 프로세서.
  4. 제 2 항에 있어서,
    개별적으로 활성화 되거나 함께 활성화될 때, 각 필드(j)의 데이터 비트(nj) 의 수가 복수의 서로 다른 데이터 비트(nj) 데이터 타입을 수용하도록 선택되는 것을 특징으로 하는 디지털 프로세서.
  5. 제 1 항에 있어서,
    개별적으로 활성화 되거나 함께 활성화될 때, 각 필드(j)의 데이터 비트(nj)의 수가 복수의 서로 다른 데이터 비트(nj) 데이터 타입을 수용하도록 선택되는 것을 특징으로 하는 디지털 프로세서.
  6. 제 1 항에 있어서,
    데이터 파일이 레지스터 데이터 파일인 것을 특징으로 하는 디지털 프로세서.
  7. 제 1 항에 있어서,
    상기 데이터 파일은 둘 이상의 고정 포인트 데이터 타입을 수용하며, 고정 포인트 데이터 타입은 정수와, 분수와, 혼합 수를 포함하는 것을 특징으로 하는 디지털 프로세서.
  8. 제 7 항에 있어서,
    정수와 혼합 수의 분수 부분은 두 개의 인접한 필드에 존재하는 것을 특징으로 하는 디지털 프로세서.
  9. 제 1 항에 있어서,
    각 필드(j)는 nj 데이터 비트를 포함하고, 선택된 데이터 타입에 필요한 필드의 수만이 각각의 읽기/쓰기 동작을 위해 활성화되는 것을 특징으로 하는 디지털 프로세서.
  10. m 필드로 나뉜 n 데이터 비트를 가지는 데이터 파일을 포함하는 디지털 프로세서의 동작 방법에 있어서, 각각의 j는 nj 데이터 비트와 k 어드레스 비트를 포함하고, 상기 방법은:
    데이터 파일 내에 엔트리를 주소 매김(addressing) 하는 단계와; 그리고
    각각의 읽기/쓰기 동작을 위한 선택된 데이터 타입에 필요한 필드의 수만을 활성화하는 단계
    를 포함하는 것을 특징으로 하는 디지털 프로세서 동작 방법.
  11. 제 10 항에 있어서,
    프로세서가 수용하도록 설계된 최대 비트 데이터 타입의 비트 수와 동일하게 n을 선택하는 단계를 포함하는 것을 특징으로 하는 디지털 프로세서 동작 방법.
  12. 제 11 항에 있어서,
    최소 데이터 비트(nj)의 수를 선택하는 단계를 포함하는 것을 특징으로 하는 디지털 프로세서 동작 방법.
  13. 제 11 항에 있어서,
    개별적으로 활성화되거나 함께 활성화될 때, 복수의 서로 다른 데이터 비트(nj) 데이터 타입을 수용하도록 각각의 필드(j)의 데이터 비트(nj)의 수를 선택하는 단계를 포함하는 것을 특징으로 하는 디지털 프로세서 동작 방법.
  14. 제 10 항에 있어서,
    개별적으로 활성화되거나 함께 활성화될 때, 복수의 서로 다른 데이터 비트(nj) 데이터 타입을 수용하도록 각각의 필드(j)의 데이터 비트(nj)의 수를 선택하는 단계를 포함하는 것을 특징으로 하는 디지털 프로세서 동작 방법.
  15. 제 10 항에 있어서,
    데이터 파일은 레지스터 데이터 파일인 것을 특징으로 하는 디지털 프로세서 동작 방법.
  16. 제 10 항에 있어서,
    상기 데이터 파일은 둘 이상의 고정 포인트 데이터 타입을 수용하며, 상기 고정 포인터 데이터 타입은 정수와, 분수와 혼합 수를 포함하는 것을 특징으로 하는 디지털 프로세서 동작 방법.
  17. 제 10 항에 있어서,
    혼합 수의 정수와 분수 부분이 두 개의 인접한 필드에 존재하는 것을 특징으로 하는 디지털 프로세서 동작 방법.
KR1020077009582A 2004-11-17 2005-11-15 제어된 데이터 액세스를 이용하여 다중 데이터 타입을저장하는 데이터 파일 KR20070097024A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US62864704P 2004-11-17 2004-11-17
US60/628,647 2004-11-17

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020127031020A Division KR101371931B1 (ko) 2004-11-17 2005-11-15 제어된 데이터 액세스를 이용하여 다중 데이터 타입을 저장하는 데이터 파일

Publications (1)

Publication Number Publication Date
KR20070097024A true KR20070097024A (ko) 2007-10-02

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 After (1)

Application Number Title Priority Date Filing Date
KR1020127031020A KR101371931B1 (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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8700887B2 (en) 2010-03-22 2014-04-15 Samsung Electronics Co., Ltd. Register, processor, and method of controlling a processor using data type information
US9262162B2 (en) 2010-12-17 2016-02-16 Samsung Electronics Co., Ltd. Register file and computing device using the same

Families Citing this family (16)

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

Family Cites Families (25)

* Cited by examiner, † Cited by third party
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
JPH11272546A (ja) * 1998-03-23 1999-10-08 Nec Corp 可変長レジスタ装置
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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8700887B2 (en) 2010-03-22 2014-04-15 Samsung Electronics Co., Ltd. Register, processor, and method of controlling a processor using data type information
US9262162B2 (en) 2010-12-17 2016-02-16 Samsung Electronics Co., Ltd. Register file and computing device using the same

Also Published As

Publication number Publication date
US20090276432A1 (en) 2009-11-05
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
KR101371931B1 (ko) 2014-03-10
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
US5832288A (en) Element-select mechanism for a vector processor
US7461109B2 (en) Method and apparatus for providing packed shift operations in a processor
US6738793B2 (en) Processor capable of executing packed shift operations
US6516406B1 (en) Processor executing unpack instruction to interleave data elements from two packed data
US8255665B2 (en) SIMD processor with register addressing, buffer stall and methods
US6651159B1 (en) Floating point register stack management for CISC
WO2001067234A3 (en) Vliw computer processing architecture having a scalable number of register files
WO1996012231A1 (en) A translation buffer for detecting and preventing conflicting virtual addresses from being stored therein
EP1271305B1 (en) Data processing apparatus
US7162607B2 (en) Apparatus and method for a data storage device with a plurality of randomly located data
US5787454A (en) Recorder buffer with interleaving mechanism for accessing a multi-parted circular memory array
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
US7028163B2 (en) Apparatus for controlling multi-word stack operations using a multi-bank stack in digital data processors
US20040128475A1 (en) Widely accessible processor register file and method for use
US20030172246A1 (en) Circular addressing algorithms providing increased compatibility with one or more higher-level programming languages
US6230256B1 (en) Data processing system having a bus wider than processor instruction width
JP3128843B2 (ja) 情報処理装置

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
N234 Change of applicant [patent]: notification of change of applicant and registration of full transfer of right
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
N231 Notification of change of applicant
A107 Divisional application of patent
AMND Amendment
J201 Request for trial against refusal decision
B601 Maintenance of original decision after re-examination before a trial
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20121127

Effective date: 20140324

Free format text: TRIAL NUMBER: 2012101009946; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20121127

Effective date: 20140324