KR100239290B1 - 피6(p6) 버스를 이용한 컴퓨터 시스템에서 메모리 엑세스 장치 - Google Patents

피6(p6) 버스를 이용한 컴퓨터 시스템에서 메모리 엑세스 장치 Download PDF

Info

Publication number
KR100239290B1
KR100239290B1 KR1019970028281A KR19970028281A KR100239290B1 KR 100239290 B1 KR100239290 B1 KR 100239290B1 KR 1019970028281 A KR1019970028281 A KR 1019970028281A KR 19970028281 A KR19970028281 A KR 19970028281A KR 100239290 B1 KR100239290 B1 KR 100239290B1
Authority
KR
South Korea
Prior art keywords
bus
line data
cache line
memory
requested
Prior art date
Application number
KR1019970028281A
Other languages
English (en)
Other versions
KR19990004231A (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 KR1019970028281A priority Critical patent/KR100239290B1/ko
Publication of KR19990004231A publication Critical patent/KR19990004231A/ko
Application granted granted Critical
Publication of KR100239290B1 publication Critical patent/KR100239290B1/ko

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

본 발명은 템프 버퍼를 통해 다음 어드레스에 대한 라인 데이터를 미리 저장한 후 P6 버스로 전송하게 하여 메모리 액세스 시간을 줄여 시스템의 I/O 성능이 향상되도록 한 P6 버스를 이용한 컴퓨터 시스템에서 메모리 엑세스 장치에 관한 것이다.
종래에는 메모리 대기 시간 동안 P6 버스를 전혀 사용하지 않은 상태로 홀딩함으로 P6 버스의 사용율이 저하될 뿐만 아니라 메모리 대기 시간이 길 경우에는 I/O 성능이 현저하게 저하되는 문제점이 있었다.
이것을 해결하기 위해, 본 발명은 P6 버스상의 I/O 에이전트(102)에 의해 발생되는 캐쉬 라인 리드 오퍼레이션에서 다음 캐쉬 라인 데이터를 메모리 유니트(104)로부터 미리 가져와 저장하는 템프 버퍼(106)와, 이 템프 버퍼(106)에 저장된 데이터를 다음 캐쉬 라인 리드 요청시 P6 버스상으로 보내는 메모리 컨트롤러(103)로 구성된다.

Description

피6(P6) 버스를 이용한 컴퓨터 시스템에서 메모리 엑세스 장치
본 발명은 P6 버스를 이용한 컴퓨터 시스템에 관한 것으로, 특히 P6 버스상의 I/O 에이전트(Input/Output Agent)에 의해 발생되는 캐쉬 라인 리드(Cache Line Read) 오퍼레이션에서 다음 캐쉬 라인 데이터를 메모리로부터 미리 가져와 템프 버퍼(Temp Buffer)에 저장한 후 이를 다음 캐쉬 라인 리드 요청시 P6 버스상으로 보냄으로써 메모리 엑세스(Access) 시간을 줄여 시스템 I/O 성능이 향상되도록 한 P6 버스를 이용한 컴퓨터 시스템에서 메모리 엑세스 장치에 관한 것이다.
일반적으로 P6 버스를 이용한 컴퓨터 시스템에서 P6 버스상의 I/O 에이전트로는 인텔 PCI 브리지(Intel PCI Bridge)가 상용화되어 있고, I/O 오퍼레이션은 블록단위로 수행하였다.
그러나, 종래에는 PCI 버스상에서 발생한 블록 I/O를 처리하기 위한 P6 버스에서 캐쉬 라인 리드 수행시에 현재 발생시킨 캐쉬 라인 리드 동작이 완료될 때까지는 다음 캐쉬 라인 리드 동작을 P6 버스상으로 요청할 수가 없었다.
따라서, 메모리 대기 시간(어드레스를 보낸 시점에서 데이터가 전송될 때까지의 시간) 동안은 P6 버스를 전혀 사용하지 않은 상태로 홀딩함으로 P6 버스의 사용율이 저하될 뿐만 아니라 메모리 대기 시간이 길 경우에는 I/O 성능이 현저하게 저하되는 문제점이 있었다.
따라서 본 발명은 상기한 종래 기술의 문제점을 해결하기 위하여 제안한 것으로서, P6 버스상의 I/O 에이전트에 의해 발생되는 캐쉬 라인 리드 오퍼레이션에서 다음 캐쉬 라인 데이터를 메모리로부터 미리 가져와 템프 버퍼에 저장함과 동시에 이의 어드레스를 유지한 상태에서 다음 캐쉬 라인 어드레스에 대한 캐쉬 라인 리드 요청시 템프 버퍼에 저장된 데이터를 P6 버스상으로 보냄과 동시에 다 다음 캐쉬 라인 데이터를 메모리로부터 미리 가져와 템프 버퍼에 저장함과 아울러 이의 어드레스를 유지하도록 함으로써, 메모리 액세스에 소요되는 시간이 현저하에 줄어들게 하여 P6 버스의 사용율이 향상되게 하고, 메모리 대기 시간을 줄여 시스템의 I/O 성능이 향상되게 함과 아울러 전체적인 성능이 향상되게 하는데 그 목적이 있다.
이러한 목적을 달성하기 위한 본 발명은, PCI 디바이스에서 블록 I/O 리드(Read)를 처리하기 위해 PCI 버스를 통하여 다중 라인 리드 작업이 요청되면 피6(P6) 버스상으로 캐쉬 라인 데이터를 요청하는 PCI I/0 에이전트와; 상기 PCI 버스를 통하여 캐쉬 라인 데이터가 요청되면 요청된 캐쉬 라인 데이터와 다음 캐쉬 라인 데이터가 메모리 유니트로부터 출력되게 하여 라인 데이터를 상기 P6 버스상으로 전송하는 메모리 컨트롤러와; 상기 PCI 버스를 통하여 캐쉬 라인 데이터가 요청 되면 레디(Ready)상태에서 상기 다음 캐쉬 라인 데이터를 저장한 후 밸리드(Valid)상태로 유지하다가 상기 P6 버스상으로 다음 캐쉬 라인 데이터가 요청되면 저장된 라인 데이터를 상기 메모리 컨트롤러로 전송하는 템프 버퍼로 구성함을 특징으로 한다.
제1도는 본 발명에 의한 P6 버스를 이용한 컴퓨터 시스템에서 메모리 엑세스 장치의 블록 구성도.
〈도면의 주요부분에 대한 부호의 설명〉
101 : PCI 디바이스 102 : PCI I/O 에이전트
103 : 메모리 컨트롤러 104 : 메모리 유니트
105 : 버퍼 컨트롤 로직 106 : 템프 버퍼
이하, 본 발명을 첨부한 도면에 의거하여 상세히 설명하면 다음과 같다.
도 1은 본 발명에 의한 P6 버스를 이용한 컴퓨터 시스템에서 메모리 엑세스 장치의 블록 구성도를 나타낸 것으로서, PCI 디바이스(101)에서 블록 I/O 리드를 처리하기 위해 PCI 버스를 통하여 다중 라인 리드 작업이 요청되면 BPRI# 신호를 액티브(LOW)로 만든 후 P6 버스상으로 메모리 라인 리드 작업을 발생시켜 캐쉬 라인 데이터를 메모리 컨트롤러(103)로 요청하는 PCI I/O 에이전트(102)와, PCI I/O 에이전트(102)에 의해 P6 버스상에 발생된 작업이 메모리 라인 리드 작업이고 BPRI# 신호가 액티브(LOW)임이 감지되면 템프 버퍼(106)를 레디 상태로 유지하여 다음 캐쉬 라인 데이터를 저장할 준비를 하는 버퍼 컨트롤 로직(105)과, 캐쉬 라인 데이터가 요청되면 요청된 캐쉬 라인 데이터와 다음 캐쉬 라인 데이터가 메모리 유니트(104)로부터 출려되게 하여 라인 데이터를 P6 버스상으로 전송하는 메모리 컨트롤러(103)와, 메모리 유니트(104)가 출력한 다음 캐쉬 라인 데이터를 저장한 후 밸리드 상태로 유지하다가 P6 버스상으로 다음 캐쉬 라인 데이터가 요청되면 저장된 라인 데이터를 메모리 컨트롤러(103)로 전송하는 템프 버퍼(106)로 구성되어져 있다.
이와 같이 구성된 본 발명의 동작 및 작용 효과를 첨부한 도면 제 1 도를 참조하여 설명하면 다음과 같다.
먼저, PCI 디바이스(101)는 블록 I/0 리드를 처리하기 위해 PCI 버스를 이용하여 PCI I/O 에이전트(102)에게 다중 라인 리드 작업을 요청하게 된다.
이때, I/O 오퍼레이션은 블록 단위로 이루어지는데 블록 사이즈는 시스템에 따라 다소 차이가 있지만 대개 152바이트 정도이고 캐쉬 라인 사이즈가 32바이트이므로 캐쉬 라인 리드 오퍼레이션을 16회 수행하여야 한다.
그러면, PCI I/O 에이전트(102)는 작업을 처리하기 위해 BPRI# 신호를 로우로 만든 후 P6 버스상으로 메모리 라인 리드(이하 "MLR"이라 칭함) 작업을 발생시켜 캐쉬 라인 데이터를 메모리 컨트롤러(103)에 요청하게 된다.(이때의 어드레스를 AA라고 가정한다.)
다음으로, 버퍼 컨트롤 로직(105)은 P6 버스상에 발생된 작업이 MLR이고 BPRI# 신호가 로우이면 템프 버퍼(106)의 상태를 레디로 만들고 현재 요청된 어드레스의 다음 라인 어드레서(AA+32)를 저장하게 된다.
그러면, 메모리 컨트롤러(103)는 요청된 어드레스 AA와 다음 어드레스 AA+32를 메모리 유니트(104)로 전송하게 된다.
그래서, 메모리 유니트(104)에서 AA 어드레스에 대한 라인 데이터가 메모리 컨트롤러(103)로 전송되게 되고, 이와 연속하여 AA+32 어드레스에 대한 라인 데이터가 전송되면 버퍼 컨트롤 로직(105)은 이를 템프 버퍼(106)에 저장한 후 템프 버퍼(106)의 상태를 밸리드로 유지하게 된다.
이후, 메모리 컨트롤러(103)는 AA 어드레스에 대한 라인 데이터를 PCI I/O 에이전트(102)로 전송하게 되고, 이 PCI I/O 에이전트(102)는 요청한 작업이 완료되었으므로 다음 라인 어드레스인 AA+32에 대한 MLR 작업을 P6 버스로 발생시키게 된다. 이때, BPRI# 신호는 다중 라인 리드 작업이 완료될 때까지 로우상태를 유지한다.
다음으로, 버퍼 컨트롤 로직(105)은 BPRI# 신호는 로우이고 MLR 작업이 감지되므로 템프 버퍼(106)의 상태 및 버퍼 컨트롤 로직(105)내에 저장된 어드레스와 현재 P6 버스상에 요청된 어드레스를 체크하게 된다.
또한, 메모리 컨트롤러(103)는 요청된 어드레스 AA+32와 다음 어드레스 AA+64를 메모리 유니트(104)로 보내게 된다.
그러면, 버퍼 컨트롤 로직(105)은 어드레스 체크 결과 템프 버퍼(106)의 상태는 밸리드이고 직전에 저장되었던 어드레스(AA+32)와 현재 P6 버스상에 요청된 어드레스(AA+32)가 동일함으로 템프 버퍼(106)내의 라인 데이터를 메모리 컨트롤러(103)로 전송하게 되어 이 라인 데이터가 P6 버스로 전송되게 된다.
이때, 템프 버퍼(106)내의 라인 데이터가 메모리 컨트롤러(103)로 전송되면 템프 버퍼(106)는 준비상태가 된다.
그리고, 메모리 컨트롤러(103)로부터 요청된 AA+32 어드레스에 대한 라인 데이터가 메모리 유니트(104)에서 메모리 컨트롤러(103)로 전송되는데 이 데이터는 이미 템프 버퍼(106)를 통해 전송되었으므로 무효화된다.
한편, AA+32 어드레스에 대한 라인 데이터와 연속해서 전송되는 AA+64 어드레스에 대한 라인 데이터는 템프 버퍼(106)내에 저장되게 되고, 템프 버퍼(106)는 밸리드 상태를 유지하게 된다.
즉, 다중 라인 리드가 완료될 때까지 상기와 같은 동작이 계속적으로 반복되게 된다.
이상에서 설명한 바와 같이 본 발명은 템프 버퍼를 통해 다음 어드레스에 대한 라인 데이터를 미리 저장하여 이를 P6 버스로 전송함으로써, 메모리 액세스에 소요되는 시간이 현저하게 줄어들게 하여 P6 버스의 사용율이 향상되게 할 뿐만 아니라 메모리 대기 시간을 줄여 시스템의 I/O 성능이 향상되는 효과가 있다.

Claims (1)

  1. 피시아이(PCI) 디바이스(101)에서 블록 입출력(I/O) 리드(Read)를 처리하기 위해 PCI 버스를 통하여 다중 라인 리드 작업이 요청되면 피6(P6) 버스상으로 캐쉬라인 데이터를 요청하는 PCI I/0 에이전트(102)와, 상기 PCI 버스를 통하여 캐쉬 라인 데이터가 요청되면 요청된 캐쉬 라인 데이터와 다음 캐쉬 라인 데이터가 메모리 유니트(104)로부터 출력되게 하여 라인 데8이터를 상기 P6 버스상으로 전송하는 메모리 컨트롤러(103)와, 상기 PCI 버스를 통하여 캐쉬 라인 데이터가 요청되면 레디(Ready)상태에서 상기 다음 캐쉬 라인 데이터를 저장한 후 밸리드(Valid)상태로 유지하다가 상기 P6 버스상으로 다음 캐쉬 라인 데이터가 요청되면 저장된 라인 데이터를 상기 메모리 컨트롤러(103)로 전송하는 템프 버퍼(106)를 포함하여 구성된 것을 특징으로 하는 피6(P6) 버스를 이용한 컴퓨터 시스템에서 메모리 엑세스 장치.
KR1019970028281A 1997-06-27 1997-06-27 피6(p6) 버스를 이용한 컴퓨터 시스템에서 메모리 엑세스 장치 KR100239290B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970028281A KR100239290B1 (ko) 1997-06-27 1997-06-27 피6(p6) 버스를 이용한 컴퓨터 시스템에서 메모리 엑세스 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970028281A KR100239290B1 (ko) 1997-06-27 1997-06-27 피6(p6) 버스를 이용한 컴퓨터 시스템에서 메모리 엑세스 장치

Publications (2)

Publication Number Publication Date
KR19990004231A KR19990004231A (ko) 1999-01-15
KR100239290B1 true KR100239290B1 (ko) 2000-01-15

Family

ID=19511766

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970028281A KR100239290B1 (ko) 1997-06-27 1997-06-27 피6(p6) 버스를 이용한 컴퓨터 시스템에서 메모리 엑세스 장치

Country Status (1)

Country Link
KR (1) KR100239290B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NO312119B1 (no) * 1999-04-29 2002-03-18 Ole Einar Broenlund Innretning for kalibrering av temperaturfölere
KR100488117B1 (ko) * 2000-12-29 2005-05-09 엘지전자 주식회사 이중 버스 구조를 이용한 데이터 처리장치

Also Published As

Publication number Publication date
KR19990004231A (ko) 1999-01-15

Similar Documents

Publication Publication Date Title
US5537575A (en) System for handling cache memory victim data which transfers data from cache to the interface while CPU performs a cache lookup using cache status information
KR970010368B1 (ko) 캐시라인 리프레이스장치 및 방법
US6718441B2 (en) Method to prefetch data from system memory using a bus interface unit
JPH0337744A (ja) データ処理装置
JPH03127147A (ja) 情報処理システム
US6233656B1 (en) Bandwidth optimization cache
CN107943726A (zh) 一种基于PCIe接口的数据传输系统及方法
KR100239290B1 (ko) 피6(p6) 버스를 이용한 컴퓨터 시스템에서 메모리 엑세스 장치
JPH08161254A (ja) 情報処理システムおよびそのバス調停方式
JPH0830546A (ja) バス制御装置
US6052762A (en) Method and apparatus for reducing system snoop latency
KR960035272A (ko) 캐시메모리와 프로세서 버스간의 인터페이스 및 그 방법
JPH02110646A (ja) メモリの先行読出し装置
JPS6468868A (en) Buffer control system for bus adapter
JP3145765B2 (ja) 情報処理装置
JP2001229074A (ja) メモリ制御装置と情報処理装置及びメモリ制御チップ
JP2748862B2 (ja) バスインタフェースアダプタ
JP3782178B2 (ja) 情報処理装置
JPH0756844A (ja) システムメモリを有するバスをベースにしたコンピュータシステムに使用するためのマスタバスマスタおよびバスをベースにしたコンピュータシステム
JP2552025B2 (ja) データ転送方式
US6175895B1 (en) Cache enabling architecture
JPH02112039A (ja) バッファ記憶装置
JPS6468869A (en) Buffer control system for bus adapter
KR100240923B1 (ko) 정보 처리 시스템 내의 버스상에 결합된 내부 장치들간의 통신을 위한 방법 및 그 정보 처리 시스템
KR100247424B1 (ko) 라이트 버퍼를 이용한 외부 캐시 장치

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee