KR19990026795A - 마이크로프로세서 - Google Patents

마이크로프로세서 Download PDF

Info

Publication number
KR19990026795A
KR19990026795A KR1019970049087A KR19970049087A KR19990026795A KR 19990026795 A KR19990026795 A KR 19990026795A KR 1019970049087 A KR1019970049087 A KR 1019970049087A KR 19970049087 A KR19970049087 A KR 19970049087A KR 19990026795 A KR19990026795 A KR 19990026795A
Authority
KR
South Korea
Prior art keywords
register
instruction
unit
microprocessor
registers
Prior art date
Application number
KR1019970049087A
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 윤종용
Priority to KR1019970049087A priority Critical patent/KR19990026795A/ko
Publication of KR19990026795A publication Critical patent/KR19990026795A/ko

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

주기억장치, 및 상기 주기억장치에 저장되어 있는 데이터를 이용하여 명령들을 수행하는 명령 프로세싱 유니트를 구비하고, 명령 프로세싱 유니트는 디코딩부, 레지스터부, 전역 레지스터부, 레지스터 윈도우 설정부로써 구성되어 있는 마이크로프로세서가 개시되어 있다. 명령 디코딩부는 명령을 디코딩 하여, 이를 해당되는 일련의 복수의 프로시듀어들로써 전환한다. 레지스터부는 역할에 따라 파라미터 레지스터들, 지역 레지스터들, 및 임시 레지스터들로 구분되어 있는 복수의 레지스터 윈도우들을 구비한다. 전역 레지스터부는 하나 이상의 프로시듀어에 의해 엑세스 되는 전역 변수들을 저장하기 위한 복수의 전역 레지스터들로써 구성되어 있다. 레지스터 윈도우 설정부는 해당되는 프로시듀어에 대하여 해당되는 레지스터 윈도우의 크기를 설정하고 레지스터부 내부에서의 위치를 설정한다. 본 발명에 의하면, 일정 용도별로 분할되어 사용되는 일군의 레지스터들로써 구성되어 있는 레지스터 윈도우 개념에 더하여, 전역 레지스터부를 둠으로써, 하드웨어가 간단하고 또한 멀티-마이크로프로세서 유니트 시스템에 있어서 각 마이크로프로세서 유니트 사이의 공유 데이터를 처리할 경우에 있어서도 일정 영역을 할당하여 레지스터 레벨에서 처리할 수 있게 함으로써 그 처리 속도를 한층 빠르게 할 수 있는 효과를 가진다.

Description

마이크로프로세서
본 발명은 마이크로프로세서(Microprocessor)에 관한 것으로서, 특히 구동 전력 소비를 줄일 수 있는 버스 라인 구조를 가지는 반도체 장치에 관한 것이다.
마이크로프로세서의 설계에 있어서 레지스터의 사용이 제기되는 이유는 레지스터가 주기억장치(Main Memory System)와 캐쉬(Cache)보다 더 빠른 저장 장치이기 때문이다. 레지스터 파일은 크기가 작고 일반적으로 연산 유니트(ALU), 및 제어 유니트(CPU)와 함께 칩(Chip) 내부에 존재하며, 캐쉬와 주기억장치보다 짧은 주소를 사용한다. 따라서 가장 자주 사용되는 오퍼랜드(Operand)를 레지스터에 저장함으로써 레지스터와 주기억장치 사이의 이동을 최소화하는 전략이 필요하다.
레지스터와 주기억장치 사이의 이동을 최소화하는 데는 두 가지 방식들이 있다. 한 가지는 소프트웨어(Software)를 이용하는 방식이고, 다른 한 가지는 하드웨어(Hardware)를 이용하는 방식이다.
소프트웨어를 이용하는 방식에 있어서는, 컴파일러(Compiler)가 레지스터의 사용을 조절하여 이를 극대화하는 데 의존하는 방법이다. 이 때 컴파일러는 주어진 시간 내에 가장 많이 사용되는 변수들을 레지스터에 할당하여야 한다. 따라서, 이와 같은 방식을 위해서는 아주 정교한 프로그램 분석 알고리즘(Algorithm)이 사용되어야 한다.
하드웨어를 이용하는 방식에 있어서는, 보다 많은 변수들이 오랜 시간 레지스터에 머무를 수 있도록 많은 레지스터들을 사용하는 것이다. 레지스터 세트(Set)가 커지면 주기억장치에 대한 엑세스(Access)의 필요성이 줄어들게 된다. 그러므로 하드웨어를 이용하는 방식의 설계 작업은 상기와 같은 목적을 달성할 수 있도록 레지스터들을 조직하는 데 주력을 두게 된다.
일반적으로 대부분의 오퍼랜드 엑세스들은 지역 스칼라(Local Scalar)에 대한 것이다. 지역(Local)의 정의는 각 프로시듀어(Procedure) 호출과 복귀에 따라 변화하는 데, 프로시듀어 호출과 복귀 동작은 빈번히 일어난다. 호출 시에 지역 변수들은 레지스터들로부터 주기억장치로 저장되어야 하는 데 이것은 호출된 프로그램이 레지스터들을 사용할 수 있도록 하기 위한 것이다. 이 때, 파라미터(Parameter)들도 전달되어야 한다. 복귀 시에는 본 프로그램의 변수들이 레지스터로 재저장되어야 하고 결과 값들도 본 프로그램으로 전송되어야 한다.
전형적인 프로시듀어에서는 전송될 파라미터와 지역 변수들의 수가 적다. 그리고 프로시듀어 호출의 깊이는 비교적 좁은 범위 내에서 이루어진다.
따라서, 본 발명의 목적은 프로시듀어의 일반적인 성질을 이용하여, 복수의 프로시듀어를 레지스터 차원에서 수행할 수 있어 동작 속도를 향상시키도록 구성되어 있는 마이크로프로세서를 제공하는 데 있다.
도 1은 본 발명의 실시예에 따른 마이크로프로세서의 블록도이다.
도 2는 도 1에 있어서 레지스터부의 구체적인 일 실시예에 따른 블록도이다.
* 도면의 주요부분에 대한 부호의 설명
PR1 내지 PRl : 파라미터 레지스터들, LR1 내지 LRm : 지역 레지스터들,
TR1 내지 TRn : 임시 레지스터들, GR1 내지 GRj : 전역 레지스터들,
A 내지 F : 레지스터 윈도우들.
상기 목적을 달성하기 위하여 본 발명의 실시예에 따른 마이크로프로세서는
주기억장치;
해당되는 데이터를 상기 주기억장치로부터 독출 하여 해당되는 로딩 명령에 명시되어 있는 레지스터로 저장하기 위한 상기 로딩 명령, 해당되는 데이터를 저장 명령에 명시되어 있는 레지스터로부터 상기 주기억장치로 데이터를 저장하기 위한 상기 저장 명령, 및 상기 주기억장치에 저장되어 있는 해당되는 데이터를 이용하여 해당되는 연산 동작을 수행하고 그 결과를 연산 명령에 명시되어 있는 레지스터에 저장하기 위한 상기 연산 명령을 수행하는 명령 프로세싱 유니트를 구비하고,
상기 명령 프로세싱 유니트는
명령을 디코딩 하여 해당되는 일련의 복수의 프로시듀어들로 전환하는 명령 디코딩 수단;
복수의 레지스터 윈도우들을 구비하는 레지스터부;
하나 이상의 프로시듀어에 의해 엑세스 되는 전역 변수들을 저장하기 위한 복수의 전역 레지스터들;
해당되는 프로시듀어에 대하여 해당되는 레지스터 윈도우의 크기를 설정하고 상기 레지스터부 내부에서의 위치를 설정하는 레지스터 윈도우 설정 수단을 구비하고,
상기 복수의 레지스터 윈도우들은 각각, 해당되는 프로시듀어를 호출한 프로시듀어로부터 전송된 파라미터들과 재전송될 결과들을 가지고 있는 복수의 파라미터 레지스터들, 컴파일러에 의해 지정된 지역 변수들을 저장하기 위한 복수의 지역 레지스터들; 및 다음 하위 단계와 파라미터 및 결과 값들을 교환하기 위한 복수의 임시 레지스터들을 구비하고, 상기 명령 디코딩 수단으로부터 가장 최근에 발생되어 지는 프로시듀어들에 대해서 사용되어지는 것을 특징으로 한다.
이어서 첨부한 도면들을 첨부하여 본 발명의 실시예들에 대하여 자세히 설명하기로 한다.
도 1은 본 발명의 실시예에 따른 마이크로프로세서의 블록도를 나타내고 있다.
도 1을 참조하면, 본 발명의 실시예에 따른 마이크로프로세서는 주기억장치(110), 및 명령 프로세싱 유니트(120)를 구비한다.
주기억장치(110)는 명령들 및 데이터를 저장한다.
명령 프로세싱 유니트(120)는 로딩 명령(Load Instruction), 저장 명령(Store Instruction), 및 연산 명령(Arithmetic Instruction)을 수행한다. 여기서 로딩 명령은 해당되는 데이터를 주기억장치(110)로부터 독출 하여 로딩 명령에 명시되어 있는 레지스터로 저장하기 위한 것이다. 저장 명령은 해당되는 데이터를 저장 명령에 명시되어 있는 레지스터로부터 주기억장치(110)로 데이터를 저장하기 위한 것이다. 연산 명령은 주기억장치(110)에 저장되어 있는 해당되는 데이터를 이용하여 해당되는 연산 동작을 수행하고 그 결과를 연산 명령에 명시되어 있는 레지스터에 저장하기 위한 것이다.
명령 프로세싱 유니트(120)는 명령 디코딩 수단(130), 레지스터부(140), 전역 레지스터부(150), 및 레지스터 윈도우 설정 수단(160)을 구비한다.
명령 디코딩부(130)는 명령을 디코딩(Decoding)하여 해당되는 이를 일련의 프로시듀어(Procedure)들로써 전환한다.
레지스터부(140)는 레지스터 윈도우들(141 내지 149)로써 구성되어 있다.
레지스터 윈도우들(141 내지 149)은 각각, 해당되는 프로시듀어를 호출한 프로시듀어로부터 전송된 파라미터(Parameter)들과 재전송될 결과들을 가지고 있는 파라미터 레지스터들(PR1 내지 PRl), 컴파일러에 의해 지정된 지역 변수들을 저장하기 위한 지역 레지스터들(LR1 내지 LRm), 및 다음 하위 단계와 파라미터 및 결과 값들을 교환하기 위한 임시 레지스터들(TR1 내지 TRn)을 구비하고, 명령 디코딩 수단(130)으로부터 가장 최근에 발생되어 지는 프로시듀어들에 대해서 사용되어진다.
전역 레지스터부(150)는 하나 이상의 프로시듀어에 의해 엑세스 되는 전역 변수(Global Variables)들을 저장하기 위한 전역 레지스터들(GR1 내지 GRj)로써 구성되어 있다.
레지스터 윈도우 설정부(160)는 명령 디코딩부(130)로부터 발생되어 지는 프로시듀어들에 대하여 호출의 깊이를 호출되는 빈도에 따라 설정하고, 이에 따라 해당되는 프로시듀어에 대하여 해당되는 레지스터 윈도우의 크기를 설정하여, 이의 레지스터부(140) 내부에서의 위치를 설정한다.
도 1에 나타내고 있는 바와 같이, 본 발명의 실시예에 따른 마이크로프로세서는 여러 개의 레지스터 윈도우들(141 내지 149)을 설정하고, 레지스터 윈도우들(141 내지 149)은 서로 다른 프로시듀어에 할당되어 사용되어 진다. 따라서 새로운 프로시듀어가 호출되었을 때에 윈도우 레지스터 설정부(160)에 의해서 현재 진행중인 프로시듀어에 해당되는 레지스터 윈도우의 내용을 주기억장치(110)에 저장시키는 대신에 새로운 프로시듀어가 다른 레지스터 윈도우를 사용하도록 자동적으로 전환시켜 준다. 또한 인접한 프로시듀어를 위해서는 파라미터 전송을 위하여 해당되는 레지스터 윈도우가 중첩되어 사용된다.
임의의 시점에서 레지스터 윈도우는 한 개만 보이며, 마치 이것이 유일한 레지스터 세트인 것처럼 사용된다. 레지스터 윈도우들(141 내지 149)은 각각, 대개 고세 개의 고정 크기 영역들, 즉 파라미터 레지스터들(PR1 내지 PRl), 지역 레지스터들(LR1 내지 LRm), 및 임시 레지스터들(TR1 내지 TRn)로 나누어진다. 여기서 어느 단계에서의 임시 레지스터들(TR1 내지 TRn)은 다음 하위 단계의 파라미터 레지스터들(PR1 내지 PRl)과 같다.
어떠한 패턴의 호출과 복귀도 처리할 수 있도록 하기 위해서 레지스터 윈도우들(141 내지 149)의 수는 제한되어 있지 않다. 그 대신에 레지스터 윈도우들(141 내지 149)은 명령 디코딩부(130)와 윈도우 레지스터 설정부(160)에 의해서 제어되어 가장 최근에 실행되고 있는 프로시듀어만을 위하여 사용되어 진다. 더 이전에 실행되었던 프로시듀어를 위한 내용들은 주기억장치(110)에 저장되었다가 나중에 호출의 깊이가 감소되었을 때 윈도우 레지스터 설정부(160)에 의해서 복구되어 진다. 따라서 레지스터부(120)는 중첩 레지스터 윈도우들(141 내지 149)로써 이루어진 일종의 순환 버퍼의 형태를 가진다.
도 2는 도 1에 있어서, 레지스터부(140)가 6 개의 순환 버퍼들의 형태를 취하는 경우의 구체적인 일 실시예에 따른 개념도를 나타내고 있다.
도 2를 참조하면, 각각의 레지스터 윈도우들(A 내지 F)은 서로 인접하여 실행되는 프로시듀어에 대하여 서로 중첩되어 있다. 즉 레지스터 윈도우들(A 내지 F)은 각각 레지스터들(A1,A2,B1), 내지 레지스터들(F1,F2,A1)로써 구성되어 있으며, 레지스터 윈도우들(A 내지 F)을 구성하고 있는 레지스터들(A1 내지 F1)은 서로 각각 전단계의 프로시듀어와 현재 단계의 프로시듀어에 중첩되어 있다. 그리고 현재의 윈도우 포인터는 현재 실행 중인 프로시듀어의 윈도우 레지스터를 가리키게 된다.
전역 레지스터부(150)는 레지스터 윈도우들(141 내지 149)을 사용하고 있는 프로시듀어들 및 하나 이상의 프로시듀어들에 의해 엑세스 되는 전역 변수들을 저장하기 위한 전역 레지스터 세트이다.
이와 같이 본 발명의 실시예에 따른 마이크로프로세서에 있어서 레지스터 윈도우들은 일군의 레지스터들로써 구성되어 있으며, 이러한 일군의 레지스터들은 또한 일정 용도별로 분할되어 사용된다. 그리고 이러한 레지스터 윈도우 개념에 더하여, 하나 이상의 프로시듀어에 의해 엑세스 되는 전역 변수들을 저장하기 위한 전역 레지스터부(150)를 둔다. 이처럼 레지스터의 주소를 분리하면 하드웨어가 간단해진다. 이러한 전역 레지스터부(150)는 이후 멀티-마이크로프로세서 유니트(Multi-MPU) 시스템에 있어서 각 마이크로프로세서 유니트 사이의 공유 데이터를 처리할 경우에 있어서도 일정 영역을 할당하여 캐쉬 레벨이 아닌 레지스터 레벨에서 처리할 수 있게 함으로써 그 처리 속도를 한층 빠르게 할 수 있다.
본 발명의 다른 실시예에 따른 마이크로프로세서는 현재 이용되고 있는 캐쉬에서 패치(Fetch)하는 동작, 레지스터 리네이밍(Renaming) 기법에 의한 파이프라인의 병목 현상을 해결하기 위한 동작, 및 컴파일러에 의한 무정렬식(Out-of-order) 기법으로 병렬성의 탐지 동작을 가지는 마이크로프로세서에 있어서, 상기 본 발명의 실시예에 따른 마이크로프로세서와 동일한 구조를 구비한다. 따라서 본 발명의 다른 실시예에 따른 마이크로프로세서에 대한 상세한 설명은 생략하기로 한다.
이와 같이, 본 발명의 다른 실시예에 따른 마이크로프로세서는 레지스터 윈도우 개념, 전역 레지스터 개념, 및 현재 이용하고 있는 무정렬식 기법과 레지스터 리네이밍 기법을 통하여 파이프라인의 데이터 의존성을 탈피하도록 함으로써 성능의 향상을 꾀하고 있다. 이 때, 멀티-마이크로프로세서 유니트 시스템에 있어서, 각 마이크로프로세서 유니트 사이의 공유 데이터를 처리할 경우에 있어서 각각의 공유 데이터의 갱신 방법은 기존의 캐쉬 시스템에서 사용하는 방법을 그대로 이용할 수 있다. 또한 일관성(Coherency)에 대한 문제에 있어서도 기존의 캐쉬 시스템에서 사용하는 방법을 그대로 이용할 수 있다. 또한 본 발명의 다른 실시예에 따른 마이크로프로세서는 윈도우 레지스터 개념 및 전역 레지스터 개념을 가지고 또한 캐쉬 시스템을 구비하고 있으며, 캐쉬 시스템은 내용에 대한 주소를 설정할 수 있는 메모리 형태, 즉 CAM(Content Addressable Memory)을 이용하여 전체 시스템이 설계되어 있다. 따라서 시스템 전체의 동작 속도가 향상되어 진다.
본 발명에 의하면, 일정 용도별로 분할되어 사용되는 일군의 레지스터들로써 구성되어 있는 레지스터 윈도우 개념에 더하여, 하나 이상의 프로시듀어에 의해 엑세스 되는 전역 변수들을 저장하기 위한 전역 레지스터부를 둠으로써, 하드웨어가 간단하고 또한 멀티-마이크로프로세서 유니트 시스템에 있어서 각 마이크로프로세서 유니트 사이의 공유 데이터를 처리할 경우에 있어서도 일정 영역을 할당하여 캐쉬 레벨이 아닌 레지스터 레벨에서 처리할 수 있게 함으로써 그 처리 속도를 한층 빠르게 할 수 있는 효과를 가진다.

