KR920008447B1 - 메모리 액세스 제어 시스템 및 방법 - Google Patents

메모리 액세스 제어 시스템 및 방법 Download PDF

Info

Publication number
KR920008447B1
KR920008447B1 KR1019900011357A KR900011357A KR920008447B1 KR 920008447 B1 KR920008447 B1 KR 920008447B1 KR 1019900011357 A KR1019900011357 A KR 1019900011357A KR 900011357 A KR900011357 A KR 900011357A KR 920008447 B1 KR920008447 B1 KR 920008447B1
Authority
KR
South Korea
Prior art keywords
memory
signal
keyboard controller
cpu
output
Prior art date
Application number
KR1019900011357A
Other languages
English (en)
Other versions
KR910006854A (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 KR910006854A publication Critical patent/KR910006854A/ko
Application granted granted Critical
Publication of KR920008447B1 publication Critical patent/KR920008447B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)
  • Memory System (AREA)

Abstract

내용 없음.

Description

메모리 액세스 제어 시스템 및 방법
제1도는 1MB를 넘는 어드레스 계산결과를 설명하기 위한 도면.
제2도는 종래기술에 의한 1MB이상의 메모리액세스 제어를 행하는 시스템의 블록도.
제3도는 이 발명의 메모리 액세스 제어시스템의 일실시예를 도시한 블록도이다.
* 도면의 주요부분에 대한 부호의 설명
31, 101 : CPU 32, 113 : 키보드콘트롤러
33 : 레지스터 34 : 상태 레지스터
102, 103, 104 : 비교기 107, 112 : 플립플롭
본발명은 퍼스널 컴퓨터에 사용하기에 적합한 메모리 액세스 제어 시스템 및 방법에 관한 것이다. 반도체 기술의 진보에 의하여 마이크로 프로세서, 메모리 LSI가 매우 값싸게 보급되고 있다. 또 성능면에서의 향상도 눈부시고 특히 마이크로프로세서의 분야에서는 8비트처리, 16비트처리, 32비트처리를 동시에 처리할 수 있도록 비트폭이 확장되고 고속화가 시도되고 있다. 이와 같은 마이크로프로세서는 퍼스널컴퓨터의 분야에서 표준적으로 사용되고있는 미국 인텔사제의 iAPX 86(8086), iAPX 88(8088), iAPX 186(80186), iAPX 286(80286), iAPX 386(80386)로 대표되는 마이크로프로세서이다.
그런데, 예컨대 IiAPX 286은 두 개의 상이한 모드 즉 실어드레스모드 및 보호 가상어드레스모드로 동작시킬 수 있다. 실어드레스모드에서 iAPX 286은 고성능 iAPX 86(8086)으로서 동작한다. 이 경우 1메가바이트(MB)까지의 메모리가 액세스 된다. iAPX 86이나 iAPX 186용으로 쓰여진 프로그램은 일체의 변경없이 실행할 수 있다. 또 보호모드에서는 1MB이상의 메모리 액세스가 가능하고, iAPX 286의 모든 기능을 발휘한다. 이들 기능에는 데이터보호, 시스템 통합, 바와 같크의 동시처리, 가상기억을 포함하는 메모리 관리가 포함된다. 이들 기능에는 데이터보호, 시스템 통합, 타스크의 동시처리, 가상기억을 포함하는 메모리관리가 포함된다. 시스템리세트후의 초기 상태에서는 프로세서는 실어드레스모드로 동작을 개신한다. 이동작모드에 있어서 모든 메모리 이드레싱은 물리적인 실어드레스로서 실행된다.
iAPX 286은 실어드레스 모드로 동작하고 있을때에는 다른 iAPX 86패밀리의 프로세서와 같이 1M 바이트(220바이트)의 메모리 공간을 어드레스 할 수 있다. 물리 어드레스는 20비트로 구성되고 이 어드레스 공간내의 각 1바이트는 각각의 고유의 번지로 식별된다. 즉, 물리 어드레스는 OH- FFFFH의 범위로 설정된다. 하나의 어드레스는 32비트의 포인터에 의하여 지정되고 이 포인터는 다음의 2개 요소로 구성된다.
(1) 16비트의 실행 어드레스 오프세트 세그멘트내의 특정의 위치를 세그멘트내변위로 하여 바이트단위로 표시한다.
(2) 16비트의 세그멘트 셀렉터, 세그멘트의 선두번지를 나타낸다.
하나의 세그멘트는 최대 64K 바이트의 크기이므로 세그멘트내의 임의 1바이트를 어드레스 하는데는 16비트(부호없음)만 있으면 충분하다. 세그멘트내의 가장 이른 어드레스의 오프세트는 0이고, 최후의 번지의 오프세트는 FFFFH이다. 세그멘트셀렉터는 그 16비트에 의하여 220바이트의 물리공간내의 어디가 세그멘트의 선두어드레스 인가를 나타내다. 실어드레스 모드에서 iAPX 286은 항상 세그멘트 셀렉터와 오프세트의 값에 의하여 20비트의 물리 어드레스를 생성한다.
그런데 예컨대 iAPX 86마이크로 프로세서로 만들어진 응용 프로그램은 1MB이상은 메모리 어드레스 공간을 지니는 iAPX 286마이크로 프로세서로 실행시킬 경우 1MB 이상의 메모리 액세스를 금지할 필요가 있다. iAPX 286에는 프로텍숀인에이블 비트가 설정되고 이 비트를 리세트함으로써 iAPX 286은 실어드레스 모드로 동작하도록 구성되어 있다. 그러나 전기적으로는 어드레스 A0-A24까지 설정되어 있으므로 노이즈 등의 영향에 의하여 A20이 "1"될 가능성이 있으며, 실어드레스모드에 있어서도 1MB 이상의 메모리 액세스가 행해질 가능성이 있다.
CPU에 상술한 : 8086계를 사용하고, 실어드레스 모드시에 1MB 이후에의 메모리 액세스를 키보드콘트롤레(KBC)의 제어신호에 의하여 방지하는 메카니즘은 아래와 같다.
제1도에 도시한 바와 같이 예컨대 메모리 어드레스의(세그멘트) : (오프셋)이 ("FFFF"H) : ("FFFF"H) (H는 16진수 표시를 나타낸다)16인때에는 어드레스계산의 결과는 1MB를 넘는다. (세그멘트 어드레스에 "FFFF" 가 16배 되어 좌로 4비트 시프트 되므로, "FFFFO"와 "FFFF"가 가산된다). 1MB째에 있는 A20의 비트(메모리 어드레스의 비트 20)가 1이 된다. 여기서는 CPU가 : 8086의 경우에는 어드레스 라인은 A0-A19까지 밖에 없고 어드레스 계산의 결과(오프셋 어드레스와 세그멘트 어드레스의 계산결과)는 "OFFFF" H로서 인식되고 어드레스는 메모리의 머리에 복귀하여 여기에서 액세스된다. 그러나 : 8086보다 뒤에 출현한 마이크로프로세서를 CPU로서 사용한 것에 있어서는, 어드레스 계산이 1MB를 넘으면, A20이 존재하기 때문에 이 비트를 인식하여 CPU가 실어드레스 모드에 있음에도 불구하고, 1MB 이상의 메모리 액세스를 행하여 버리고, 프로그램이 정상적으로 동작하지 않는 일이 있었다. 그래서 CPU로 부터의 코맨드 및 데이터에 의하여 KBC가 제어신호를 출력하고 1MB를 넘는 어드레스가 CPU에서 나오고 어드레스 계산으로 A20이 유효하게 되어도 이 신호를 게이트함으로써 1MB 이상의 메모리 액세스가 실행되지 않도록 구성되어 있다.
제2도는 상술한 종래의 메모리액세스 제어시스템의 개요를 나타내는 도면이다. 제2도에 있어서 시스템은 CPU(31), KBC(32), KBC(32)내의 레지스터(입출력포트) (33), KBC의 상태를 나타내는 상태 레지스터(34) 및 A20신호를 제어하는 앤드게이트 (35)로 구성된다. A20신호가 "하이"레벨로 출력될 경우에도 미리 CPU(31)가 KBC (32)를 액세스하여 KBC(32)로부터 출력되는 리얼신호를 : 로우"레벨로 해두면, A20은 게이트를 통과하지 않고 1MB 이후의 메모리가 액세스되는 일은 없다. 즉, 리얼신호를 "로우"에서 "하이"로 하는 것은 상술한 실어드레스 모드에서 보호 가상어드레스 모드로 교체되는 것을 의미하며 "하이"에서"로우"로 교체되는 것은 보호가상 어드레스 모드에서 실어드레스로 교체되는 것을 의미한다. 여기서 리얼신호를 "로우"레벨로 하려면, CPU(31)는 먼저 KBC(32)의 레지스터("64"H로 지정되는 입출력포트)(33)에 코맨드 "DI"H를 보내고 KBC(32)에의 데이터의 기록 요구(IOW)를 한다. 이때 KBC(32)내에 있는 상태 레지스터바와 같풋버퍼플(입력버퍼플)을 나타내는 비트는 1이된다. KBC (32)내의 퍼엄웨어에 의하여 코맨드 "DI"의 처리가 종료되면 이비트는 0이 된다. CPU (31)는 이비트가 0인 것을 읽으면, 재차 KBC(32)에 기록한다. CPU(31)가 KBC(32)의 입출력포트 "60"H에 "DD"H를 보내면 리얼신호는 "로우"가 된다. 데이터 "DF"H를 보내면 리얼신호는 하이로 된다.
CPU(31)가 KBC(32)에서 출력하고 있는 메모리 액세스 제어를 위한 리얼신호를 교체(하이-로우, 로우-하이)할때에 CPU(31)가 KBC(32)에 코맨드를 보내고 기록요구를 하고, 교체를 위한 데이터를 보낼때까지의 사이, 즉 KBC(32)내의 퍼엄 웨어에 의하여 CPU(31)의 기록 요구의 코맨드의 처리가 종료할때까지의 사이에 CPU(31)는 KBC(32)로 데이터를 송신하는 것을 기다리지 않으면 안된다. 즉, CPU(31)가 코맨드를 보내고, KBC(32)내의 인풋버퍼플의 비트가 1이 된다음 퍼엄웨어가 처리를 종료하고 이비트가 0이 되어 CPU(31)가 기록상태로 될 때까지의 사이이다.
본 발명의 목적은 소량의 하드웨어를 부가함으로써 어느 특정범위의 메모리 액세스를 무효로 하기위한 교체가 고속으로 행하여질 수 있고 또 종래시스템과의 호환성을 유지할 수 있는 메모리 액세스 제어시스템 및 방법을 제공하는데 있다.
본 발명의 제1특징에 의하면 메모리와 중앙처리장치(CPU), 입출력(I/O)포트가 지정된 키보드콘트롤러를 지닌 컴퓨터 시스템의 메모리 액세스 제어시스템에 있어서, 상기 키보드콘트롤러에 배정된 I/O 포트에 상기 CPU에서 출력되는 소정의 코맨드 및 데이터를 검출하는 수단과, 상기 코맨드 및 데이터의 검출에 응답하여 상기 CPU에 의한 어느 특정범위의 메모리 액세스를 무효로하는 특정제어신호를 생성하는 수단과, 상기 생성된 특정 제어신호를 상기 메모리로 송출하는 동시에 상기 키보드콘트롤러로 전달하는 수단을 포함하는 것을 특징으로 한다.
이 발명의 제2특징에 의하면 메모리와 중앙처리장치(CPU)와 입출력(I/O)포트가 지정된 키보드콘트롤러를 지닌 컴퓨터 시스템의 메모리 액세스 제어방법에 있어서 a) 상기 키보드콘트롤러에 대하여 데이터 기록 요구를 송출하는 단계와 : b) 상기 키보드콘트롤러에서의 응답을 기다리지 않고 상기 키보드콘트롤러에 있는 특정범위의 메모리 액세스를 무효로 하는 요구를 송출하는 단계와 : c) 상기 단계 a)와 b)에 있어서, 송출된 각 요구를 모니터 하고, 어느 특정 범위의 메모리 액세스를 무효로하는 특정 제어신호를 생성하는 단계와 : d) 상기 특정제어 신호를 메모리에 송출하는 동시에 상기 키보드콘트롤러에 전달하는 단계를 포함한 것을 특징으로 한다.
본 발명에 의하면 CPU에서 KBC의 입출력포트로 출력되는 코맨드 및 데이터를 모니터하고, CPU로 부터의 이들 신호를 KBC로 전달하지 않고 대신 처리하여 1MB 이후의 메모리 어드레스 제어를 행하는 리얼신호를 출력하고 또 그 결과를 KBC에 반영시키는 기능이 설정된다. 이 결과 리얼신호의 교체가 하드웨어에 의하여 실현된다.
이 발명에 의하면 CPU가 KBC에 코맨드를 보내고 그것이 KBC내의 퍼엄웨어로 처리되는 것을 기다린다. 음 CPU가 데이터를 보내는 것은 아니다. CPU로 부터의 코맨드나 데이터는 KBC에 전달되기 쉽다. 그 대신 하드웨어로 처리함으로써 1MB 이상의 메모리 어드레스에의 액세스를 인에이블, 디스에이블로 한다. 교체(즉 실어드레스모드, 보호가상어드레스모드의 교체)가 고속화하는 효과가 있다. 또 소프트웨어적으로는 종래의 방식 (KBC에 의한 리얼제어)과 완전한 호환성을 유지할 수 있다.
이하 첨부도면을 참조하여 본 발명을 구체적으로 설명한다.
CPU(101)에는 비교기(102,103,104) 및 레지스터(105)가 접속되어 있다. 비교기(102)는 KBC 입출력포트 "64 : H를 지정하는 어드레스를 검출한다. 비교기(103)는 코맨드데이타"D1"H를 지정하는 어드레스를 검출한다. 비교기(104)는 KBC 입출력포트"60"H를 지정하는 어드레스를 검출한다. 레지스터(105)는 CPU(101)가 리얼신호의 출력을 하드웨어 제어에 의하여 행하는가 KBC제어에 의하여 행하는가를 지정하는 정보를 간직한다. 이와 같이 하드웨어 제어로 할것인가 KBC제어로 할것인가의 선택은 세트업처리에 의하여 행하여진바와 같래 행해지고 있는 KBC제어도 선택할 수 있도록 구성한 것은 응용프로그램에 의해서는 CPU를 저속으로 동작시키는 프로그램도 실행가능케하기 위해서이다. 하드웨어 제어가 선택되었을 경우 CPU(101)는 "하이"레벨의 HWSEL 신호를 레지스터(105)에 세트하고, KBC제어가 선택되었을 경우 CPU(101)는 "로우"레벨의 HWSEL 신호를 레지스터(105)에 세트하고, KBC제어가 선택되었을 경우 CPU(101)는 "로우"레벨의 HWSEL 신호를 레지스터(105)에 세트한다. AND 게이트(106)는 비교기(102,103)의 출력신호와 레지스터(105)에서의 HWSEL 신호를 앤딩한다. 하드웨어 제어의 선택에 의하여 CPU(101)가 코맨드"D1"H를 KBC 입출력포드"64"H에 기록신호를 보내면, 레지스터(105)로 부터의 HWSEL 신호 및 비교기(102,103)의 출력신호는 모두 "하이"바와 같 게이트(106)로 부터는 "하이"레벨의 신호가 출력된다. 이에 대하여 KBC제어이면 HWSEL 신호가 "로우"이므로 AND 게이트(106)의 출력신호는 "로우"가 된다. 플립플롭(107)은 D입력단자가 AND 게이트(106)의 출력단자와 접속되고 클록입력단자가 CPU(101)와 접속되어 있다. CPU(101)가 상기 코맨드를 출력하고 KBC(113)로 액티브한 입출력 라이트신호 IOW를 출력("로우"액티브)하여, 그들을 하드웨어 제어할 경우에 세트되고 그 Q출력은 "하이"레벨이 된다.
다른한편 KBC를 제어할 경우에는 "로우"레벨의 HWSEL 신호에 의하여 플립플롭(107)에는 리세트가 걸리고 그 출력은 "로우"레벨이 된다. AND 게이트(108)는 플립플롭(107)의 Q출력 및 비교기(104)의 출력과 접속되고, 그들 출력의 AND를 취한다. AND 게이트(108)는 CPU(101)가 상기 코맨드의 출력을 행하고 액티브한 입출력 라이트신호(IOW) 및 데이터를 기록하기 위한 "60"H 포트의 어드레스를 내고 이것을 하드웨어 제어할 경우에 "하이"레벨신호를 출력한다. KBC제어를 행할 경우는 AND 게이트(108)는 "로우"레벨신호를 출력한다. AND 게이트(109)는 KBC 입출력포트의 어드레스를 CPU(101)가 내면 KBC(103)를 선택하기 위한 칩셀렉트신호 KBCCS를 출력한다. OR 게이트(110)는 AND게이트(106), CPU(101) 및 AND 게이트(108)와 접속되어 있다. OR 게이트(110)는 KBC 제어를 행할 경우에 CPU(101)가 데이터를 기록하려고 하면 로우 레벨의 유효한 KBC 입출력라이트신호 KBCIOW를 출력한다. 하드웨어 제어시는 OR 게이트(110)는 하이 레벨의 KBC 입출력라이트 신호 KBCIOW를 출력하고 KBC(113)에 대한 입출력라이트는 무효로 된다. OR 게이트(111)는 AND 게이트(108)의 출력 및 CPU(101)와 접속되고 하드웨어 제어에서의 입출력 포트 "60"H에의 데이터의 기록시에는 로우레벨이 된다.
플립플롭(112)은 하드웨어 제어의 경우에 리얼신호를 액티브로 하느냐의 여부를 결정하는 데이터를 래치한다. 플립플롭(112)의 Q출력은 리얼신호를 액티브(로우)로 할 때, 즉 1MB이상의 액세스를 행하지 않을때는 "로우"가 되고 1MB이후의 메모리 액세스시는 "HIGH"로 된다. 오픈 콜렉터 출력의 게이트(114)는 플립플롭(112)의 출력신호에 대응하는 리얼신호를 출력한다. 입출력게이트(115)는 KBC(113)에서 생성되는 리얼신호를 외부로 출력하기 위한 오픈 콜렉터출력의 출력 게이트와 하드웨어 제어에 의하여 출력게이트(114)로부터 출력되는 리얼신호를 KBC(113)내부로 거두어들이기 위한 입력 게이트로 구성된다. 풀-업된 신호선(116)은 KBC(113)(내의 입출력게이트 115) 및 하드웨어(출력게이트 114)로부터의 양리얼신호를 와이어드-OR하고, 제어를 하고 있는 쪽의 리얼신호를 통과시킨다. 제어를 하고 있지 않은 쪽의 리얼신호는 오픈( 하이)으로 한다. 하드웨어로 제어할때는 미리 KBC(113)로 부터의 리얼출력을 오픈(하이)으로 하는 코맨드 및 데이터를 보내둔다. KBC(113)에 의한 제어로는 레지스터(105)에서 출력되는 HWSEL 신호가 로우로 되므로 플립플롭(112)이 프리세트되고 출력게이트(114)의 출력은 하이로되어 오프로 된다. AND게이트(117)는 A20신호(메모리 어드레스의 비트 20)과 신호선(116)상의 리얼신호의 AND를 취하고, 1MB이후의 메모리 액세스를 리얼신호에 의하여 제어하는 것을 가능케하고 있다.
이하 상기 실시예의 동작에 대하여 설명한다. 먼저 하드웨어 제어의 동작설명을 행한다.
CPU(101)가 레지스터(105)에 하드웨어 제어를 선택하는 정보를 넣으면 이 레지스터(105)로 부터의 HWSEL 신호출력은 "HIGH"로 된다. 여기서 CPU(101)가 KBC 입출력포트 "64"H에 코맨드 "D1"H를 기록하는 신호를 보내면 AND게이트(106)의 출력신호는 하이 상태로 된다. 이 하이 상태는 CPU(101)로 부터의 로우 레벨의 액티브한 입출력 라이트 신호(IOW)에 의하여 플립플롭(107)에서 래치된다. 즉 플립플롭이 세트된다. AND 게이트(106)의 출력이 하이인 경우, OR게이트(110)로 부터는 KBC 입출력라이트무효를 나타내는 하이 레벨의 신호 KBC IOW가 출력된다. 이 경우 CPU(101)가 KBC(113)의 상태 레지스터를 입출력리이드로 읽으면 인풋버퍼플을 나타내는 비트는 0 그대로이다. 즉 버퍼가 비어었음을 나타낸다.
다음에 CPU(101)가 KBC(113)의 입출력 어드레스"60"H를 출력하면, AND게이트(108)가 열린다. 이것에 의하여 플립플롭(107)으로 부터의 하이 레벨 신호가 AND 게이트(108)에서 그대로 출력되고, OR 게이트(111)의 출력은 로우가 된다. 이때 CPU(101)가 KBC(113)에 기록한 데이터의 비트(1)의 신호가 플립플롭(112)의 D 입력에 공급되면 이 비트는 OR 게이트(111)로 부터의 로우 레벨신호에 따라서 플립플롭(112)에 래치된다. 따라서 데이터의 1비트째가 하이에서 로우에 의하여 출력게이트(114)에서 출력되는 리얼신호의 상태가 결정된다. 즉 포트어드레스 "60H"에 리얼신호를 로우로 하는 "DD"가 기록될 경우 데이터 비트(1)는 "0"로 되고, 리얼신호를 하이로 하는 "DF"가 쓰인경우는 데이터의 비트(1)는 "1"이 된다. 다만 데이터비트는 비트 0에서 시작하는 것으로 한다).
하드웨어 제어시, KBC(113)내의 입출력게이트(115)로 부터의 리얼신호는 전술한 바와 같이 오픈(하이)(회로적으로는 하이 임피던스)으로되어 있으므로, 와이어드 OR 신호선(116)에는 하드웨어(출력 게이트114)로 부터의 리얼신호가 출현한다. 이 신호선(116)상의 리얼신호는 A20신호와 함께 AND 게이트에 공급되고 이 A20신호의 AND게이트(117)로 부터의 출력이 리얼신호의 상태에 의하여 제어된다. 또 신호선 116상의 리얼신호는 KBC(113)의 입출력 게이트에 의하여 KBC(113)내에도 입력되고 (KBC 113내의 소정의 레지스터에 간직되고)하드웨어에 의한 메모리 액세스 제어상태가 KBC(113)에 반영된다. KBC(113)에 리얼신호를 입력하는 것은, 하드웨어와 KBC(113)를 같은 스테이터스상태로 해두기 위해서이다. 즉 하드웨어 제어에 의하여 예컨대 리얼신호를 "0"으로하고 그 사실을 KBC(113)에 전달하지 않으면 KBC(113)는 리얼신호가 "1"이라고 생각하여 그후의 처리를 진행하므로 에러가 된다. 이 때문에 리얼신호를 KBC(113)에 입력하도록 구성하고 있다.
다음에 KBC제어에 의한 경우의 동작 설명을 행한다. KBC제어의 경우는 레지스터(105)로 부터는 로우 레벨의 HWSEL 신호가 출력되고 플립플롭(107)이 리세트된다. 이 결과 플립플롭(107)(의 Q출력)으로 부터는 로우 레벨의 신호가 출력되고 OR 게이트(110)의 출력신호인 KBC 입출력라이트신호 KBC IOW는 액티브(로우 액티브)로 된다. 이것에 의하여 CPU(101)로 부터의 액세스는 모두 KBC(113)를 통하여 행해진다. 플립플롭(112)은 HWSEL 신호가 로우이기 때문에 프리세트된다. 이것에 의하여 플립플롭(112)의 출력(Q출력)은 하이 레벨로되고 출력 게이트(114)의 출력은 "하이"(오픈)(회로적으로 고임피던스)로 된다. 이 결과 와이어드 OR 신호선(16)상에는 KBC(113)로 부터의 리얼신호가 출현한다. 또 상기 하드웨어 제어에 있어서 KBC 팁 셀렉트 신호를 마스크(무효)로 하는 것에 의해서도 같은 기구를 실현할 수 있다.

Claims (5)

  1. 메모리와, 중앙처리장치(CPU)와, 입출력(I/O)포트가 지정된 키이보드 콘트롤러를 구비한 컴퓨터 시스템 메모리 액세스 제어시스템에 있어서, 상기 키보드콘트롤러에 지정된 I/O포트에 상기 CPU로부터 출력되는 소정의 코맨드 및 데이터를 검출하는 수단 (102,103,104)과; 상기 코맨드 및 데이터의 검출에 응답하여 상기 CPU에 의한 어느 특정 범위의 메모리 액세스를 무효로 하는 특정 제어신호를 생성하는 수단 (106,107,108,110,111,112,114)과; 상기 생성된 특정 제어신호를 상기 메모리에 송출하는 동시에, 상기 키보드콘트롤러에 전달하는 수단(116,117)을 포함한 것을 특징으로 하는 메모리 액세스 제어시스템.
  2. 제1항에 있어서, 상기 CPU가 출력하는 코맨드는 상기 키보드콘트롤러에 대한 데이터가 기록요구이고, 상기 데이터는 소정의 메모리 어드레스 이상의 메모리 액세스를 디스에이블로하는 요구 데이터이며 상기 CPU는 상기 데이터 기록요구를 상기 키보드콘트롤러로 부터의 응답을 기다리지 않고 상기 메모리 액세스 디스에이블로하는 요구 데이터를 키보드콘트롤러에 송출하는 것을 특징으로 하는 메모리 액세스 제어시스템.
  3. 제1항에 있어서, 상기 키보드콘트롤러는 상기 데이터 기록 요구와 메모리 액세스를 무효로하는 요구에 응답하여 어느 특정 범위의 메모리 액세스를 무효로하는 신호를 상기 메모리에 출력하는 기능을 가지며, 상기 키보드 콘트롤러로 부터의 메모리 액세스 무효신호를 메모리에 송출하든가 상기 무효신호 생성수단으로 부터의 메모리 액세스 무효신호를 메모리에 송출하든가를 선택하는 선택수단(105)을 아울러 포함한 것을 특징으로 하는 메모리 액세스 제어시스템.
  4. 제3항에 있어서, 상기 선택수단은 상기 컴퓨터 시스템의 세트업처리에 있어서 설정된 설정정보에 의거하여 상기 키보드콘트롤러로 부터의 메모리 액세스 무효신호 또는 상기 무효신호 생성수단으로 부터의 메모리 액세스 무효신호를 선택하는 것을 특징으로 하는 메모리 액세스 제어시스템.
  5. 메모리와, 중앙처리장치(CPU와, 입출력( I/O)포트가 지정된 키보드콘트롤러를 구비한 컴퓨터 시스템의 메모리 액세스 제어방법에 있어서, a) 상기 키보드콘트롤러에 대하여 데이터 기록 요구를 송출하는 단계와; b) 상기 키보드콘트롤러로 부터의 응답을 기다리지 않고 상기 키보드콘트롤러에 있는 특정범위의 메모리 액세스를 무효로 하는 요구를 송출하는 단계와; c) 상기 단계 a) 및 b)에서 송출된 각 요구를 모니터하여 어느 특정 범위의 메모리 액세스를 무효로 하는 특정 제어신호를 생성하는 단계와; d) 상기 특정 제어신호를 메모리에 송출하는 동시에 상기 키보드콘트롤러에 전달하는 단계를 포함한 것을 특징으로 하는 메모리 액세스 제어방법.
