KR19980033939A - 입출력 콘트롤러의 시스템 메모리 제어방법 및 장치 - Google Patents
입출력 콘트롤러의 시스템 메모리 제어방법 및 장치 Download PDFInfo
- Publication number
- KR19980033939A KR19980033939A KR1019960051786A KR19960051786A KR19980033939A KR 19980033939 A KR19980033939 A KR 19980033939A KR 1019960051786 A KR1019960051786 A KR 1019960051786A KR 19960051786 A KR19960051786 A KR 19960051786A KR 19980033939 A KR19980033939 A KR 19980033939A
- Authority
- KR
- South Korea
- Prior art keywords
- input
- memory
- output
- controller
- processing unit
- Prior art date
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
본 발명은 입출력 콘트롤러의 시스템 메모리 제어방법 및 장치에 관한 것으로, 이는 별도의 입출력 콘트롤러를 갖는 컴퓨터 시스템에서 입출력 보드의 특성에 맞게 구성된 메모리의 관리를 중앙처리장치와 입출력 콘트롤러가 같이 수행을 하여 입출력 콘트롤러로 하여금 기록/판독은 물론 할당 및 역할당도 가능토록 하여 메세지 처리 프로그램의 사용 회수를 줄이도록 하는데 있다.
이것을 해결하기 위해, 본 발명은 시스템 특성과 입출력 보드 특성에 맞게 적정 사이즈의 메모리를 초기에 할당받아 이의 메모리 맵을 설정하는 단계와; 상기 메모리 맵 설정후 어느 하나의 처리기로부터의 데이터 기록/판독 요구가 있을시 기록/판독을 수행하고 그에 해당한 메모리 맵의 특정영역을 상태변환하는 단계로 이루어짐으로써 달성된다.
Description
본 발명은 별도의 입출력 콘트롤러를 갖는 컴퓨터 시스템에서의 입출력 콘트롤러의 시스템 메모리 제어에 관한 것으로, 좀더 상세하게는 시스템 버스와 입출력 콘트롤러 버스를 갖는 시스템에서 입출력 버스상의 보드와 중앙처리장치와의 통신을 공유토록 하여 입출력 콘트롤러의 시스템 메모리를 제어하도록 하는 입출력 콘트롤러의 시스템 메모리 제어방법에 관한 것이다.
도 1은 종래 입출력 콘트롤러의 시스템 메모리 제어장치를 보인 블럭도이다.
도 1을 참조하면, 입출력버스(105)에 접속되어 통신하고자 하는 인터럽트신호 및 각종 데이터를 입출력버스(105)를 통해 전송하고 그 입출력 버스(105)를 통해 입력되는 데이터를 기록 및 판독하는 제 1, 제 2 입출력 보드(103)(104)와; 상기 제 1, 제 2 입출력 보드(103)(104)와 통신을 위해 시스템 버스(106)를 통해 각종 데이터를 전송하는 그로부터 입력되는 데이터를 판독하는 중앙처리장치(101)와; 상기 입출력 버스(105)와 시스템버스(106)에 접속되어 상기 제 1, 제 2 입출력 보드(103)(104)로부터 입력되는 데이터를 판독하는 중앙처리장치(101)에 제공하고 그 중앙처리장치(101)로부터 입력되는 데이터를 입출력 버스(105)를 통해 제 1, 제 2 입출력 보드(103)(104)에 제공하는 등 일련의 입출력 버스(105)와 시스템 버스(106)를 제어하는 입출력 콘트롤 보드(100)와; 상기 시스템 버스(106)에 접속되어 입출력 콘트롤 보드(100) 및 중앙처리장치(101)로부터 제공되는 데이터를 기록하고 전송하는 메모리(102)로 구성되어 있다.
이와 같이, 구성된 종래 입출력 콘트롤러의 시스템 메모리 제어장치는, 먼저, 입출력 버스(105)와 입출력 콘트롤 보드(100) 및 시스템 버스(106)를 통해 통신하고자 제 1, 제 2 입출력 보드(103)(104) 중 어느 하나의 입출력 보드가 인터럽트신호를 발생하여 입출력 버스(105)를 통해 입출력 콘트롤 보드(100)에 제공하게 되면, 상기 입출력 콘트롤 보드(100)는 입출력 버스(105)를 통해 인터럽트신호가 입력되고 이를 중앙처리장치(101)가 처리할 수 있도록 시스템 메모리(102)에 기록해주게 되는데, 이를 위해 상기 입출력 콘트롤 보드(100)는 먼저 메세지 처리 프로그램(MPP) 인터럽트신호, 즉 다시말해서, 입출력 메세지 처리, 오류메세지 처리를 수행하도록 인터럽트신호를 시스템 버스(106)를 통해 중앙처리장치(101)에 제공하게 된다.
상기 중앙처리장치(101)는 입출력 콘트롤 보드(100)로부터 인터럽트신호가 입력되는 시스템 버스(106)를 통해 시스템 메모리(102)를 억세스하여 자신에게 할당된 시스템 메모리 영역을 확인한 후 그 영역에 해당하는 어드레스를 메세지 처리 프로그램(MPP)으로 하여, 즉 입출력 메세지의 처리가능 또는 오류메세지 처리가 가능하다는 신호로 시스템 버스(106)를 통해 입출력 콘트롤 보드(100)에 제공하게 된다.
따라서, 상기 입출력 콘트롤 보드(100)는 상기 중앙처리장치(101)로부터 메세지 처리 프로그램(MPP)이 입력되면 시스템 버스(106)를 통해 상기 중앙처리장치(101)가 할당하고 있는 시스템 메모리(102)의 영역에 데이터를 기록하게 된다.
반대로, 중앙처리장치(101)에서 상기 제 1, 제 2 입출력 보드 중 어느 하나의 입출력 보드에 기록할 데이터가 있을 경우 그 중앙처리장치(101)는 시스템 버스(106)를 통해 시스템 메모리(102)상의 기록된 데이터의 어드레스를 입출력 콘트롤 보드(100)로 알리게 된다.
상기 입출력 콘트롤 보드(100)는 중앙처리장치(101)로부터 해당 어드레스가 입력되면, 이를 처리 수행한 해당 메모리를 프리(free)시키기 위해 중앙처리장치(101)에 메세지 처리 프로그램(MPP) 인터럽트를 시스템 버스(106)를 통해 전송하여 주게 된다.
상기 시스템 버스(106)를 통해 입출력 콘트롤 보드(100)의 메세지 처리 프로그램(MPP)을 받은 중앙처리장치(101)는 시스템 버스(106)를 통해 시스템 메모리(102)의 해당 메모리를 프리시키게 된다.
그러나, 이와 같은 종래 입출력 콘트롤러의 시스템 메모리 제어장치에서의 시스템 메모리 관리는 시스템 버스를 통해 중앙처리장치가 직접 수행을 하고 입출력 콘트롤러 보드는 단지 시스템 메모리에 데이터를 기록 또는 판독만을 수행할 뿐 직접 시스템 메모리에 할당이나 역할당을 할 수가 없다.
이로 인하여 일정 메세지를 인터럽트 형태로 보내는 메세지 처리 프로그램 메카니즘을 이용하여 메모리 영역의 할당 및 역할당을 수행하게 되지만 이에 따른 성능의 저하가 발생하게 되는 문제점이 있었다.
따라서 본 발명의 목적은 상기와 같은 종래 기술의 문제점을 감안하여 입출력 보드의 특성에 맞게 된 메모리를 중앙처리장치와 입출력 콘트롤러가 함께 관리 수행토록 하여 기록/판독은 물론 할당 및 역할당도 가능하도록 하는 입출력 콘트롤러의 시스템 메모리 제어방법을 제공함에 있다.
본 발명의 다른 목적은 입출력 보드와 중앙처리장치의 통신 데이터 구조에 맞게 메모리를 구성하여 중앙처리장치와 입출력 콘트롤러가 그 메모리의 할당과 역할당을 하나의 프로세서의 제한 하도록 함으로써 메세지 처리 프로그램의 사용 회수를 줄이도록 하는데 있다.
본 발명의 또다른 목적은 메모리의 할당은 기록을 수행하는 프로세서가 하고 역할당은 메모리를 판독하는 프로세서가 하여 메모리를 동시 관리하도록 하는데 있다.
도 1은 종래의 입출력 콘트롤러의 시스템 메모리 제어장치를 보인 블럭도
도 2는 본 발명 입출력 콘트롤러의 시스템 메모리 제어장치를 보인 실시예 블럭도
도 3은 도 2의 메모리 맵의 구성을 보다 상세하게 보인 도
*도면의 주요부분에 대한 부호의 설명*
200 : 입출력 콘트롤러201 : 중앙처리장치
202 : 시스템 메모리203, 204 : 제 1, 제 2 입출력 보드
205 : 입출력 버스206 : 시스템 버스
207, 208 : 제 1, 제2 메모리 맵
본 발명은 별도의 입출력 콘트롤러를 갖는 컴퓨터 시스템에서 입출력 보드의 특성에 맞게 구성된 메모리의 관리를 중앙처리장치와 입출력 콘트롤러가 같이 수행토록 함으로서 기록/판독은 물론 할당 및 역할당도 가능토록하여 메세지 처리 프로그램의 사용 회수를 줄이도록 한 관한 것이다.
상기와 같은 목적을 달성하기 위한 본 발명의 측면에 따른 입출력 콘트롤러의 시스템 메모리 제어방법은, 시스템 특성과 입출력 보드 특성에 맞게 적정 사이즈의 메모리를 초기에 할당받아 이의 메모리 맵을 성정하는 단계와; 상기 메모리 맵 성정후 어느 하나의 처리기로부터의 데이터 기록/판독 요구가 있을시 성기 설정된 메모리 맵의 어드레스를 할당받아 직접 시스템 메모리의 할당 영역에 기록/판독을 수행하고 그에 해당한 메모리 맵의 특정영역을 상태변환하는 단계로 이루어짐을 특징으로 한다.
그 결과, 입출력 콘트롤러를 갖는 컴퓨터 시스템에서 입출력 보드의 특성에 맞게 구성된 메모리의 관리를 중앙처리장치와 입출력 콘트롤러가 같이 수행을 함으로써 기록/판독은 물론 할당 및 역할당도 가능하여 메세지 처리 프로그램의 사용 회수가 줄어드는 이점이 있다.
본 발명의 다른 측면에 따른 입출력 콘트롤러의 시스템 메모리 제어장치는, 입출력 보드와 데이터를 통신하는 중앙처리장치와; 상기 중앙처리장치와 입출력 보드의 데이터를 판독하여 상호 데이터를 제공하는 입출력 콘트롤러와; 시스템 특성과 입출력 특성에 맞게 적정 사이즈이 메모리를 할당하고 이의 어드레스 맵을 설정하여 상기 중앙처리장치와 입출력 콘트롤러에 메모리 영역을 할당하여 주는 메모리 맵과; 상기 메모리 맵에 할당된 해당 중앙처리장치 및 입출력 콘트롤러의 어드레스에 의해 데이터를 해당 영역에 기록 저장하는 시스템 메모리를 포함하여 구성함을 특징으로 한다.
이러한 수단들로 이루어진 본 발명에 의해 입출력 보드 및 시스템 특성에 맞게 구성된 메모리를 중앙처리장치와 입출력 콘트롤러가 메모리 맵을 통해 함께 관리를 수행함으로서 중앙처리장치 및 입출력 콘트롤러가 메모리에 데이터를 기록/판독 함은 물론 직접 어드레스를 할당 및 역할당도 가능한 이점이 있다.
본 발명의 실시예로는 다수개가 존재할 수 있으며, 이하에서는 바람직한 실시예에 대해 상세히 설명하고자 한다.
이 바람직한 실시예를 통해 본 발명의 목적, 특징 및 이점을 보다 잘 이해할 수 있게 된다.
도 2는 본 발명 입출력 콘트롤러의 시스템 메모리 제어장치를 보인 실시예 블럭도이다.
본 실시예에 따르면, 시스템 버스(206)에 접속되어 제 1, 제 2 입출력 보드(203)(204)와 데이터를 통신하는 중앙처리장치(201)와; 상기 시스템 버스(206)와 입출력 버스(205)에 접속되어 상기 중앙처리장치(201)와 제 1, 제 2 입출력 보드(203)(204)의 데이터를 판독하여 상호 데이터를 제공하는 입출력 콘트롤러(200)와; 시스템 특성과 제 1, 제 2 입출력 보드(203)(204)의 특성에 맞게 적정 사이즈의 메모리를 할당하고 이의 어드레스 맵을 설정하여 상기 중앙처리장치(201)와 입출력 콘트롤러(200)에 메모리 영역을 할당하여 주는 제 1, 제 2 메모리 맵(207)(208)과, 상기 제 1, 제 2 메모리 맵(207)(208)에 할당된 해당 중앙처리장치(201) 및 입출력 콘트롤러(200)의 어드레스에 의해 데이터를 해당 영역에 기록 저장하는 시스템 메모리(202)로 구성한다.
그리고, 상기 제 1, 제 2 메모리 맵(207)(208)은 도 3에서와 같이, 데이터 기록할 수 있는 블록화된 메모리 영역(A)과 태일락 영역(TL), 헤드락 영역(HL), 태일 포인터영역(TP), 헤드 포인터영역(HP)으로 구성된다.
이와 같이, 구성된 본 발명의 바람직한 실시예를 도 2 및 도 3을 참조하여 보다 구체적으로 설명하면 다음과 같다.
먼저, 입출력 버스(205)와 입출력 콘트롤러(200) 및 시스템 버스(206)를 통해 통신하고자 제 1, 제 2 입출력 보드(203)(204) 중 어느 하나의 입출력 보드가 인터럽트신호를 발생하여 입출력 버스(205)를 통해 입출력 콘트롤 보드(100)에 제공하게 된다.
상기 입출력 콘트롤러(200)는 제 1, 제 2 입출력 보드(203)(204)로부터 할당이 요청이 있으면 제 2 메모리 맵(208)의 헤드 포인터영역(HP;Head-Pointer)을 찾아 이를 할당을 요청한 제 1, 제 2 입출력 보드(203)(204) 중 어느 하나의 입출력 보드에 전달하고 전달이 되면 제 2 메모리 맵(208)의 헤드 포인터영역(HP)을 다음의 헤드 포인터값으로 교체하여 Q구조를 갱신, 즉 선입선출(FIFO)을 관리하는 데이터 구조체를 갱신한다.
즉, 다시말해서, 도 3에서의 현재의 헤드 포인터영역(HP)이 1이었고 태일 포인터영역(TP)이 5이었다고 하면 헤드 포인터영역(HP)을 2로 교체하고 태일 포인터영역(TP)을 1로 교체하여 갱신한다.
상기에서 Q구조는 먼저 프리된 메모리 포인터가 먼저 할당된다.
상기 갱신된 헤드 포인터영역(HP)은 다중 프로세서, 즉 제 1, 제 2 입출력 보드(203)(204)에 의해 변경될 수 있으므로 헤드 포인터영역(HP)을 읽고 이를 변경하기 전까지는 다른 프로세서가 이를 접근하는 것을 막기 위해 헤드락(HL) 변수를 1로 세팅하여 놓고 변경이 끝난 후에 다시 헤드락(HL) 변수를 0으로 상태변환시키게 된다.
상기 헤드락(HL) 변수가 0을 세팅되어 있을 경우에만 이에 대한 변경작업을 하여 할 수 있다.
이와 같은 동작에 의해 상기 입출력 콘트롤러(200)는 제 2 메모리 맵(208)의 블록화된 메모리 영역(A)으로부터 자신에게 할당된 어드레스를 읽어들여 그 어드레스에 해당하는 시스템 메모리(202)에 데이터를 기록하거나 시스템 버스(206)를 통해 읽어들여 제 1, 제 2 입출력 보드(203)(204)에 제공하게 된다.
그리고, 중앙처리장치(206)도 전술한 바와 같은 동작으로 제 1 메모리 맵(207)의 블록화된 메모리 영역으로부터 자신에게 할당된 어드레스를 읽어들여 그 어드레스에 해당하는 시스템 메모리(202)에 데이터를 기록 또는 판독하게 된다.
그리고 디-올로케이션(Deallocation)시에는 로케이션(Allocation)과는 반대로 도 3과 같은 제 1, 제 2 메모리 맵(207)(208)의 태일 포인터영역(TP)를 변경하게 되는데, 이 역시 동시에 변경하는 것을 막기 위하여 태일락(TL) 변수를 두어 할당과 마찬가지로 0일 경우에 중앙처리장치(201) 또는 입출력 콘트롤러(200)는 이를 1로 변경한 후 태일 포인터(TP)를 변경하고 다시 0으로 변경한 후 디로케이션을 마치게 된다.
이와 같이 본 실시예에서는 입출력 보드의 특성과 시스템의 특성에 맞게 적정사이즈의 메모리를 초기에 할당받아 이의 메모리 맵을 설정하여 이 맵을 중앙처리장치와 입출력 콘트롤러가 공유토록 함으로써 입출력 콘트롤러로 하여금 기록/판독은 물론 할당 및 역할당도 가능하여 메세지 처리 프로그램의 사용 회수가 줄어드는 것이 가능하다.
그리고, 본 발명에 특정한 실시예가 설명 및 도시되었지만, 여러 수정이 가능하므로 본 발명은 이것에 제한되지 않음을 수 있다.
그러므로, 본원에 기재되었으며 청구된 원리의 진정한 정신 및 범위내에 일치하는 본 발명 및 모든 수정이 커버될 수 있음을 알 수 있다.
본 발명은 입출력 보드 및 시스템 특성에 맞게 구성된 메모리를 중앙처리장치와 입출력 콘트롤러가 메모리 맵을 토해 함께 관리를 수행함으로서 중앙처리장치 및 입출력 콘트롤러가 메모리에 데이터를 기록/판독 함은 물론 직접 어드레스를 할당 및 역할당도 가능하여짐에 따라 메세지 처리 프로그램의 사용 회수가 현저히 줄어들고 이로인한 성능이 향상되는 효과가 있다.
본 발명은 입출력 보드의 특성에 맞게 된 메모리를 중앙처리장치와 입출력 콘트롤러가 함께 관리 수행토록 하여 입출력 콘트롤러로 하여금 기록/판독은 물론 할당 및 역할당도 가능하도록 하여 메세지 처리 프로그램의 사용 회수를 줄이도록 함을 특징으로 한다.
Claims (6)
- 시스템 특성과 입출력 보드 특성에 맞게 적정 사이즈의 메모리를 초기에 할당받아 이의 메모리 맵을 설정하는 단계와;상기 메모리 맵 설정후 어느 하나의 처리가로부터의 데이터 할당/역할당 요구가 있을시 상기 설정된 메모리 맵의 어드레스를 할당받아 직접 시스템 메모리의 할당 영역에 기록/판독을 수행하고 그에 해당한 메모리 맵의 특정 영역을 상태변환하는 단계를 포함하여 이루어짐을 특징으로 한 입출력 콘트롤러의 시스템 메모리 제어방법.
- 제1항에 있어서,데이터 할당과 역할당을 하나의 프로세서에 제한하는 것을 특징으로 한 입출력 콘트롤러의 시스템 메모리 제어방법.
- 제1항에 있어서,할당은 기록을 수행하는 프로세서가 수행하고 역할당은 판독을 수행하는 프로세서가 수행하는 것을 특징으로 한 입출력 콘트롤러의 시스템 메모리 제어방법.
- 입출력 보드와 데이터를 통신하는 중앙처리장치와;상기 중앙처리장치와 입출력 보드의 데이터를 판독하여 상호 데이터를 제공하는 입출력 콘트롤러와;시스템 특성과 입출력 특성에 맞게 적정 사이즈의 메모리를 할당하고 이의 어드레스 맵을 설정하여 상기 중앙처리장치와 입출력 콘트롤러에 메모리 영역을 할당하여 주는 메모리 맵과;상기 메모리 맵에 할당된 해당 중앙처리장치 및 입출력 콘트롤러의 어드레스에 의해 데이터를 해당 영역에 기록 저장하는 시스템 메모리를 포함하여 구성함을 특징으로 한 입출력 콘트롤러의 시스템 메모리 제어장치.
- 제4항에 있어서,메모리 맵은 입출력 보드와 중앙처리장치의 통신 데이터 구조에 맞게 구성되어 어드레스를 할당하여 주는 것을 특징으로 한 입출력 콘트롤러의 시스템 메모리 제어장치.
- 제4항에 있어서,데이터 할당과 역할당을 중앙처리장치 및 입출력 보드 중 어느 하나의 프로세서에 제한하는 것을 특징으로 한 입출력 콘트롤러의 시스템 메모리 제어장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960051786A KR19980033939A (ko) | 1996-11-04 | 1996-11-04 | 입출력 콘트롤러의 시스템 메모리 제어방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960051786A KR19980033939A (ko) | 1996-11-04 | 1996-11-04 | 입출력 콘트롤러의 시스템 메모리 제어방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR19980033939A true KR19980033939A (ko) | 1998-08-05 |
Family
ID=66519804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019960051786A KR19980033939A (ko) | 1996-11-04 | 1996-11-04 | 입출력 콘트롤러의 시스템 메모리 제어방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR19980033939A (ko) |
-
1996
- 1996-11-04 KR KR1019960051786A patent/KR19980033939A/ko not_active IP Right Cessation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5574862A (en) | Multiprocessing system with distributed input/output management | |
JPS61109164A (ja) | バス制御方法 | |
US20090254715A1 (en) | Variable partitioned blocks in shared memory | |
US6195720B1 (en) | Device and method for communication between asynchronous computer buses using an adapter | |
CN115629882A (zh) | 多进程中的内存的管理方法 | |
KR20050076702A (ko) | 멀티프로세서 시스템에서의 데이터 전송 방법과, 그방법을 수행하는 멀티프로세서 및 프로세서 | |
JP2591502B2 (ja) | 情報処理システムおよびそのバス調停方式 | |
KR20000016944A (ko) | 로컬메모리에서패킷화된동작정보의기억을통한입출력성능을증가시키기위한시스템 | |
KR19980033939A (ko) | 입출력 콘트롤러의 시스템 메모리 제어방법 및 장치 | |
GB2221066A (en) | Address translation for I/O controller | |
JPS60150146A (ja) | 電子計算機の主記憶選択装置 | |
JPH01291343A (ja) | メモリ管理装置 | |
EP0284094B1 (en) | Tandem priority resolver | |
KR100298287B1 (ko) | 시스템 버스에서 메시지 처리 장치 및 방법 | |
JPH04215120A (ja) | ファイルシステム | |
JPH0324698B2 (ko) | ||
CN117435535A (zh) | 一种存储系统、主控芯片、数据存储方法及数据读取方法 | |
JP2841432B2 (ja) | データ転送装置 | |
KR100365344B1 (ko) | 네트워크 억세스 시스템의 데이터 처리장치 및 그 방법 | |
JPH01200461A (ja) | Fifo型メモリによるアービトレーション方式 | |
JPH05233037A (ja) | プログラマブルコントローラのアクセス方法 | |
JPH05324534A (ja) | Dma転送方式 | |
JPH0387941A (ja) | 分散データベース処理方式 | |
JPS6142986B2 (ko) | ||
JPS6162152A (ja) | 記憶装置の空き領域管理方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
SUBM | Submission of document of abandonment before or after decision of registration |