Claims (9)

  1. 마이크로프로세서에 있어서,
    명령들 및 데이터를 저장하고 있는 주기억장치;
    해당되는 데이터를 상기 주기억장치로부터 독출 하여 해당되는 로딩 명령에 명시되어 있는 레지스터로 저장하기 위한 상기 로딩 명령, 해당되는 데이터를 저장 명령에 명시되어 있는 레지스터로부터 상기 주기억장치로 데이터를 저장하기 위한 상기 저장 명령, 및 상기 주기억장치에 저장되어 있는 해당되는 데이터를 이용하여 해당되는 연산 동작을 수행하고 그 결과를 연산 명령에 명시되어 있는 레지스터에 저장하기 위한 상기 연산 명령을 수행하는 명령 프로세싱 유니트를 구비하고,
    상기 명령 프로세싱 유니트는,
    상기 명령을 디코딩 하여 이를 해당되는 일련의 복수의 프로시듀어들로써 전환하는 명령 디코딩부;
    복수의 레지스터 윈도우들을 구비하는 레지스터부;
    하나 이상의 프로시듀어에 의해 엑세스 되는 전역 변수들을 저장하기 위한 복수의 전역 레지스터들로써 구성되어 있는 전역 레지스터부;
    상기 명령 디코딩부로부터 발생되어 지는 프로시듀어들에 대하여 호출의 깊이를 호출되는 빈도에 따라 설정하고, 이에 따라 해당되는 프로시듀어에 대하여 해당되는 레지스터 윈도우의 크기를 설정하여, 상기 레지스터부 내부에서의 위치를 설정하는 레지스터 윈도우 설정부를 구비하고,
    상기 복수의 레지스터 윈도우들은 각각, 해당되는 프로시듀어를 호출한 프로시듀어로부터 전송된 파라미터들과 재전송될 결과들을 가지고 있는 복수의 파라미터 레지스터들, 컴파일러에 의해 지정된 지역 변수들을 저장하기 위한 복수의 지역 레지스터들; 및 다음 하위 단계와 파라미터 및 결과 값들을 교환하기 위한 복수의 임시 레지스터들을 구비하고, 상기 명령 디코딩 수단으로부터 가장 최근에 발생되어 지는 프로시듀어들에 대해서 사용되어지는 것을 특징으로 하는 마이크로프로세서.
  2. 제 1 항에 있어서, 상기 레지스터 윈도우 설정부는 해당되는 프로시듀어의 호출의 깊이의 값에 따라 상기 해당되는 프로시듀어의 내용들을 상기 주기억장치로 저장시키거나 상기 주기억장치로부터 해당되는 레지스터 윈도우의 영역으로 복구시키도록 구성되어 있는 것을 특징으로 하는 마이크로프로세서.
  3. 제 1 항에 있어서, 상기 레지스터 윈도우들은 인접하는 프로시듀어들에 대하여 서로 중첩되어 설정되는 것을 특징으로 하는 마이크로프로세서.
  4. 캐쉬에서 페치하는 동작, 레지스터 리네이밍 기법에 의한 파이프라인의 병목 현상을 해결하기 위한 동작, 및 컴파일러에 의한 무정렬식 기법으로 병렬성의 탐지 동작을 가지는 마이크로프로세서에 있어서,
    명령들 및 데이터를 저장하고 있는 주기억장치;
    해당되는 데이터를 상기 주기억장치로부터 독출 하여 해당되는 로딩 명령에 명시되어 있는 레지스터로 저장하기 위한 상기 로딩 명령, 해당되는 데이터를 저장 명령에 명시되어 있는 레지스터로부터 상기 주기억장치로 데이터를 저장하기 위한 상기 저장 명령, 및 상기 주기억장치에 저장되어 있는 해당되는 데이터를 이용하여 해당되는 연산 동작을 수행하고 그 결과를 연산 명령에 명시되어 있는 레지스터에 저장하기 위한 상기 연산 명령을 수행하는 명령 프로세싱 유니트를 구비하고,
    상기 명령 프로세싱 유니트는,
    상기 명령을 디코딩 하여 이를 해당되는 일련의 복수의 프로시듀어들로써 전환하는 명령 디코딩부;
    복수의 레지스터 윈도우들을 구비하는 레지스터부;
    하나 이상의 프로시듀어에 의해 엑세스 되는 전역 변수들을 저장하기 위한 복수의 전역 레지스터들로써 구성되어 있는 전역 레지스터부;
    상기 명령 디코딩부로부터 발생되어 지는 프로시듀어들에 대하여 호출의 깊이를 호출되는 빈도에 따라 설정하고, 이에 따라 해당되는 프로시듀어에 대하여 해당되는 레지스터 윈도우의 크기를 설정하여, 상기 레지스터부 내부에서의 위치를 설정하는 레지스터 윈도우 설정부를 구비하고,
    상기 복수의 레지스터 윈도우들은 각각, 해당되는 프로시듀어를 호출한 프로시듀어로부터 전송된 파라미터들과 재전송될 결과들을 가지고 있는 복수의 파라미터 레지스터들, 컴파일러에 의해 지정된 지역 변수들을 저장하기 위한 복수의 지역 레지스터들; 및 다음 하위 단계와 파라미터 및 결과 값들을 교환하기 위한 복수의 임시 레지스터들을 구비하고, 상기 명령 디코딩 수단으로부터 가장 최근에 발생되어 지는 프로시듀어들에 대해서 사용되어지는 것을 특징으로 하는 마이크로프로세서.
  5. 제 4 항에 있어서, 상기 레지스터 윈도우 설정부는 해당되는 프로시듀어의 호출의 깊이의 값에 따라 상기 해당되는 프로시듀어의 내용들을 상기 주기억장치로 저장시키거나 상기 주기억장치로부터 해당되는 레지스터 윈도우의 영역으로 복구시키도록 구성되어 있는 것을 특징으로 하는 마이크로프로세서.
  6. 제 4 항에 있어서, 상기 레지스터 윈도우들은 인접하는 프로시듀어들에 대하여 서로 중첩되어 설정되는 것을 특징으로 하는 마이크로프로세서.
  7. 제 4 항에 있어서, 상기 레지스터부와 연관되어 있는 상기 캐쉬는 저장 내용에 대한 주소 할당이 가능한 고속의 메모리 형태로 구성되어 있는 것을 특징으로 하는 마이크로프로세서.
  8. 제 4 항에 있어서, 상기 마이크로프로세서는 상기 레지스터 리네이밍 동작은 상기 파이프라인에서 첫 단계가 끝난 후에 다시 해당되는 특정 레지스터로 피드백 되도록 구성되어 있는 것을 특징으로 하는 마이크로프로세서.
  9. 제 4 항에 있어서, 상기 마이크로프로세서는 상기 컴파일러에 의한 무정렬식 기법으로 병렬성의 탐지 동작은 상기 파이프라인에서 첫 단계가 끝난 후에 다시 해당되는 특정 레지스터로 피드백 되도록 구성되어 있는 것을 특징으로 하는 마이크로프로세서.
KR1019970049087A 1997-09-26 1997-09-26 마이크로프로세서 KR19990026795A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970049087A KR19990026795A (ko) 1997-09-26 1997-09-26 마이크로프로세서

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970049087A KR19990026795A (ko) 1997-09-26 1997-09-26 마이크로프로세서

Publications (1)

Publication Number Publication Date
KR19990026795A true KR19990026795A (ko) 1999-04-15

Family

ID=66044812

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970049087A KR19990026795A (ko) 1997-09-26 1997-09-26 마이크로프로세서

Country Status (1)

Country Link
KR (1) KR19990026795A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010007031A (ko) * 1999-04-30 2001-01-26 가나이 쓰토무 데이터 처리장치
KR100777772B1 (ko) * 2005-09-22 2007-11-20 후지쯔 가부시끼가이샤 연산 처리 장치, 정보 처리 장치 및 레지스터 파일의 제어방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5083263A (en) * 1988-07-28 1992-01-21 Sun Microsystems, Inc. BISC with interconnected register ring and selectively operating portion of the ring as a conventional computer
KR920006789A (ko) * 1990-09-12 1992-04-28 카나이 쯔또무 액정표시 장치의 제조방법
US5159680A (en) * 1988-07-28 1992-10-27 Sun Microsystems, Inc. Risc processing unit which selectively isolates register windows by indicating usage of adjacent register windows in status register
JPH0798655A (ja) * 1992-12-14 1995-04-11 Ind Technol Res Inst データアクセス命令解読方法及び装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5083263A (en) * 1988-07-28 1992-01-21 Sun Microsystems, Inc. BISC with interconnected register ring and selectively operating portion of the ring as a conventional computer
US5159680A (en) * 1988-07-28 1992-10-27 Sun Microsystems, Inc. Risc processing unit which selectively isolates register windows by indicating usage of adjacent register windows in status register
KR920006789A (ko) * 1990-09-12 1992-04-28 카나이 쯔또무 액정표시 장치의 제조방법
JPH0798655A (ja) * 1992-12-14 1995-04-11 Ind Technol Res Inst データアクセス命令解読方法及び装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010007031A (ko) * 1999-04-30 2001-01-26 가나이 쓰토무 데이터 처리장치
KR100777772B1 (ko) * 2005-09-22 2007-11-20 후지쯔 가부시끼가이샤 연산 처리 장치, 정보 처리 장치 및 레지스터 파일의 제어방법
US7343478B2 (en) 2005-09-22 2008-03-11 Fujitsu Limited Register window system and method that stores the next register window in a temporary buffer

