KR860000792B1 - 가상 기억 제어장치 - Google Patents

가상 기억 제어장치 Download PDF

Info

Publication number
KR860000792B1
KR860000792B1 KR1019810002843A KR810002843A KR860000792B1 KR 860000792 B1 KR860000792 B1 KR 860000792B1 KR 1019810002843 A KR1019810002843 A KR 1019810002843A KR 810002843 A KR810002843 A KR 810002843A KR 860000792 B1 KR860000792 B1 KR 860000792B1
Authority
KR
South Korea
Prior art keywords
address
conversion
register
bits
information
Prior art date
Application number
KR1019810002843A
Other languages
English (en)
Other versions
KR830006763A (ko
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 KR830006763A publication Critical patent/KR830006763A/ko
Application granted granted Critical
Publication of KR860000792B1 publication Critical patent/KR860000792B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

내용 없음.

Description

가상 기억 제어장치
제1도는 복수의 어드레스공간을 갖는 메모리의 어드레싱의 일례를 나타낸 도면.
제2도는 복수의 어드레스공간에 있어서의 프로그램의 논리 어드레스할당도.
제3도는 본원 발명의 일실시예를 나타낸 어드레스확장회로의 블록도.
제4도는 본원 발명의 일실시예에 있어서의 어드레스변환회로의 내부 변환테이블의 일례를 나타낸 도면.
제5도는 복수의 어드레스공간에 있어서의 프로그램의 실어드레스 할당도.
제6도는 본원 발명의 다른 실시예를 나타낸 어드레스확장회로의 블록도.
제7도는 다른 실시예에 있어서의 변환용 메모리 내용의 일례를 나타낸 도면.
* 도면의 주요부분에 대한 부호의 설명
(1) : 마이크로프로세서 (2): 어드레스 버스
(3) : 데이터 버스 (4),(5),(8),(10),(13) : 레지스터
(6) : 어드 레스변환회로 (7) : 주메모리
(9) : 데이터부 (11): 신호선
(14) : 상수부 (15) : 논리어드레스부
(16) : 전환회로 (20) : 변환용 메모리
본원 발명은 복수의 어드레스공간을 갖는 가상기억장치의 전자계산기에 있어서의 가상기억제어에 관한 것이다. 전자계산기는 소프트웨어의 발달과 함께 많은 주메모리를 필요로하게 되었다. 특히 마이크로프로세서에는 어드레싱용량이 작은 것이 많아 메모리부족이 되기 쉽다.
그래서 마이크로프로세서의 외부 레지스터로 다른 어드레스공간을 지정하고, 시스템 전체로서의 메모리 용량을 증가시키고 있다(제1도 참조, 예로서 16비트폭의 어드레싱을 나타낸다).
다음에 마이크로프로 세서를 중심으로 기술한다.
어드레스공간의 전환은 어드레스공간 지정용 외부 레지스터에 그 공간번호를 세트함으로써 가능해진다. 한번 세트하면 그 값은 변경하기까지 그 어드레스공간을 선택한다. 이 때문에 어떤 어드레스 공간에 있는 프로그램에서 다른 어드레스공간에 있는 데이터를 직접 액세스하거나 다른 어드레스공간의 프로그램에 직접제어를 건너게 하는 것은 소프트웨어로서는 매우 곤란하다. 또 마이크로프로세서의 할입(割입)처리 등과 같이 마이크로프로세서의 어드레싱과 직접 관련되는 처리는 각 어드레스공간마다 가질 필요가 있다. 그래서 어느 어드레스공간에서도 오직 하나에 액세스할 수 있는 어드레스영역을 설치하여, 마이크로프로세서시스템을 관리하고 있다(제2도 참조). 이 영역은 베이스가 되는 어드레스공간에 설치하고, 시스템관리프로그램이나 할입처리프로그램 등에 할당한다. 이 때문에 제2도에 나타낸 바와 같이 각 어드레스공간(메모리)에 있어서 ×표로 나타낸 바와 같은 사용되지 않는 영역이 생겨 버린다.
본원 발명의 목적은 상기한 바와 같은 종래의 문제점을 제거하는 것이며 논리어드레스를 확장된 임의의 실어드레스로 변환할 수 있는 가상기억제어장치를 제공하는 것이다.
본원 발명의 특징은 복수의 어드레스공간을 갖는 가상기억장치의 전자계산기에 있어서, 베이스로되는 어드레스공간의 특정영역에 모든 어드레스공간의 처리프로그램을 관리하는 관리프로그램이나 할입처리프로그램을 격납하며, 다른 어드레스공간에는 처리프로그램만을 격납하고, 주메모리에는 베이스로 되는 어드레스공간의 전영역과 다른 어드레스공간에는 처리프로그램영역을 할당하여 처리장치에서 출력되는 어드레스공간을 지정하는 코오드와 논리어드레스에서 각 어드레스공간의 처리프로그램영역이 지정되었을 경우는 주메모리의 각 어드레스공간의 처리프로그램영역이 할당되어 있는 실어드레스에의 어드레스변환을 하며, 각 어드레스공간의 특정영역이 지정되었을 경우는 주메모리의 베이스로 되는 어드레스공간의 특정영역이 할당되어 있는 실어드레스에의 어드레스변환을 하는데 있다.
다음에 본원 발명의 실시예에 대하여 도면에 따라 상세히 설명한다.
제3도는 본원 발명의 일실시예인 마이크로프로세서의 어드레스 확장회로의 블록도이다. 마이크로프로세서(1)는 16비트의 어드레스버스(bus)(2)와 8비트의 데이터버스(3)를 갖는다. 레지스터(4)는 어드레스공간을 지정하는 레지스터이며, 마이크로프로세서(1)에 의해 데이터버스(3)를 통해서 어드레스 공간을 지정하는 코오드를 세트한다. 레지스터(5)는 레지스터(4)의 내용과 어드레스버스(2)상의 논리어드레스의 상위 4비트 A0-A3의 내용에서 변환코오드를 작성하여, 이것을 래치(latch)하고 있다. 어드레스변환회로(6)는 레지스터(5)의 내용을 입력으로 하고, 변환결과를 레지스터(10)에 세트한다. 또 이 변환에 성공했는지의 여부를 나타내는 신호선(11)이 어드레스변환회로(6)에서 전환회로(16)에 접속되어 있다. 레지스터(13)는 비스 0-3이 상수부(14), 비트 4-7가 어드레스버스(2)상의 논리어드레스의 상위 4비트 A0-A3를 래치하는 논리어드레스부(15)로 되어 있다. 상수부(14)는 본 실시예서는 0으로 한다. 전환회로(16)는 신호선(11)과 레지스터(10) 및 레지스터(13)의 출력을 입력으로 하고, 신호선(11)이 1일 경우 레지스터(10)의 내용을, 0일 경우 레지스터(13)의 내용을 레지스터(8)의 상위 8비트에 세트한다. 또 레지스터(8)는 어드레스(2) 위의 논리어드레스의 하위 12비트 A4-A15를 하위 12비트에 래치하고, 주메모리(7)의 실어드레스를 작성한다.
그리고 어드레스변환회로(6)는 레지스터(5)의 내용을 입력하여 변화어드레스(실어드레스의 일부)를 구하고, 성공시 신호선(11)을 1로하고, 실패시 신호선(11)을 0으로 하는 것 이외에는 임의이다. 여기서는 다음과 같은 회로를 일례로서 든다.
변환회로(6)는 내부에 제4도에 나타낸 변환테이블(대응표)을 가지며, 레지스터(5)의 내용과 코오드부를 비교하여, 일치한 코오드에 대한 데이터를 변환어드레스로서 출력한다. 이때 구하는 코오드를 검출했을 경우, 신호선(11)을 1로하고, 검출하지 못했을 경우 신호선(11)을 0으로 한다. 변환테이블의 크기 및 내용은 가변으로 한다. 변환테이블을 제4도와 같이 작성했을 경우, 복수의 어드레스공간에 있어서의 프로그램의 주메모리상의 실어드레스 할당은 제5도에 나타낸 바와 같이 행해진다.
제4도의 변환테이블에 있어서의 코오드부의 14-17은 어드레스공간(1)을, 24-27은 어드레스공간(2)을 4-37은 어드레스공간(3)을, 44-47은 어드레스공간(4)을 지정하고 있다. 변환테이블의 데이터부의 10-13은 제5도의 주메모리에 있어서의 처리프로그램(1)을, 14-17은 처리프로그램(2)을, 18-1B는 처리프로그램(3)을, 1C-1F는 처리프로그램(4)을 지정하고 있다. 레지스터(13)의 상위 4비트는 전부 0이므로 레지스터(13)의 내용에서 지정되는 어드레스공간은(0)으로 된다.
제3도의 실시예에서는 어드레스공간(0)의 전 영역과 어드레스공간(1)-(n)의 ×표의 영역을 지정할 경우는 어드레스변환회로(6)의 변환테이블을 참조하지 않고, 레지스터(13)에서 생성되는 어드레스와 논리어드레스의 일부로부터 레지스터(8)로 실어드레스를 생성하도록 구성되어 있다. 따라서 어드레스공간(0)의 영역과 어드레스공간(1)-(n)의 ×영역이 지정되었을 경우는 어드레스변환회로(6)가 어드레스변환실패로 되어, 신호선(11)에 "0"을 출력하며, 레지스터(13)의 내용으로 전환하도록 되어 있다. 즉, 어드레스 공간 (1)-(n)의 ×표의 영역이 지정되면, 어드레스공간(0)의 관리프로그램 및 할입처리프로그램영역이 지정되도록 어드레스를 생성한다.
다음에 동작을 설명한다.
마이크로프로세서(1)에서 주메모리(7)에 대해서 액세스요구가 제기되면, 공간어드레스번호를 지정하는 레지스터(4)의 내용과 어드레스버스(2)의 내용에 의해 어드레스변환이 행해지며, 그 결과 확장된 실어드레스로 주메모리(7)를 액세스한다.
1. 레지스터(4)의 하위4비트와 어드레스버스(2)의 상위 4비트(A0-A3)를 레지스터(5)에 래치한다.
2. 어드레스변환회로(6)는 레지스터(5)의 내용을 입력으로 하고, 그 변환어드 레스와, 신호선(11)에 신호를 출력한다. 어드레스변환성공시 신호선은 1로 되며, 연패시 신호선은 0으로 된다.
3. 상기 2항과 동시에, 레지스터(13)의 하위4비트에 어드레스버스(2)의 상위 4비트를 세트한다. 레지스터(13)는 상위 4비트는 0이다.
4. 신호선(11)이 1일 경우(즉 어드레스변환이 성공했을 경우) 레지스터(10)의 값을 레지스터(8)의 상위 8비트에 세트하고, 신호선(11)이 0일 경우(즉 어드레스변환이 실패했을 경우) 레지스터(13)의 내용을 레지스터(8)의 상위 8비트에 세트한다.
5. 레지스터(8)의 하위 12비트에 어드레스버스(2)의 하위 12비트를 세트하고, 어드레스확장이 종료된다.
레지스터(8)의 상위 8비트는 주메모리(7)상에서 할당된 프로그램의 영역을 지정하며, 하위 12비트는 어드레스를 지정한다. 따라서 어드레스변환회로(6)에서 변환된 변환코오드는 주메모리상의 어드레스공간(1)-(n)의 처리프로그램영역을 지정하며, 레지스터(13)에서 생성된 어드레스의 일부는 주메모리상의 어드레스공간(0)의 영역을 지정한다. 이상의 설명에서는 어드레스공간이 (n)=4이며 이들 처리프로그램이 주메모리에 격납되어 실어드레스가 할당되어 있지만, 다시(n)이 커지고, 이들 처리프로그램 전체를 주메모리에 격납할 수 없을 경우는 지정된 어드레스공간의 처리프를그램을 주메모리에 옮기고(당연히 주메모리에서 쫓겨나는 처리 프로그램이 나온다). 이것에 따라서 변환테이블의 코오드부를 고쳐 기입하게 된다.
제6도는 본원 발명의 다른 실시예를 나타낸 것으로 동일부호의 것은 상기 실시예와 동일한 것을 나타낸다. 상기 실시예와 구성상의 상이점은 어드레스변환회로(6), 신호선(11), 레지스터(13) 및 전환회로(16)의 기능을 변환용 메모리(20)로 바꾸어 놓은 점이다. 변화용 메모리(20)는 모든 어드레스공간 및 논리어드레스에)대응하느 변환데이터에어리어를 가지고 있다. 이 때문에 어드레스변환이 실패하는 일은 없으며 신호선(11)이 불필요해진다. 또 상술한 실시예에서 어드레스변환을 실패할 논리어드레스의 변환데이터에어리어에 레지스터(13)로 작성하는 데이터를 세트함으로써, 레지스터(13) 및 전환회로(16)의 기능을 갖게 할 수 있다. 레지스터(5)의 내용으로 변환용 메모리(20)를 액세스함으로써, 레지스터(10)에는 상술한 실시예에서 나타낸 전환회로(16)의 출력(실어드레스의 상위 8비트)이 세트되게 되며, 앞서의 실시예와 동등한 효과를 갖는다.
제7도에 변환메모리(20)의 내용을 나타낸다. 이것은 제2도의 논리어드레스할당으로 (n)=4로 하고, 실어드레스의 할당을 제5도와 같이 한 경우이다. 각 공간의 논리어드레스 00-03과, 08-OF가 지정되면, 주메모리상의 어드레스공간(0)이 할당되어 있는 영역이 지정되도록 변환된다. 이상의 설명과 같이 본원 발명에 의하면, 복수의 어드레스공간에 걸친 논리어드레스를 확장된 임의의 실어드레스로 변환할 수 있으므로 주메모리를 유효하게 이용할 수 있는 것이다.

Claims (1)

  1. (정정) 어드레스공간을 지정하는 정보가 세트되는 레지스터와, 복수의 정보변환대(對)를 갖춘 변환테이블과, 상기 레지스터로부터의 출력과 부여된 논리어드레스의 일부의 비트를 조합한 제1의 조합회로와, 이 제1의 조합회로로부터의 출력과 같은 것이 상기 변환테이블중의 변환전의 정보에 존재하는 지의 여부를 검사하는 수단과 부여된 논리어드레스의 상기 일부의 비트와 고정정보를 조합해서 상기 변환테이블중의 변환 후 정보와 같은 비트수를 얻는 제2의 조합회로와, 상기 검사수단에 있어서 같은 것이 존재할 때 대응하는 변환후의 정보를 출력하고, 존재하지 않을 때 상기 제2의 조합회로의 출력을 보내는 선택회로와, 부여된 논리어드레스의 상기 일부의 비트를 제외한 비트와 상기 선택회로의 출력을 조합해서 실어드레스를 얻는 제3의 조합회로를 가진 것을 특징으로 하는 가상기억제어장치.
    2~3삭제.
    삭제.
KR1019810002843A 1980-11-12 1981-08-05 가상 기억 제어장치 KR860000792B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP55158313A JPS6034139B2 (ja) 1980-11-12 1980-11-12 仮想記憶制御装置
JP80-158313 1980-11-12
JP158313 1980-11-12