KR1019900011357A 1989-09-29 1990-07-26 메모리 액세스 제어 시스템 및 방법 KR920008447B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP252192 1989-09-29
JP01252192A JP3110027B2 (ja) 1989-09-29 1989-09-29 コンピュータシステム
JP1-252192 1989-09-29

Publications (2)

Publication Number Publication Date
KR910006854A KR910006854A (ko) 1991-04-30
KR920008447B1 true KR920008447B1 (ko) 1992-09-29

Family

ID=17233782

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019900011357A KR920008447B1 (ko) 1989-09-29 1990-07-26 메모리 액세스 제어 시스템 및 방법

Country Status (3)

Country Link
EP (1) EP0419797A3 (ko)
JP (1) JP3110027B2 (ko)
KR (1) KR920008447B1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4388695A (en) * 1980-02-21 1983-06-14 Timeplex, Inc. Hardware memory write lock circuit
US4545016A (en) * 1983-01-07 1985-10-01 Tandy Corporation Memory management system
US4573119A (en) * 1983-07-11 1986-02-25 Westheimer Thomas O Computer software protection system
DE3328861A1 (de) * 1983-08-10 1985-02-28 Siemens AG, 1000 Berlin und 8000 München Schaltungsanordnung fuer fernmeldevermittlungsanlagen, insbesondere fernsprechvermittlungsanlagen, mit speichern und ihnen individuell zugeordneten speicherablaufsteuerungen
JPS62204345A (ja) * 1986-03-05 1987-09-09 Oki Electric Ind Co Ltd マイクロコンピユ−タ

