KR940008484B1 - 하이파이 버스를 채용한 다중처리기 시스템의 데이타 응답시간 최소화 방법 - Google Patents

하이파이 버스를 채용한 다중처리기 시스템의 데이타 응답시간 최소화 방법 Download PDF

Info

Publication number
KR940008484B1
KR940008484B1 KR1019910023201A KR910023201A KR940008484B1 KR 940008484 B1 KR940008484 B1 KR 940008484B1 KR 1019910023201 A KR1019910023201 A KR 1019910023201A KR 910023201 A KR910023201 A KR 910023201A KR 940008484 B1 KR940008484 B1 KR 940008484B1
Authority
KR
South Korea
Prior art keywords
bus
data
data transfer
transfer
address
Prior art date
Application number
KR1019910023201A
Other languages
English (en)
Other versions
KR930014080A (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 재단법인 한국전자통신연구소
Priority to KR1019910023201A priority Critical patent/KR940008484B1/ko
Publication of KR930014080A publication Critical patent/KR930014080A/ko
Application granted granted Critical
Publication of KR940008484B1 publication Critical patent/KR940008484B1/ko

Links

Classifications

    • 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/38Information transfer, e.g. on bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Bus Control (AREA)
  • Small-Scale Networks (AREA)

Abstract

내용 없음.

Description

하이파이 버스를 채용한 다중처리기 시스템의 데이타 응답시간 최소화 방법
제1도는 하이파이 버스를 채용한 다중 프로세서 시스템의 구성도.
제2도는 실제적인 데이타 전송경로를 나타낸 도면.
제3도는 쓰기전송에서 어드레스 전송 사이클 및 데이타 전송 사이클의 기본주기를 나타낸 도면.
제4도는 읽기전송에서 어드레스 전송 사이클의 기본주기를 나타낸 도면.
제5도는 읽기전송에서 데이타 전송 사이클의 기본주기를 나타낸 도면.
제6도는 종래의 읽기전송 사이클을 나타낸 도면.
제7도는 본 발명의 읽기전송 사이클을 나타낸 도면.
제8도는 하이파이 버스에서 제공되는 전송형태를 나타낸 도면.
제9도는 데이타 전송에서 사용되는 계수중 최소, 최대 버스클럭수를 나타낸 도면.
본 발명은 하이파이 버스(HiPi-Bus : Highly Pipelined Bus)를 채용한 다중처리기 시스템(multiprocessor system)에서 프로세서로부터 전달받은 메모리 참조요청을 데이타 전송 버스 요청기가 버스규격에 맞게 버스동작 수행하여 메모리부터 데이타를 참조하는데 소요되는 데이타 응답시간(data access time)을 최소화 하는 방법에 관한 것이다. 하이파이 버스의 데이타 전송버스에서 데이타 전송은 데이타 전송버스 요청기(ReQuester : RQ)와 데이타 전송버스 응답기 (ResPonder :RP)사이에서 이루어진다.
통상적으로 데이타 전송버스 요청기(RQ)는 프로세서 보드에 위치하고, 데이타 전송버스 응답기 (RP)는 메모리 보드에 위치한다.
개념적으로 볼때, 시스템내의 데이타 전송은 프로세서와 메모리 사이에서 이루어지는데 데이타 전송버스 요청기(RQ)와 데이타 전송버스 응답기(RP)는 데이타 전송통로인 데이타 전송버스를 프로세서 및 메모리에 연결시켜 주는 역할을 수행한다.
따라서 데이타 전송버스 전송규격은 프로세서와 메모리가 모르는 상태에서 데이타 전송버스 요청기(RQ)와 데이타 전송 버스 응답가(RP)에 의해 제어되고 수행된다.
제1도는 하이파이 버스를 채용한 다중처리 시스템의 구성을 나타낸 것으로, 복수의 데이타 전송버스 요청기들(RQ1~RQn)과 복수의 데이타 전송버스 응답기들 (RP1~RQn)이 데이타·전송 버스를 공유하여 사용하게 된다.
이와같이 하나의 자원인 데이타 전송버스가 복수의 데이타 전송버스 요청기들(RQ1~RQn)과 복수의 데이타 전송버스 응답기 (RP1~RPn)에 의해 공유되므로 이들간의 중재를 담당하는 중재버스 (Arbitration Bus)가 지원된다.
데이타 전송버스 요청기(RQ)와 데이타 전송버스 응답기(RP)에 의해 수행되는 데이타 전송은 시스템 버스(system bus)로부터 제공되는 버스클럭 (Bus Clock)에 동기되어 이루어진다.
프로세서들 (P1-Pn)에 의한 메모리 참조(읽기 또는 쓰기)요청은 버스를 통하여 데이타 전송버스 요청기들(RQ1~RQn)과 데이타 전송버스 응답기들(RP1~RPn)사이에서 이루어지는데, 제2도는 하나의 버스동작만을 고려할때 실제로 데이타 전송이 이루어지는 경로를 나타낸 것이다.
총 메모리 참조시간 (total memory reference time)은 α + β 이다. 여기서, α 는 프로세서로부터 발생된 메모리 참조요청이 데이타 전송버스 요청기(RQ)로 전달되고 데이타 전송버스 요청기(RQ)에서 수행한 버스동작의 결과를 프로세서로 알리는데 소요되는 시간이며, β 는 데이타 응답시간 (data access time)으로서 프로세서로부터 전달받은 메모리 참조요청을 데이타 전송버스 요청기(RQ)가 버스규격에 맞게 버스동작을 수행하여 메모리로부터 데이타를 참조하는데 소요되는 시간이다.
하이파이 버스는 제8도에 나타낸 바와같이 8가지의 전송 형태를 지원하는데, 이것은 수행하는 데이타 전송에 시스템에서 필요한 새로운 의미를 부여하여 버스의 기능을 고급화 함으로써 시스템의 성능향상을 가능하게 한다. 그러나, 데이타 전송은 버스동작의 측면에서 고려할때 크게 3가지 즉, 읽기전송, 쓰기전송, 그리고 무효화 전송으로 구분될 수 있는데 마지막의 무효화 전송은 실제로 데이타의 전송이 이루어지는 것이 아니므로 고려의 대상에서 제외시킨다.
본 발명의 목적은 하이파이 버스의 총메모리 참조시간 중 데이타 응답시간 (data access time)을 최소화 함으로써 시스템의 성능을 향성시키는 것이다.
상기한 목적을 달성하기 위하여 본 발명은 읽기전송에서 사용되는 두가지의 기본주기(어드레서 전송 기본주기, 데이타 전송 기본주기)를 수행하는 데이타 전송버스 응답기(RP)의 동작사이클과, 데이타 전송버스 응답기(RP)가 메모리 내에서 실제 데이타를 찾는 동작사이클을 중첩시킨다.
좀더 구체적으로 설명하면, 데이타 전송버스 응답기(RP)가 어드레스 전송 기본주기에 관련된 동작, 내부메모리를 참조하는 동작, 그리고 데이타 전송 기본주기에 관련된 동작을 독립적으로 수행하도록 하여 이들 동작수행 사이클이 최대한 중첩되도록 한다.
이하 첨부된 도면을 참조하여 본 발명을 상세히 설명한다.
먼저, 쓰기전성은 데이타 전송버스 요청기 (RQ)에서 데이타 전송버스 응답기(RP)로 데이타를 공급하는 것으로 제3도에 나타낸 어드레스 전송 및 데이타 전송 기본주기만으로 구성된다.
어드레스 전송 및 데이타 전송 기본주기에서는 데이타 전송 버스 요청기(RQ)가 어드레스 버스와 데이타 버스에 관련된 정보를 데이타 전송버스에 구동하고 선택된 데이타 전송버스 응답기(RP)는 상태버스의 신호를 구동하여 데이타 전송버스 요청기(RQ)로부터 받은 정보에 대한 응답을 보낸다.
이와같은 어드레스 전송 및 데이타 전송 기본주기에서 어드레스 버스 중재 주기는 최소 1개의 버스 사이클이 소요된다.
어드레스 전송 및 데이타 전송 기본주기만으로 구성된 쓰기 전송은 자체가 기본주기로서 더이상 소요시간을 줄일 수 없다.
다음의 식은 쓰기전송에 소요되는 시간을 나타낸 것이다.
tWR=tAAR+tA+tD+tAACK+tDACK……………………………………………… (1)
특히, 식 (1)에서 각 시간은 제9도에 나타낸 값을 가지므로 쓰기 전송의 최소 소요시간은 식(2)와 같다.
tWR=tAAR+tA+tD+tAACK+tDACK
=tAAR+1+1+1+1
=tAAR+4
tWR≥5 ………………………………………………………………… (2)
따라서 식(2)에 의해 쓰기전송에 소요되는 최소 시간은 5개 버스 클럭으로 400nsec(5X80nsec)이다.
그러나, 어드레스 중재주기를 제외하면 4개 버스 클럭으로 320nsec이며 이것은 쓰기 전송에 대한 데이타 전송버스 응답기(RP)의 순수한 응답시간이 된다.
읽기전송은 데이타 전송버스 요청기(RQ)에서 데이타를 데이타 전송버스 응답기(RP)로 요청하여 데이타 전송버스 응답기(RP)가 데이타 전송버스 요청기(RQ)로 해당 데이타를 공급하는 것으로, 어드레스 전송 기본주기와 데이타 전송 기분 주기로 구성된다.
어드레스 전송 기본주기를 데이타 전송버스 요청기(RQ)가 데이타 전송버스 응답기(RP)에게 어드레스 버스에 관련된 정보를 전송하는 동작 사이클로, 데이타 전송버스 요청기(RQ)는 어드레스 버스 중재 주기를 수행한 후 버스상의 모든 데이타 전송버스 응답기 (RP1~RPn)로 어드레스 버스의 정보를 보내고, 이 응답기들 (RP1~RPn)은 그 정보를 번역하고, 선택된 응답기들(RP1~RPn)이 전달된 어드레스에 관한 정보에 대한 응답을 상태버스를 통하여 보낸다.
이러한 일련의 동작 사이클은 제4도와 같으며, 여기에서 어드레스 버스중재 주기는 최소 1개 버스 사이클이 소요된다. 데이타 전송기본주기는 데이타전송버스 응답기(RP)가 데이타 전송버스 요청기(RQ)로 데이타를 공급하는 동작 사이클로서, 데이타 전공버스 응답기(RP)는 데이타 버스중재 주기를 수행한 후, 데이타 버스에 관련된 정보를 데이타를 요청한 데이타 전송버스 요청기(RQ)로 보낸다.
제5도는 이러한 일련의 동작 사이클을 나타낸 것이며, 데이타 중재주기로서 최소 1개 버스 사이클이 소요된다. 어드레스 기본주기와 데이타 기본주기로 구성되는 읽기전송중 가장 간단히 구성한 종래의 단순읽기 전송방법(Simple Read Transfer Method : SRD)은 제6도와 같이 두가지의 기본주기를 전혀 중첩없이 수행한 경우이며, 이때 버스 동작에 소요되는 시간은 다음의 식과 같다.
tSRD=tARR+tA+tDY+tAACK+tPD+tDAR+tD……………………………………… (3)
특히, 식(3)에서 나타난 각 시간은 제9도에 나타낸 값을 갖는다.
따라서 SRD에 소요되는 시간은 식 (3)과 제9도로부터 아래의 식(4)와 같이 계산된다.
tSRD=tAAR+tA+tDY+tAACK+tPD+tDAR+tD
=tAAR+1+1+1+tPD+tDAR+1
=4+tAAR+tDAR+tD
tSRD≥7 ………………………………………………………………… (4)
그러나, SRD에서 중첩하여 진행 가능한 것이 있으며, 이러한 중첩 진행을 구현할때 소요시간을 줄일 수 있다. 어드레스 전송 기본주기와 데이타 전송기본 주기 각각의 내부는 더이상 중첩이 않되는 것이지만, 두 기본주기로 구성되는 읽기 전송은 중첩될 수 있다.
즉, 제6도에서 어드레스가 전달되는 ACO 이후에는 데이타 전송버스 응답기(RP)에서 내부 메모리 내용(또는 데이타)을 준비할 수 있으므로 데이타를 준비하는 동작과 ACO 이후의 어드레스 전송 기본주기는 중첩 가능하며, 또한 데이타를 준비하는 미리 예측가능한 시간내에 이루어진다면 이것과 데이타 버스 중재주기 역시 중첩 가능하다.
이러한 것을 고려한 본 발명의 최소 읽기전송 방법 (Minimum Read Transfer Method : MRD)은 제 7도에 나타낸 바와같이 된다.
그러나 어드레스 응답주기는 AC2의 데이타 전송주기 DCO 사이의 시간 δ 는 0보다 작을 수는 없다. 즉, 데이타 전송주기가 어드레스 응답주기보다 선행 또는 동시에 이루어질 수는 없다는 것으로, 데이타 전송버스 요청기(RQ)는 어드레스 응답주기 바로 다음 버스주기부터 응답데이타를 받을 수 있다.
또, 데이타 준비시간 tPD는 데이타 버스 중재시간 tDAR에 버스클럭 1개를 더한 값 tDAR+1보다 작거나 같아야 된다. 즉, 데이타 전송버스 응답기(RP)는 상위 모듈 (메모리 제어기 및 기타 로직)의 동작에 상관없이 미리 정의 가능한 데이타 준비시간 (tPD)보다 한 버스주기 먼저 데이타 버스 중재를 시작한다. 이 데이타 버스 중재에서 이기는 시점에 곧바로 데이타 버스상에 데이타를 싣는다.
만약 상기 상위모듈의 예외 상황으로 인해 중재에서 이기었음에도 불구하고 그 때까지 데이타가 준비되지 않은 상태이면 중재를 무시하고 데이타가 준비되는 시점에 다시 중재를 시작한다.
이 두 조건은 다음의 식 (5)와 식 (6)로 표현된다.
t δ ≥0 ………………………………………………………………… (5)
tPD≤tDAR+1 ………………………………………………………… (6)
따라서 MRD에 소요되는 시간은 아래의 식 (7)과 같다.
tMRD=tAAR+tA+tDY+tAACK=t δ +tD……………………………………………(7)
식 (7)에 최소 값만을 대입하면 식 (8)과 같이 MRD의 최소 소요시간이 계산된다.
tMRD=tAAR+tA+tDY+tAACK=t δ +tD
=tAAR+1+1+1+t δ +1
tMRD≥5 …………………………………………………………………(8)
식(8)을 만족시키기 위한 조건인 식 (6)에서 데이타 전송 버스 응답기(RP)에 있는 메모리의 응답시간이 계산될 수 있으며 이것은 다음의 식 (9)와 같다.
tPD≤tDAR+1 (식 (6) 으로부터)
tDAR≥+1 (제9도 참조)
tPD≤+1 +1
tPD≤2 …………………………………………………………………(9)
식 (9)에서 알 수 있듯이 MRD를 구현하는데 필요한 데이타 전송버스 응답기(RP)내 메모리의 응답시간은 버스 클럭 2개(2X80nsec=16nsec) 보다 빨라야 한다.
따라서 식 (8)에 의해 읽기 전송에 소요되는 최소 시간은 5개 버스 클럭으로 400nsec(5×80sec)이다.
그러나, 어드레스 중재주기를 제외하면 4개 버스 클럭으로 320nsec이며 이것은 읽기에 대한 데이타 전송 버스 응답기 (RP)의 순수한 응답시간이 된다.

Claims (1)

  1. 하이파이 버스를 채용한 다중처리기 시스템에서 데이타 전송이 데이타 전송버스 요청기 (RQ) 와 데이타 전송버스 응답기(RP) 사이에 있어서 시스템 버스로부터 제공되는 버스클럭에 의해서 이루어질때 데이타 응답시간을 최소화하는 방법에 있어서, 하이파이 버스를 채용한 데이터 전송방법중 읽기전송시 상기 데이타 전송버스 요청기(RQ)가 어드레스 버스 중재 주기를 수행한 후 어드레스 버스를 상태버스를 통하여 버스상의 모든 데이타 전송버스 응답기 (RP1,…RPn)에 전송하는 어드레스 전송 기본주기를 수행하는 단계와, 상기 어드레스 전송 기본주기가 수행된 후, 데이타 전송 버스 응답기(RP)가 소정의 데이타 준비시간(tPD)보다 한 버스주기 먼저 데이타 버스중재주기를 시작하고 중재에서 이기는 시점에 데이타 버스상에 데이타를 데이타 전송버스 요청기(RQ)에 전송하는 데이타 전송 기본주기를 수행하는 단계와, 상기 어드레스 전송 기본주기와 상기 데이타 전송 기본주기를 수행하는 동작 사이클과 상기 데이타 전송버스 응답기(RP)에서 내부 메모리 데이타를 준비하는 동작 사이클이 데이타 전송버스 응답기(RP)에 의해서 중첩되는 단계들을 포함하는 하이파이 버스를 채용한 다중처리기 시스템의 데이타 응답시간 최소화 방법.
KR1019910023201A 1991-12-17 1991-12-17 하이파이 버스를 채용한 다중처리기 시스템의 데이타 응답시간 최소화 방법 KR940008484B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019910023201A KR940008484B1 (ko) 1991-12-17 1991-12-17 하이파이 버스를 채용한 다중처리기 시스템의 데이타 응답시간 최소화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019910023201A KR940008484B1 (ko) 1991-12-17 1991-12-17 하이파이 버스를 채용한 다중처리기 시스템의 데이타 응답시간 최소화 방법

Publications (2)

Publication Number Publication Date
KR930014080A KR930014080A (ko) 1993-07-22
KR940008484B1 true KR940008484B1 (ko) 1994-09-15

Family

ID=19324988

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019910023201A KR940008484B1 (ko) 1991-12-17 1991-12-17 하이파이 버스를 채용한 다중처리기 시스템의 데이타 응답시간 최소화 방법

Country Status (1)

Country Link
KR (1) KR940008484B1 (ko)

Also Published As

Publication number Publication date
KR930014080A (ko) 1993-07-22

Similar Documents

Publication Publication Date Title
US4449183A (en) Arbitration scheme for a multiported shared functional device for use in multiprocessing systems
US5920714A (en) System and method for distributed multiprocessor communications
US4754398A (en) System for multiprocessor communication using local and common semaphore and information registers
US5276886A (en) Hardware semaphores in a multi-processor environment
KR970001919B1 (ko) 다수의 버스간의 정보 전송 시스템 및 방법
US4345309A (en) Relating to cached multiprocessor system with pipeline timing
US6986005B2 (en) Low latency lock for multiprocessor computer system
EP1012734B1 (en) Address translation in computer bus bridge devices
US6282598B1 (en) PCI bus system wherein target latency information are transmitted along with a retry request
US5293491A (en) Data processing system and memory controller for lock semaphore operations
WO1990005953A1 (en) Hardware implemented cache coherency protocole with duplicated distributed directories for high-performance multiprocessors
KR970049655A (ko) 직접메모리접근(dma) 제어장치
JPS62156752A (ja) 多重プロセツサ計算システム
EP0512685B1 (en) Quadrature bus protocol for carrying out transactions in a computer system
US5649209A (en) Bus coupling information processing system for multiple access to system bus
JPH02288927A (ja) 共有メモリ管理方式
JPH06324988A (ja) 非多重化非同期アドレス/データ・バス・システムを使用するデータ処理システム
EP0139568B1 (en) Message oriented interrupt mechanism for multiprocessor systems
US5517671A (en) System for designating a plurality of I/O devices to a plurality of I/O channels and connecting and buffering the plurality of I/O channels to a single system bus
KR940008484B1 (ko) 하이파이 버스를 채용한 다중처리기 시스템의 데이타 응답시간 최소화 방법
US5708783A (en) Data bus arbiter for pipelined transactions on a split bus
JPH0544238B2 (ko)
Schanin The design and development of a very high speed system bus—the encore Mutlimax nanobus
US20030065860A1 (en) Internal control bus in a multiple processor/multiple bus system
JPH11167546A (ja) バス制御方式およびこのバス制御方式を備えたマルチプ ロセッサシステム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20030901

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee