KR100261527B1 - 프로세서 상태의 선택적 제초기화용 전기핀을 구비한 다중모드 마이크로프로세서 - Google Patents
프로세서 상태의 선택적 제초기화용 전기핀을 구비한 다중모드 마이크로프로세서 Download PDFInfo
- Publication number
- KR100261527B1 KR100261527B1 KR1019920018331A KR920018331A KR100261527B1 KR 100261527 B1 KR100261527 B1 KR 100261527B1 KR 1019920018331 A KR1019920018331 A KR 1019920018331A KR 920018331 A KR920018331 A KR 920018331A KR 100261527 B1 KR100261527 B1 KR 100261527B1
- Authority
- KR
- South Korea
- Prior art keywords
- microprocessor
- microcode
- mode
- register
- registers
- Prior art date
Links
Classifications
-
- 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
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/24—Resetting means
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- 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/46—Multiprogramming arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Debugging And Monitoring (AREA)
Abstract
캐시와 부동소수점 레지스터를 포함하는 마이크로프로세서 내부의 선택된 메모리 요소의 내용을 선택적으로 유지하면서 모드간을 빠르고 효율적으로 절환하는 고성능 다중모드 마이크로프로세서가 개시된다. 여기에 기술된 마이크로프로세서는 마이크로프로세서 칩 패키지 외부에 제공되고, 다수의 레지스터에 접속된 제어유니트에 접속되는 전기핀을 포함한다. 마이크로프로세서의 레지스터 및 캐시의 모두가 아닌 일부를 초기상태로 재초기화하는, 마이크로프로세서에 액세스 가능한 마이크로코드가 제공되어, 마이크로프로세서는 초기동작 모드에 위치된다. 동작시, 핀은 I/O 포트 같은 다수의 기존 소스로 부터 제공된 전기신호에 의해 동작된다. 핀의 동작으로 마이크로코드 수단을 액세스하는 제어유니트가 번갈아 동작된다. 마이크로코드 수단을 사용한 제어유니트는 캐시와 부동소수점 레지스터의 내용을 특별히 유지하면서 마이크로프로세서의 많은 레지스터를 선택적으로 재초기화시킨다. 본 발명은 Intel 80486 마이크로프로세서의 보호모드 같은 높은 수준 모드의 능력을 가지면서 Intel 8086 마이크로프로세서의 리얼- 어드레스 모드로 초기화되는 마이크로프로세서에서 유용하다.
Description
제1도는 외부에 장착된 일정수의 전기핀을 갖춘 마이크로프로세서 칩 패키지의 도시도,
제2도는 INIT 핀을 포함하고 INIT 핀과 RESET 핀의 접속간의 차이를 도시한 본발명에 따른 마이크로프로세서의 블록도,
제3도는 본발명의 방법을 도시한 흐름도,
제4도는 INIT 재초기화에 뒤따르는 선택된 캐시 및 레지스터의 내용 및 스타트업 또는 RESET 초기화에 뒤따르는 그 레지스터 및 캐시의 내용을 도시한 테이블이다.
[발명의 배경]
[발명의 분야]
본발명은 마이크로프로세서에 관한 것이다.
더욱 특히 본발명은 하나 이상의 동작모드를 가지며, 모드중 하나를 위해 설계된 소프트웨어를 수용하기 위해 모드간을 절환하는 마이크로프로세서에 관한 것이다.
[관련기술의 설명]
마이크로프로세서 기술은 과거 십년동안 빠르게 발전해왔다. 십년전에 개발된 것으로 여겨지는 마이크로프로세서는 여러가지의 새세대 마이크로프로세서에 의해 계속적으로 대체되어 왔다. 새세대의 마이크로프로세서는 크게 확장된 기능 및 능력을 가져 구세대 보다 훨씬 강력하고 훨씬 빠른 동작속도를 가진다. 새마이크로프로세서용으로 사용되는 소프트웨어는 많은 새기능에서 잇점을 가질 수 있으나 전세대의 마이크로프로세서용으로 기입된 더 오래되고 덜 복잡한 소프트웨어가 아직 통용되며 상업적으로 사용되고 있다. 대부분의 컴퓨터 사용자는 제조자가 새모델을 개발하더라도 구소프트웨어를 버리는 것을 원치 않으며, 사실상 어떤 특정 목적을 위해서는 구동작 방법을 사용하는 것이 유익하기도 하다. 따라서 전형적으로 마이크로프로세서 설계자들은 그들의 새마이크로프로세서가 구소프트웨어와 호환될 수 있도록 설계한다.
구소프트웨어가 새마이크로프로세서 상에서 실행할 수 있도록 하기 위해, 어떤 제조자들은 종래의 마이크로프로세서의 동작 특성을 가지는 적어도 하나의 모드와 함께 여러 이용가능한 모드를 가진 마이크로프로세서를 설계한다. 예컨대, Intel 사는 수년전 8086 마이크로프로세서를 제조하였다. 그후 이 마이크로프로세서는 80286, 80386 및 80486 으로 발전하였다. 이들 이후세대 마이크로프로세서는 여러 이용가능한 동작모드를 가진다. 8086용으로 사용되는 프로그램과의 호환성을 제공하기 위해, 이후세대는, 8086 마이크로프로세서의 동작 특성과 데이터를 갖는 전형적으로 리얼모드로 불리는 "리얼 어드레스"모드에서 뿐만아니라 새로운 마이크로프로세서의 능력이 더 큰 동작능력 및 상이한 데이터 구조를 완전히 사용할 수 있는 "보호모드"와 같은 다른 모드에서 동작할 수 있다.
어떤 형의 소프트웨어에 대해서, 프로그램 실행 동안 동작모드 간을 절환하는 것이 유용하다. 보호모드와 리얼모드 간을 절환하는 프로그램의 일예는 메모리 관리자이다. 메모리 관리자는 리얼모드에서 동작개시되고, 1 메가 바이트 이상의 어드레스를 가진 데이타를 액세스하기 위해 동작중 어떤 지점에서 보호모드로 절환되며, 데이타 블록을 복사하고, 그리고 추가적 처리를 위해 리얼모드로 복귀할 수 있다.
스타트업시, 8086과 그후 세대의 레지스터는 마이크로코드에 의해 리얼모드 구성으로 초기화된다. 초기화 후, 리얼모드에 적절한 데이타 구조를 설정하는 소프트웨어가 실행된다. 그러나 만약 리얼모드 대신에, 응용 소프트웨어가 보호모드를 사용하면, 그 소프트 웨어는 보호모드의 능력을 인에이블시키는 플래그를 설정한다. 그후 프로그램은 보호모드에 적합한 데이타 구조를 구성하고, 보호모드 동작으로 마이크로프로세서를 절환한다. 80286 의 설계자들은 보호모드로 부터 리얼모드로 절환하는 것을 어느 누구도 원하지 않는다고 생각하여, 이런 형태의 절환에 대한 어떤 대비도 제공되지 않았다. 즉, 80286 아키텍쳐는 보호모드로 부터 리얼모드로의 절환을 지원하지 않았다.
그러나 IBM 같이 80286 을 사용한 어떤 컴퓨터 제조자들은 보호모드로 부터 리얼모드로 절환하는 능력을 원했으며, 마치 마이크로프로세서가 막 스타트업된 것처럼 마이크로프로세서를 리세트하고 재초기화하기 위해 리세트 핀이 요구되는 다른 장치를 포함시킴으로써 절환을 달성하는 방법을 개발하였다. 그러나 단지 리세트핀이 요구됨에 따라 이와 관련된 문제가 존재한다. 80486 에서와 같이 내부캐시 및 내부부동소수점장치 같은 부가장치를 포함한 새세대 마이크로프로세서에서 리세트 핀을 적용하면 캐시가 재초기화되어, 캐시메모리의 내용을 파괴한다. 더구나 부동소수점장치(이것은 8086, 80286 및 80386에서 실제로 분리된다)의 레지스터의 내용은 자체 시험없는 리세트에 의해 유지되나 자체 시험하는 리세트에 의해서는 재초기화(따라서 파괴)된다.
80486 마이크로프로세서내에 처음 도입된 내부캐시 메모리는 마이크로프로세서의 모든 동작모드, 그 중에서도 특히 리얼모드, 가상 8086 모드 및 보호모드에서 사용된다. 캐시는 마이크로프로세서 내부의 주메모리로부터 최근에 검색된 어떤 데이터와 명령을 기억함으로써 데이터와 명령의 처리속도를 증진시키는 메모리를 포함한다. 캐시의 목적은 빈번히 사용되는 데이타와 명령에 대한 검색시간 및 기입시간을 최소하기 위한 것이다. 캐싱은 두가지 타입, 라이트- 스루(write-through) 또는 라이트- 백(write-back) 타입으로 나뉜다. 라이트- 백 캐시는 통상 마이크로프로세서에서 더큰 효율을 가진다. 두타입은 데이타를 판독하는데는 유사하게 동작하나, 기입하는 경우 라이트- 스루 캐싱은 캐시와 주메모리 둘다 갱신하며, 라이트- 백 캐싱에서는 캐시 내용이 주메모리에 기입함 없이 갱신된다. 라이트- 백 캐싱에서, 특정 동작이 수행된 경우, 예컨데, 새캐시 라인이 캐시가 이미 꽉찬 후에 할당되는 경우에만 주메모리에 갱신된 결과가 기입된다. 따라서 라이트- 백 캐시의 내용이 재초기화되면, 갱신된 데이타는 만약 이것이 메모리에 기입되지 않거나 또는 다른 곳에 저장되지 않는다면 상실된다. 구현하기 더 어려움에도 불구하고, 라이트- 백 캐싱은 캐시가 갱신될 때 마다 주메모리에 기입하여 불필요하게 낭비되는 마이크로프로세서 시간을 절약하기 때문에 유용하다. 더구나 라이트- 백 캐싱은 버스상의 트래픽을 최소화하여 다른 통신을 위해 버스를 자유롭게 한다.
라이트-스루 캐시 보다 더 빠른 동작수행을 위해, 리세트핀이 리얼모드 동작을 얻기 위해 요구된다면, 특히 라이트- 백 캐시가 마이크로프로세서에 구현되었다면, 하나의 문제가 발생한다. 전체 리세트에서, 캐시는 재초기화되고 제공된 어떤 변화를 포함한 모든 내용은 상실된다. 만약 캐시가 라이트- 백 타입이면, 이들 변화는 주메모리에 기입되지 않아, 주메모리의 내용은 잘못된 데이타, 즉 용인되지 않는 결과를 포함할 것이다. 만약 캐시 내용이 올바른 데이타로 메모리를 갱신하기 위해 메모리에 기입된다면, 큰 효율감소가 발생할 것이다. 실제 시간은 전캐시의 내용을 기입하는데에서 상실될 것이다. 더욱, 재초기화에서 캐시내용의 상실은 재초기화된 캐시가 자주 사용된 데이타 및 명령을 포함하기 때문에 동작 속도를 하강시킬 수 있다. 캐시정보의 모두가 사용될 것은 아니지만, 캐시의 실제부가 다시 사용되는 것이 가능하다. 이 캐시는 마이크로프로세서의 통상 동작, 즉 실제 마이크로프로세서 시간을 불필요하게 소비하는 작업동안 재충전되는 것이 필요할 것이다. 이들 및 다른 이유 때문에 모드간 절환동안 캐시의 내용을 온전히 남겨놓는 것이 바람직하다.
요약해서, 내용을 메모리에 기입할 필요없이 라이트- 백 캐시의 내용을 보유하면서, 리얼모드와 보호모드 간에 재빠르고 직접적인 절환이 가능한 마이크로프로세서를 제공하는 것이 하나의 개선일 것이다. 또한 마이크로프로세서가 분리 부동소수점장치를 사용한 마이크로프로세서와의 호환성을 위해 부동소수점장치내의 레지스터의 내용을 세이브할 수 있는 것이 하나의 개선일 것이다.
[발명의 요약]
본발명은 마이크로프로세서가 스타트업시 설정되는 초기모드와 스타트업후 선택가능한 제 2동작모드를 포함한 둘이상의 동작모드를 가진 마이크로프로세서에 적용가능하다. 제 2동작모드는 속도, 효율 및 작업능력이 향상된 초기 모드 이상의 개선점을 포함할 수 있다. 본발명에 따른 마이크로프로세서는 선행의 덜 복잡한 버전의 마이크로프로세서 및 이것에 기입된 소프트웨어에 호환가능하고 빠르게 동작한다.
본발명은 마이크로프로세서 내부의 선택된 메모리 소자의 내용을 선택적으로 유지하면서 모드간 절환에 대한 빠르고, 효율적인 능력을 가진 다중모드 마이크로프로세서를 제공한다. 보존된 메모리 요소로는 내부캐시와 부동소수점 레지스터를 포함할 수 있다. 여기서 기술된 마이크로프로세서는 제어유니트를 포함한 마이크로프로세서 칩 패키지의 외부에 제공된 INIT 핀을 포함한다. 제어유니트는 또한 마이크로프로세서 내부의 레지스터 다수와 접속된다. 마이크로프로세서에 액세스가능하고 마이크로프로세서내의 어느 레지스터의 재초기화를 위한 명령을 제공하는 마이크로코드가 제공되어, 마이크로프로세서는 캐시 및 부동 소수점 레지스터를 포함한 내부메모리 요소의 내용을 선택적으로 유지하면서 리얼모드 같은 초기동작 모드에 위치된다.
동작중 INIT 핀은 I/O 포트 같은 다수의 기존 소스중 어느것으로 부터 제공된 전기신호에 의해 동작된다. INIT 핀의 동작은 번갈아 제어유니트를 동작시켜, 마이크로코드 프로그램을 액세스한다. 마이크로코드 프로그램을 사용한 제어유니트는 캐시와 부동소수점 레지스트의 내용을 특별히 유지하면서 마이크로프로세서의 다수의 레지스터를 선택적으로 재초기화 시킨다.
상술한 바와같이, 본발명은 높은 수준의 기능을 가질 수 있는 제 2동작모드와 초기모드간을 변환하는 방법 및 마이크로프로세서를 제공한다. 초기모드는 Intel 사의 8086 마이크로프로세서와 같이 8086용으로 기입된 더 오래된 소프트웨어 패키지를 실행하기 위한 리얼- 어드레스( 리얼 ) 모드일 수 있다. 제 2모드는 리얼모드 보다 더 복잡한 아키텍쳐 및 더큰 능력을 가진 80486 마이크로프로세서의 보호모드와 같은 더 높은 수준의 모드일 수 있다. Intel 사의 마이크로프로세서와 관련하여, 본발명은 Intel 사의 8086 및 그 후발품을 사용한 선행 소프트웨어와 하드웨어와의 호환성을 원하는 컴퓨터 제조자 및 사용자에게 이점을 제공한다. 특히, 리얼모드는 원래의 8086과 유사한 아키텍쳐로 더 오래되고 덜 복잡한 소프트웨어를 동작시키는 것을 원하는 사람에게 유용하다. INIT 핀은 특히 IBM PC/AT 와의 호환성에 유용하다. 사용자에게, 신호를 INIT 핀에 인가하는 효과는 리얼모드에서 마이크로프로세서가 스타트업 되도록 하는 리세트이나, 통상 리세트와 달리 캐시 내용은 여하튼 재초기화 또는 변화되지 않는다.
본발명은 "라이트- 백" 캐시와 함께 사용된 경우 이점을 제공한다. 캐시가 주메모리에 저장되지 않은 갱신 데이타를 포함하는 라이트- 백 캐시인 경우, 본발명은 내용을 주메모리에 기입하는데 필요한 시간손실을 피한다. 그결과 마이크로프로세서는 더높은 효율을 가진다.
기술된 실시예에서, 재초기화되는 선택된 레지스터는 제어레지스터, 플래그 레지스터, 명령 포인터 레지스터, 세그먼트 레지스터, 인터럽트 디스크립터 테이블 레지스터 및 디버그 제어 레지스터를 포함할 수 있다. 다른 단계에서, 데이타 구조는 초기모드에 적합한 형태로 셋업된다. 모드절환 동작을 통해, 캐시의 내용은 변화되지 않고 온전히 남게 된다. 마이크로프로세서는 또한 부동소수점 레지스터를 갖춘 부동소수점 유니트를 포함하여, 모드절환 동작에서 변화없이 남게된다. 이 특징은 마이크로프로세서의 전부의 리세트에 의해 통상 영향을 받지 않는 분리 부동소수점 유니트를 사용한 마이크로프로세서와의 호환성을 유지시킨다.
추가적 이점 때문에 INIT 핀은 초기화 마이크로코드를 가진 마이크로프로세서에서 저렴하고 용이하게 구현될 수 있다. 초기화 마이크로코드는 부분적 또는 전반적으로, 실제상 변화없이 사용가능하다. 즉 완전히 새프로그램을 기입하는 것이 불필요하다. 초기화 루틴을 호출하기 위해 비교적 작은 량의 추가 코드만이 요구되며, 마이크로코드내 추가 공간의 필요성은 아주적다. 따라서 INIT 재초기화는 작은 추가만으로 리세트 펌웨어를 이미 포함한 마이크로프로세서에서 쉽게 구현 가능하다. 하나의 설명으로, INIT 재초기화는 마이크로프로세서내의 어떤 레지스터에 급격히 영향을 주는 상위 인터럽트로서 이해 가능하다. 요약해서, 본발명은 초기동작 모드로 절환하는 저렴하고 효율적인 방법을 제공한다. 본발명은 명령을 실행하기 위해 초기동작 모드를 사용한 기존 소프트웨어 프로그램을 실행하는데 특히 유용하다.
[본발명의 상세한 설명]
본발명은 유사 부분은 유사한 번호로 표시된 도면을 참고로 이해될 수 있다.
제 1도는 그위에 다수의 외부 전기핀(12)을 갖춘 종래의 마이크로프로세서 칩 패키지(10)를 도시한다. 각각의 전기핀(12)는 마이크로프로세서(10)의 동작에 관련한 특정 기능을 가진다. 본발명의 장치는 적어도 하나의 이들 전기핀을 포함한다.
바람직한 실시예의 마이크로프로세서(10)는 리얼- 어드레스( 리얼 ) 모드와 보호모드를 포함한 여러 모드중 하나로 동작한다. 이들 모드는 캘리포니아 산타클라라의 Intel 사의 i486TM마이크로프로세서의 모드들과 일치한다. i486TM마이크로프로세서의 설명은 캘리포니아 95052-8130, 산타클라라 P.O.Box 58130의 Intel Literature Sales의 i486TM마이크로프로세서 프로그래머의 참고 매뉴얼 같은 많은 출판물에서 널리 이용가능하다. 바람직한 실시예에서, 리얼모드는 마이크로프로세서(10)가 스타트업된 경우 또는 등가적으로 RESET 핀이 동작되어 완전 리세트된 경우 초기화되는 초기모드이다. 보호모드는 리얼모드 이상의 속도 및 동작능력에서 많은 개선점을 포함한다.
제 2도는 본발명에 따른 INIT 핀(14)과 제어유니트(16) 및 레지스터 파일(18)과의 내부 접속을 도시한다. 또한 제 2도는 RESET 핀(20)과 제어유니트(16), 각 캐시라인에 대한 유효/무효 비트(23)를 포함한 캐시블록(22), 및 부동소수점 레지스터(25)를 포함한 부동소수점유니트(24)와의 내부접속을 도시한다. 제어유니트(16)는 그 동작을 위해 필요로 하는 마이크로코드(26)를 액세스할 수 있다. 전형적으로, 마이크로코드(26)는 다른 동작뿐아니라 기술될 스타트업 동작을 위해 필요로 하는 프로그래밍을 포함한다. 종래와 같이 마이크로프로세서(10)내 내부ROM(Read-Only-Memory) 또는 외부ROM 에 마이크로코드(26)가 제공될 수 있다.
제어유니트(16)는 범용 레지스터(29), 제어레지스터(30), 명령 포인터 레지스터(32), 세그먼트 레지스터(34), 인터럽트 디스크립터 테이블 레지스터(36) 및 디버그 제어레지스터(38)를 포함한 레지스터 파일(18)과 연결된다. 이들 레지스터와 그 기능은 캘리포니아 산타클라라의 Intel 사의 i486TM마이크로프로세서의 것들과 유사하다.
바람직한 실시예에서, RESET 핀(20)은 적절한 상태 요소에 직접 접속된 하드웨어로서, RESET 가 요구된 때, 각 적절한 레지스터가 거의 즉시 클리어된다. 이에 비해 INIT 핀(14)은 마이크로프로세서(10)내의 동작을 제어하는 제어유니트(16)에 직접 접속된다. 요구시, INIT 핀(14)은 그 인식후에 제어유니트(16)내 상부 인터럽트를 수행한다.
제 3도는 본발명의 방법에 따른 동작 흐름을 도시한 흐름도이며, 여기서 마이크로프로세서(10)의 동작모드는 초기모드( 바람직한 실시예에서 "리얼" 모드 )로 절환된다. 연산 박스(40)에서 시작하여, 전기신호는 INIT 핀(14)을 동작하기 위해 인가된다. 전기신호는 IBM PC/AT 의 I/O 포트 같은 다수의 기존장치에 의해 제공될 수 있고, 신호는 디지털 하이 또는 디지털로우일 수 있다. 다음에 연산박스(42)에서 전기신호는 제어회로(16)에 인가된다. 제어회로(16)에 의해 제어되며 마이크로코드(26)내의 프로그램을 사용한 동작시퀀스가 시작되며, 여기서 레지스터 파일(18)내의 레지스터들은 연산박스(44)에 개시된 바와 같이 초기상태로 설정된다. 바람직한 실시예에서의 레지스터 파일(18)내의 선택된 레지스터에 대한 초기상태는 INIT와 RESET 에 대한 특정 레지스터들과 그것들의 초기상태를 16진수로 도시한 표인 제 4도에 도시된다.
제 4도의 표에서, 레지스터(30, 32, 34, 36, 38)에 대한 INIT 재초기화 상태는 RESET 초기화 상태와 동일함을 주목할 수 있다. 동작시, INIT 재초기화 처리는 RESET 초기화를 위해 프로그램된 어떤 마이크로코드(26)를 액세스한다. 부동소수점 레지스터(25)에 대해서, 자체시험을 갖춘 RESET 초기화 상태와 달리 INIT 핀(14)에 전기신호를 인가하기 전의 값과 동일한 값이 유지되며, 여기서 부동소수점 레지스터(25)는 특정 상태로 설정된다. 더구나 캐시(22)에 대한 INIT 재초기화에서 캐시라인은 내용을 무효로 설정하는 RESET 초기화와 달리 유효하게 유지되며 캐시(22)의 내용은 교란되지 않게 된다. 참고로 RESET에 대한 초기상태는 i486TM마이크로프로세서의 것과 동일하다는 것을 주목할 수 있다.
다시 INIT 재초기화 처리의 흐름도인 제 3도를 참조하면, 연산박스(46)는 캐시(22)의 내용이 유효하게 유지됨을 나타내고, 연산박스(48)는 부동소수점 레지스터(25)내의 값도 또는 유효하게 유지됨을 나타낸다. 최종적으로, 연산박스(50)에서, 데이타 구조가 리얼모드에 적합하게 셋업된다. 마이크로프로세서(10)는 이제 리얼모드에서 동작하도록 설정된다.
바람직한 실시예에서 구현된 바와같이, INIT 재초기화는 마이크로프로세서(10)내의 어떤 레지스터에게 급격한 영향을 주는 상위 인터럽트로서 이해될 수 있다. 특히 시퀀스는 통상 RESET 초기화에서 사용된 마이크로코드 모두가 아닌 일부를 액세스한다. 따라서 INIT 재초기화는 어떤 추가 제어 마이크로코드 프로그래밍과 함께 이미 제공된 RESET 마이크로 코드를 사용하여 구현될 수 있다. 바람직한 실시예에서, INIT 재초기화가 상위 인터럽트로 작용하므로, 프로세서는 그것을 즉시 인식할 수 없어, 즉 INIT 핀(14)의 동작과 그것이 제어유니트(16)에 의해 인식된 시점간에 시간의 경과를 주목할 수 있다.
바람직한 실시예에서, 캐시(22)는 "라이트- 스루" 캐시와 대응하는 "라이트- 백" 타입 캐시이다. 이 문서의 배경부에서 논의된 바와같이, 두가지 타입의 캐시는 데이타를 판독하는 경우 유사하게 가능하나, 기입시, 라이트- 스루 캐시는 캐시와 주메모리를 갱신한다. 라이트- 백 캐시에서, 캐시 내용은 주메모리에 기입됨 없이 갱신된다. 라이트- 백 캐싱에서, 주메모리에 갱신된 결과의 기입은, 특정 동작이 수행된 때, 예컨데 캐시가 이미 채워진 새캐시라인이 할당되는 경우에만 발생한다.
바람직한 실시예에서 캐시(22)는 빈번히 사용된 데이타를 기억하는 데이타 캐시와 빈번히 사용된 명령을 기억하는 분리 명령 캐시를 포함한다. 바람직한 실시예에서, 두캐시의 내용은 유효하게 유지된다. 어떤 응용에서, 데이타 캐시의 내용만을 유지하는 것만으로 충분할 수 있으며, 다른 응용에서, 명령캐시의 내용만을 유지하는 것만으로 충분할 수 있다. 다른 실시예에서, 캐시(22)는 명령 및 데이타용으로 오직 하나의 캐시만으로 구성될 수 있으며, 또다른 실시예에서, 캐시(22)는 둘이상의 캐시로 구성될 수 있다.
본발명은 그 영역 또는 필수적 특징으로 부터 일탈됨 없는 다른 특정 형태로 실시될 수 있다. 기술된 실시예는 모든 관점에서 제한적이 아닌 오직 설명적으로 인식되야 하므로, 본발명의 영역은 상기 설명이 아닌 첨부된 청구범위에 의해 표시된다. 청구범위의 균등범위와 의미는 청구범위 영역내에 포함되야 한다.
Claims (12)
- 마이크로프로세서가 스타트업시 초기화되는 모드인 초기모드와 제2모드를 포함하는 적어도 두 개의 동작모드를 가진 마이크로프로세서에서, 상기 제2모드로부터 상기 초기모드로 변환시키는 장치에 있어서, 마이크로코드를 저장하는 마이크로코드 메모리 수단; 상기 마이크로 메모리 수단에 연결되어, 상기 마이크로코드 메모리 수단에 저장되고 마이크로프로세서를 제어하는 마이크로코드를 수신하고 실행시키며, 또한 인터럽트 신호를 수신하는 제어 유니트; 상기 제어 유니트에 연결되어 레지스터 데이터를 저장하는 다수의 레지스터; 상기 제어 유니트에 연결되어 캐시 데이터를 저장하는 내부 라이트-백 캐시; 상기 마이크로프로세서가 동작의 초기모드에 놓이도록 선택된 레지스터들을 재초기화시키는 수단을 포함하는 내부 라이트-백 캐시의 내용의 유효성이 유지되는 동안 제2모드를 초기모드로 무조건 변화시키는 변환 마이크로코드 프로그램; 마이크로프로세서와 제어 유니트에 연결되어 있지만 내부 라이트-백 캐시와 다수의 레지스터에는 연결되지 않으며, 요구될 때, 제어 유니트에 상위 인터럽트를 요구하고, 상기 제어 유니트가 상기 인터럽트가 인식될 때 마이크로프로세서를 중지시키고 변환 마이크로코드 프로그램을 무조건 실행시키는 수단을 포함하는, 외부 전기핀; 및 내부 라이트-백 캐시와 다수의 레지스터에 연결되어 있고, 상기 다수의 레지스터의 내용을 직접 리세트시켜 마이크로프로세서를 리세트시키고 내부 라이트-백 캐시의 내용을 무효화시키는 리세트핀;을 포함하는 것을 특징으로 하는 장치.
- 제1항에 있어서, 상기 마이크로프로세서는 부동소수점 레지스터를 더 포함하고, 변환 마이크로코드 프로그램은 상기 부동소수점 레지스터의 내용을 유지시키는 수단을 더 포함하는 것을 특징으로 하는 장치.
- 제1항에 있어서, 상기 변환 마이크로코드 프로그램은, CRO 레지스터, EFLAGS 레지스터, 명령 포인터 레지스터, 세그먼트 레지스터, 인터럽트 디스크립션 테이블 레지스터 및 디버그 제어 레지스터를 포함하는 레지스터들을 선택적으로 재초기화시키는 것을 특징으로 하는 장치.
- 제1항에 있어서, 제2 내부 라이트-백 캐시를 더 포함하고 있으며, 상기 변환 마이크로코드 프로그램은 상기 제2 내부 라이트-백 캐시를 무효화시키지 않는 수단을 포함하고 있는 것을 특징으로 하는 장치.
- 제1항에 있어서, 상기 리세트핀은 상기 제어 유니트에 연결되어 있고, 상기 마이크로코드 메모리는 리세트핀의 요구에 응답하여 초기모드로 마이크로프로세서를 초기화시키는 초기화 마이크로코드 프로그램을 더 포함하는 것을 특징으로 하는 장치.
- 제5항에 있어서, 상기 리세팅된 마이크로코드 프로그램은 변환 마이크로코드 프로그램에 의해 이용되는 루틴을 포함하는 것을 특징으로 하는 장치.
- 마이크로프로세서가 스타트업시 초기화되는 모드인 초기모드와 제2모드를 포함하는 적어도 두 개의 동작모드를 가진 마이크로프로세서에서, 제2모드로부터 초기모드로 변환시키고 선택된 레지스터의 내용을 재초기화시키는 것을 포함하는 장치에 있어서, 마이크로코드를 저장하는 마이크로코드 메모리 수단; 상기 마이크로코드 메모리 수단에 연결되어 상기 마이크로코드 메모리 수단에 저장된 마이크로코드를 실행시키는 제어 유니트; 상기 제어 유니트에 연결되어 초기모드에 대응하는 초기상태를 가진 다수의 레지스터; 상기 제어 유니트에 연결된 내부 라이트-백 캐시; 상기 내부 라이트-백 캐시의 내용의 유효성을 유지하는 동안 마이크로프로세서를 초기 동작 모드로 놓이도록 선택된 레지스터들을 선택적으로 재초기화시키는 마이트로코드 명령들을 포함하는 선택적 재초기화 마이크로코드 프로그램; 상기 내부 라이트-백 캐시의 내용의 유효성을 유지하는 동안 제2모드로부터 초기모드로 무조건 변환시키고, 상기 제어 유니트에 연결되어 상위 인터럽트를 요구하는 외부핀, 및 상기 상위 인터럽트에 응답하여 마이크로프로세서의 동작을 중지시키고 상기 선택적 재초기화 마이크로코드를 실행시키는 수단; 및 상기 내부 라이트-백 캐시와 다수의 레지스터에 연결된 리세트핀을 포함하고, 상기 레지스터의 내용을 리세팅하고 상기 내부 라이트-백 캐시의 내용을 무효화시켜 상기 마이크로프로세서를 리세트시키는 리세트 수단;을 포함하는 것을 특징으로 하는 장치.
- 제7항에 있어서, 부동소수점 레지스터를 더 포함하고 있으며, 상기 제어수단은 상기 부동소수점 레지스터의 내용을 유지하는 것을 특징으로 하는 장치.
- 제7항에 있어서, 상기 리세트핀은 상기 제어 유니트에 연결되어 있고, 상기 마이크로코드 메모리는 상기 리세트핀의 요구에 응답하여 상기 마이크로프로세서를 상기 초기모드로 초기화시키는 초기화 마이크로코드 프로그램을 더 포함하는 것을 특징으로 하는 장치.
- 제9항에 있어서, 상기 리세트 마이크로코드 프로그램은 선택적 재초기화 마이크로코드 프로그램에 의해 사용되는 루틴을 포함하는 것을 특징으로 하는 장치.
- 제7항에 있어서, 초기화 상태로 재초기화되는 상기 선택된 레지스터는, CRO 레지스터, EFLAGS 레지스터, 명령 포인터 레지스터, 및 인터럽트 디스크립터 테이블 레지스터를 포함하는 것을 특징으로 하는 장치.
- 제11항에 있어서, 재초기화되는 상기 선택된 레지스터들은 세스먼트 레지스터들과 디버그 제어 레지스터를 더 포함하는 것을 특징으로 하는 장치.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US79458491A | 1991-11-19 | 1991-11-19 | |
US794,584 | 1991-11-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR930010732A KR930010732A (ko) | 1993-06-23 |
KR100261527B1 true KR100261527B1 (ko) | 2000-07-15 |
Family
ID=25163066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019920018331A KR100261527B1 (ko) | 1991-11-19 | 1992-10-07 | 프로세서 상태의 선택적 제초기화용 전기핀을 구비한 다중모드 마이크로프로세서 |
Country Status (7)
Country | Link |
---|---|
US (1) | US5555423A (ko) |
JP (1) | JPH05257808A (ko) |
KR (1) | KR100261527B1 (ko) |
CN (1) | CN1040156C (ko) |
DE (1) | DE4238099C2 (ko) |
GB (1) | GB2261753B (ko) |
HK (1) | HK1006754A1 (ko) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2102883A1 (en) * | 1993-02-26 | 1994-08-27 | James W. Arendt | System and method for lazy loading of shared libraries |
US6282645B1 (en) | 1994-02-28 | 2001-08-28 | Kabushiki Kaisha Toshiba | Computer system for reading/writing system configuration using I/O instruction |
US5860125A (en) * | 1995-11-08 | 1999-01-12 | Advanced Micro Devices, Inc. | Integrated circuit including a real time clock, configuration RAM, and memory controller in a core section which receives an asynchronous partial reset and an asynchronous master reset |
US5898232A (en) * | 1995-11-08 | 1999-04-27 | Advanced Micro Devices, Inc. | Input/output section of an integrated circuit having separate power down capability |
WO1997022922A1 (en) * | 1995-12-15 | 1997-06-26 | Intel Corporation | Instruction encoding techniques for microcontroller architecture |
US5784625A (en) * | 1996-03-19 | 1998-07-21 | Vlsi Technology, Inc. | Method and apparatus for effecting a soft reset in a processor device without requiring a dedicated external pin |
KR100465636B1 (ko) * | 1997-09-30 | 2005-04-06 | 주식회사 하이닉스반도체 | 디램의 리프레쉬 제어회로 |
AU2745001A (en) * | 1999-12-31 | 2001-07-16 | Intel Corporation | External microcode |
US6857065B2 (en) * | 2001-07-05 | 2005-02-15 | International Business Machines Corporation | System and method for system initializating a data processing system by selecting parameters from one of a user-defined input, a serial non-volatile memory and a parallel non-volatile memory |
US20050076277A1 (en) * | 2003-10-02 | 2005-04-07 | Erwin Thalmann | Test apparatus with static storage device and test method |
US7389455B2 (en) * | 2005-05-16 | 2008-06-17 | Texas Instruments Incorporated | Register file initialization to prevent unknown outputs during test |
GB2550903B (en) * | 2016-05-27 | 2019-06-12 | Arm Ip Ltd | Context data control |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57174755A (en) * | 1981-04-21 | 1982-10-27 | Toshiba Corp | 1-chip microprocessor |
US4435068A (en) * | 1981-05-29 | 1984-03-06 | Savin Corporation | Apparatus for electrophotography |
US4458310A (en) * | 1981-10-02 | 1984-07-03 | At&T Bell Laboratories | Cache memory using a lowest priority replacement circuit |
US4677548A (en) * | 1984-09-26 | 1987-06-30 | Honeywell Information Systems Inc. | LSI microprocessor chip with backward pin compatibility and forward expandable functionality |
US4779187A (en) * | 1985-04-10 | 1988-10-18 | Microsoft Corporation | Method and operating system for executing programs in a multi-mode microprocessor |
US4829472A (en) * | 1986-10-20 | 1989-05-09 | Microlytics, Inc. | Spelling check module |
US4958302A (en) * | 1987-08-18 | 1990-09-18 | Hewlett-Packard Company | Graphics frame buffer with pixel serializing group rotator |
GB8801472D0 (en) * | 1988-01-22 | 1988-02-24 | Int Computers Ltd | Dynamic random-access memory |
JP2533612B2 (ja) * | 1988-05-16 | 1996-09-11 | 富士通株式会社 | メモリのデ―タ保護方式 |
US5088026A (en) * | 1990-02-09 | 1992-02-11 | International Business Machines Corporation | Method for managing a data cache using virtual external storage addresses as arguments |
-
1992
- 1992-08-24 GB GB9217947A patent/GB2261753B/en not_active Expired - Lifetime
- 1992-09-30 CN CN92111283A patent/CN1040156C/zh not_active Expired - Lifetime
- 1992-10-07 KR KR1019920018331A patent/KR100261527B1/ko not_active IP Right Cessation
- 1992-11-11 DE DE4238099A patent/DE4238099C2/de not_active Expired - Fee Related
- 1992-11-17 JP JP4329917A patent/JPH05257808A/ja active Pending
-
1995
- 1995-07-26 US US08/507,715 patent/US5555423A/en not_active Expired - Lifetime
-
1998
- 1998-06-22 HK HK98105911A patent/HK1006754A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
DE4238099C2 (de) | 1998-06-10 |
CN1072521A (zh) | 1993-05-26 |
DE4238099A1 (ko) | 1993-05-27 |
HK1006754A1 (en) | 1999-03-12 |
JPH05257808A (ja) | 1993-10-08 |
GB9217947D0 (en) | 1992-10-07 |
KR930010732A (ko) | 1993-06-23 |
GB2261753A (en) | 1993-05-26 |
US5555423A (en) | 1996-09-10 |
GB2261753B (en) | 1995-07-12 |
CN1040156C (zh) | 1998-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5867703A (en) | Common reset ROM | |
JP3285644B2 (ja) | キャッシュメモリを有するデータプロセッサ | |
JP3571667B2 (ja) | 割り込みフラグ管理方法 | |
US5479639A (en) | Computer system with a paged non-volatile memory | |
US5835760A (en) | Method and arrangement for providing BIOS to a host computer | |
US5291585A (en) | Computer system having system feature extension software containing a self-describing feature table for accessing I/O devices according to machine-independent format | |
JP4434482B2 (ja) | 仮想モードでのシステム管理モードサービスを実行する方法及び装置 | |
US5682550A (en) | System for restricting user access to default work area settings upon restoration from nonvolatile memory where the settings are independent of the restored state information | |
US5870520A (en) | Flash disaster recovery ROM and utility to reprogram multiple ROMS | |
US6134641A (en) | Method of and system for allowing a computer system to access cacheable memory in a non-cacheable manner | |
US6112303A (en) | Computer system with system ROM including serial-access PROM coupled to an auto-configuring memory controller and method of shadowing BIOS code from PROM | |
US6421776B1 (en) | Data processor having BIOS packing compression/decompression architecture | |
US6456891B1 (en) | System and method for transparent handling of extended register states | |
EP0405318A2 (en) | Microprocessor having cash bypass signal terminal | |
US7139909B2 (en) | Technique for system initial program load or boot-up of electronic devices and systems | |
JPH09505922A (ja) | 多数のマイクロ制御器の演算を実行するマイクロ制御器システム | |
KR20010006749A (ko) | 설치된 모든 대용량 저장 장치들의 리부트/파워 온리컨피그레이션을 최종 사용한 컨피그레이션과 동일하게하도록 각각의 대용량 저장 장치의 비휘발성 메모리에시스템 레벨 대용량 저장 컨피그레이션 데이터를 저장하는장치 및 방법 | |
KR100261527B1 (ko) | 프로세서 상태의 선택적 제초기화용 전기핀을 구비한 다중모드 마이크로프로세서 | |
JP2005135395A (ja) | 仮想マシン用のプロセッサおよびその方法 | |
WO1994022075A1 (en) | A flash memory system providing both bios and user storage capability | |
JP2006302313A (ja) | マイクロコード・キャッシュ・システム及び方法 | |
US5963738A (en) | Computer system for reading/writing system configuration using I/O instruction | |
JP2990195B2 (ja) | レガシ指令のエミュレ―ション装置及び方法 | |
US6393498B1 (en) | System for reducing processor workloads with memory remapping techniques | |
JPH10293684A (ja) | コンピュータシステムおよびその立ち上げ制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
G170 | Re-publication after modification of scope of protection [patent] | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120323 Year of fee payment: 13 |
|
EXPY | Expiration of term |