Publications (2)

Publication Number Publication Date
KR830006763A KR830006763A (ko) 1983-10-06
KR860000792B1 true KR860000792B1 (ko) 1986-06-25

Family

ID=15668895

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019810002843A KR860000792B1 (ko) 1980-11-12 1981-08-05 가상 기억 제어장치

Country Status (2)

Country Link
JP (1) JPS6034139B2 (ko)
KR (1) KR860000792B1 (ko)

Also Published As

Publication number Publication date
JPS5782268A (en) 1982-05-22
KR830006763A (ko) 1983-10-06
JPS6034139B2 (ja) 1985-08-07

Similar Documents

Publication Publication Date Title
US3633175A (en) Defect-tolerant digital memory system
US4754394A (en) Multiprocessing system having dynamically allocated local/global storage and including interleaving transformation circuit for transforming real addresses to corresponding absolute address of the storage
US4835734A (en) Address translation apparatus
US4414627A (en) Main memory control system
KR880002657B1 (ko) 데이타 처리 시스템에서 메모리 매핑(mapping)방법
KR100233212B1 (ko) 가상 기억장치 변환을 효율적으로 공용하기 위한 장치 및 방법
US5652853A (en) Multi-zone relocation facility computer memory system
US3778776A (en) Electronic computer comprising a plurality of general purpose registers and having a dynamic relocation capability
KR900002894B1 (ko) 어드레스 변환을 사용한 데이타 처리 시스템
US4354258A (en) Memory board automatically assigned its address range by its position
US4318175A (en) Addressing means for random access memory system
US7558940B2 (en) Virtual memory translator for real-time operating systems
US5369750A (en) Method and apparatus for configuring multiple absolute address spaces
KR860000792B1 (ko) 가상 기억 제어장치
EP0532690B1 (en) Method and apparatus for managing page zero memory accesses in a multi-processor system
EP0175398A2 (en) Data processing system comprising a memory access controller which is provided for combining descriptor bits of different descriptors associated with virtual addresses
US5408674A (en) System for checking the validity of two byte operation code by mapping two byte operation codes into control memory in order to reduce memory size
JPH0562380B2 (ko)
US6647483B1 (en) Address translation circuit for processors utilizing a single code image
GB2221066A (en) Address translation for I/O controller
US3516070A (en) Storage addressing
JPH07334420A (ja) 拡張メモリ制御回路
JPH03276357A (ja) i/oアドレス変換方式
JP2000357123A (ja) メモリアクセス制御システム
JPS59229641A (ja) 通信制御装置