Also Published As

Publication number Publication date
EP0419797A3 (en) 1991-11-27
EP0419797A2 (en) 1991-04-03
JPH03116255A (ja) 1991-05-17
JP3110027B2 (ja) 2000-11-20
KR910006854A (ko) 1991-04-30

Similar Documents

Publication Publication Date Title
US5483646A (en) Memory access control method and system for realizing the same
US4716527A (en) Bus converter
US3898624A (en) Data processing system with variable prefetch and replacement algorithms
US4271466A (en) Direct memory access control system with byte/word control of data bus
KR100341180B1 (ko) 가상어드레싱버퍼회로,및어드레스번역방법,시스템bios의셰도잉방법,실제메모리최적화방법,실제메모리이용방법,cpu제어시스템에서의에뮬레이팅방법및cpu요청리디렉트방법
US5642489A (en) Bridge between two buses of a computer system with a direct memory access controller with accessible registers to support power management
US6078977A (en) Hierarchical bus structure access system
US5966728A (en) Computer system and method for snooping date writes to cacheable memory locations in an expansion memory device
US5619677A (en) Data processing system with an enhanced cache memory control
JP2695017B2 (ja) データ転送方式
JPH0260012B2 (ko)
JPS62226257A (ja) 演算処理装置
US5933613A (en) Computer system and inter-bus control circuit
KR920008447B1 (ko) 메모리 액세스 제어 시스템 및 방법
JP3251903B2 (ja) プロセッサ・データをバースト転送する方法及びコンピュータ・システム
JP2580263B2 (ja) バッファ記憶装置
US5960456A (en) Method and apparatus for providing a readable and writable cache tag memory
JPH02110646A (ja) メモリの先行読出し装置
KR0184454B1 (ko) 에뮬레이터와 호스트간의 실시간 인터페이싱 방법
KR100206970B1 (ko) 피씨아이 버스의 스누핑 제어장치
JP3077807B2 (ja) マイクロコンピュータシステム
JP3226557B2 (ja) マルチプロセッサシステム
KR0145932B1 (ko) 고속중형 컴퓨터시스템에 있어서 디엠에이제어기
KR100382466B1 (ko) 피포를 이용한 비동기 시스템의 인터페이스
JP3219422B2 (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: 20010830

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee