KR100220496B1 - 프로세서 및 정보 처리 장치 - Google Patents
프로세서 및 정보 처리 장치 Download PDFInfo
- Publication number
- KR100220496B1 KR100220496B1 KR1019910001166A KR910001166A KR100220496B1 KR 100220496 B1 KR100220496 B1 KR 100220496B1 KR 1019910001166 A KR1019910001166 A KR 1019910001166A KR 910001166 A KR910001166 A KR 910001166A KR 100220496 B1 KR100220496 B1 KR 100220496B1
- Authority
- KR
- South Korea
- Prior art keywords
- processing
- evaluation
- memory
- resource
- processor
- Prior art date
Links
- 230000010365 information processing Effects 0.000 title claims description 12
- 230000015654 memory Effects 0.000 claims abstract description 47
- 238000006243 chemical reaction Methods 0.000 claims abstract description 7
- 238000011156 evaluation Methods 0.000 claims description 46
- 238000004364 calculation method Methods 0.000 claims description 23
- 238000000034 method Methods 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 18
- 230000006399 behavior Effects 0.000 claims description 8
- 230000006870 function Effects 0.000 claims description 7
- 238000004891 communication Methods 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims 2
- 230000000977 initiatory effect Effects 0.000 claims 1
- 238000007726 management method Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 11
- 238000005094 computer simulation Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
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/22—Microcontrol or microprogram arrangements
- G06F9/24—Loading of the microprogram
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- 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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
- G06F12/0623—Address space extension for memory modules
-
- 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/22—Microcontrol or microprogram arrangements
-
- 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/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
-
- 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/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/261—Microinstruction address formation
-
- 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/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
- G06F9/268—Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs
-
- 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/22—Microcontrol or microprogram arrangements
- G06F9/28—Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
-
- 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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
-
- 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
- G06F12/10—Address translation
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)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
본 발명은 내부에 저장된 마이크로 코드를 갖는 재 기록이 가능한 기억 장치가 제공된 마이크로 프로그램 제어형 프로세서에 관한 것이다. 프로세서는 가상 메모리 공간을 설정하는 설정 디바이스와 변환 테이블 디바이스를 포함하며, 상기 변환 테이블 디바이스는 설정 디바이스에 의해 가상 기억 공간의 어드레스 정보와, 기억 장치를 갖는 실기억 공간의 어드레스와의 대응 관계를 표시한다. 가상 메모리 공간에 예정된 어드레스는 데이터 판독에 의해 표시되며, 변환 테이블 디바이스의 내용은 수정될 수도 있다. 이와같은 방법으로, 사이즈가 큰 프로그램 또는 복수의 프로그램은 실기억 공간의 크기에 의해 제한되는 실행가능한 프로그램의 크기와 무관하게 즉시 실행될 수 있다.
Description
제1도는 종래 프로세서의 기본 구성을 나타내는 블록도.
제2도는 종래 정보 처리 장치의 아키텍처를 나타내는 도면.
제3도는 본 발명의 프로세서의 기본 구성을 나타내는 도면.
제4도는 제3도에 도시된 프로세서에서 가상 어드레스 공간의 내용을 나타내는 도면.
제5도는 제3도에 도시된 프로세서에서 프로그램 카운터가 발생한 가상 어드레스 정보 내용을 나타내는 도면.
제6도는 제3도에 도시된 프로세서에서 물리 어드레스 공간과 가상 어드레스 공간과의 대응 관계를 나타내는 도면.
제7도는 제3도에 도시된 프로세서에서 가상 어드레스와 물리 어드레스간의 어드레스 변환을 나타내는 개략도.
제8도는 본 발명의 정보 처리 장치의 기본 구성을 도시하는 도면.
제9도는 제8도에 도시된 정보 처리 장치의 동작을 설명하는 개략도.
제10도는 기억장치의 상세도.
제11도는 평가부의 상세 구조도.
제12도는 공유 시스템의 구조도.
제13도는 분산 시스템의 구조도.
* 도면의 주요부분에 대한 부호의 설명
11 : 제어 메모리 12 : 프로그램 카운터
13 : 베이스 레지스터 14 : 페이지 테이블
20 : 자원 유지부 21 : 평가부
본 발명은 내부에 저장된 마이크로 코드를 갖는 재 기록이 가능한 메모리 수단이 제공된 마이크로 프로그램 제어형 프로세서에 관한 것이다.
일반적으로 마이크로 프로그램 제어 방식의 프로세서에 있어서는, 제1도에 도시된 바와 같이, 마이크로 코드를 저장하는 제어 메모리(1)를 프로세서(2) 내부에 갖고, 상기 프로세서(2)는 외부 메모리(3) 상의 유저 프로그램을 상기 제어 메모리(11)에 저장된 마이크로 코드에 따라 해석하여 실행한다.
종래 프로세서에 내장된 제어 메모리는 통상적으로 독출 전용인 것이 많고, 미리 프로그램된 마이크로 코드를 갖는 메모리가 프로세서 내에 설치된다.
또한, 유저 프로그램의 고속 실행을 위해서, 프로세서에 내장된 제어 메모리를 외부에서 독출하거나 기록하는 것에 적합하고, 유저 프로그램을 직접 제어 메모리 상에 로드하여 실행하는 방법도 알려져 있다.
한편, 함수형 또는 목적 지향 등의 계산 모델이나, 고급 계산 도구를 컴퓨터상에 실현하기 위해서는, 언어나 소위 프레임 워크라고 하는 실행 모델이 필요하다.
현재의 컴퓨터 아키텍처는 소위 폰 노이만 아키텍처(von Neumann architecture)이다. 즉, 현재 컴퓨터 아키텍처의 기초를 이루는 것은, 데이터와, 그 데이터의 저장 장소, 프로세서 및 프로세서 상의 데이터 연산이다. 이와 같은 아키텍처 상에서 실행 모델을 구현하기 위해서는, 실행 모델 상에 표시된 연산 이외에, 예컨대 메모리 관리나 디바이스 관리 등도 프로세서에 의해 처리될 필요가 있다.
실행 모델이 아키텍처를 고려하여 그 계산 모델에 의해 결정되지만, 실행 모델을 실행하기 위해서는 아키텍처 상에, 예컨대 제2도에 도시된 바와같이, 메모리 관리, 디바이스 관리, 라이브러리, 스케줄러, 파일 시스템 또는 입/출력 등의 시스템 기술이 필요하고, 이 시스템 기술은, 2차 메모리 관리, 계산 처리의 관리 또는 프로세서(또는 CPU)의 할당과 같은 실행 모델로부터 직접 알 수 없는 처리를 포함한다. 결과적으로, 통상 실행 모델과 아키텍처와의 정합성이 양호하게 된다.
예컨대, 제1도에 도시된 시스템에서, 데이터 저장 장소로서 외부 메모리(3)는 데이터 베이스 A와 B가 저장되어 있어서, 데이터 베이스 A와 B가 동일한 데이터 베이스인지를 판정하는 경우, 프로세서(2)는, 메모리, 주기억 장치, 또는 2차 기억장치 등의 디바이스를 제어 또는 관리하는 것에서부터, 데이터 베이스 A와 B를 순차적으로 판독하여 비교를 행하고, 비교의 결과에 의해 데이터 베이스 A와 데이터 베이스 B가 동일한지를 판정한다.
이와같은 아키텍처에 있어서는, 실행 모델을 실현하거나, 실행 모델 상에서 기술 또는 프로그래밍을 행할 때, 아키텍처 상에서의 시스템 기술이 반드시 간명하게 되는 것은 아니기 때문에, 실제의 시스템 동작을 상세히 인식하거나 예측하는 것이 용이하지 않다. 그 결과, 예컨대 메모리 액세스 시에 예기치 않은 고장이 발생하기 쉽다.
실행 모델과 아키텍처와의 정합성을 높이기 위해서 전용 머신(machine)화 또는 기능 메모리 등의 채용을 생각할 수 있지만, 보편적인 아키텍처를 얻기 위해서는, 많은 실행 모델상의 계산의 기본을 고려한 프레이밍(framing)에 기초한 방법이 소망된다.
한편, 마이크로 프로그램 제어 방식의 프로세서는, 외부에서 독출과 기록이 가능한 제어 메모리를 내장하여 구성함으로써, 유저 프로그램을 고속으로 실행하는 것이 가능하도록 하였지만, 상기 제어 메모리의 기억 용량을 크게 하는 것은 불가능하기 때문에, 사이즈가 큰 프로그램을 직접 실행하는 것이 불가능하다. 따라서, 사이즈가 큰 프로그램을 실행하는 경우나, 복수 프로그램을 시분할하여 실행할 때에는, 외부에서 프로그램의 교체를 행할 필요가 있고, 이 때문에 작업을 위한 실행 효율이 현저히 낮아진다고 하는 문제점이 있다.
본 발명의 목적은, 마이크로 프로그램 제어 방식의 프로세서에 있어서, 유저 프로그램의 고속 실행을 가능케 함과 아울러 실행 효율의 향상을 도모하는 것을 목적으로 한다.
본 발명의 다른 목적은, 실행 모델과 아키텍처 레벨의 정합성을 높이고, 종래의 아키텍처보다도 추상화된 아키텍처를 얻는 것이 가능하며, 실행 모델의 실현 또는 실행 모델 상에서의 기술에 있어서 컴퓨터의 행동(behavior)을 의식하는 것이 쉽고, 효율이 높은 프로그램을 쓰는 것(formulae)이 가능한 정보 처리 장치의 제공을 목적으로 한다.
본 발명의 프로세서에 의하면, 마이크로 코드를 저장하는 재 기록이 가능한 기억 수단을 갖는 실기억 공간의 어드레스와, 설정 수단에 의해 지정된 가상 기억 공간의 어드레스 정보와의 대응 관계가 변환 테이블에 의해 표시됨으로써, 상기 마이크로 코드를 저장하는 재 기록이 가능한 기억 수단을 갖는 실기억 공간을 가상화하여, 상기 가상 어드레스 공간내에 배치된 마이크로 코드에 의해 프로그램을 실행한다.
본 발명에 의한 정보 처리 장치에서, 실행 모델상의 계산의 기본 요소는 아키텍처 모듈의 자원과 평가이고, 실행 모델상의 계산은 자원의 평가로서 실현된다.
이하, 본 발명에 따른 프로세서의 실시예를 도면을 참조하여 상세히 설명한다.
제3도를 참조하면, 본 발명에 따른 프로세서는, 제3도에 도시된 바와같이, 마이크로 코드를 수납하는 (재)기록 가능한 제어 메모리(11)를 프로세서 내부에 갖는 마이크로 프로그램 제어 방식의 프로세서이다. 제어 메모리(11)의 어드레스, 즉, 물리 어드레스가, 프로그램 카운터(12)에 의해 발생된 가상 어드레스 정보로부터, 예컨대, 베이스 레지스터(13), 페이지 테이블(14) 및 가산기(15,16)을 통해 후술하는 바와같이 생성된다.
본 실시예에서는, 어느 처리를 행하기 위한 코드의 집합체를 코드 블록이라 하고, 이 코드 블록의 1개의 가상 어드레스 공간을 할당한다. 제4도에 도시한 바와 같이, 각 코드 블록은 제로 번지를 공유하며, 또한 각각 충분히 큰 가상 어드레스 공간을 형성한다.
프로그램 카운터(12)는 제어 메모리(11)에 저장되어 있는 마이크로 코드를 참조하기 위해, 17비트의 가상 어드레스 정보를 발생한다. 프로그램 카운터(12)가 생성한 17비트 가상 어드레스 정보는, 제5도에 도시된 바와같이, 가상 어드레스 공간을 256워드 페이지로 분할한 가상 페이지 번호(VPN)에 상위 9비트(16-8비트)가 할당되고, 각 페이지내의 워드 오프 세트에 하위 8비트가 할당된다. 상기 가상 어드레스 공간은, 제6도에서 도시된 바와같이, 상위 2개의 비트 "1, 1"(16-15비트)의 어드레스 공간이 시스템 공간으로서 사용되며, 나머지 어드레스 공간은 유저 공간으로서 사용된다.
베이스 레지스터(13)은 현재 사용된 유저 공간의 페이지 테이블 엔트리의 물리 베이스 어드레스(PBA)를 설정하기 위한 레지스터이다. 코드의 블록의 데이터가 실행중에 있는 페이지 테이블 엔트리에 대한 오프세트 값 BR이 베이스 레지스터에 입력된다.
페이지 테이블(14)은, 가상 어드레스를 물리 어드레스로 변환하는 어드레스 변환으로 인한 변환 테이블이다. 이 변환 테이블에는 제어 메모리(11)의 물리 페이지 번호(PPN)가 페이지 테이블 엔트리로서 입력된다. 상기 페이지 테이블 엔트리는, 유저 공간의 어드레스 변환에만 사용된다. 물리 페이지 번호(PPN)는 물리 어드레스 공간의 페이지 번호로서, 0에서 511까지의 값이다.
상기 실시예에서는, 페이지 테이블(14)의 어드레스가, 가산기(15)에 의해, 프로그램 카운터(12)에 생성된 가상 어드레스 정보의 상위 9비트로 주어진 가상 페이지 번호 VPN에 베이스 레지스터(13)에 공급된 페이지 테이블 엔트리의 오프세트 값 BR이 가산된 값(VPN+BR)으로서 표시된다. 가산기(5)에 의해 가산출력으로서 얻어진 상기 어드레스 값(VPN+BR)으로 지정된 상기 페이지 테이블(4)의 기억 장소에 저장되어 있는 페이지 테이블 엔트리, 즉 상기 제어 메모리(11)로부터 독출한 물리 페이지 번호 PPN에, 상기 프로그램 카운터(2)에 의해 생성된 가상 어드레스 정보의 하위 8비트로 표시되는 워드 오프 세트를, 가산기(6)에 의해, 부가하는 것으로 물리 어드레스를 생성한다.
한편, 물리 페이지 번호(PPN)가 제로인 페이지 테이블 엔트리는 대응하는 가상 어드레스 공간이 물리 페이지에 매핑되어 있지 않음을 의미한다. 상기 에리어가 액세스되는 경우에, 페이지 폴트가 생기고, 외부의 백업 메모리(18)에서 제어 메모리(11)에 필요한 코드 블록이 로드된다. 제어 메모리(11)와 페이지 테이블(14)은 외부에서 데이터의 재 기록이 기능한 메모리이다. 프로세서는 인터럽트 등을 사용하여 이들 메모리의 동작 상태를 외부에 알린다.
본 실시예의 프로세서는, 제어 메모리(11)의 어드레스 공간이 가상화되고, 소정의 유저 프로그램을 기술한 마이크로 코드를 가상 기억하여 실행한다. 상기 프로세서에 의하면, 프로세서측에서 본 어드레스 공간이 가상적으로 확장되어 있기 때문에, 종래의 마이크로 프로그램 제어 방식으 프로세서에서 실행하는 것이 곤란한 사이즈의 큰 프로그램을 용이하게 실행할 수 있다. 또한, 제어 메모리(11)의 어드레스 공간을 가상화함으로써, 물리 어드레스에 제약됨이 없이 프로그램을 임의로 배치하는 것이 가능하다. 따라서, 복수의 프로그램을 시분할하여 실행하도록 한 경우에, 이들 프로그램을 가상 기억해 놓음으로써 외부를 액세스함이 없이 프로그램의 교체를 행하는 것이 가능하게 되고, 실행 효율이 향상된다.
반면에, 내용, 크기 및 수가 동적으로 변화되는 코드부(마이크로 코드에 의해 정의된 소프트웨어) 전체에 대해 1개의 가상 공간을 주도록 한 경우에는, 어느 시간에서 연속된 가상 어드레스 공간이 시간 t후에 불연속으로 됨으로써 가상 어드레스 공간의 관리가 복잡하게 된다. 반면, 가상 어드레스 공간을 관리하기 위한 페이지 테이블이 크게 되어서 가상 어드레스 공간의 사용 효율이 낮아지게 된다. 그러나, 이와같은 문제점은, 코드 블록 단위로 가상 어드레스 공간을 할당함으로써 회피될 수 있다.
상술한 본 발명의 프로세서에서는, 제어 메모리의 어드레스 공간을 가상화함으로써, 프로세서측에서 본 어드레스 공간이 가상적으로 확장되어 있기 때문에, 종래의 마이크로 프로그램 제어 방식의 프로세서에서는 실행하기 곤란한 사이즈가 큰 프로그램도 용이하게 실행하는 것이 가능하다.
또한, 프로그램은 가상 어드레스 공간에 할당되어 있기 때문에, 할당을 자유롭게 할 수 있다. 따라서, 물리적인 프로그램에 제약됨이 없이, 각종 프로그램을 시분할적으로 실행하고 있는 환경에서, 프로그램의 교환도 가능하다. 이로써, 외부로의 액세스를 감소할 수 있고 실행효율이 향상된다.
상술한 마이크로 프로그램 시스템 프로세서를 사용하여 구성된 정보 처리 장치의 일실시예를 도면을 참조하여 설명한다. 제8도는 정보 처리 장치의 기본적인 구성을 도시하고 있다.
제8도에서, 정보 처리 장치는, 자원 관리기(20a)와 기억장치(20b)로 구성된 자원 유지부(10a)와, 평가부(21)로 구성된다.
자원 유지부(20)의 자원 관리기(10a)는, 종래의 컴퓨터 메모리, 또는 2차 기억 장치 등의 디바이스, 또는 인터페이스를 사용한 자원 유지부(20)를 실현하기 위한 제어, 관리 유닛이다. 여기서 자원(resource)이라 함은, 함수형이나 목적 지향 등의 모델, 또는 더 높은 레벨의 계산 도구를 전자 컴퓨터상에 구현하기 위한 실행 모델상에서의 데이터와 계산 유닛을 의미하며, 상기 계산 유닛은 메모리 관리, 디바이스 관리, 프로세스 관리, 태스크 관리, 통신 기능 등이다. 따라서, 자원 유지부(20)는, 데이터 기억장소인 기억장치(20b)와, 그 데이터의 관리 기구나 통신 기구 등인 자원 관리기(20a)로 구성된다.
평가부(21)는 자원 유지부(20)의 평가를 실행한다. 여기서 평가라 함은 실행 모델 상에서 계산을 실행하는 과정을 의미한다.
즉, 자원 유지부(20)는 실행 모델상의 데이터 또는 처리 단위의 정적 표현이 된다. 자원 유지부(20)의 관리를 위한 처리는 자원 유지부(20)내에서 실행되지만, 이와같은 처리는 평가부(21)에서 명확하게 알 수 없다. 또한, 평가부(21)는 실행 모델 상에서의 자원 유지부(20)의 동적 행동이고, 자원 유지부(20)에 외면적 변화(apparent changes)를 주는 것이다. 이와같은 행동 또는 변화는, 평가를 위한 기능상의 처리에 의해 구해진다.
그러므로, 상기 실시예에서, 자원 유지부(20)는 실행 모델상의 데이터 또는 계산 유닛을 자원으로서 유지하는 수단으로 사용되며, 평가부(21)는 실행 모델(20)상에서 자원 유지부(20)의 동적 행동 또는 외면적 변화로서의 평가를 실행하는 평가 수단으로 사용된다.
이하에서는 동작에 대해 설명한다. 자원 유지부(20)의 기억장치(20b)에는 프로세스나 태스크 등의 계산 유닛이 저장되어 있다. 자원 관리기(20a)는 프로세스 등의 계산 유닛을 평가부(21)에 전송한다.
평가부(21)에서는 계산 유닛을 이용하여 계산을 행한다. 평가부(21)가 자원에 포함된 데이터를 필요로 할 때, 그리고 자원 유지부(20)에 새로운 데이터 또는 계산 유닛을 기억시키고 외부 장치와의 통신을 필요로 할 때, 평가부(21)는 자원 관리기(20a)에 이 요구를 전달한다. 자원 관리기(20a)는 이것에 필요한 처리를 행한다. 즉, 자원 관리기(20a)는 기억장치(20b)에 기억된 데이터의 처리 또는 통신을 행하고, 그 결과(데이터)를 평가부(21)에 전달한다. 평가부(21)는 자원 유지부(20)로부터의 정보를 이용하여 계산을 차례로 실행한다. 한편, 자원 관리기(20a)는 가상 메모리 관리 또는 가비지(garbage) 콜렉션 처리 등을 행한다.
이로써, 자원 유지부(20)상의 데이터 처리나 통상의 상세한 처리는 자원 관리기(20a)에서 실행되는 반면에, 평가부(21)는 그 처리에 관계하지 않는다. 그러므로, 종래의 평가부(21)에 의해 실행되는 것에 상당하는 프로세스가 이 처리를 행하는 경우에 비해, 시스템 상에서의 전체의 처리가 추상화되어, 시스템 상의 기술성이 높아진다. 한편 평가부(21)는, 자원 관리기(20a)가 자원의 처리를 행할 때, 다른 계산을 처리하는 것이 가능하다.
평가부(21)에서 계산을 실행하는 동안에, 자원 유지부(20)내에 기억된 데이터 베이스 A 및 데이터 베이스 B가 동일한지를 판단할 필요가 있을 때에, 평가부(21)는 데이터 베이스 A와 데이터 베이스 B가 동일한지를 판단하라는 명령을 자원 유지부(20)에 지시한다. 자원 유지부(20)는 자원 유지부(20)내에 기억된 데이터 베이스 A와 데이터 베이스 B를 비교하여 비교 결과(데이터)를 평가부(21)에 전달한다. 평가부(21)는, 자원 유지부(10)가 데이터 베이스 A와 데이터 베이스 B와의 비교를 행할 때, 그 외의 처리를 실행한다.
제10도는 종래의 전자 컴퓨터에 사용되는 주기억장치와, 2차 기억장치로 구성되는 계층적 기억장치를 사용하여 구현된 자원 유지부(20)의 기억장치(20b)를 도시한다.
제10도를 참조하면, 자기 디스크 등의 2차 기억장치(23b)에 기억되어 있는 데이터는 2차 기억장치 제어기(23a)의 제어하에, 주기억장치(22)에 전송되어 기억된다. 자원 관리기(20a)는 기억된 데이터를 사용하여 평가부(21)가 필요로 하는 정보를 생성하여 평가부(21)에 전달한다.
제11도는 평가부(21)의 상세한 구성을 도시하고 있다.
제11도에서, 연산부(30)는 데이터의 처리를 작업 영역(31)을 사용하여 행한다. 제어 기억부(32)는 자원 유지부(20)로부터 평가방법을 기억한다. 제어부(33)는 제어 기억부(32)에 기억된 평가 방법을 기초로 평가부(21) 자체를 제어함과 더불어, 자원 인터페이스(34)를 제어한다. 자원 인터페이스(24)의 데이터부(34a)는 자원 유지부(20)의 데이터 교환을 행함과 함께, 자원 유지부(20)의 행동을 지시한다. 상술한 평가 방법은 자원 유지부(20)내에 프로그램으로서 기억되어 있지만, 상기 평가 방법의 기본 부분 또는 전체를 평가부(21)에 제공하여도 좋다.
상술한 바와같이, 본 발명의 자원 관리기(20a)의 구성은, 평가부(21)의 구성과 거의 같다. 즉, 자원 관리기(20a)의 구성은, 평가부(21)의 구성에 다른 자원(20)의 인터페이스와, 기억장치(20b)와의 인터페이스가 추가되는 구성이다.
함수형이나 목적 지향등의 계산 모델과, 계산 도구와 같은 더 높은 레벨의 계산 모델을 실행 모델 상에 실현하기 위한 모델에 의하면, 메모리 관리, 프로세스 관리, 태스크 관리, 통신 기능 등을 계산 유닛로 하고, 데이터와 계산 유닛이 계산 자원이 되며, 실행 모델 상에서 계산을 실행하는 과정이 평가이고, 자원을 유지하는 자원 유지부(20)와 평가를 실행하는 평가부(21)를 서로 독립시켜 실행 모델 상의 계산이 자원의 평가로 구현되는 아키텍처를 구축하고, 실행 모델 상에서, 자원 유지부(20)의 동적 행동이나 외면적 변화로서 자원을 평가하는 평가부(21)로부터의 요구에 따라 평가에 필요한 정보를 출력함으로써, 실행 모델과 아키텍처와의 정합성을 향상시킨다. 또한, 종래의 아키텍처보다도 추상화된 아키텍처를 얻는 것이 가능하며, 실행 모델의 실현 또는 실행 모델 상에서의 기술(프로그래밍)에서, 컴퓨터의 행동을 의식하지 않고, 효율이 좋은 프로그램을 쓰는 것이 가능하다. 또한, 실행 모델의 실현이나 실행 모델 상의 기술이 아키텍처에 의거하여 행해진다.
본 발명은 상기 실시예에 한정되는 것은 아니며, 예컨대 자원 유지부(20)와 평가부(21)간의 결합을 고려하면, 결합의 상대로 자원 유지부(20)를 고려할 수 있기 때문에, 자원 유지부(20)와의 결합, 즉자원 관리기(20a)의 상호 결합에 의해, 병렬 분산 시스템을 실현하는 것이 가능하다. 예컨대, 제12도에 도시한 바와같은 공유 시스템은 자원 관리기(20a) 사이에 기억장치(20b)를 공유함으로써 실현하는 것이 가능하다. 반면, 제13도에 도시한 바와같은 분산 시스템은 결합부(15)에 의한 자원 관리기(20a)간의 상호 결합에 의해 실현하는 것이 가능하다. 즉, 본 발명은 병렬 분산 시스템 등의 고성능 컴퓨터 시스템을 구성하는 것을 용이하게 한다.
본 발명에 의하면, 데이터와 메모리 관리, 프로세스 관리, 통신 기능 등을 계산의 자원으로 하고, 또한 그 자원 상에서 계산을 실행하는 과정을 평가하는 것으로, 자원과 평가의 기능을 아키텍처로 구현함으로써 실행 모델과 아키텍처의 정합성을 높이는 것이 가능하다. 또한, 실행 모델을 실현하기 위한 시스템 기술이나, 실행 모델 상의 기술을 아키텍처에 의거하여 행하는 것이 가능하다. 그 결과, 종래에 비해 추상화된 아키텍처를 얻는 것이 가능하고, 컴퓨터의 행동을 의식하지 않고 효율좋은 프로그램을 쓰는 것이 가능하다. 또한, 고기능의 컴퓨터 시스템이 구축된다.
Claims (3)
- 정보 처리 장치로서, 데이터와, 실행될 프로그램의 실행 모델, 메모리 관리 또는 다른 시스템 기능에 관한 계산 유닛들을 포함하는 자원들(resources)을 기억하는 기억 수단 및 상기 자원들을 제어하고 관리하는 처리 수단을 포함하는 유지 수단으로, 상기 다른 시스템 기능은 디바이스 관리, 프로세스 관리, 태스크 관리, 통신 기능등을 포함하는 유지 수단과, 상기 실행 모델 상에서 상기 유지 수단내 기억된 상기 자원의 동적 행동으로서 상기 자원의 평가를 실행하고, 상기 기억 수단에 기억된 상기 데이터와 상기 계산 유닛을 획득하고 상기 기억 수단에 새로운 자원의 기억을 개시하고 외부 장치와 통신을 행하기 위해서, 상기 유지 수단에 명령을 발송하는 평가 수단을 포함하고, 상기 처리 수단은, 상기 평가 수단으로부터의 명령에 따라, 상기 계산 유닛을 독립적으로 관리하고 제어함으로써, 상기 평가 수단은, 상기 처리 수단에서 상기 명령을 처리하기 시작하는 때에, 다른 처리를 수행하는데에 유효하게 되고, 상기 명령에 따른 상기 처리 수단의 처리는 상기 평가 수단에 트랜스패런트(transparent)하게 되는 정보 처리 장치.
- 제1항에 있어서, 상기 처리 수단은 마이크로 코드를 기억하기 위한 재기록이 가능한 메모리(overwritable memory)를 갖는 마이크로 프로그램 시스템 프로세서를 포함하는 정보 처리 장치.
- 제2항에 있어서, 상기 마이크로 프로그램 시스템 프로세서는:가상 메모리 공간과, 상기 가상 메모리 공간의 상기 재기록 가능한 메모리 내의 실기억 공간으로의 대응 매핑을 지정하는 설정 수단, 및 상기 설정 수단에 의해 지정된 매핑을 기억하는 변환 테이블 수단을 구비하며, 상기 가상 기억 공간내 임의 어드레스를 지정함으로써 데이터를 액세스하게 되고, 상기 변환 테이블 수단의 내용은 상기 설정 수단에 의해 동적으로 변경될 수 있는 정보 처리 장치.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14063 | 1990-01-24 | ||
JP14062 | 1990-01-24 | ||
JP2014062A JPH03218543A (ja) | 1990-01-24 | 1990-01-24 | プロセッサ |
JP02014063A JP3077812B2 (ja) | 1990-01-24 | 1990-01-24 | 情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR910014824A KR910014824A (ko) | 1991-08-31 |
KR100220496B1 true KR100220496B1 (ko) | 1999-09-15 |
Family
ID=26349953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019910001166A KR100220496B1 (ko) | 1990-01-24 | 1991-01-24 | 프로세서 및 정보 처리 장치 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5511206A (ko) |
EP (1) | EP0442297B1 (ko) |
KR (1) | KR100220496B1 (ko) |
DE (1) | DE69132215T2 (ko) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5875487A (en) * | 1995-06-07 | 1999-02-23 | International Business Machines Corporation | System and method for providing efficient shared memory in a virtual memory system |
AUPP702498A0 (en) * | 1998-11-09 | 1998-12-03 | Silverbrook Research Pty Ltd | Image creation method and apparatus (ART77) |
US7681046B1 (en) | 2003-09-26 | 2010-03-16 | Andrew Morgan | System with secure cryptographic capabilities using a hardware specific digital secret |
US7694151B1 (en) * | 2003-11-20 | 2010-04-06 | Johnson Richard C | Architecture, system, and method for operating on encrypted and/or hidden information |
US9229875B2 (en) * | 2012-10-17 | 2016-01-05 | Electronics And Telecommunications Research Institute | Method and system for extending virtual address space of process performed in operating system |
DE102018202993A1 (de) * | 2018-02-28 | 2019-08-29 | Aktiebolaget Skf | Lager |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3800291A (en) * | 1972-09-21 | 1974-03-26 | Ibm | Data processing system memory relocation apparatus and method |
US4145745A (en) * | 1974-12-20 | 1979-03-20 | U.S. Philips Corporation | Address conversion device for secondary memories |
US4181935A (en) * | 1977-09-02 | 1980-01-01 | Burroughs Corporation | Data processor with improved microprogramming |
US4276594A (en) * | 1978-01-27 | 1981-06-30 | Gould Inc. Modicon Division | Digital computer with multi-processor capability utilizing intelligent composite memory and input/output modules and method for performing the same |
US4597041A (en) * | 1982-11-15 | 1986-06-24 | Data General Corp. | Method and apparatus for enhancing the operation of a data processing system |
US4747044A (en) * | 1984-08-23 | 1988-05-24 | Ncr Corporation | Direct execution of software on microprogrammable hardware |
US4761733A (en) * | 1985-03-11 | 1988-08-02 | Celerity Computing | Direct-execution microprogrammable microprocessor system |
-
1991
- 1991-01-23 EP EP91100838A patent/EP0442297B1/en not_active Expired - Lifetime
- 1991-01-23 DE DE69132215T patent/DE69132215T2/de not_active Expired - Fee Related
- 1991-01-24 KR KR1019910001166A patent/KR100220496B1/ko not_active IP Right Cessation
-
1994
- 1994-02-25 US US08/202,696 patent/US5511206A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US5511206A (en) | 1996-04-23 |
DE69132215T2 (de) | 2001-01-25 |
EP0442297B1 (en) | 2000-05-24 |
EP0442297A2 (en) | 1991-08-21 |
DE69132215D1 (de) | 2000-06-29 |
KR910014824A (ko) | 1991-08-31 |
EP0442297A3 (ko) | 1994-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9836409B2 (en) | Seamless application access to hybrid main memory | |
US4814975A (en) | Virtual machine system and method for controlling machines of different architectures | |
US9529611B2 (en) | Cooperative memory resource management via application-level balloon | |
US4812981A (en) | Memory management system improving the efficiency of fork operations | |
CN109522087B (zh) | 基于国产申威处理器的虚拟机构建方法和系统 | |
US5553291A (en) | Virtual machine control method and virtual machine system | |
US4347565A (en) | Address control system for software simulation | |
KR20210089150A (ko) | 호스트 컴퓨팅 디바이스 가상 메모리에 의해 지원되는 가상 머신 메모리의 더 빠른 액세스 | |
CN101349976A (zh) | 操作系统 | |
JPS62165250A (ja) | 仮想記憶方法 | |
KR100220496B1 (ko) | 프로세서 및 정보 처리 장치 | |
JPH096668A (ja) | コンピュータ・システム内で共用仮想セグメント識別を使用して共用メモリを提供するシステムおよび方法 | |
KR100735560B1 (ko) | 가상 메모리를 제어하는 장치 및 방법 | |
JPS6339933B2 (ko) | ||
Mei | A preliminary investigation of emulating applications that use petabytes of memory on petascale machines | |
CN114691297A (zh) | 一种信息读写方法、电子设备、分布式系统以及程序产品 | |
Zhu et al. | GMEM: Generalized Memory Management for Peripheral Devices | |
Wong et al. | RTE-IV: The Megaword-Array Operating System | |
CN114860439A (zh) | 一种内存分配方法、宿主机、分布式系统及程序产品 | |
Spruth | Trends in computer system structure and architecture | |
JPH03218543A (ja) | プロセッサ | |
JP2005056019A (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 | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20030516 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |