KR900002894B1 - 어드레스 변환을 사용한 데이타 처리 시스템 - Google Patents
어드레스 변환을 사용한 데이타 처리 시스템 Download PDFInfo
- 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
Links
Images
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
-
- 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
- G06F12/1081—Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
-
- 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)
- 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의 변환 수단(2), 상기 제1의 변환수단에 접속된 어드레스 버스(10), 상기 어드레스 버스에 접속된 적어도 1대의 입/출력 장치(5), 기억 장치(3), 상기 입/출력 장치에서의 출력 논리 어드레스를 물리 어드레스로 변환하는 제2의 변환수단(4'), 상기 어드레스 버스, 상기 기억 장치, 상기 입/출력 장치에 접속되어, 상기 제1의 변환 수단에서의 출력 물리 어드레스는 그대로, 상기 입/출력 장치에서의 출력 논리 어드레스는 상기 제2의 변환수단을 경유하여, 상기 기억 장치에 공급하는 어드레스 선택수단(6)을 포함하는 데이터 처리 시스템.
- 특허 청구의 범위 1 항에 있어서, 상기 어드레스 선택수단은 상기 어드레스 버스의 소정의 어드레스 비트의 값에 대하여, 상기 제1의 변환수단에서의 출력 물리 어드레스 또는 상기 입/출력 장치에서의 출력 논리 어드레스의 어느 것을 선택하는 수단을 갖는 데이터 처리 시스템.
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)
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)
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 | 入出力ペ−ジング機構 |
-
1986
- 1986-05-23 JP JP61117381A patent/JPH0814803B2/ja not_active Expired - Fee Related
-
1987
- 1987-05-16 KR KR1019870004837A patent/KR900002894B1/ko not_active IP Right Cessation
- 1987-05-20 DE DE19873718750 patent/DE3718750A1/de active Granted
- 1987-05-22 US US07/052,870 patent/US4959770A/en not_active Expired - Lifetime
- 1987-05-23 CN CN87103748.3A patent/CN1004589B/zh not_active Expired
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 |