Similar Documents

Publication Publication Date Title
KR100208889B1 (ko) 병렬처리장치 및 병렬처리방법
US5872985A (en) Switching multi-context processor and method overcoming pipeline vacancies
CN1127687C (zh) 带外部协处理器可访问的上下文切换寄存器组的risc处理器
JP3820261B2 (ja) データ処理システムの外部および内部命令セット
EP0762270B1 (en) Microprocessor with load/store operation to/from multiple registers
JP2504830Y2 (ja) デ―タ処理装置
US6687812B1 (en) Parallel processing apparatus
JPH0855028A (ja) マイクロプロセッサ
US20070016760A1 (en) Central processing unit architecture with enhanced branch prediction
EP1387259B1 (en) Inter-processor control
US5146570A (en) System executing branch-with-execute instruction resulting in next successive instruction being execute while specified target instruction is prefetched for following execution
JPH01175634A (ja) データ処理装置
EP1354267A2 (en) A superscalar processor having content addressable memory structures for determining dependencies
US5943494A (en) Method and system for processing multiple branch instructions that write to count and link registers
JP2001249808A (ja) 情報処理装置
KR19990026795A (ko) 마이크로프로세서
JPS63197232A (ja) マイクロプロセツサ
EP0762271A2 (en) Early completion of floating-point operations during load/store multiple operations
EP0101718B1 (en) Computer with automatic mapping of memory contents into machine registers
JPH05241827A (ja) 命令バッファ制御装置
US5649229A (en) Pipeline data processor with arithmetic/logic unit capable of performing different kinds of calculations in a pipeline stage
JPH03268041A (ja) キャッシュ操作明示化コンピュータ
JPH02211534A (ja) 並列処理装置
JPH05250318A (ja) マイクロプロセッサ
JP2000250762A (ja) マイクロコンピュータ

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application