KR100497989B1 - 풀 모델 호출 방법 - Google Patents
풀 모델 호출 방법 Download PDFInfo
- Publication number
- KR100497989B1 KR100497989B1 KR1019980008739A KR19980008739A KR100497989B1 KR 100497989 B1 KR100497989 B1 KR 100497989B1 KR 1019980008739 A KR1019980008739 A KR 1019980008739A KR 19980008739 A KR19980008739 A KR 19980008739A KR 100497989 B1 KR100497989 B1 KR 100497989B1
- Authority
- KR
- South Korea
- Prior art keywords
- peripheral
- message
- host
- queue
- model
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q3/00—Selecting arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
- G06F13/126—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
본 발명은 메시지 전송 인터페이스를 푸시 모델로부터 풀 모델로 동적으로 재구성하는 방법에 관한 것이다. 푸시 모델에서, 호스트 컴퓨터 장치는 호스트의 로컬 메모리에 저장되어 있는 데이터를 I/O 주변장치의 공유 메모리로 이동시키고, 풀 모델에서, I/O 주변장치는 호스트의 공유 메모리로부터의 데이터를 I/O 주변장치의 로컬 메모리로 이동시킨다. 메시지 전송 인터페이스를 푸시 모델로부터 풀 모델로 동적으로 재구성하기 위해, 호스트는 I/O 주변장치가 파워-온/리셋을 통해 복귀할 것을 대기하고, I/O 주변장치의 인바운드 큐 및 아웃바운드 큐를 메모리에 배치하고, I/O 주변장치에게 이전의 인바운드 메시지로부터의 메시지의 I/O 주변장치의 아웃바운드 큐를 클리어할 것을 지시하며, 할당된 메시지 프레임을 프리 메시지로서 초기화한다. 그 후, 호스트는 I/O 주변장치에게 풀 모델로 초기화할 것을 명령하도록 메시지를 I/O 주변장치의 인바운드 큐에 포스트한다. 그 후, I/O 주변장치는 현재 처리중인 모든 메시지를 I/O 주변장치의 아웃바운드 큐에 포스트한다. 그 후, 호스트는 할당된 프리 메시지를 I/O 주변장치의 인바운드 큐에 포스트하고, I/O 주변장치는 프리 메시지가 호스트 인바운드 큐에 대한 프리 메시지로서 유용하게 한다.
Description
본 발명은 호스트(host)와 I/O 주변장치 사이의 메시지 전송 인터페이스(message passing interface)에 관한 것으로, 특히 그러한 메시지 전송 인터페이스의 동적 재구성(dynamic reconfiguration)에 관한 것이다.
호스트 장치는 때때로 I/O 주변장치와 통신할 필요가 있다. I/O 스루풋의 요구가 증가함에 따라, 그 요구는 호스트 장치 및 I/O 주변장치에 주어진다. 증가된 양의 데이터양은 속도까지 증가시켜 호스트 및 I/O 주변장치로 또한 그곳으로부터 전송되어야 한다. 호스트와 I/O 주변장치 사이의 통신을 용이하게 하고 또한 운영 시스템을 통한 장치 드라이버 이식성을 용이하게 할 뿐만 아니라 지능 분산 I/O 처리의 개발에 기여하기 위해 여러 가지 메시지 전송 프로토콜이 개발되었다. 표준 메시지 전송 인터페이스를 사용함으로써, 장치 드라이버는 사용되는 기초를 이루는 버스 아키텍처 및 특정 운영 시스템에 독립적으로 설계될 수 있다. 또한, 장치 드라이버에 추가 지능 및 자치성을 부여하는 것에 의해, 인터럽트 구동 I/O 태스크 제어 시 호스트 프로세서, 메모리 및 시스템 버스의 부담을 줄일 수 있으므로, 애플리케이션 처리 태스크 등의 다른 태스크에 대하여 그들을 자유롭게 한다. 메시지 전송 프로토콜은 데이터 및 제어 정보의 교환을 용이하게 하는 호스트와 I/O 장치를 중간 분리하는 것으로서 생각할 수 있다. 그러한 메시지 전송 프로토콜의 특정 구현은 하나의 인바운드(inbound) 큐 및 하나의 아웃바운드(outbound) 큐를 구비한다. 그러한 구현에 있어서, I/O 주변장치는 하나의 인바운드 큐 및 하나의 아웃바운드 큐를 제공할 것이다. 인바운드 논리 큐는 I/O 주변장치를 목표로 한 모든 메시지를 수신하고, 아웃바운드 큐는 I/O 주변장치에 의해 처리된 모든 메시지를 수신한다. 마찬가지로, 호스트 장치는 하나의 인바운드 큐 및 하나의 아웃바운드 논리 큐를 제공한다. 인바운드 논리 큐는 호스트를 목표로 한 모든 메시지를 수신하고, 아웃바운드 논리 큐는 호스트에 의해 처리된 모든 메시지를 수신한다. 호스트의 인바운드 큐는 I/O 주변장치에 대한 아웃바운드 큐이다. 마찬가지로, 호스트의 아웃바운드 큐는 I/O 주변장치에 대한 인바운드 큐이다.
호스트 및 I/O 주변장치는 로컬 및 공유 메모리 모두를 구비한다. 호스트의 공유 메모리는 시스템 어드레스 공간에 맵핑되고, 호스트의 로컬 메모리는 호스트에 대해서만 액세스될 수 있다. 호스트 공유 메모리는 호스트뿐만 아니라 공유 시스템 메모리에 대한 액세스를 갖는 I/O 주변장치 등의 다른 장치가 액세스할 수 있다. I/O 주변장치는 I/O 주변장치만 액세스할 수 있는 로컬 메모리도 구비한다. I/O 주변장치는 시스템 어드레스 공간으로 맵핑되는 공유 메모리도 구비한다.
때때로 데이터를 호스트 시스템에서 I/O 주변장치의 로컬 메모리로 이동시킬 필요가 있다. 이를 위해, 두 가지 데이터 이동 방법이 알려져 있다. 이들은 푸시 모델(Push model) 및 풀 모델(Pull model)의 데이터 이동이다.
푸시 모델에서 데이터의 이동은 호스트에 의해 개시된다. 푸시 모델에서, 호스트는 그의 전용 로컬 메모리에 저장된 데이터를 I/O 주변장치의 공유 메모리로 이동시키고, 여기서 공유 메모리는 시스템 어드레스 공간에 맵핑된다. 따라서, 푸시 모델에서, 호스트는 그의 전용 로컬 메모리에 위치한 데이터를 I/O 주변장치의 공유 메모리에 "푸시(push)"한다. 이를 위해, I/O 주변장치는 메시지 프레임을 그의 공유 메모리에 할당하고, 여기서 공유 메모리는 공유 시스템 메모리에 맵핑된다. 그 후, 호스트는 호스트 로컬 메모리로부터의 메시지를 I/O 프로세서 공유 메모리내의 할당된 메시지 프레임으로 카피한다.
풀 모델에서 데이터의 이동은 I/O 주변장치에 의해 개시된다. 풀 모델에서, I/O 주변장치는 데이터를 호스트의 공유 메모리 영역에서 I/O 주변장치의 자신의 전용 로컬 메모리로 이동시키고, 여기서 공유 메모리는 시스템 어드레스 공간에 맵핑된다. 따라서, 풀 모델에서, I/O 주변장치는 호스트 공유 메모리에 위치한 데이터를 그 자신의 로컬 메모리에 "풀(pull)"한다. 이를 위해, 호스트는 메시지 프레임을 그의 공유 메모리에 할당하고, 여기서 공유 메모리는 공유 시스템 어드레스 공간에 맵핑된다. 그 후, I/O 주변장치는 고유 시스템 메모리로부터의 데이터를 그의 전용 로컬 메모리에 카피한다.
호스트와 주변장치 사이에서 푸시 모델의 데이터 전송이 바람직하고 더 효과적인 경우가 있다. 이것은 호스트 프로세서 아키텍처가 푸시 모델을 선호하거나 또는 비교적 적은 I/O 인터럽트가 발생되거나, 또는 호스트가 그러한 인터럽트의 처리에 대한 연속 제어를 요구하는 경우이다. 다수의 벡터된 인터럽트가 발생될 때나 또는 호스트와 I/O 주변장치 사이에서 지속적인 데이터 전송이 발생할 때 등과 같이 다른 호스트 프로세서 아키텍처 및 상황은 풀 모델을 선호한다. 시스템 리소스의 더욱 효과적인 사용을 위해 푸시 및 풀 모델이 모두 연속하여 사용되어야 하는 상황도 있다. 그러한 상황에 있어서, 메시지 전송 인터페이스를 푸시 모델의 데이터 전송에서 풀 모델로 전환하는 방법의 필요성이 오래전부터 절실하였다. 또한, 처음에 푸시 모델로 초기화된 I/O 프로세서가 파워-온/리셋을 통해 복귀하고, 또한 풀 모델로 재초기화할 필요없이, 그러한 메시지 전송 인터페이스를 푸시 모델로부터 풀 모델로 동적으로 재구성하는 필요성이 오래전부터 절실하였다.
본 발명의 하나의 목적은 호스트와 I/O 주변장치 사이의 메시지 전송 인터페이스를, 호스트가 호스트의 전용 로컬 메모리에 저장된 데이터를 I/O 주변장치의 공유 메모리로 이동시키는 푸시 모델로부터, I/O 주변장치가 호스트 공유 메모리로부터의 데이터를 I/O 주변장치 자신의 전용 로컬 메모리로 이동시키는 풀 모델로 전환하는 방법을 제공하는 것이다.
본 발명의 다른 목적은 처음에 푸시 모델로 초기화된 I/O 프로세서가 파워-온/리셋을 통해 복귀하고, 풀 모델로 재초기화할 필요없이, 메시지 전송 인터페이스를 푸시 모델로부터 풀 모델로 동적으로 재구성하는 방법을 제공하는 것이다.
상기 목적 및 다음에 설명되어 명확하게 될 다른 목적에 따르면, 본 발명에 따른 풀 모델 호출 방법은: I/O 주변장치의 인바운드 큐 및 아웃바운드 큐를 배치하는 단계; 이전의 인바운드 메시지로부터의 소정의 메시지의 I/O 주변장치의 아웃바운드 큐를 클리어하는 단계; I/O 주변장치를 풀 모델로 초기화하는 단계; I/O 주변장치에 의해 현재 처리중인 메시지를 I/O 주변장치의 아웃바운드 큐에 포스트(post)하는 단계; 및 프리 메시지로서 인식될 메시지를 I/O 주변장치의 인바운드 큐에 전송하는 단계를 포함하고, 그에 따라 I/O 주변장치는 프리 메시지가 호스트로부터의 요구가 아니라는 것과 프리 메시지가 I/O 주변장치에 의한 추가 처리에 유용하다는 것을 인식한다.
본 발명의 예시적인 실시예에 따르면, 배치 단계의 이전에, 호스트는 I/O 주변장치가 파워-온/리셋을 통한 복귀를 완료하고, 푸시 모델로 초기화된 것을 보장하기 위해 대기하는 단계를 실행한다.
본 발명의 다른 예시적인 실시예에 따르면, 클리어 단계는, I/O 주변장치에게 I/O 주변장치의 아웃바운드 큐를 플러시할 것을 지시하도록 메시지를 I/O 주변장치의 인바운드 큐에 포스트하는 단계를 실행하는 호스트에 의해 개시된다.
다른 실시예에서, 전송 단계에 앞서, 호스트는 적어도 하나의 메시지 프레임을 호스트 메모리에 할당하는 단계를 실행하고, 적어도 하나의 할당된 메시지 프레임은 I/O 주변장치의 인바운드 큐를 초기화하는데 이용된다.
본 발명의 또다른 예시적인 실시예에 따르면, 호스트는 적어도 하나의 할당된 메시지 프레임의 각각을 NULL 메시지로서 초기화하는 단계를 실행하고, 그에 따라 I/O 주변장치로 하여금 적어도 하나의 할당되고 NULL 초기화된 메시지의 각각을 프리 메시지로서 인식하도록 한다.
다른 실시예에서, 풀 모델 초기화 단계는 호스트의 요구에 의해 실행되고, 호스트는 풀 모델 초기화 요구 메시지를 I/O 주변장치의 인바운드 큐에 포스트하는 단계를 더 실행한다.
본 발명은 I/O 주변장치가 리셋 또는 파워 다운될 필요없이, 호스트와 I/O 주변장치 사이의 메시지 전송 인터페이스가 푸시 모델로부터 풀 모델로 동적으로 재구성될 수 있는 방법을 제공하는 효과가 있다.
본 발명의 목적 및 이점은 본 명세서의 상세한 설명 및 첨부 도면에 의해 더욱 명확해질 것이다.
본 발명의 상세한 설명에 앞서, 푸시 모델 및 풀 모델의 개념을, 호스트 및 I/O 주변장치 로컬 및 공유 메모리와 공유 시스템 메모리의 논리적 구성을 도시한 도 1에 따라 설명한다. 도 1에서, 100은 호스트 장치, 110은 공유 시스템 메모리, 120은 I/O 주변장치이다. 호스트(100)는 로컬 전용 메모리(107) 및 공유 메모리(105)를 모두 갖고, 공유 메모리는 호스트 공유 메모리(105)와 공유 시스템 메모리 블록(115)을 연결하는 점선으로 나타낸 바와 같이, 공유 시스템 어드레스 공간(117)의 블록(115)에 맵핑된다. 마찬가지로, I/O 주변장치(120)는 I/O 주변장치에 대해서만 액세스 가능한 로컬 메모리(127) 및 공유 시스템 메모리(117)의 블록(113)에 맵핑되는 공유 메모리(125)를 갖는다.
푸시 모델에서, 호스트 이동 데이터는 호스트의 전용 로컬 메모리(107)로부터, 공유 시스템 메모리 블록(113)에 따라서 공유 시스템 메모리 공간에 맵핑된 I/O 주변장치의 공유 메모리로 이동된다. 푸시 모델은 호스트의 로컬 메모리(107)와 공유 시스템 메모리 블록(113) 사이에서 연장하는 화살표(109)에 의해 도 1에 도시되어 있다.
풀 모델에서, I/O 주변장치는 공유 시스템 메모리 블록(115)에 맵핑된 호스트의 공유 메모리(105)로부터 I/O 주변장치의 로컬 전용 메모리(127)로 데이터를 이동시킨다. 풀 모델은 공유 시스템 메모리 블록(115)을 I/O 주변장치의 로컬 메모리(127)에 연결하는 화살표(119)에 의해 도 1에 도시되어 있다.
도 3은 호스트 및 I/O 주변장치와 그들을 연결하는 큐를 도시하고 있다. 도 3에 도시한 바와 같이, 호스트의 인바운드 큐는 I/O 주변장치의 아웃바운드 큐이다. 마찬가지로, 호스트의 아웃바운드 큐는 I/O 주변장치의 인바운드 큐이다.
본 발명에 따른 풀 모델 호출 방법은 도 2에 도시되어 있다. 도 2는 풀 모델의 데이터 전송을 호출하여, I/O 주변장치가 공유 메모리가 공유 시스템 메모리에 맵핑되는 호스트의 공유 메모리로부터의 데이터를 그 자신의 로컬 메모리에 카피하는 방법을 설명하는 흐름도이다. 본 발명에 따른 방법은 도 1에서 S0부터 시작한다. 단계 S1에서, 호스트는 I/O 주변장치가 그의 파워-온/리셋 절차를 통해 복귀할 때까지 대기한다. 복귀하지 않았을 경우, 호스트는 I/O 주변장치가 실제로 파워-온되거나 또는 적절히 리셋될 때까지 대기한다. 단계 S2에서, 호스트는 I/O 주변장치가 푸시 모델에서 초기화될 때까지 대기한다. I/O 주변장치가 푸시 모델에서 실제로 적절히 초기화되었을 때, 호스트는 단계 S3에서, I/O 주변장치의 인바운드 큐 및 아웃바운드 큐를 메모리 내에 배치한다. 그들이 배치된 후, 단계 S4에서, 호스트는 I/O 주변장치에게 I/O 주변장치의 아웃바운드 큐를 플러시할 것을 지시하도록 메시지를 I/O 주변장치의 인바운드 큐에 포스트하고, I/O 주변장치는 이것을 단계 S5에서 실행한다. 이것은 이전의 소정의 메시지로부터의 소정의 메시지의 I/O 주변장치의 아웃바운드 큐를 클리어한다. 단계 S6에서, 호스트는 I/O 주변장치의 인바운드 큐를 초기화하는데 이용되도록 메시지 프레임을 호스트 메모리에 할당한다. 각각의 할당된 메시지 프레임은 단계 S7에서 NULL 프레임으로서 초기화되어, I/O 주변장치는 메시지를 프리 메시지로서 인식하고 호스트로부터의 요구로서는 인식하지 않는다. 단계 S8에서, 호스트는 I/O 주변장치에게 풀 모델로 초기화할 것을 명령하도록 메시지를 I/O 주변장치의 인바운드 큐에 포스트한다. 그 후, I/O 주변장치는 지시된 대로, 단계 S9에서 풀 모델로 초기화한다. 단계 S10에서, I/O 주변장치는 현재 처리중인 모든 메시지를 I/O 주변장치의 아웃바운드 큐에 포스트한다. 그 후, 호스트는 할당되고 NULL 초기화된 메시지를 단계 S11에서 I/O 주변장치의 인바운드 큐에 포스트한다. 단계 S12에서, I/O 주변장치는 NULL 메시지가 I/O 주변장치의 인바운드 큐에 대하여 프리 메시지로서 유용하게 한다. 이제 I/O 주변장치는 시스템 공유 메모리로부터의 데이터를 그 자신의 전용 로컬 메모리에 풀하는데 이용될 프리 메시지의 공급을 갖는다. 이 방법은 단계 S13에서 종료한다.
잘 알 수 있듯이, 풀 모델 호출 방법은 메시지 전송 인터페이스가 푸시 모델로부터 풀 모델로 동적으로 재구성되거나 또는 전환될 수 있도록 한다. 이것은 파워-온/리셋 이후에 잠시 후 메시지 인터페이스를 풀 모델로 재구성하는 수단을 호스트에게 제공하면서, I/O 주변장치가 파워-온/리셋 후 푸시 모델에서 초기화되는 것을 허용한다. I/O 주변장치가 풀 모델로 초기화되지만, 푸시 모델이 더욱 유리하다고 판정되면, 호스트는 I/O 주변장치 리셋 명령을 발행할 수 있고, 그에 따라 I/O 주변장치는 푸시 모델로 재초기화할 수 있다. 또한, I/O 주변장치가 다시 한번 그의 파워-온/리셋 절차를 통해 복귀하여 푸시 모델로 초기화될 수 있다. 따라서, 본 발명은 푸시 모델의 데이터 전송에서 풀 모델을 동적으로 전환하는 방법뿐만 아니라 그렇게 하는 것이 이로우면 풀 모델로부터 푸시 모델로 되돌아가는 방법을 제공한다. 본 발명에 따라 메시지 전송 인터페이스를 동적으로 재구성하는 기능은 호스트 및 I/O 주변장치 모두의 성능을 최적화하는 역할을 한다.
본 발명에 의하면, I/O 주변장치가 리셋 또는 파워 다운되는 것을 요구하지 않고, 호스트와 I/O 주변장치 사이의 메시지 전송 인터페이스를 푸시 모델로부터 풀 모델로 동적으로 재구성할 수 있다.
이상 본 발명자에 의해 이루어진 발명을 상기 실시예에 따라 구체적으로 설명하였지만, 본 발명은 상기 실시예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위 내에서 여러 가지로 변경 가능한 것은 물론이다.
도 1은 호스트 및 I/O 주변장치의 로컬 및 공유 메모리와 공유 시스템 메모리의 논리적 구성을 도시한 도면.
도 2는 본 발명에 따른 풀 모델 호출 방법을 설명하는 흐름도.
도 3은 호스트 및 I/O의 인바운드 큐 및 아웃바운드 큐를 도시한 도면.
* 도면의 주요 부분에 대한 부호의 설명
100 : 호스트 장치 105 : 공유 메모리
107 : 로컬 전용 메모리 120 : I/O 주변장치
125 : 공유 메모리 127 : 로컬 메모리
Claims (20)
- 호스트 컴퓨터 장치가 호스트의 로컬 메모리에 저장된 데이터를 I/O 주변장치의 공유 메모리로 이동시키는 푸시 모델과 상기 I/O 주변장치가 상기 호스트의 공유 메모리로부터의 데이터를 상기 I/O 주변장치의 로컬 메모리로 이동시키는 풀 모델 사이의 동적 전환 방법에 있어서,상기 I/O 주변장치의 아웃바운드 큐를 플러시하는 단계;상기 I/O 주변장치를 상기 풀 모델로 초기화하는 단계;상기 I/O 주변장치에 의해 현재 처리중인 메시지를 상기 I/O 주변장치의 아웃바운드 큐에 포스트하는 단계; 및적어도 하나의 메시지를 상기 I/O 주변장치의 인바운드 큐로 전송하는 단계를 포함하고,그에 따라, 상기 I/O 주변장치는 상기 인바운드 큐로 전송된 상기 적어도 하나의 메시지를 상기 호스트 컴퓨터 장치로부터의 요구가 아닌 추가 처리에 유용한 프리 메시지로서 인식하는동적 전환 방법.
- 제1항에 있어서,상기 플러시 단계의 이전에, 상기 호스트는 상기 I/O 주변장치의 인바운드 큐 및 아웃바운드 큐를 메모리 내에 배치시키는 단계를 실행하는동적 전환 방법.
- 제1항에 있어서,상기 플러시 단계는, 이전의 인바운드 메시지로부터의 모든 메시지의 아웃바운드 큐를 클리어하기 위해 상기 I/O 주변장치에게 상기 I/O 주변장치의 아웃바운드 큐를 플러시할 것을 지시하도록 메시지를 상기 I/O 주변장치의 인바운드 큐에 포스트하는 단계를 실행하는 상기 호스트에 의해 개시되는동적 전환 방법.
- 제1항에 있어서,상기 전송 단계의 이전에, 상기 호스트는 적어도 하나의 메시지 프레임을 호스트 메모리에 할당하는 단계를 실행하고, 상기 적어도 하나의 할당된 메시지 프레임은 상기 I/O 주변장치의 인바운드 큐를 초기화하는데 이용되는동적 전환 방법.
- 제4항에 있어서,상기 호스트는 상기 적어도 하나의 할당된 메시지 프레임의 각각을 NULL 메시지로서 초기화하는 단계를 더 실행하는동적 전환 방법.
- 제1항에 있어서,상기 풀 모델 초기화 단계는, 풀 모델 초기화 요구 메시지를 상기 I/O 주변장치의 인바운드 큐에 포스트하는 단계를 더 실행하는 상기 호스트의 요구에 의해 실행되는동적 전환 방법.
- 제1항에 있어서,상기 풀 모델로의 초기화에 따라, 상기 I/O 주변장치는 현재 처리중인 소정의 메시지를 상기 I/O 주변장치의 아웃바운드 큐에 포스트하는 단계를 더 실행하는동적 전환 방법.
- 적어도 하나의 호스트 장치 및 하나의 I/O 주변장치를 포함하는 컴퓨터 시스템에서 푸시 모델로부터 풀 모델로의 메시지-전송 인터페이스의 동적 재구성 방법에 있어서,상기 I/O 주변장치의 인바운드 큐 및 아웃바운드 큐를 메모리 내에 배치시키는 단계;이전의 인바운드 메시지로부터 소정의 메시지의 상기 I/O 주변장치의 아웃바운드 큐를 클리어하는 단계;상기 I/O 주변장치를 상기 풀 모델로 초기화하는 단계;상기 I/O 주변장치에 의해 현재 처리중인 메시지를 상기 I/O 주변장치의 아웃바운드 큐에 포스트하는 단계; 및프리 메시지로서 인식될 적어도 하나의 메시지를 상기 I/O 주변장치의 인바운드 큐에 포스트하는 단계를 포함하고,그에 따라, 상기 I/O 주변장치는 상기 적어도 하나의 메시지가 상기 호스트로부터의 요구가 아니라는 것과 상기 적어도 하나의 메시지가 상기 I/O 주변장치에 의한 추가 처리에 유용하다는 것을 인식하는동적 재구성 방법.
- 제8항에 있어서,상기 배치 단계의 이전에, 상기 호스트는 상기 I/O 주변장치가 파워-온/리셋을 통한 복귀(cycling)를 완료하고, 푸시 모델로 초기화된 것을 보장하기 위해 대기하는 단계를 실행하는동적 재구성 방법.
- 제8항에 있어서,상기 클리어 단계는, 상기 I/O 주변장치에게 상기 I/O 주변장치의 아웃바운드 큐를 플러시할 것을 지시하도록 메시지를 상기 I/O 주변장치의 인바운드 큐에 포스트하는 단계를 실행하는 상기 호스트에 의해 개시되는동적 재구성 방법.
- 제8항에 있어서,상기 프리 메시지 포스트 단계의 이전에, 상기 호스트는 적어도 하나의 메시지 프레임을 호스트 메모리에 할당하는 단계를 실행하고, 상기 적어도 하나의 할당된 메시지 프레임은 상기 I/O 주변장치의 인바운드 큐를 초기화하는데 이용되는동적 재구성 방법.
- 제11항에 있어서,상기 호스트는 상기 적어도 하나의 할당된 메시지 프레임의 각각을 NULL 메시지로서 초기화하는 단계를 실행하고, 그에 따라 상기 I/O 주변장치로 하여금 상기 적어도 하나의 할당되고 NULL 초기화된 메시지의 각각을 프리 메시지로서 인식하도록 하는동적 재구성 방법.
- 제8항에 있어서,상기 풀 모델 초기화 단계는, 풀 모델 초기화 요구 메시지를 상기 I/O 주변장치의 인바운드 큐에 포스트하는 단계를 더 실행하는 상기 호스트의 요구에 의해 실행되는동적 재구성 방법.
- I/O 주변장치의 인바운드 큐 및 아웃바운드 큐를 메모리 내에 배치시키는 단계;상기 I/O 주변장치에게 이전의 인바운드 메시지로부터 메시지의 상기 I/O 주변장치의 아웃바운드 큐를 클리어할 것을 지시하는 단계;상기 I/O 주변장치에게 풀 모델로 초기화할 것을 명령하도록 메시지를 상기 I/O 주변장치의 인바운드 큐에 포스트하는 단계;상기 I/O 주변장치에 의해 현재 처리중인 메시지를 상기 I/O 주변장치의 아웃바운드 큐에 포스트하는 단계; 및적어도 하나의 메시지를 상기 I/O 주변장치의 인바운드 큐에 포스트하는 단계를 포함하고,그에 따라, 호스트 컴퓨터 장치가 호스트의 로컬 메모리 내의 데이터를 I/O 주변장치의 공유 메모리로 이동시키는 푸시 모델로부터, 상기 I/O 주변장치가 상기 호스트의 공유 메모리로부터의 데이터를 상기 I/O 주변장치의 로컬 메모리로 이동시키는 상기 풀 모델이 동적으로 호출되는풀 모델 호출 방법.
- 제14항에 있어서,상기 I/O 주변장치는 상기 적어도 하나의 메시지를 상기 호스트에 의한 추가 처리 요구로서가 아닌 프리 메시지로서 유용하게 하는 단계를 더 실행하는풀 모델 호출 방법.
- 제14항에 있어서,상기 배치 단계의 이전에, 상기 호스트는 상기 I/O 주변장치가 파워-온/리셋을 통한 복귀를 완료하고, 상기 푸시 모델로 초기화된 것을 보장하기 위해 대기하는 단계를 실행하는풀 모델 호출 방법.
- 제14항에 있어서,상기 지시 단계는, 메시지를 상기 I/O 주변장치의 인바운드 큐에 포스트하는 단계를 실행하는 상기 호스트에 의해 개시되고, 상기 메시지는 상기 I/O 주변장치에게 상기 I/O 주변장치의 아웃바운드 큐를 플러시할 것을 지시하는풀 모델 호출 방법.
- 제14항에 있어서,상기 적어도 하나의 메시지를 포스트하는 단계 이전에, 상기 호스트는 적어도 하나의 메시지 프레임을 호스트 메모리에 할당하는 단계를 실행하고, 상기 적어도 하나의 할당된 메시지 프레임은 상기 I/O 주변장치의 인바운드 큐를 초기화하는데 이용되는풀 모델 호출 방법.
- 제18항에 있어서,상기 호스트는 상기 적어도 하나의 할당된 메시지 프레임의 각각을 NULL 메시지로서 초기화하는 단계를 더 실행하고, 그에 따라 상기 I/O 주변장치로 하여금 상기 적어도 하나의 할당되고 NULL 초기화된 메시지를 요구로서가 아닌 프리 메시지로서 인식하도록 하는풀 모델 호출 방법.
- 제14항에 있어서,상기 I/O 주변장치에게 상기 풀 모델로 초기화할 것을 명령하는 메시지는 상기 호스트에 의해 포스트되는풀 모델 호출 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/828,204 US5950014A (en) | 1997-03-21 | 1997-03-21 | Methodology for pull model invocation |
US8/828,204 | 1997-03-21 | ||
US08/828,204 | 1997-03-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19980080304A KR19980080304A (ko) | 1998-11-25 |
KR100497989B1 true KR100497989B1 (ko) | 2005-09-08 |
Family
ID=25251160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019980008739A KR100497989B1 (ko) | 1997-03-21 | 1998-03-16 | 풀 모델 호출 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5950014A (ko) |
KR (1) | KR100497989B1 (ko) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020103942A1 (en) * | 2000-06-02 | 2002-08-01 | Guillaume Comeau | Wireless java device |
US6769079B1 (en) * | 2000-12-21 | 2004-07-27 | Borland Software Corporation | System and method for logging messages in an embedded computer system |
US7272833B2 (en) | 2000-12-26 | 2007-09-18 | International Business Machines Corporation | Messaging service in a federated content management system |
US7185066B2 (en) * | 2001-10-11 | 2007-02-27 | Raytheon Company | Secure data sharing system |
EP2249217B1 (de) * | 2009-05-08 | 2013-04-24 | Siemens Aktiengesellschaft | Automatisierungsgerät und Automatisierungssystem |
US10671460B2 (en) * | 2018-02-05 | 2020-06-02 | Micron Technology, Inc. | Memory access communications through message passing interface implemented in memory systems |
CN111491018B (zh) * | 2020-04-07 | 2022-06-10 | 中国建设银行股份有限公司 | 模型下载方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4138732A (en) * | 1975-10-31 | 1979-02-06 | Tokyo Shibaura Electric Co., Ltd. | Data transfer control system |
US4272819A (en) * | 1978-03-31 | 1981-06-09 | Fujitsu Limited | Inter-subsystem direct transfer system |
KR880014775A (ko) * | 1987-05-11 | 1988-12-24 | 안시환 | 통신상태에 따른 전송선로 조절회로 |
KR960042375A (ko) * | 1995-05-15 | 1996-12-21 | 김광호 | 호스트와 주변장치 간의 양방향 통신이 가능한 인터페이스 제어장치 및 방법 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3818461A (en) * | 1972-04-10 | 1974-06-18 | Litton Systems Inc | Buffer memory system |
JPS5247635A (en) * | 1975-10-15 | 1977-04-15 | Toshiba Corp | Control method for transmitting informat ion |
US4571671A (en) * | 1983-05-13 | 1986-02-18 | International Business Machines Corporation | Data processor having multiple-buffer adapter between a system channel and an input/output bus |
US4821185A (en) * | 1986-05-19 | 1989-04-11 | American Telephone And Telegraph Company | I/O interface system using plural buffers sized smaller than non-overlapping contiguous computer memory portions dedicated to each buffer |
US4860193A (en) * | 1986-05-22 | 1989-08-22 | International Business Machines Corporation | System for efficiently transferring data between a high speed channel and a low speed I/O device |
US4783730A (en) * | 1986-09-19 | 1988-11-08 | Datapoint Corporation | Input/output control technique utilizing multilevel memory structure for processor and I/O communication |
US4958277A (en) * | 1987-07-24 | 1990-09-18 | Motorola, Inc. | Queued serial peripheral interface for use in a data processing system |
JP2745521B2 (ja) * | 1988-02-23 | 1998-04-28 | 株式会社日立製作所 | フレーム送信方法 |
US4956771A (en) * | 1988-05-24 | 1990-09-11 | Prime Computer, Inc. | Method for inter-processor data transfer |
US5003463A (en) * | 1988-06-30 | 1991-03-26 | Wang Laboratories, Inc. | Interface controller with first and second buffer storage area for receiving and transmitting data between I/O bus and high speed system bus |
US5072420A (en) * | 1989-03-16 | 1991-12-10 | Western Digital Corporation | FIFO control architecture and method for buffer memory access arbitration |
US5197128A (en) * | 1991-03-04 | 1993-03-23 | Hewlett-Packard Company | Modular interface |
DE69230093T2 (de) * | 1991-11-19 | 2000-04-13 | Ibm | Multiprozessorsystem |
US5434872A (en) * | 1992-07-28 | 1995-07-18 | 3Com Corporation | Apparatus for automatic initiation of data transmission |
US5473756A (en) * | 1992-12-30 | 1995-12-05 | Intel Corporation | FIFO buffer with full/empty detection by comparing respective registers in read and write circular shift registers |
WO1994017481A1 (en) * | 1993-01-22 | 1994-08-04 | Taligent, Inc. | Business card system |
US5617537A (en) * | 1993-10-05 | 1997-04-01 | Nippon Telegraph And Telephone Corporation | Message passing system for distributed shared memory multiprocessor system and message passing method using the same |
US5546546A (en) * | 1994-05-20 | 1996-08-13 | Intel Corporation | Method and apparatus for maintaining transaction ordering and arbitrating in a bus bridge |
US5434892A (en) * | 1994-09-16 | 1995-07-18 | Intel Corporation | Throttling circuit for a data transfer system |
US5583995A (en) * | 1995-01-30 | 1996-12-10 | Mrj, Inc. | Apparatus and method for data storage and retrieval using bandwidth allocation |
US5764915A (en) * | 1996-03-08 | 1998-06-09 | International Business Machines Corporation | Object-oriented communication interface for network protocol access using the selected newly created protocol interface object and newly created protocol layer objects in the protocol stack |
US5790789A (en) * | 1996-08-02 | 1998-08-04 | Suarez; Larry | Method and architecture for the creation, control and deployment of services within a distributed computer environment |
-
1997
- 1997-03-21 US US08/828,204 patent/US5950014A/en not_active Expired - Lifetime
-
1998
- 1998-03-16 KR KR1019980008739A patent/KR100497989B1/ko not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4138732A (en) * | 1975-10-31 | 1979-02-06 | Tokyo Shibaura Electric Co., Ltd. | Data transfer control system |
US4272819A (en) * | 1978-03-31 | 1981-06-09 | Fujitsu Limited | Inter-subsystem direct transfer system |
KR880014775A (ko) * | 1987-05-11 | 1988-12-24 | 안시환 | 통신상태에 따른 전송선로 조절회로 |
KR960042375A (ko) * | 1995-05-15 | 1996-12-21 | 김광호 | 호스트와 주변장치 간의 양방향 통신이 가능한 인터페이스 제어장치 및 방법 |
KR0143933B1 (ko) * | 1995-05-15 | 1998-08-17 | 김광호 | 호스트와 주변장치 간의 양방향 통신이 가능한 인터페이스 제어장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
US5950014A (en) | 1999-09-07 |
KR19980080304A (ko) | 1998-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9804904B2 (en) | High-performance virtual machine networking | |
US6961941B1 (en) | Computer configuration for resource management in systems including a virtual machine | |
US8645605B2 (en) | Sharing multiple virtual functions to a host using a pseudo physical function | |
US6347341B1 (en) | Computer program product used for exchange and transfer of data having a siga vector and utilizing a queued direct input-output device | |
US5768598A (en) | Method and apparatus for sharing hardward resources in a computer system | |
US6345327B1 (en) | Queuing method and apparatus for providing direct data processing access using a queued direct input-output device | |
JP3544390B2 (ja) | 並列計算機で用いられるメッセージ通信方法 | |
JP2011081815A (ja) | 多数のクライアント−サーバ・セッションおよび以前のセッションへのユーザのダイナミック再接続をサポートするサーバ・オペレーティング・システム | |
JPH08288941A (ja) | コンピュータ・システム及びメッセージ転送方法 | |
CN1667601A (zh) | 在逻辑分区之间共享网络i/o适配器的装置与方法 | |
KR100497989B1 (ko) | 풀 모델 호출 방법 | |
CN117407123B (zh) | 基于多系统隔离的usb设备虚拟共享系统 | |
JP2002287996A (ja) | 構成可能なデータ処理システムで端末のプロファイルを保守する方法および装置 | |
CN1277224C (zh) | 嵌入式系统中主从式多处理器的引导方法 | |
US6339803B1 (en) | Computer program product used for exchange and transfer of data having a queuing mechanism and utilizing a queued direct input-output device | |
US6339801B1 (en) | Method for determining appropriate devices for processing of data requests using a queued direct input/output device by issuing a special command specifying the devices can process data | |
KR20000016944A (ko) | 로컬메모리에서패킷화된동작정보의기억을통한입출력성능을증가시키기위한시스템 | |
US6339802B1 (en) | Computer program device and an apparatus for processing of data requests using a queued direct input-output device | |
US6697854B1 (en) | Method and apparatus for providing configuration information using a SIGA vector and utilizing a queued direct input-output device | |
JPH0322057A (ja) | 情報処理装置 | |
Vu et al. | On-demand reconfiguration for coprocessors in mixed criticality multicore systems | |
US6345326B1 (en) | Computer program device and product for timely processing of data using a queued direct input-output device | |
KR100654190B1 (ko) | 응용 프로그램내의 소켓 인터페이스와 toe 사이의 연결을 제어하는 통신 인터페이스 방법 | |
EP0781433B1 (en) | Bus assignment system for dsp processors | |
JP2003186666A (ja) | マイクロコンピュータおよびdma制御回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
N231 | Notification of change of applicant | ||
N231 | Notification of change of applicant | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130524 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20140519 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20150518 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20160518 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20170529 Year of fee payment: 13 |
|
EXPY | Expiration of term |