KR900002894B1 - 어드레스 변환을 사용한 데이타 처리 시스템 - Google Patents

어드레스 변환을 사용한 데이타 처리 시스템 Download PDF

Info

Publication number
KR900002894B1
KR900002894B1 KR1019870004837A KR870004837A KR900002894B1 KR 900002894 B1 KR900002894 B1 KR 900002894B1 KR 1019870004837 A KR1019870004837 A KR 1019870004837A KR 870004837 A KR870004837 A KR 870004837A KR 900002894 B1 KR900002894 B1 KR 900002894B1
Authority
KR
South Korea
Prior art keywords
address
input
output
output device
bus
Prior art date
Application number
KR1019870004837A
Other languages
English (en)
Other versions
KR870011537A (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 KR870011537A publication Critical patent/KR870011537A/ko
Application granted granted Critical
Publication of KR900002894B1 publication Critical patent/KR900002894B1/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
    • 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
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
    • 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

Landscapes

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

Abstract

내용 없음.

Description

어드레스 변환을 사용한 데이터 처리 시스템
제 1 도는 종래의 어드레스 변환 방법을 사용한 데이터 처리 시스템의 1예를 도시한 블럭도.
제 2 도는 본 발명에 의한 데이터 처리 시스템의 1실시예를 도시한 블럭도.
제 3 도는 어드레스 공간의 구성을 설명하기 위한 도.
제 4 도는 CPU용의 어드레스 변환장치의 상세한 설명을 하기 위한 도.
제 5 도는 본 발명에 의한 데이터 처리 시스템의 다른 실시예의 입/출력 어드레스 변환부를 도시한 도.
제 6 도는 제 5 도의 실시예를 블럭도로 나타낸 도.
본 발명은, 어드레스 변환 시스템에 관하고, 특히 주기억에서의 액세스(access)경우에 어드레스 변환이 필요한 가상 기억 시스템에 있어서, 입/출력 장치측에서의 액세스를 용이하게 한 어드레스 변환 방식에 관한 것이다.
주기억 장치를 액세스 하는때에 어드레스 변환을 필요로 하는 가상기억 시스템에 있어서는, 어드레스 변환을 어디에서 행하는 가가 중요한 문제이다.
종래의 예에서는, 예를 들면 Digital Equipment Corp. 의 VAX-11("vax 하드웨어 핸드 북, P202, 203, 206, 207, 316과 317, 1980년 참조, 이하 간단히 VAX 방식이라 한다)에 있어서는, 제 1 도에 도시한 바와 같이, 중앙 처리 장치 CPU(1)에서 출력된 논리 어드레스(logical address)에 대해서는 CPU(1)용의 어드레스 변환장치(2)를 사용하여 물리 어드레스(Physical address)로 변환하고, CPU의 원조없이 입/출력 장치(5)가 기억장치(3)를 직접 액세스하는 DMA(direct memory access)의 동작시에는 입/출력장치(5)에서 출력된 논리 어드레스를 입/출력 어드레스 변환장치(4)에 의해서 물리 어드레스로 변환하도록 하고, 이 물리 어드레스를 어드레스 버스(bus)(10)를 경유하여 주기억장치(3)에 주도록 되어 있다.
VAX 방식은 다수의 입/출력 장치를 사용한 경우에는, 각각의 입/출력 장치 또는 각 군의 입/출력 장치에 전용어드레스 변환 장치를 개발하고, 이것을 입/출력 장치(5)와 메모리 어드레스 버스(10)의 사이에 접속하는 것이 필요하였다.
상술한 VAX 방식과 같이, 각 입/출력 장치가 논리 어드레스를 출력하여, 기억장치의 액세스에 필요한 물리 어드레스에서의 변환은 각 입/출력 장치의 출구에서 행하도록 하면, 각각의 입/출력 장치 전용의 어드레스 변환장치를 준비할 필요가 있기 때문에, 입/출력 장치에 범용성이 결여되고, 가격면에서도 문제가 된다.
VAX 방식에 대한 개선안으로, 제 1 도의 시스템 구성에서 CPU(1)용의 어드레스 변환장치는 유지시키고, 입/출력어드레스 변환장치(4)를 제거하는 것에 의해서, 입/출력장치측의 비용을 저감시킨 어드레스 변환방식이 고려되었다. 그러나, 이와 같은 입/출력 장치용의 어드레스 변환장치를 생략하고, CPU용의 어드레스 변환장치만을 마련하는 방식으로 하면, 각 입/출력 장치에 주기억상의 물리 어드레스를 직접 출력시켜야 한다. 이를 위해, 예를 들면 자기 디스크 장치와 주기억 장치 사이에서 다수의 페이지에 계속된 데이터 전송으 실행하는 경우, 자기 디스크 장치가 어드레스를 발생하기 쉽게, 이 자기 디스크에 대해서는 물리 공간상에서 연속한 기억장치(3)의 기억영역을 할당해야 한다. 이로 인해, 가상 기억 시스템의 유익한 특징을 효과적으로 사용할 수 없는 문제가 있으므로, 이 문제는 결과적으로 DMA에 의한 데이터 전송이 1페이지씩으로 제약되는 것을 의미한다.
입/출력 장치의 출구에서 어드레스 변환장치를 갖지 않는 데이터 처리 시스템의 1예는 "The Design and Implementation of the MC 68851 Paged Memory Management Unit IEEE MICRO Magazine Vol 6, No.2(1986년 4월) P13-18 특히, P13의 제1도에 도시되어 있다.
어드레스 변환을 포함하는 컴퓨터의 메모리 시스템의 구성에 관해서는 미국 특허 4,550,368을 참조할 수 있다.
본 발명의 목적은, 각 입/출력 장치에 전용의 어드레스 변환장치를 마련하지 않고, 각 입/출력장치가 논리 어드레스에서 기억장치를 액세스하여, DMA에 의한 다수의 페이지 분의 데이터를 연속적으로 전송할 수 있는 어드레스 변환방식을 제공하는 것이다.
상기 목적을 달성하기 위해, 본 발명의 관점에 따르면, 중앙 처리 장치와 MT 장치 또는 플로피 디스크장치 등의 적어도 1대의 입/출력 장치와, 기억장치, 어드레스 버스, 제1어드레스 변환 수단, 제2어드레스 변환 수단과, 어드레스 선택수단을 갖는 데이터 처리 시스템에 있어서, 중앙처리 장치의 출력 어드레스를 제1어드레스 변환수단에서 변환하여 어드레스 버스에 공급하고, 입/출력 장치의 출력어드레스를 어드레스 버스에 직접 공급하고, 어드레스 버스의 어드레스를 어드레스 선택수단에 넘겨주고, 어드레스 선택수단이 어드레스 버스상의 제1변환수단의 출력어드레스, 또는 같은 버스상의 입/출력 장치의 출력 어드레스를 제2의 어드레스 변환수단을 경유하여 변환한 것의 어느 것을 선택적으로 기억수단에 공급하도록 한 것을 특징으로 한다.
본 발명에 의하면, 기억 장치의 입구에 입/출력 장치에서의 어드레스를 변환하는 제2의 어드레스 변환수단을 배치하는 것에 의해, 각 입/출력 장치측의 변환장치를 필요로 하지 않는다. 각 입/출력 장치에서 출력된 논리 어드레스는 그 자체의 어드레스 즉, 변환없는 어드레스를 공급하고, 기억장치 전에 마련된 제2의 어드레스 변환수단에서 물리어드레스로 변환되어, 기억장치 엑세스의 어드레스로 된다. 어드레스 버스상에서는 제1의 어드레스 변환수단을 경유하여 공급된 CPU 에서의 물리 어드레스와 입/출력 장치에서 직접 공급한 논리 어드레스가 동시에 존재한다. 이러한 어드레스의 분리는 버스상의 어드레스 공간을 미리 CPU용과 입/출력 장치용으로서 나누어두고, 어드레스 선택수단에 어드레스 버스상의 소정의 어드레스 비트의 값에 의존하여 어드레스 선택 동작시키도록 하면 좋다.
다음에 본 발명의 제1실시예를 도면에 따라 설명한다.
제 2 도는 본 발명에 의한 어드레스 변환을 실현한 데이터 처리 시스템의 기본구성도로서, CPU(1)에서 출력된 논리어드레스(11a)는 어드레스 변환장치(2)에 의해서 물리 어드레스(11b)로 변환되고, 어드레스 버스(10) 및 어드레스 통로(10')를 경유하여 어드레스 선택장치(6)에 입력된다. 한편, 입/출력 장치(5)에서 출력된 논리 어드레스는 그대로 어드레스 버스(10)에서 출력된 논리 어드레스는 그대로 어드레스 버스(1)에 공급되고, 어드레스 통로(10')를 경유하여 어드레스 선택 장치(6)에 입력된다.
어드레스 선택장치(6)은 입력된 어드레스 CPU용 어드레스 변환장치(2)에서의 물리 어드레스의 경우는 CPU용 어드레스 통로(12)를 경유하여 기억장치(3)으로 보내고, 입력된 어드레스가 입/출력장치(5)에서 출력된 논리 어드레스의 경유는 입/출력용 통로(13a)를 경유하여 입/출력용 어드레스 변환장치(4')에 입력하여, 어드레스 변환장치(4')에서 물리 어드레스로 변환된 후 통로(13b)를 거쳐서 기억장치(3)에 입력된다.
어드레스 선택장치(6)에서의 선택동작은 다음에 설명하는 제 5 도(또는 제 6 도)의 실시예와 마찬가지로, 예를 들면 CPU(1)용 어드레스 변환장치(2)에서의 출력 어드레스의 특정 비트, 예를 들면 상위 2비트와 입/출력 장치(5)에서의 출력 어드레스에 대응하는 특정 비트, 예를 들면 상위 2비트를 사용하여, 주기억 장치(3)에서의 엑세스가 CPU(1)에서 인가, 입/출력 장치(5)에서 인가를 구별하도록 한다.
실시예의 데이터 처리 시스템은 3개의 어드레스 공간이 존재한다. 즉, CPU(1)내에서 취급된 논리 어드레스 공간(A), 버스(10)상의 어드레스 공간(B), 실기억영역(C1)과 입/출력 제어 레지스터 영역(C2)로 되는 물리 어드레스 공간(C)이다.
제3도는, 상기 3개의 어드레스 공간(A∼C) 관계를 도시한 것이다. 이 예에서는 논리 어드레스 공간(A)는 32비트의 논리 어드레스(11a)로 표시된 4GB의 크기를 갖는다. 논리 어드레스 공간(A)는 예를 들면, 어드레스 0∼1.0GB가 사용자 프로그램용의 텍스트(text) 및 데이터를 위해 영역(A1)로 할당되고, 어드레스 1.0∼2.0GB는 사용자 스택(stack) 영역(A2)로 사용되고, 어드레스 2.0∼3.0GB는 오퍼레이팅 시스템과 다수의 사용자에 공용된 프로그램, 데이터등을 기억하기 위한 시스템영역(A3)이고, 어드레스 3.0∼3.5GB는 변환없이 주기억영역 C1을 엑세스하기 위한 영역(A4), 어드레스 3.5∼4.0GB는 입/출력 장치를 제어하는 제어 레지스터영역(C2)에 엑세스 하기 위한 영역(A5)로 할당된다. 영역(A1)∼(A3)의 각 어드레스는, 어드레스 변환에 의해 주기억 영역(C1)에 대응시킨다. 또한 무변환 영역(A4)는 논리어드레스 3GB를 주기억의 선두어드레스에 대응시키는 것에 의해, 3GB번째에서 시작한 실장된 기억 크기의 주기억 영역(C1)을 무변환으로 엑세스한다.
버스(1)상의 어드레스 공간(B)는 버스(10)의 비트폭, 예를 들면 26비트에 대응하는 64MB의 크기를 갖고, 16MB단위의 4개 영역(B1)∼(B4)으로 분할된다. 0∼16MB의 영역(B1)은, 논리 영역(A1)∼(A4)에서 주기억 영역(C1)을 엑세스 하기 위해 사용되고, 논리공간의 어드레스 영역(A1),(A2),(A3)의 각 논리 어드레스는, 어드레스 변환에 의해서, 이 영역(B1)에 맵(map)된다. 또한, 논리공간에서 무변환 영역(A4)는 평행 이동의 관계로서 영역(B1)에 대응시킨다. 16MB∼32MB의 영역(B2)는 입/출력 장치(5)에서 어드레스 변환 장치(4')를 경유하여, 주기억 영역(C1)을 엑세스하는 때에 사용된다. 주기억에 보면, 공간에서 영역(B1)과 (B2)는 각각 물리 및 논리 어드레스의 영역이다. 32MB∼48MB의 영역(B3)는 입/출력 장치를 제어하는 레지스터 영역(C2)를 엑세스 하기 위한 영역이고, 48MB∼64MB의 영역(B4)는 실시예에서는 사용되지 않는 영역이다. 물리공간(C) 및 버스공간(B)의 크기는 시스템에서 실장된 주기억 장치의 기억용량의 최대처에 의해서, 상술한 16MB이외의 값을 세트할 수 있다.
제 4 도는 CPU(1)용 어드레스 변환장치(2)의 구체적인 회로 구성의 1예를 도시한다.
CPU(1)에서는, 어드레스 변환장치(2)에 대해서(A31)∼(A0)의 32비트의 논리 어드레스(11a), 리드(read)나 라이트(write)의 동작을 지시하는 R/W 신호, 그리고 CPU의 상태가 시스템 모드이거나 사용자 모드 인지를 지시하는 상태신호(S)를 공급한다. 논리 어드레스(11a)는 레지스터(21)에 입력되고, 상위 2비트(A31, A30)의 영역, 필드(R), 18비트(A20∼A12)의 페이지 필드(PG), 그리고 하위 12비트(A11∼A0)의 페이지내 오프세트의 필드(OF)로 할당된다. 영역 필드(R)은 영역테이블(22)를 어드레스하고, 이에 의해서 페이지영역 어드레스(22S)가 리드된다. (23)은 페이지 테이블 메모리이고, 테이블 엔트리(entry)가 유효인가, 아닌가를 지시하는 유효 비트(V), 해당 페이지에 대한 엑세스를 제한하기 위한 보호정보(PR), 그리고 주기억장치상의 물리 페이지를 표시하는 페이지 프레임(frame) 번호(PFN)으로 된 다수의 레코드로 되어 있다. 페이지 테이블 메모리(23)에서는 페이지 영역 어드레스(22S)와 페이지 필드(PG)를 가산하여 얻은 어드레스의 내용이 리드되고, 리드된 14비트(A25'∼A12')의 PFN과 레지스터(21)에서 출력된 12비트(A11∼A0)의 오프세트(OF)가 레지스터(24)에서 편성되고, 변환된 26비트의 버스 어드레스(11b)로서 출력된다.
메모리 23에서 리드되는 유효 비트(V)와 보호정보(PR)은 제어회로(25)에 입력되고, CPU(1)에서 R/W신호와 제어신호(S)가 또한 제어 회로에 공급된다. 제어회로(25)는 유효비트(V)가 1일 때만, 어드레스 동작을 실행시키고, (V)가 0일때는 에러 신호(ER)에 의해 어드레스의 이상을 CPU(1)에 알린다. 주기억에 대한 엑세스는 시스템모드에 의한 리드와 라이트, 사용자 모드에 의한 리드와 라이트의 4개 경우가 있고, 보호 정보(PR)은 각 페이지 대응에 이들 4개의 경우를 허가하는가, 아닌가를 나타내는 4비트 정보를 포함한다. 제어 회로(25)는 어드레스 변환동작에 우선하여서, 제어신호(S)와 R/W에서 현재의 엑세스 경우에 식별하고, 이를 보호정보(PR)로 체크하여, 체크 결과가 OK경우만 버스 어드레스(11b)를 출력시킨다.
만약, 해당 페이지에 대한 허가가 되지 않는 엑세스이면, 어드레스 변환은 실행되지 않고, 에러 신호(ER)에 의해 CPU(1)으로 보고된다. 또한, 영역 테이블(22)와 페이지 테이블(23)의 내용은 제어 프로그램인 오퍼레이팅 시스템에 의해 제어된다.
제 5 도는 본 발명에 의한 데이터 처리 시스템의 다른 실시예를 설명한 도이다. 제 2 도와 같은 부재는 같은 참조부호를 부여하고 필요한 경우를 그 설명은 생략한다.
먼저, 버스(10)상의 26비트의 어드레스 신호(B0)∼(B25)와 24비트 주기억 어드레스(C0)∼(C23)의 관계를 설명한다.
CPU(1)에서 32비트 논리 어드레스(A31∼A0)는 어드레스 변환회로(2)에 의해서 26비트 어드레스(11b)(A25'∼A12', A11∼A0)으로 변환되고, 각각의 비트 위치가 버스(10)상의 어드레스 비트(B25)∼(B6)와 대응한다. 버스(10)상의 어드레스 비트는, 하위12비트(B11)∼(B0)가 메모리 어드레스(C11)∼(C0)에 입력되고, 그 상위의 12비트(B1-)∼(B12)는 입/출력용 어드레스 변환 장치(4') 및 제1조의 2입력 AND게이트(423), (412)에 입력되어 있다. 어드레스 변환장치(4')에서 어드레스 변환된 12비트(B23'∼B12')의 어드레스는 제2조의 2입력 AND 게이트(323), (312)에 입력된다. 제1,제2조의 AND 게이트 출력은 비트 대응에 OR 게이트(223),(212)로 입력되고, 이들 OR게이트의 출력이 메모리 어드레스(C23∼C12)로 된다.
본 실시예에서는, 제1조 및 제2조의 AND 게이트(323), (312), OR 게이트(223), (212), 인버터(41),(42) 및 AND 게이트(43),(44)가 어드레스 선택회로(6')를 구성하고, 각각 어드레스 버스의 상위 2비트(B25) (B24)에 접속된 인버터(41)과(42), 그리고 AND 게이트(43),(44)로 구성된 AND 게이트 선택회로에 의해 2조의 AND 게이트 군의 어느 것을 선택되도록 하여있다. 비트(B25)와 (B24)가 동시에 0인 경우는 제1조의 AND 게이트(423),(412)가 개방되고, 어드레스 비트(B23)과 (B12)가 직접 메모리 어드레스(C23∼C12)에 입력된다. 또한, (B25)는 0, (B24)는 1인 경우, 제2조의 AND 게이트(323),(312)는 개방되고, 변환된 어드레스 비트(B23')∼(B12')는 메모리 어드레스(C23∼C12)에 공급된다.
따라서, 본 실시예에서는 CPU(1)에서 주기억 장치(3)을 액세스하는 경우, 어드레스 변환 장치(2)는 출력 어드레스의 상위 2비트(A25')(A24')를 0(버스공간 0∼16MB의 선택 모드)로 되도록 어드레스 변환한다. 또한, CPU(1)이 입/출력 장치(5)에서 엑세스하는 때는 상위 어드레스 비트를 A25'는 1, A24'는 0(버스공간 32∼48MB의 선택모드)가 되도록 어드레스 변환이 행하여진다.
이 경우는 버스상의 어드레스가 입/출력 장치(5)에서 어드레스 디코우더(DEC)(51)에서 복호화되고, 그 결과에 따라서 입/출력 제어 레지스터(50)의 소정의 내용이 엑세스된다.
입/출력 장치(5)가 주기억 장치(3)에서 엑세스하는 경우, 입/출력 장치(5)는 (B25)를 0, (B24)를 1(버스공간 16∼32MB의 선택 모드)로서, 비트(B23)∼(B0)에 임의의 어드레스를 출력한다. 입/출력 장치가 DMA방식으로 주기억 장치를 엑세스하는 경우, (B25)와 (B24)를 상기의 값으로 유지한때, 하위의 24비트의 어드레스가 연속적으로 갱신되어 (B11)∼(B0)는 직접, (B23)∼(B12)는 어드레스 변환 장치(4')에서 변환되어, 기억 장치(3)에 공급된다. 어드레스 변환 장치(4')는 CPU용 어드레스 변환 장치(2)와 대략 같은 기능을 갖고, 입/출력 장치(5)의 DMA(52)가 출력한 연속 어드레스를 페이지 단위로 주기억상의 물리 어드레스에 전개한다. 이 경우, 주기억 장치(3)상의 각 페이지의 할당은 오퍼레이팅 시스템에 의해 어드레스 변환 장치(4')내의 각종 테이블을 리라이트(rewrite)하는 것에 의해 자유로이 행할 수 있기 위해, 가상 기억 시스템의 이점이 손상되는 것은 없다.
제 6 도는 제 5 도의 실시예를 블럭도로 나타낸 것이고, 그 상세한 설명은 제5도에 연관지어 설명한다. 제 2 도의 실시예와 다른점은, 제 2 도의 실시예에 있어서는 어드레스 버스(10)를 경유하여 받아들인 어드레스는 먼저 어드레스 선택회로(6)에 들어가고, 어드레스 선택회로(6)에서의 선택 결과에 따라, CPU(1)용 어드레스 변환 장치(2)에서의 물리 어드레스가 어드레스 하면, 물리 어드레스는 집적 기억 장치(3)으로 보내지고, 어드레스가 입/출력 장치(5)에서 논리 어드레스이면, 논리 어드레스는 입/출력 장치용 어드레스 변환장치(4')로 보내져 물리 어드레스로 변환되어 기억 장치(3)에 입력된다. 이것에 비해서 제 5 도(즉, 제 6 도)의 실시예의 경우는, 어드레스 버스(10)를 경유하여 보내진 어드레스는 어드레스 선택장치(6') 및 입/출력 어드레스 변환 장치(4')에 직접적으로 입력된다. 어드레스 선택장치(6')는 보내진 어드레스가 CPU(1)용 어드레스 변환 장치(2)에서의 물리 어드레스인가, 입/출력 장치(5)에서의 논리 어드레스 인가를 체크하고, 그 판정결과에 따라서 CPU(1)용 어드레스 변환 장치(2)에서의 물리 어드레스이면, 기억 장치(3)으로 직접 보내고, 입/출력 장치(5)에서의 논리 어드레스이면 입/출력용 어드레스 변환 장치(4')에서 물리 어드레스로 어드레스 변환시켜 얻은 것을 기억 장치(3)에 선택적으로 보낸다.
상술한 실시예에서는, 입/출력장치는 1대만을 대표로 표시한 것이고, 실제로는 여러대의 입/출력 장치가 접속되어 있다. 더욱이 본 발명은 여러개의 입/출력 장치가 포함되어 있는 시스템의 경우에 특히 유효하다.
이 경우, 제 3 도의 버스 공간(B)안의 입/출력 레지스터 영역 및 물리공간(C)내의 입/출력 영역을 각 입/출력 장치마다 오버랩(over lap)하지 않도록 할당할 필요가 있다. 이 할당이 바르게 행하여지면, 여러대의 입/출력 장치를 포함하는 시스템의 경우에도 문제없이 동작한다. 물론, 본 발명에서는 단지 1대의 입/출력 장치를 갖는 시스템에 적용한 것이다.
이상의 설명에서 명확한 바와같이, 본 발명에 의하면 각 입/출력 장치측에 장치측에 어드레스 변환을 위해서 특별한 장치를 필요로 하지 않고, 따라서 입/출력 장치의 하드웨어 구성의 양과 개발을 위해 필요한 인력과 시간을 최소로 할 수 있다. 또한, 입/출력 장치용의 어드레스 변환수단을 사용하지 않는 물리 어드레스로 DMA 동작을 행한 방식과 비교하면, 본 발명 방식은 다수의 페이지에 저장된 다량의 데이터를 연속적으로 전송할 수 있는 이점이 있다.
이상, 본 발명을 상기 실시예에 따라서 구체적으로 설명하였으나, 본 발명은 상기 실시예에 한정되는 것은 아니며, 그 요지를 이탈하지 않는 범위에 있어서, 여러가지 변경이 가능한 것은 물론이다. 본 발명의 요점은 1개의 입/출력 장치용 어드레스 변환 장치와, 1개의 어드레스 선택장치를 사용한 점에 있다. 예를 들면, 어드레스 선택장치의 구체적인 회로에 대해서는 본 명세서에서 구체적으로 나타낸 것 이외의 구성도 가능하다. 본 발명의 범위내에 포함되는 어떠한 변경이나 실시예가 첨부한 특허 청구의 범위에 적용되는가를 심사 숙고해야 한다.

Claims (2)

  1. 중앙 처리 장치(1), 상기 중앙 처리 장치에 접속되어, 그 중앙 처리 장치의 출력 논리 어드레스를 물리 어드레스로 변환하는 제1의 변환 수단(2), 상기 제1의 변환수단에 접속된 어드레스 버스(10), 상기 어드레스 버스에 접속된 적어도 1대의 입/출력 장치(5), 기억 장치(3), 상기 입/출력 장치에서의 출력 논리 어드레스를 물리 어드레스로 변환하는 제2의 변환수단(4'), 상기 어드레스 버스, 상기 기억 장치, 상기 입/출력 장치에 접속되어, 상기 제1의 변환 수단에서의 출력 물리 어드레스는 그대로, 상기 입/출력 장치에서의 출력 논리 어드레스는 상기 제2의 변환수단을 경유하여, 상기 기억 장치에 공급하는 어드레스 선택수단(6)을 포함하는 데이터 처리 시스템.
  2. 특허 청구의 범위 1 항에 있어서, 상기 어드레스 선택수단은 상기 어드레스 버스의 소정의 어드레스 비트의 값에 대하여, 상기 제1의 변환수단에서의 출력 물리 어드레스 또는 상기 입/출력 장치에서의 출력 논리 어드레스의 어느 것을 선택하는 수단을 갖는 데이터 처리 시스템.
KR1019870004837A 1986-05-23 1987-05-16 어드레스 변환을 사용한 데이타 처리 시스템 KR900002894B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP61-117381 1986-05-23
JP117381 1986-05-23
JP61117381A JPH0814803B2 (ja) 1986-05-23 1986-05-23 アドレス変換方式

Publications (2)

Publication Number Publication Date
KR870011537A KR870011537A (ko) 1987-12-24
KR900002894B1 true KR900002894B1 (ko) 1990-05-03

Family

ID=14710241

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019870004837A KR900002894B1 (ko) 1986-05-23 1987-05-16 어드레스 변환을 사용한 데이타 처리 시스템

Country Status (5)

Country Link
US (1) US4959770A (ko)
JP (1) JPH0814803B2 (ko)
KR (1) KR900002894B1 (ko)
CN (1) CN1004589B (ko)
DE (1) DE3718750A1 (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2630838A2 (fr) * 1987-07-15 1989-11-03 Centre Nat Rech Scient Unite de gestion d'acces en memoire, a identifiants logiques invariants, notamment pour la gestion de bases de donnees, et procede de gestion d'acces correspondant
JP2615103B2 (ja) * 1987-12-11 1997-05-28 株式会社日立製作所 仮想計算機システム
US5155834A (en) * 1988-03-18 1992-10-13 Wang Laboratories, Inc. Reference and change table storage system for virtual memory data processing system having a plurality of processors accessing common memory
GB8814076D0 (en) * 1988-06-14 1988-07-20 Int Computers Ltd Data processing system
JP2774862B2 (ja) * 1990-07-16 1998-07-09 株式会社日立製作所 Dma制御装置および情報処理装置
JPH0553920A (ja) * 1991-08-26 1993-03-05 Toshiba Corp 構造化アドレス生成装置
US5623692A (en) * 1995-05-15 1997-04-22 Nvidia Corporation Architecture for providing input/output operations in a computer system
US5640591A (en) * 1995-05-15 1997-06-17 Nvidia Corporation Method and apparatus for naming input/output devices in a computer system
US5924126A (en) * 1995-05-15 1999-07-13 Nvidia Method and apparatus for providing address translations for input/output operations in a computer system
US5721947A (en) * 1995-05-15 1998-02-24 Nvidia Corporation Apparatus adapted to be joined between the system I/O bus and I/O devices which translates addresses furnished directly by an application program
JPH0997214A (ja) * 1995-09-29 1997-04-08 Internatl Business Mach Corp <Ibm> 補助プロセッサのためのアドレス変換を含む情報処理システム
US5659798A (en) * 1996-02-02 1997-08-19 Blumrich; Matthias Augustin Method and system for initiating and loading DMA controller registers by using user-level programs
US6104417A (en) * 1996-09-13 2000-08-15 Silicon Graphics, Inc. Unified memory computer architecture with dynamic graphics memory allocation
US6785743B1 (en) * 2000-03-22 2004-08-31 University Of Washington Template data transfer coprocessor
CN100426264C (zh) * 2005-10-19 2008-10-15 联发科技股份有限公司 存取一存储器的方法与相关的微处理器系统
US8212832B2 (en) 2005-12-08 2012-07-03 Ati Technologies Ulc Method and apparatus with dynamic graphics surface memory allocation
US20080162805A1 (en) * 2007-01-03 2008-07-03 Springfield Randall S Method and Apparatus for Using Non-Addressable Memories of a Computer System
US8924832B1 (en) * 2012-06-26 2014-12-30 Western Digital Technologies, Inc. Efficient error handling mechanisms in data storage systems
US11194735B2 (en) * 2017-09-29 2021-12-07 Intel Corporation Technologies for flexible virtual function queue assignment

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3723976A (en) * 1972-01-20 1973-03-27 Ibm Memory system with logical and real addressing
US3800291A (en) * 1972-09-21 1974-03-26 Ibm Data processing system memory relocation apparatus and method
JPS533029A (en) * 1976-06-30 1978-01-12 Toshiba Corp Electronic computer
US4155119A (en) * 1977-09-21 1979-05-15 Sperry Rand Corporation Method for providing virtual addressing for externally specified addressed input/output operations
US4373179A (en) * 1978-06-26 1983-02-08 Fujitsu Limited Dynamic address translation system
DE2842288A1 (de) * 1978-09-28 1980-04-17 Siemens Ag Datentransferschalter mit assoziativer adressauswahl in einem virtuellen speicher
US4277826A (en) * 1978-10-23 1981-07-07 Collins Robert W Synchronizing mechanism for page replacement control
US4320456A (en) * 1980-01-18 1982-03-16 International Business Machines Corporation Control apparatus for virtual address translation unit
US4392200A (en) * 1980-01-28 1983-07-05 Digital Equipment Corporation Cached multiprocessor system with pipeline timing
US4403283A (en) * 1980-07-28 1983-09-06 Ncr Corporation Extended memory system and method
US4481573A (en) * 1980-11-17 1984-11-06 Hitachi, Ltd. Shared virtual address translation unit for a multiprocessor system
US4410941A (en) * 1980-12-29 1983-10-18 Wang Laboratories, Inc. Computer having an indexed local ram to store previously translated virtual addresses
JPS57138079A (en) * 1981-02-20 1982-08-26 Toshiba Corp Information processor
US4550368A (en) * 1982-07-02 1985-10-29 Sun Microsystems, Inc. High-speed memory and memory management system
US4513371A (en) * 1982-07-29 1985-04-23 Ncr Corporation Computer interface apparatus using split-cycle lookahead addressing for faster access to paged memory
JPS5924485A (ja) * 1982-07-30 1984-02-08 Toshiba Corp 入出力ペ−ジング機構

Also Published As

Publication number Publication date
DE3718750A1 (de) 1987-11-26
US4959770A (en) 1990-09-25
CN87103748A (zh) 1987-12-09
CN1004589B (zh) 1989-06-21
DE3718750C2 (ko) 1991-05-23
JPH0814803B2 (ja) 1996-02-14
KR870011537A (ko) 1987-12-24
JPS62274444A (ja) 1987-11-28

Similar Documents

Publication Publication Date Title
KR900002894B1 (ko) 어드레스 변환을 사용한 데이타 처리 시스템
US4158227A (en) Paged memory mapping with elimination of recurrent decoding
CA1261479A (en) Direct input/output in a virtual memory system
CA2211083C (en) Address transformation in a cluster computer system
EP0306702B1 (en) Virtual input/output commands
EP0213843B1 (en) Digital processor control
US4218743A (en) Address translation apparatus
EP0497600B1 (en) Memory access method and apparatus
US4695948A (en) Bus to bus converter using a RAM for multiple address mapping
KR910010328A (ko) 패리티 능력을 가진 디스크 배열 제어기
US8868883B1 (en) Virtual memory management for real-time embedded devices
KR940005790B1 (ko) Dma 기능을 갖춘 정보 처리장치
US6092170A (en) Data transfer apparatus between devices
JPH0312339B2 (ko)
JPH0519183B2 (ko)
EP0175398A2 (en) Data processing system comprising a memory access controller which is provided for combining descriptor bits of different descriptors associated with virtual addresses
KR950012734B1 (ko) 컴퓨터 시스템
JPH01298457A (ja) コンピュータシステム
US5247631A (en) Programmable control of EMS page register addresses
JPH0731666B2 (ja) プロセッサ間通信方式
GB2221066A (en) Address translation for I/O controller
US5410662A (en) Programmable control of EMS page register addresses
JPH0731523B2 (ja) プログラマブルコントロ−ラ装置
KR100219474B1 (ko) 프린터
JPS58179977A (ja) メモリ制御装置

Legal Events

Date Code Title Description
A201 Request for examination
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20040308

Year of fee payment: 15

LAPS Lapse due to unpaid annual fee