[go: up one dir, main page]

KR100391246B1 - 다중 프로세서 시스템의 시스템 버스 운용방법 - Google Patents

다중 프로세서 시스템의 시스템 버스 운용방법 Download PDF

Info

Publication number
KR100391246B1
KR100391246B1 KR1019960010500A KR19960010500A KR100391246B1 KR 100391246 B1 KR100391246 B1 KR 100391246B1 KR 1019960010500 A KR1019960010500 A KR 1019960010500A KR 19960010500 A KR19960010500 A KR 19960010500A KR 100391246 B1 KR100391246 B1 KR 100391246B1
Authority
KR
South Korea
Prior art keywords
system bus
signal
data
main memory
board
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1019960010500A
Other languages
English (en)
Other versions
KR970071260A (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 KR1019960010500A priority Critical patent/KR100391246B1/ko
Publication of KR970071260A publication Critical patent/KR970071260A/ko
Application granted granted Critical
Publication of KR100391246B1 publication Critical patent/KR100391246B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture

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)

Abstract

본 발명은 프로세서가 메인 메모리로부터 데이타를 가져오기 위해 시스템 버스를 억세스할때 다른 보드로 부터 Snack신호나 Dirty신호를 받거나 메인 메모리로부터 록 비지(Lock Busy)신호를 받았을 경우에 행하는 재시도 시간을 단축시켜 시스템 성능 향상을 도모하도록 한 다중 프로세서 시스템의 시스템 버스 운용방법에 관한 것이다.
이러한 본 발명은 프로세서가 데이타를 리드 또는 라이트할 경우 캐시 히트여부를 검색하는 제 1 과정과; 캐시 히트일 경우 캐시로 부터 데이타를 리드하거나 캐시에 데이타를 라이트하고 캐시 히트가 아닐 경우에는 시스템 버스를 억세스 한후 다른 보드로부터의 신호 전송 유무를 검색하는 제 2 과정과; 다른 보드로 부터 Snack신호나 Dirty신호 또는 Lock busy신호가 발생한 경우 재시도 시간을 단축하기 위해 시스템 버스 콘트롤러에서 재시도를 수행하여 바로 다른 보드로부터의 신호 전송 유무를 재검색하는 제 3 과정과; 다른 보드로부터 신호전송이 없는 경우 시스템 버스를 통해 메인 메모리로부터 데이타를 리드하거나 메인 메모리에 데이타를 라이트하는 제 4 과정을 순차 실행시키게 되는 것이다.

Description

다중 프로세서 시스템의 시스템 버스 운용방법
본 발명은 다중 프로세서 시스템(Multi-Processor System)의 시스템 버스 운용에 관한 것으로, 특히 프로세서가 메인 메모리로부터 데이타를 가져오기 위해 시스템 버스를 억세스할때 다른 보드로 부터 Snack신호나 Dirty신호를 받거나 메인 메모리로 부터 록 비지(Lock Busy)신호를 받았을 경우에 행하는 재시도 시간을 단축시켜 시스템 성능 향상을 도모하도록 한 다중 프로세서 시스템의 시스템 버스 운용방법에 관한 것이다.
일반적으로, 종래의 다중 프로세서 시스템은 데이타의 억세스를 위한 전반적인 제어를 행하는 중앙처리장치와, 시스템 버스 사용율과 메모리 억세스 시간을 줄이기 위한 캐시와, 프로세서가 메인 메모리를 억세스할때 필요한 제어신호를 발생하는 시스템 버스 콘트롤러와, 주기억 장치인 메인 메모리와, 데이타의 억세스를위한 공유 버스인 시스템 버스와, 보드간의 데이타 동일성을 유지하기 위한 신호를 만드는 스누프 콘트롤러로 구성 된다.
이와 같이 구성된 일반적인 다중 프로세서 시스템을 참조하여 종래 시스템 버스 운용 과정을 첨부한 도면 제 1 도에 의거 설명하면 다음과 같다.
먼저, 프로세서가 리드 또는 라이트 사이클을 시작했을때 캐시에 데이타가 존재하는지를 검색한다.
이때 캐시에 데이타가 존재하는 경우(캐시 히트인 경우)에는 캐시에서 데이타를 리드 또는 라이트하게 되며, 캐시에 데이타가 존재하지 않는 경우에는 시스템 버스를 통하여 메인 메모리로부터 데이타를 리드 또는 라이트한다.
여기서 시스템 버스를 억세스하기 위한 제어신호는 시스템 버스 콘트롤러가 생성하게 되고, 시스템 버스 콘트롤러는 시스템 버스에 제어신호를 구동한 후 다른 보드로부터의 응답 신호를 기다린다.
즉, 제 2 보드에서 데이타를 억세스하고 있는 동안 제 1 보드가 제 2 보드 영역의 데이타를 억세스하게 되면 제 2 보드의 스누프 콘트롤러에서 제 1 보드로 Snack나 Dirty신호를 구동하게 된다.
아울러 제 2 보드에서 구동한 영역이 메인 메모리의 록이 걸려있는 영역이라면 메인 메모리는 록 비지를 구동하게 된다.
그러면 제 1 보드의 시스템 버스 콘트롤러에서 Dirty, Snack, Lock busy신호의 응답이 없는 경우에는 정상적으로 메인 메모리에서 데이타를 리드 또는 라이트하고, 사이클을 종료하게 된다.
만약에 상기한 Dirty, Snack, Lock busy신호중 하나라도 받으면 정상적으로 메인 메모리에서 데이타를 리드 또는 라이트하지 못하므로 처음으로 리턴을 하여 재시도를 하게 된다.
상기에서 Dirty신호는 캐시 동일성을 유지하기 위한 신호로서 전송될 데이타가 캐시에서만 변형되어 현재 메모리에는 유효한 데이타가 존재하지 않음을 나타내며, Snack신호는 캐시 동일성을 유지하기 위한 신호로서 동작의 수행중 에러가 발생했음을 나타내며, Lock busy신호는 다중 프로세서 환경에서 프로세서 사이의 동기화를 보장하기 위해 사용되는 신호이다,
그러나 이러한 종래의 다중 프로세서 시스템은 프로세서가 메인 메모리로부터 데이타를 억세스하기 위해 시스템 버스를 억세스하는데는 1000ns이상 소요되며, 메인 메모리에 있는 데이타를 프로세서가 읽어가는데도 1000ns가 소요되므로 데이타 억세스 시간이 길어지는 단점이 있었다.
또한, 프로세서가 시스템 버스 억세스후 다른 보드로 부터 Snack, Dirty, Lock busy신호를 받아 재시도를 행할때 다시 시스템 버스를 억세스하는데도 최소한 1500ns가 소요되어 재시도 시간도 길어지는 단점이 있었다.
따라서 본 발명은 상기와 같은 종래 다중 프로세서 시스템의 제반 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 프로세서가 메인 메모리로부터 데이타를 가져오기 위해 시스템 버스를 억세스할때 다른 보드로 부터 Snack신호나 Dirty신호를 받거나 메인 메모리로 부터 록 비지(Lock Busy)신호를 받았을 경우에 행하는 재시도 시간을 단축시켜 시스템 성능 향상을 도모하도록 한 다중 프로세서 시스템의 시스템 버스 운용방법을 제공하는데 있다.
이러한 본 발명의 목적을 달성하기 위한 방법은,
프로세서가 데이타를 리드 또는 라이트할 경우 캐시 히트여부를 검색하는 제 1 과정과;
상기 캐시 히트일 경우 캐시로 부터 데이타를 리드하거나 캐시에 데이타를 라이트하고 캐시 히트가 아닐 경우에는 시스템 버스를 억세스하는 제 2 과정과;
상기 시스템 버스 억세스시 다른보드로 부터 Snack신호나 Dirty신호 또는 Lock busy신호가 발생한 경우 재시도 시간을 단축하기 위해 시스템 버스 콘트롤러에서 재시도를 수행하여 바로 다른 보드로부터의 신호 전송 유무를 재검색하는 제 3 과정과;
상기 다른 보드로부터 신호전송이 없는 경우 시스템 버스를 통해 메인 메모리로부터 데이타를 리드하거나 메인 메모리에 데이타를 라이트하는 제 4 과정으로 이루어진다.
이하, 본 발명의 바람직한 실시예를 첨부한 도면 제 2 도를 참조하여 상세히 설명하면 다음과 같다.
본 발명이 적용되는 다중 프로세서 시스템은 종래의 다중 프로세서 시스템과 동일하게 데이타의 억세스를 위한 전반적인 제어를 행하는 중앙처리장치와, 시스템 버스 사용율과 메모리 억세스 시간을 줄이기 위한 캐시와, 프로세서가 메인 메모리를 억세스할때 필요한 제어신호를 발생하는 시스템 버스 콘트롤러와, 주기억 장치인 메인 메모리와, 데이타의 억세스를 위한 공유 버스인 시스템 버스와, 보드간의데이타 동일성을 유지하기 위한 신호를 만드는 스누프 콘트롤러로 구성 된다.
이러한 구성을 갖는 본 발명이 적용되는 다중 프로세서 시스템을 참조하여 본 발명에 의한 시스템 버스 운용과정을 첨부한 도면 제 2 도에 의거 설명하면 다음과 같다.
먼저, 프로세서가 데이타를 리드 또는 라이트할 경우 리드 또는 라이트 사이클을 구동하고 캐시 영역에 데이타가 있는지를 검색한다.
이 검색 결과 캐시 영역에 데이타가 존재할 경우에는 캐시에서 데이타를 리드 또는 라이트하고, 캐시 영역에 데이타가 없을 경우에는 시스템 버스 콘트롤러에서 발생되는 제어신호에 따라 데이타 경로를 통해 시스템 버스를 억세스한다.
시스템 버스 억세스시 다른 보드로 부터 Snack신호 또는 Dirty신호 또는 Lock busy 신호가 전송되지 않은 경우에는 바로 시스템 버스를 통해 메인 메모리에서 데이타를 리드 또는 라이트하게 된다.
이와는 달리 다른 보드로부터 Snack신호 또는 Dirty신호 또는 Lock busy 신호가 전송된 경우에는 프로세서가 재시도를 행하지 않고 따로 시스템 버스 콘트롤러에서 재시도를 수행하여 바로 다른 보드로부터의 신호 전송 유무를 검색하게 된다.
이렇게 함으로써 재시도 시간을 단축 시킬 수 있으며, 다른 보드로부터 신호가 전송되지 않은 경우에는 시스템 버스를 통해 메인 메모리에서 데이타를 리드 또는 라이트하게 되는 것이다.
이상에서와 같이 본 발명은 프로세서가 메인 메모리로부터 데이타를 리드 또는 라이트할 경우 캐시 동일성 유지를 위해 다른 보드로부터의 신호 전송 유무를 검색하여 다른 보드로 부터 Snack신호 또는 Dirty신호 또는 Lock busy신호가 전송된 경우 프로세서가 재시도를 행하지 않고 시스템 버스 콘트롤러가 재시도를 수행 함으로써 바로 시스템 버스의 억세스가 가능하게되어 재시도 시간을 단축시킬 수 있는 효과가 있다.
더불어 재시도 시간의 단축으로 전체적인 시스템 성능 향상도 기대된다.
제 1 도는 종래 다중 프로세서 시스템의 시스템 버스 운용과정 흐름도.
제 2 도는 본 발명에 의한 다중 프로세서 시스템의 시스템 버스 운용과정 흐름도.

Claims (1)

  1. 프로세서가 데이타를 리드 또는 라이트할 경우 캐시 히트여부를 검색하는 제 1 과정과;
    상기 캐시 히트일 경우 캐시로 부터 데이타를 리드하거나 캐시에 데이타를 라이트하고 캐시 히트가 아닐 경우에는 시스템 버스의 억세스를 시도하는 제 2 과정과;
    상기 시스템 버스 억세스시 다른보드로 부터 Snack신호나 Dirty신호가 전송되거나 메인 메모리로부터 Lock busy신호가 발생한 경우 재시도 시간을 단축하기 위해 시스템 버스 콘트롤러에서 재시도를 수행하여 바로 다른 보드로부터의 신호 전송 유무를 재검색하는 제 3 과정과;
    상기 다른 보드로부터 신호전송이 없는 경우 시스템 버스를 통해 메인 메모리로부터 데이타를 리드하거나 메인 메모리에 데이타를 라이트하는 제 4 과정으로 이루어짐을 특징으로 하는 다중 프로세서 시스템의 시스템 버스 운용방법.
KR1019960010500A 1996-04-08 1996-04-08 다중 프로세서 시스템의 시스템 버스 운용방법 Expired - Fee Related KR100391246B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960010500A KR100391246B1 (ko) 1996-04-08 1996-04-08 다중 프로세서 시스템의 시스템 버스 운용방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960010500A KR100391246B1 (ko) 1996-04-08 1996-04-08 다중 프로세서 시스템의 시스템 버스 운용방법

Publications (2)

Publication Number Publication Date
KR970071260A KR970071260A (ko) 1997-11-07
KR100391246B1 true KR100391246B1 (ko) 2003-11-28

Family

ID=37421905

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960010500A Expired - Fee Related KR100391246B1 (ko) 1996-04-08 1996-04-08 다중 프로세서 시스템의 시스템 버스 운용방법

Country Status (1)

Country Link
KR (1) KR100391246B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5067071A (en) * 1985-02-27 1991-11-19 Encore Computer Corporation Multiprocessor computer system employing a plurality of tightly coupled processors with interrupt vector bus
JPH04140860A (ja) * 1990-10-02 1992-05-14 Nippon Telegr & Teleph Corp <Ntt> マルチプロセッサにおけるバス制御方法
KR930014058A (ko) * 1991-12-31 1993-07-22 정몽헌 프로세서 동작 제어장치 및 그 방법
JPH06250969A (ja) * 1993-02-24 1994-09-09 Pfu Ltd マルチプロセッサシステムにおけるバス制御方法
KR950024080A (ko) * 1994-01-27 1995-08-21 이헌조 멀티프로세서 시스템의 캐쉬 데이타 전송장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5067071A (en) * 1985-02-27 1991-11-19 Encore Computer Corporation Multiprocessor computer system employing a plurality of tightly coupled processors with interrupt vector bus
JPH04140860A (ja) * 1990-10-02 1992-05-14 Nippon Telegr & Teleph Corp <Ntt> マルチプロセッサにおけるバス制御方法
KR930014058A (ko) * 1991-12-31 1993-07-22 정몽헌 프로세서 동작 제어장치 및 그 방법
JPH06250969A (ja) * 1993-02-24 1994-09-09 Pfu Ltd マルチプロセッサシステムにおけるバス制御方法
KR950024080A (ko) * 1994-01-27 1995-08-21 이헌조 멀티프로세서 시스템의 캐쉬 데이타 전송장치

Also Published As

Publication number Publication date
KR970071260A (ko) 1997-11-07

Similar Documents

Publication Publication Date Title
US5659710A (en) Cache coherency method and system employing serially encoded snoop responses
US5193163A (en) Two-level protocol for multi-component bus ownership, and implementation in a multi-processor cache write back protocol
US6587931B1 (en) Directory-based cache coherency system supporting multiple instruction processor and input/output caches
JP3218773B2 (ja) キャッシュ・コントローラ
US4586133A (en) Multilevel controller for a cache memory interface in a multiprocessing system
EP0067345A2 (en) Digital processor with local storage contained in cache
EP0474450A2 (en) Processor system with improved memory transfer means
US6601145B2 (en) Multiprocessor system snoop scheduling mechanism for limited bandwidth snoopers that uses dynamic hardware/software controls
WO1997004392A1 (en) Shared cache memory device
KR100391246B1 (ko) 다중 프로세서 시스템의 시스템 버스 운용방법
JPH055137B2 (ko)
JP3226557B2 (ja) マルチプロセッサシステム
US6546468B2 (en) Multiprocessor system snoop scheduling mechanism for limited bandwidth snoopers performing directory update
US6546469B2 (en) Multiprocessor system snoop scheduling mechanism for limited bandwidth snoopers
KR920003285B1 (ko) 다중처리기 시스템의 데이터 전송제어방법
US7519778B2 (en) System and method for cache coherence
KR950003877B1 (ko) 캐쉬 업데이트(Cache Update)장치 및 방법
JP3187446B2 (ja) キャッシュメモリ制御装置
JP3219422B2 (ja) キャッシュメモリ制御方式
KR0140952B1 (ko) 다중 프로세서 시스템의 단일 캐시 공유 장치 및 그 장치를 이용한 데이타 기록/판독 방법
JPH03147153A (ja) キャッシュメモリ装置
KR100368744B1 (ko) 하이-파이 버스에서의 캐쉬 동일성 유지를 위한 재시도장치및방법
US6546470B1 (en) Multiprocessor system snoop scheduling mechanism for limited bandwidth snoopers with banked directory implementation
JP2716163B2 (ja) キャッシュメモリ制御方式
JP2656558B2 (ja) キャッシュメモリ制御回路

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 19960408

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20000908

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 19960408

Comment text: Patent Application

N231 Notification of change of applicant
PN2301 Change of applicant

Patent event date: 20020911

Comment text: Notification of Change of Applicant

Patent event code: PN23011R01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20030612

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20030701

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20030702

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20060630

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20070629

Start annual number: 5

End annual number: 5

FPAY Annual fee payment

Payment date: 20080612

Year of fee payment: 6

PR1001 Payment of annual fee

Payment date: 20080612

Start annual number: 6

End annual number: 6

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20100610