KR100301224B1 - 고정도수를저장하는컴퓨터내에서이용가능한메모리주소위치의수를증가시키기위한메모리주소지정방법 - Google Patents
고정도수를저장하는컴퓨터내에서이용가능한메모리주소위치의수를증가시키기위한메모리주소지정방법 Download PDFInfo
- Publication number
- KR100301224B1 KR100301224B1 KR1019940021813A KR19940021813A KR100301224B1 KR 100301224 B1 KR100301224 B1 KR 100301224B1 KR 1019940021813 A KR1019940021813 A KR 1019940021813A KR 19940021813 A KR19940021813 A KR 19940021813A KR 100301224 B1 KR100301224 B1 KR 100301224B1
- Authority
- KR
- South Korea
- Prior art keywords
- address
- memory address
- logic
- processor
- addressing
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000013507 mapping Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003340 mental effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
- G06F9/30014—Arithmetic instructions with variable precision
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
-
- 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/30109—Register structure having multiple operands in a single register
-
- 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
- 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/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30138—Extension of register space, e.g. register cache
-
- 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/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/342—Extension of operand address space
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Abstract
고정도 수를 저장하는 컴퓨터에서 이용가능한 메모리 주소위치의 수를 증가시키기 위한 백워드로 양립가능한 주소지정방법이다. 본 발명의 컴퓨터 시스템은 S가 2의 누승인 S 정도를 갖는 수를 조작할 수 있는 처리기를 갖는다.
메모리의 주소위치는 n비트 논리주소인에 의해 명령어 주소필드내에 지정된다. 각각의 S 정도 수는 m비트 물리주소인에 의해 액세스된 S 메모리 주소 그룹내에 저장된다. 각각의 메모리 주소위치는 단정도 수를 저장할 수 있다.
논리주소로 메모리 주소위치를 주소지정하기 위한 주소지정논리는
0≤i≤(log2S)-1에서 di=0을 세팅하고,
log2S≤i≤ n-1에서 di=e을 세팅하는 정렬논리; 및
n≤i≤m-1에서 di=ei-n을 세팅하는 확장논리를 포함한다.
이 정렬논리는 논리등식인
에 따라 구현될 수 있으며, 여기서 k는 처리기에 의해 조작가능한 정도크기의 수이며이다. 확장논리는 논리등식인
에 따라 구현될 수 있다.
메모리 주소위치는 전형적으로 마이크로프로세서의 레지스터일 수 있다.
Description
제1도는 종래기술의 주소매핑방법의 도시도.
제2도는 본 발명의 일실시예에 의해 사용되는 명령어 포맷의 도시도.
제3도는 마이크로프로세서의 블럭도.
제4도는 종래의 주소지정논리의 도시도.
제5도는 주소필드의 5비트 모두를 이용하여 가능한 주소매핑해법의 도시도.
제6도는 본 발명에 따른 메모리 주소매핑의 도시도.
제7도는 본 발명의 주소지정논리의 일실시예의 도시도.
제8도는 본 발명의 프로세스를 도표적으로 표시한 흐름도.
[발명의 분야]
본 발명은 데이타 처리에 관한 것이며, 더욱 상세히는 고정도수(higher precision mumbers)를 저장할 때 주소공간을 더욱 효율적으로 사용하기 위해 컴퓨터내에서의 메모리 주소위치(location)를 주소지정하는 것에 관한 것이다
[기술배경]
처리기는 결과를 얻기 위해 소스 오퍼랜드(source operands)에 의거하여 동작을 수행하는 명령어를 실행한다.
소스 오퍼랜드를 가지는 레지스터와 얻어진 결과를 위한 목적지 레지스터가 명령어 워어드의 주소필드에 지정된다. 예를들면, 본 발명의 양수인인 선 마이크로시스템즈 인코오퍼레이티드(Sun Microsystems, INC) 에 의해 설계된 SPARC(Scalable processor architecture)를 기초로 한 컴퓨터에 있어서, 부동 소숫점 명령어는 2개의 부동소숫점 소스 레지스터까지 지정하며 부동 소숫점 목적지 레지스터를 지정할 수 있다.
주소지정을 위해 이용가능한 레지스터의 수 및 특정계산에 사용되는 오퍼랜드의 크기는 결과에 필요한 정도(precision) 에 종속된다. 스파크 버젼 8(SPARC Version 8)구조에서, 부동 소숫점 처리기는 각각이 32비트로 된 단정도 오퍼랜드(Single precision operand)를 보유할 수 있는 32개의 개별 레지스터를 포함한다. 연산동작에서 더욱 고정도를 얻기 위하여, 부동 소숫점 처리기는 16개의 2배정도(double precision)수를 저장하기 위해 32개 레지스터를 쌍으로 사용하거나 8개의 4배정도(quadruple precision) 수를 저장하기 위해 32개 레지스터를 4개 단위로 사용할 수 있다.
제1도는 이러한 방법의 스파크 버젼 8 레지스터 화일의 주소지정을 예시한다.
이 예에서, 2배정도 오퍼랜드는 64비트의 주소위치를 가지며 두개의 정렬된 부동소숫점 레지스터에 보유된다. 따라서, 한개의 2배정도 숫자는 레지스터 0 및 1에 저장되어지며, 다른 정도 숫자는 레지스터 2 및 3에 저장되고, 이와 같이 레지스터쌍에 저장된다. 레지스터를 정렬하는 것에 의해, 특정한 2배정도 부동 소숫점 숫자를 선택하기 위해 두개 레지스터중의 한개만이 주소지정될 필요가 있다.
유사한 방식으로, 4배정도 오퍼랜드는 128비트의 주소위치를 가지며 4개의 정렬된 부동소숫점 레지스터, 예를들면 레지스터 0, 1, 2 및 3에 보유된다.
레지스터를 정렬함으로써, 특정한 4배정도 부동 소숫점 숫자를 선럭하기 위해 4개 레지스터중 한개 레지스터만이 주소지정될 필요가 있으며, 주소비트를 유사하게 절약할 수 있다.
이 정렬된 레지스터 방법을 사용하여, 2배정도 숫자는 짝수의 레지스터 주소에 저장되며 4배정도 숫자는 4번째 레지스터 주소마다 저장된다.
처리기는 5비트의 명령어 주소 필드만 가지므로, 5비트를 사용하여 16개의 2배정도수 및 8개의 4배정도 수를 주소지정할 수 있다. 결과적으로, 다수의 주소가 2배정도 및 4배정도 연산모두에 사용되지 않는다. 이 미사용 주소는 종래에는 2배정도 및 4 배정도 연산에 이용불가능한 단정도 포지션 레지스터의 주소위치를 지정한다.
고정도수를 위한 추가 레지스터를 주소지정하기 위해 이러한 생략된 주소를 사용하는 방법을 발견하는 것이 바람직하며, 반면에 현재 사용되는 명령어 세트의 주소지정모드와 양립할 수 있도록 동시에 유지하는 것도 바람직하다.
[발명의 요약]
본 발명은 고정도수를 저장하는 컴퓨터에서 이용가능한 메모리 주소위치의 수를 증가시키기 위한 백워드로 양립가능한 주소지정방법을 제공한다.
본 발명의 컴퓨터 시스템은 S가 2의 누승(power) 인 정도 S를 갖는 수를 조작할 수 있는 처리기를 갖는다. 메모리 주소위치는 n비트의 논리주소에 의해 명령어 주소 필드내에 지정된다.
각각의 S 정도수는 m비트의 물리주소에 의해 액세스되는 S 그룹 메모리 주소위치에 저장된다.
각각의 메모리 주소위치는 단정도 수를 저장할 수 있다.
논리주소로써 메모리 주소위치를 주소지정하기 위한 주소지정논리는
di=0 0≤i≤(log2S)-1을 세팅하고
di=eilog2 S≤i≤n-1을 세팅하기 위한 정렬논리 및
di=ei-nn≤i≤m-1을 세팅하기 위한 확장논리를 포함한다.
이 정렬논리는 논리등식인
에 따라 수행되어지며, 여기서 k는 처리기에 의해 조작되어질 수 있는 정도크기(precision sizes)의 수이며이다.
이 확장논리는 논리등식인
에 따라 수행되어진다.
메모리 주소위치는 전형적으로 마이크로프로세서 레지스터이다.
(주석 및 표기)
다음의 상세한 설명의 일부는 컴퓨터 메모리내의 비트 상에서의 동작에 대해 알고리즘적 용어 및 기호표현으로 표현되었다.
이러한 알고리즘적 설명 및 표현은 데이타 처리분야의 당업자에게 있어선 그들의 작업실체를 관련당업자에게 가장 효과적으로 전달하기 위해 사용되는 수단이다.
알고리즘은 일반적으로 소망결과로 되는 단계의 논리정연한 시퀀스이다.
이 단계는 물리량의 물리적 조작을 필요로 한다.
일반적으로 반드시 필요하진 않지만, 이 물리량들은 저장되고, 결합되고, 비교되고 그밖의 다른 조작이 가능한 전기적 혹은 자기적 신호의 형태를 갖는다.
주로 공통적인 사용의 이유로, 이러한 신호들을 비트, 값, 요소, 기호, 문자, 용어, 숫자 혹은 이와 유사한 것으로 참조하는 것이 때때로 편리하다는 것이 증명되어 왔다.
그러나 이러한 용어와 이와 유사한 용어는 적절한 물리량과 연관되어져야 하며 단순히 이 물리량들에 붙여진 편리한 라벨이다는 것을 유의해야 한다.
추가로, 수행된 조작들은 가산 혹은 비교와 같은 용어로 참조되며 인간인 오퍼레이터에 의해 수행되는 정신적인 동작과 관련된다. 본 발명의 일부를 이루는 여기에 설명된 임의의 동작의 대부분의 경우에 인간 오퍼레이터의 능력은 필요치 않거나 바람직하다.
이러한 동작들은 기계동작이다. 본 발명의 동작을 수행하는데 유용한 기계는 범용 디지털 컴퓨터 혹은 다른 유사한 장치를 포함한다. 모든 경우에 있어서 컴퓨터에서 동작하는 동작 방법과 연산 그 자체의 방법과의 차이를 유의해야 한다.
본 발명은 다른 소정의 물리적 신호를 발생하는 전기적 혹은 다른 (예를들면 기계적, 화학적) 물리적 신호처리시 컴퓨터의 동작을 위한 장치에 관한 것이다.
[발명의 상세한 설명]
본 발명은 고정도수를 저장하는 컴퓨터에서 이용가능한 메모리 주소위치의 수를 증가시키기 위한 백워드로 양립가능 주소지정방법을 제공한다.
설명하기 위해, 특정실시예가 본 발명의 완전한 이해를 제공하도록 개시된다.
그러나, 당업자에게 있어 본 발명은 이러한 상세설명 없이도 실시될 수 있음은 명백할 것이다. 또다른 경우에, 공지된 소자, 장치, 처리단계 및 이와 유사한 것들은 본 발명을 불필요하게 애매하게 하는 것을 회피하기 위해 상세히 개시하지 않는다.
제2도는 본 발명의 실시예에 의해 사용되는 명령어 포맷을 예시한다.
비트 7 내지 13은 명령어의 동작코드(opcode)를 지정하며, 비트 0 내지 4 및 비트 14 내지 18은 각각 소스 1 및 소스 2 레지스터의 5개의 비트 주소이며, 비트 25 내지 29는 5개의 비트 목적지 레지스터 주소이다.
부가하여, 비트 5 및 6은 명령어가 단정도, 2배정도 혹은 4배정도인지를 지정한다.
제3도는 마이크로프로세서의 개략 블럭도이다.
명령어 인출 유니트(202) 는 메모리로부터 명령어를 인출한다.
명령어는 명령어 해독기(204) 에 의해 해독되며, 명령어 해독기는 명령어에 의해 지정된 주소를 주소지정논리회로(206) 에 제공한다.
주소지정논리회로(206) 는 명령어 레지스터 주소를 레지스터 파일(208)와 물리 레지스터를 액세스하는데 사용되는 형태로 변환된다.
이 명령어 레지스터 주소는 소스 1 및 소스 2 레지스터로부터 판독하기 위해 그리고 레지스터 파일(208)내의 목적지 레지스터로 기입하기 위해 사용된다.
명령어의 비트 5 및 6에 의해 지정된 정도는 각각의 주소에 의해 주소지정된 레지스터의 수를 결정한다.
즉, 단정도 명령어는 한개의 레지스터를 사용하여 연산을 하며, 2배정도 명령어는 레지스터 쌍에 대해 연산하며, 4배정도 명령어는 동시에 4개 레지스터를 액세스한다.
제4도는 명령어내에서 지정된 논리주소를 레지스터 화일(208) 에 의해 사용되는 물리주소 (실제주소) 로 매핑하는 종래의 주소지정논리회로(206)(스파크 버젼 8에서 알 수 있는)를 도시한다.
물리 메모리 주소 D는 논리주소 E와 정도 S와의 함수이다.
메모리 정렬 요구조건에 따라, 종래기술 시스템에서의 논리 메모리 주소는 정수배수의 정도이어야 하며, 여기서 정도는 2의 누승이다.
명령어의 논리 메모리 주소 E는 논리등식로 표현되며, 물리주소 D는인 레지스터를 나타낸다.
정도 S는로 표현되며, 여기서 S는 2의 누승이므로 S에 대한 2진 표현에서 k값인 Si중에서 오직 한개만이 1이 될 것이다.
논리주소 및 정도로부터 물리주소를 산출하기 위해, 종래의 주소지정논리에 의해 수행된 함수는 다음의 논리등식인
으로 요약되며, 이 등식은 기본적으로 정렬요구조건의 다른 표현이다.
종래기술에서 물리주소 m의 비트의 수는 논리주소 n의 비트수와 반드시 같아야 된다는 것을 유의하라.
메모리 정렬요구조건은 액세스가능한 메모리 영역을 2n-S+1까지로 제한한다.
예를들면, 스파크 버젼 8 구조의 부동 소숫점 레지스터 화일의 경우에, 32개의 단정도 부동 소숫점 레지스터가 액세스될 수 있으며, 반면에 16개의 2배정도 크기 레지스터 및 8개의 4배정도 크기 레지스터가 액세스될 수 있다.
n=m=5 비트의 경우에, 상기 등식은 다음의 매핑을 산출한다.
이 도표는 2배 워드 레지스터 주소지정자의 최하위 비트가 보유되고 0으로 세트되며, 4배 워드 레지스터 주소의 최하위 2비트가 0으로 세트된 것을 도시한다.
이것은 레지스터 화일내에서의 2배 워어드가 정렬된 쌍으로 주소지정되며 4배 워드가 4의 그룹으로 정렬되는 것을 보장한다.
종래의 주소지정방법은 5비트를 사용하여 주소 지정될 수 있는 2배정도수 및 4배정도수의 개수를 제한한다. 32개의 2배정도 및 4배정도 레지스터 세트의 풀세트가 종래의 정렬된 주소 및 생략된 주소 모두를 사용하여 주소지정될 수 있도록 모든 5비트의 논리주소를 더욱 효율적으로 사용하는 것이 바람직하다.
명백히, 고정도수에 대하여, 이러한 방법은 현재 레지스터의 구성을 사용하는 데이타를 손상시키는 결과가 되므로 명령어는 정렬된 주소 및 생략된 주소 모두를 사용하여 주소지정할 수 없다.
이러한 문제점에 대한 하나의 해결방법은 5비트 주소공간을 채우기 위해 각각의 정도에 대해 추가 레지스터 세트를 제공하는 것 및 실제 레지스터를 주소지정하기 위해 O=SE 형태의 간략한 매핑을 수행하는 것일 수 있다.
이러한 매핑은 제5도에서 2배 워어드 레지스터에 관하여 도시되어 있다.
2 배 워드 주소 0은 물리주소 0으로 시작하는 레지스터 쌍을 주소지정하며, 2배 워드 주소 1은 물리주소 2에서 시작하는 레지스터 쌍을 주소지정하며, 2배 워드 주소 2는 물리주소 4에서 시작하는 레지스터 쌍을 주소지정하는 등으로 주소지정한다.
4 배정도 주소지정에 있어서는 논리주소 0은 물리주소 0을 주소지정하며, 논리주소 1은 물리주소 4를 지정하며, 논리주소 2는 물리주소 8을 지정하는 등으로 주소지정한다.
이러한 주소지정방법에 의한 문제점은 본래의 레지스터(original registers)에 대한 정렬 요구조건을 만족시키지 못하며 따라서 종래기술의 주소지정방법과 백워드로 양립할 수 없다는 것이다.
현재의 명령어 세트는 각각의 고정도 주소가 고정도 주소에 대응하는 레지스터 그룹내의 제1의 단정도 레지스터의 주소와 동일하도록 설계되어 있다.
2 배 워드 주소 2는 본래 레지스터 화일의 1 워드 주소 2에서 시작하며, 2 배 워드 주소 4는 본래의 레지스터 화일의 1 워드 주소 4에서 시작하는 등으로, 그리고 4배 워드 주소 4는 본래의 레지스터 화일의 1 워드 주소 4에서 시작하며, 4배 워어드 주소 8은 본래의 레지스터 화일의 1 워어드 주소 8에서 시작하는 등으로 대응된다.
이러한 대응으로는 제안된 해결책이 존재하지 않는다는 것을 제5도로부터 알 수 있다.
따라서, 이 주소지정방법은 많은 소프트웨어가 기록되어 있는 현재의 명령어 세트의 디자인과 양립할 수 없다.
본 발명은 기존의 레지스터 주소지정방법과의 양립가능성 뿐만 아니라 고정도수로 주소지정을 할 때 주소공간의 완전한 이용을 제공한다.
제6도는 본 발명에 따른 메모리 주소지정을 도시한다.
n 은 논리주소 E에서의 비트의 수이고, m은 물리주소 D에서의 비트의 수이고, k는 명령어 세트내에서 이용가능한 정도 크기의 수와 같다고 하자.
제6도는 n=5(32개의 본래의 레지스터), m=7(128개의 전체 레지스터) 및 k=3(단정도, 2배 정도 및 4배정도수) 인 경우에 대한 본 발명을 예시한다.
32개 레지스터인 본래의 세트에 관해, 본 발명은 기존의 주소지정방법에서 알 수 있는 바와같이 실제 레지스터로 2배 워드 및 4배 워드 주소와의 동일한 대웅을 유지한다. 본 발명은 추가로 종래기술에서 생략된 2배 워드 및 4배 워드 주소를 갖는 추가 레지스터를 주소지정한다.
따라서, 예를들면 2배정도 레지스터를 위한 정상적인 주소지정방법으로부터 생략된 홀수주소는 추가 레지스터의 쌍을 주소지정하는데 사용된다.
이것은 32개의 2배정도 레지스터인 완전한 세트가 5비트 논리주소를 사용하여 주소지정되도록 한다.
본 발명의 물리주소 D로의 논리주소 E의 매핑은 다음 논리등식으로 요약된다.
여기서 k는 처리기에 이용가능한 정도크기의 수이고,
이러한 등식을 사용하여, 유일하게 액세스가능한 레지스터의 수는 S ≤ 2m-n에서 2 이다.
이 등식들은 n=5, m=7 및 k=3인 경우에 대한 제7도의 회로를 사용하여 구현될 수 있다.
본 발명의 방법의 흐름도가 제 8도에 도표로 도시되어 있다.
이러한 매개변수에 대해, 상기 등식들은 다음과 같은 형식을 갖는다.
대안으로, 이 등식들은 다음와 같이 표현될 수 있다.
이 등식들은 다음과 같은 주소매핑결과가 된다.
상기 표는 본 발명에 의해 완전한 5비트 주소 공간(e0,e1,e2,e3,e4)이 2nS 정도수를 주소지정하기 위해 사용되는 예시한다. 동시에, 물리 메모리 주소는 종래의 주소지정방법과의 양립가능성을 유지하도록 정렬되어 남는다.
본 발명이 바람직한 실시예와 관련하여 설명되었을지라도, 본 발명의 범위 및 정신으로부터 벗어남이 없이 당업자에 의해 다양한 수정 및 변경이 가능하다는 것은 명백할 것이다.
Claims (13)
- 메모리 주소위치는 n비트 논리주소인에 의해 명령어 주소필드내에서 지정되고, 각각의 수는 m비트 물리주소인에 의해 액세스된 S 메모리 주소위치의 그룹내에 저장되고, 각각의 메모리 주소위치는 단정도 수를 저장가능하고, S가 2의 누승인 복수의 S 정도수를 조작할 수 있는 처리기를 갖는 컴퓨터 시스템에서 상기 논리주소로 상기 메모리 주소위치를 주소지정하는 주소지정논리에 있어서, 상기 주소지정논리는 0 ≤ i ≤(log2S)-1에서 di=0을 세팅하고, log2S ≤i ≤ n-1에서 di=ei를 세팅하는 정렬논리; 및 n ≤i ≤ m-1에서 di=ei-n을 세팅하는 확장논리로 구성되는 것을 특징으로 하는 주소지정논리.
- 제1항에 있어서, k는 상기 처리기에 의해 조작될 수 있는 정도크기의 수이고이며, 여기서 상기 정렬논리는 다음 논리등식에 따라 구현되는 것을 특징으로 하는 주소지정논리.
- 제1항에 있어서, k는 상기 처리기에 의해 조작될 수 있는 정도크기의 수이고이며, 여기서 상기 확장논리는 다음 논리등식에 따라 구현되는 것을 특징으로 하는 주소지정논리.
- 제1항에 있어서, 상기 메모리 주소위치는 마이크로프로세서 레지스터인 것을 특징으로 하는 주소지정논리.
- 메모리 주소위치는 n비트 논리주소인에 의해 명령어 주소필드내에서 지정되고 각각의 수는 m비트 물리주소인에 의해 액세스된 S 메모리 주소위치의 그룹내에 저장되고, 각각의 메모리 주소위치는 단정도 수를 저장가능하고, S가 2의 누승인 복수의 S 정도수를 조작할 수 있는 처리기를 갖는 컴퓨터 시스템에서 상기 논리주소로 상기 메모리 주소위치를 주소지정하는 방법에 있어서, 상기 주소지정방법은0 ≤i ≤(log2S)-1에서 di=0을 세팅하는 단계;log2S ≤1 ≤ n-1에서 di=ei를 세팅하는 단계; 및n ≤i ≤ m-1에서 di=ei-n을 세팅하는 단계로 이루어지는 것을 특징으로 하는 주소지정 방법.
- 제5항에 있어서, k는 상기 처리기에 의해 조작될 수 있는 정도 크기의 수이며이고, 여기서 상기 제1 세팅 단계는 논리등식인에 따라 구현되어지고, 상기 제2 세팅 단계는 논리등식인에 따라 구현되는 것을 특징으로 하는 주소지정방법.
- 제5항에 있어서, k는 상기 처리기에 의해 조작되어질 수 있는 정도크기의 수이며이고, 여기서 상기 제3 세팅 단계는 논리등식인에 따라 구현되는 것을 특징으로 하는 주소지정방법.
- 제5항에 있어서, 상기 메모리 주소위치는 마이크로프로세서 레지스터인 것을 특징으로 하는 주소지정방법.
- S 가 2의 누승인 S 정도를 갖는 다수의 수를 조작할 수 있는 처리기에 있어서, 상기 처리기는 제 1의 다수의 논리주소 E에 의해 주소지정가능찬 제 1의 다수의 메모리 주소위치를 가지며, 제 1의 다수의 논리주소들의 각각의 논리주소는 cS 형태를 가지며 여기서 c는 집합{0, 1‥‥‥(r/S-1)}으로 부터이며 r은 제 1의 다수의 메모리 주소위치내에서의 메모리 주소위치의 갯수이고, 제 1의 다수의 메모리 주소위치에서의 각각의 메모리 주소위치는 단정도 수를 저장가능하며, 제 1의 다수의 메모리 주소위치의 각각의 메모리 주소위치는 S 그룹내에서 주소지정가능하며, 상기 처리기는 추가로 각각이 단정도수를 저장할 수 있고, S 그룹내에서 주소지정가능하고, r은 각각의 추가 다수의 메모리 주소위치내에서의 메모리 주소위치인 다수의 S-1개의 추가 다수의 메모리 주소위치; 및 각각의 추가의 다수 메모리 주소위치에 대괘, 연관된 추가의 다수 논리주소를 사용하여 다수의 S-1개의 추가 다수의 메모리 주소위치를 주소지정하는 주소지정논리; 로 구성되어 있으며, i는 집합{1,2‥‥‥S-1} 으로부터이고 I의 연관된 추가 다수의 논리주소의 각 주소는 cS+i의 형태를 가지며, 주소지정수단은 추가 다수의 레지스터에 접속되는 것을 특징으로 하는 처리기.
- 제9항에 있어서, 메모리 주소위치는 n비트 논리주소인에 의해 명령어 주소필드내에서 지정되고 각각의 S 정도 수는 m비트 물리주소인에 의해 액세스되며, 상기 주소지정논리는 0 ≤i ≤(log2S)-1에서 di=0을 세팅하고, log2S ≤i ≤ n-1에서 di=ei를 세팅하는 정렬논리; 및 n ≤i ≤ m-1에서 di=ei-n을 세팅하는 확장논리를 포함하는 것을 특징으로 하는 처리기.
- 제10항에 있어서, k는 상기 처리기에 의해 조작가능한 정도크기의 수이고이며, 여기서 상기 정렬논리는 다음의 논리등식에 따라 구현되는 것을 특징으로 하는 처리기.
- 제10항에 있어서, k는 상기 처리기에 의해 조작가능한 정도크기의 수이고이며, 여기서 상기 확장논리는 다음의 논리등식에 따라 구현되는 것을 특징으로 하는 처리기.
- 제10항에 있어서, 상기 메모리 주소위치는 마이크로프로세서 레지스터인 것을 특징으로 하는 처리기.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US114,466 | 1980-01-23 | ||
US11446693A | 1993-08-31 | 1993-08-31 | |
US114466 | 1998-07-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR950006603A KR950006603A (ko) | 1995-03-21 |
KR100301224B1 true KR100301224B1 (ko) | 2001-10-22 |
Family
ID=22355385
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019940021813A KR100301224B1 (ko) | 1993-08-31 | 1994-08-31 | 고정도수를저장하는컴퓨터내에서이용가능한메모리주소위치의수를증가시키기위한메모리주소지정방법 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP0640912B1 (ko) |
JP (1) | JP3575496B2 (ko) |
KR (1) | KR100301224B1 (ko) |
DE (1) | DE69424355T2 (ko) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5778247A (en) * | 1996-03-06 | 1998-07-07 | Sun Microsystems, Inc. | Multi-pipeline microprocessor with data precision mode indicator |
US5632514A (en) * | 1996-03-26 | 1997-05-27 | Johnson, Jr.; Marvin B. | Juvenile safety gate latch for swing gate |
US6055619A (en) * | 1997-02-07 | 2000-04-25 | Cirrus Logic, Inc. | Circuits, system, and methods for processing multiple data streams |
JP3779540B2 (ja) | 2000-11-08 | 2006-05-31 | 株式会社ルネサステクノロジ | 複数レジスタ指定が可能なsimd演算方式 |
GB2409062C (en) * | 2003-12-09 | 2007-12-11 | Advanced Risc Mach Ltd | Aliasing data processing registers |
US8898436B2 (en) * | 2009-04-20 | 2014-11-25 | Oracle America, Inc. | Method and structure for solving the evil-twin problem |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR1567705A (ko) * | 1967-06-09 | 1969-04-08 | ||
FR2428871A1 (fr) * | 1978-06-15 | 1980-01-11 | Philips Data Syst | Extension de l'espace d'adressage direct dans un systeme d'ordinateur |
EP0483967A3 (en) * | 1990-10-29 | 1993-07-21 | Sun Microsystems, Inc. | Apparatus for increasing the number of registers available in a computer processor |
-
1994
- 1994-08-30 EP EP94306378A patent/EP0640912B1/en not_active Expired - Lifetime
- 1994-08-30 DE DE69424355T patent/DE69424355T2/de not_active Expired - Fee Related
- 1994-08-31 KR KR1019940021813A patent/KR100301224B1/ko not_active IP Right Cessation
- 1994-08-31 JP JP22897794A patent/JP3575496B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
KR950006603A (ko) | 1995-03-21 |
JPH07152535A (ja) | 1995-06-16 |
DE69424355D1 (de) | 2000-06-15 |
JP3575496B2 (ja) | 2004-10-13 |
EP0640912B1 (en) | 2000-05-10 |
EP0640912A1 (en) | 1995-03-01 |
DE69424355T2 (de) | 2001-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100241049B1 (ko) | 벡터프로세서를 위한 요소선택 메카니즘 | |
JP3138209B2 (ja) | マトリックス転置方法 | |
US7631167B2 (en) | System for SIMD-oriented management of register maps for map-based indirect register-file access | |
KR100996888B1 (ko) | 앨리어싱 데이터 처리 레지스터 | |
KR100991984B1 (ko) | 레지스터와 메모리 사이에 데이터를 이동시키는 데이터처리장치 및 방법 | |
JP5112325B2 (ja) | 参照テーブルアドレス指定システム及び方法 | |
WO2001025900A1 (en) | Risc processor using register codes for expanded instruction set | |
JPH08314717A (ja) | コンピュータ及びコンピュータ動作方法 | |
US5935240A (en) | Computer implemented method for transferring packed data between register files and memory | |
US5666510A (en) | Data processing device having an expandable address space | |
US6388586B1 (en) | Method for reversing the bits of a computer data structure | |
KR100301224B1 (ko) | 고정도수를저장하는컴퓨터내에서이용가능한메모리주소위치의수를증가시키기위한메모리주소지정방법 | |
JPH06103062A (ja) | コンピュータ処理装置に利用できるレジスタ数を増大させる装置 | |
EP0363176B1 (en) | Word organised data processors | |
US5638312A (en) | Method and apparatus for generating a zero bit status flag in a microprocessor | |
US6067617A (en) | Specialized millicode instructions for packed decimal division | |
KR960007831B1 (ko) | 컴퓨터 아키텍쳐를 32비트에서 64비트로 확장하는 방법 및 장치 | |
US4691282A (en) | 16-bit microprocessor system | |
JP2002529847A (ja) | ビットfifoを有するディジタル信号プロセッサ | |
TW577083B (en) | Architecture to relax memory performance requirements | |
US5771368A (en) | Memory addressing scheme for increasing the number of memory locations available in a computer for storing higher precision numbers | |
US6055624A (en) | Millicode flags with specialized update and branch instructions | |
JPS61214029A (ja) | 命令先取りバツフア | |
US6931508B2 (en) | Device and method for information processing | |
EP0047439A2 (en) | Address expanding system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |