KR0154840B1 - 피씨아이-피씨아이 브리지의 버퍼 플러쉬 제어 장치 - Google Patents

피씨아이-피씨아이 브리지의 버퍼 플러쉬 제어 장치

Info

Publication number
KR0154840B1
KR0154840B1 KR1019950046783A KR19950046783A KR0154840B1 KR 0154840 B1 KR0154840 B1 KR 0154840B1 KR 1019950046783 A KR1019950046783 A KR 1019950046783A KR 19950046783 A KR19950046783 A KR 19950046783A KR 0154840 B1 KR0154840 B1 KR 0154840B1
Authority
KR
South Korea
Prior art keywords
flush
signal
buffer
ppb
state
Prior art date
Application number
KR1019950046783A
Other languages
English (en)
Other versions
KR970049566A (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 KR1019950046783A priority Critical patent/KR0154840B1/ko
Priority to US08/759,880 priority patent/US5983304A/en
Publication of KR970049566A publication Critical patent/KR970049566A/ko
Application granted granted Critical
Publication of KR0154840B1 publication Critical patent/KR0154840B1/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
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • G06F13/4059Coupling between buses using bus bridges where the bridge performs a synchronising function where the synchronisation uses buffers, e.g. for speed matching between buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Bus Control (AREA)
  • Communication Control (AREA)

Abstract

피씨이비에서 제1버퍼 플러쉬 요구 신호가 입력되거나, 에이픽 인터럽트가 발생할때 이에스씨에서 발생하는 제2버퍼 플러쉬 요구 신호가 입력될때 피씨아이-피씨아이 브리지의 버퍼 플러쉬 요구 신호를 해당 장치로 출력하는 제1조합회로와 ; 상기 제1조합회로에서 발생하는 피씨아이-피씨아이 브리지의 버퍼 플러쉬 요구 신호가 입력되거나, 피씨아이-피씨아이 브리지의 데이타 버퍼가 완전히 플러쉬되었음을 알리는 제1플러쉬 완료 신호의 입력에 따라 피씨아이-피씨아이 브리지의 데이타 버퍼를 플러쉬시키고 데이타 버퍼의 사용을 정지시키기 위한 제어 신호를 해당 장치로 출력하는 제1상태머신과 ; 피씨아이-피씨아이 브리지의 데이타 버퍼가 완전히 플러쉬되었음을 알리는 제1플러쉬 완료 신호가 입력되거나, 인터럽트 요구 신호의 입력에 의해 PPB의 데이타 버퍼를 플러쉬시키고 데이타 버퍼의 사용을 정지시키기 위한 제어 신호를 해당 장치로 출력하는 제2상태머신과 ; 상기 제1 및 제2상태머신에서 입력되는 제어 신호와 외부 입력 신호를 조합한 신호를 출력하는 제2조합회로로 이루어지는 피씨아이-피씨아이 브리지의 버퍼 플러쉬 제어 장치는 PPB의 내부에 있는 데이타 버퍼의 플러쉬 동작을 효과적으로 제어하므로서 데이타의 일관성을 유지하며 시스템이 교착 상태에 빠지지 않고 정상적으로 동작할 수 있게 한다.

Description

피씨아이-피씨아이 브리지의 버퍼 플러쉬 제어 장치
제1도는 이 발명의 실시예에 따른 피씨아이-피씨아이 브리지의 버퍼 플러쉬 제어 장치의 시스템내의 위치도이고,
제2도는 이 발명의 실시예에 따른 피씨아이-피씨아이 브리지의 버퍼 플러쉬 제어 장치의 내부 블럭 구성도이고,
제3도는 이 발명의 실시예에 따른 피씨아이-피씨아이 브리지의 버퍼 플러쉬 제어 장치의 제1상태머신의 동작 흐름도이고,
제4도는 이 발명의 실시예에 따른 피씨아이-피씨아이 브리지의 버퍼 플러쉬 제어 장치의 제2상태머신의 동작 흐름도이고,
제5도는 이 발명의 실시예에 따른 피씨아이-피씨아이 브리지의 버퍼 플러쉬 제어 장치의 외부 신호 배치도이다.
이 발명은 피씨아이-피씨아이 브리지(PCI-PCI(Peripheral Component Interconnect, 이하 PCI라 표기한다.) Bridge, 이하 PPB라 표기한다.)의 버퍼(Buffer) 플러쉬(Flush) 제어 장치에 관한 것으로, 더욱 상세하게 말하자면, PPB의 내부에 있는 데이타 버퍼(Data Buffer)의 플러쉬 동작을 효과적으로 제어하므로서 데이타의 일관성을 유지하여 시스템이 교착 상태(Deadlock)에 빠지지 않고 정상적으로 동작할 수 있게 하고자 하는 피씨아이-피씨아이 브리지의 버퍼 플러쉬 제어 장치에 관한 것이다.
종래의 컴퓨터 시스템은 컴퓨터의 성능을 향상하기 위하여 포스티드 라이트 버퍼(Posted Write Buffer), 리드 버퍼(Read Buffer) 및 라인 버퍼(Line Buffer)등의 여러가지 데이타 버퍼를 도구화하였다.
그러나 상기의 여러가지 데이타 버퍼를 도구화한 경우 데이타의 일관성을 유지하지 못하여 시스템이 교착 상태에 빠져 컴퓨터 시스템에 치명적인 결함을 가져오는 문제점이 있다.
그러므로, 이 발명의 목적은 상기한 종래의 문제점을 해결하기 위한 것으로서, PPB의 내부에 있는 데이타 버퍼의 플러쉬 동작을 효과적으로 제어하므로서 데이타의 일관성을 유지하여 시스템이 교착 상태에 빠지지 않고 정상적으로 동작할 수 있게 하는 피씨아이-피씨아이 브리지의 버퍼 플러쉬 제어 장치를 제공하기 위한 것이다.
상기한 목적을 달성하기 위한 수단으로써 이 발명의 구성은, 피씨이비(PCEB(PCI-EISA Bridge), 이하 PCEB라 표기한다.)에서 제1버퍼 플러쉬 요구 신호가 입력되거나, 에이픽(APIC(Advanced programmable Interrupt Controller), 이하 APIC라 표기한다.) 인터럽트가 발생할 때 이에스씨(ESC(EISA System Controller), 이하 ESC라 표기한다.)에서 발생된 제2버퍼 플러쉬 요구 신호가 입력될때 PPB의 버퍼 플러쉬 요구 신호를 해당 장치로 출력하는 제1조합회로와; 상기 제1조합회로에서 발생하는 PPB의 버퍼 플러쉬 요구 신호가 입력되거나, PPB에서 내부의 데이타 버퍼가 완전히 플러쉬되었음을 알리는 제1플러쉬 완료 신호의 입력에 따라 PPB의 데이타 버퍼를 플러쉬시키고 데이타 버퍼의 사용을 정지시키기 위한 제어 신호를 해당장치로 출력하는 제1상태머신과;
PPB에서 내부의 데이타 버퍼가 완전히 플러쉬되었음을 알리는 제1플러쉬 완료 신호가 입력되거나, 인터럽트 요구 신호의 입력에 의해 PPB의 데이타 버퍼를 플러쉬시키고 데이타 버퍼의 사용을 정지시키기위한 제어 신호를 해당 장치로 출력하는 제2상태머신과;
상기 제1 및 제2상태머신에서 입력되는 제어 신호와 외부 입력신호를 조합한 신호를 출력하는 제2조합회로로 이루어진다.
상기한 구성에 의한 이 발명을 용이하게 실시할 수 있는 가장 바람직한 실시예를 첨부된 도면을 참조로 설명하면 다음과 같다.
제1도는 이 발명의 실시예에 따른 피씨아이-피씨아이 브리지의 버퍼 플러쉬 제어 장치의 컴퓨터 시스템내의 위치도이고,
제2도는 이 발명의 실시예에 따른 피씨아이-피씨아이 브리지의 버퍼 플러쉬 제어 장치의 내부 블럭 구성도이고,
제3도는 이 발명의 실시예에 따른 피씨아이-피씨아이 브리지의 버퍼 플러쉬 제어 장치의 제1상태머신의 동작 흐름도이고,
제4도는 이 발명의 실시예에 따른 피씨아이-피씨아이 브리지의 버퍼 플러쉬 제어 장치의 제2상태머신의 동작 흐름도이고,
제5도는 이 발명의 실시예에 따른 피씨아이-피씨아이 브리지의 버퍼 플러쉬 제어 장치의 외부 핀 배치도이다.
첨부한 제2도에 도시되어 있듯이 이 발명의 실시예에 따른 피씨아이-피씨아이 브리지의 버퍼 플러쉬 제어 장치의 구성은,
PCEB에서 제1버퍼 플러쉬 요구 신호(FLSHREQ_)가 입력되거나, APIC 인터럽트가 발생하여 ESC에서 발생하는 제2버퍼 플러쉬 요구 신호(AFLUSH_ESC_)가 입력될때 PPB의 버퍼 플러쉬 요구 신호(PPBFLSHREQ_)를 해당 장치로 출력하는 제1조합회로(10)와 ;
상기 제1조합회로(10)에서 발생하는 PPB의 버퍼 플러쉬 요구 신호(PPBFLSHREQ_)가 입력되거나, PPB에서 데이타 버퍼의 플러쉬가 완료되었음을 알리는 제1플러쉬 완료 신호(SBUFNE_)의 입력에 따라 PPB의 버퍼를 플러쉬시키고 버퍼의 사용을 정지시키기 위한 제어 신호(PPBMEMACK_, SDISPSTA_)를 해당 장치로 출력하는 제1상태머신(20)과 ;
PPB의 버퍼가 완전히 플러쉬되었음을 알리는 제1플러쉬 완료 신호(SBUFNE_)가 입력되거나, 인터럽트 요구 신호(INTR)의 입력에 의해 PPB에 데이타 버퍼를 플러쉬시키고 버퍼의 사용을 정지시키기 위한 제어 신호(SDISPSTP_, INTEN)를 해당 장치로 출력하는 제2 상태머신(30)과 ;
상기 제1 및 제2상태머신(20,30)에서 입력되는 제어 신호(PPBMEMACK_, SDISPSTA_, SDISPSTP_)와 비씨유(BCU(Bus Conteroller Unit), 이하 BCU라 표기한다.)에서 입력되는 제3플러쉬 완료 신호(BCUMEMACK_)를 조합하여 제3플러쉬 실행 신호(SDISPST_)와 PPB의 버퍼 플러쉬가 완료되었음을 PCEB에 알려주는 제4플러쉬 완료 신호(MEMACK_)를 출력하는 제2조합회로(40)로 이루어진다.
상기 제1상태머신(40)은 제1플러쉬 실행 신호(SDISPSTA_) 및 제2플러쉬 완료 신호(PPBMEMACK_)를 비활성화 상태로 하여 명령을 기다리고(S301) ;
피씨아이 리셋 신호(PCIRST_)가 활성화 상태인지 판단하고(S302) ;
PPB의 버퍼 플러쉬 요구 신호(PPBFLSHREQ_)가 활성화 상태인지 판단하고(S303) ;
제1플러쉬 실행 신호(SDISPSTA_)는 활성화 상태로 변환하고 제2플러쉬 완료 신호(PPBMEMACK_)는 비활성화 상태를 유지하도록 처리하고(S304) ;
피씨아이 리셋 신호(PCIRST_)가 활성화 상태인지 판단하고(S305) ;
상기 제1플러쉬 실행 신호(SDISPSTA_)의 활성화 상태와 제2플러쉬 완료 신호(PPBMEMACK_)의 비활성화 상태를 유지하도록 처리하고(S306) ;
피씨아이 리셋 신호(PCIRST_)가 활성화 상태인지 판단하고(S307) ;
상기 제1플러쉬 실행 신호(SDISPSTA_)의 활성화 상태와 제2플러쉬 완료 신호(PPBMEMACK_)의 비활성화 상태를 유지하도록 처리하고(S308) ;
피씨아이 리셋 신호(PCIRST_)가 활성화 상태인지 판단하고(S309) ;
제1플러쉬 완료 신호(SBUFNE_)의 대기 시간(Latency)때문에 필요하 지연 시간을 제공하는 동작 과정(S306∼309) 이후에 제1플러쉬 완료 신호(SBUFNE_)가 활성화 상태인지 판단하고(SA0) ;
제1플러쉬 실행 신호(SDISPSTA_) 및 제2플러쉬 완료 신호(PPBMEMACK_)를 활성화 상태로 만들고(SA1) ;
피씨아이 리셋 신호(PCIRST_)가 활성화 상태인지 판단하고(SA2) ;
PPB의 버퍼 플러쉬 요구 신호(PPBFLSHREQ_)가 활성화 상태인지 판단하는 동작(SA3)을 한다.
상기와 같이 동작하는 제1상태머신(20)의 상태 천이표는 표 1과 같다.
상기 제2상태머신(30)은 제2플러쉬 실행 신호(SDISPSTP_) 및 인터럽트 제어 신호(INTEN)를 비활성화 상태로 하여 명령을 기다리고(S401) ;
피씨아이 리셋 신호(PCIRST_)가 활성화 상태인지 판단하고(S402) ;
인터럽트 요구 신호(INTR)가 활성화 상태인지 판단하고(S403) ;
제2플러쉬 실행 신호(SDISPSTP_) 및 인터럽트 제어 신호(INTEN)를 비활성화 상태로 하여 명령을 기다리고(S404) ;
피씨아이 리셋 신호(PCIRST_)가 활성화 상태인지 판단하고(S405) ;
인터럽트 요구 신호(INTR)가 활성화 상태인지 판단하고(S406) ;
상기 인터럽트 요구 신호(INTR)가 라인의 노이즈에 의해 PPB의 데이타 버퍼를 불필요하게 플러쉬하는 것을 방지하기 위한 여러 동작(S404∼S406)의 실행 결과 인터럽트 요구 신호(INTR)가 활성화 상태이면, 인터럽트 제어 신호(INTEN)는 비활성화 상태를 유지하고 제2플러쉬 실행 신호(SDISPSTP_)는 활성화 상태로 변환하여 PPB의 데이타 버퍼를 플러쉬시키고 버퍼의 사용을 정지시키고(S407) ;
피씨아이 리셋 신호(PCIRST_)가 활성화 상태인지 판단하고(S408) ;
상기 제2플러쉬 실행 신호(SDISPSTP_)의 활성화 상태와 인터럽트 제어 신호(INTEN)의 비활성화 상태를 유지하도록 처리하고(S409) ;
피씨아이 리셋 신호(PCIRST_)가 활성화 상태인지 판단하고(S4A0) ;
상기 제2플러쉬 실행 신호(SDISPSTP_)의 활성화 상태와 인터럽트 제어 신호(INTEN)의 비활성화 상태를 유지하도록 처리하고(S4A1) ;
피씨아이 리셋 신호(PCIRST_)가 활성화 상태인지 판단하고(S4A2) ;
제1플러쉬 완료 신호(SBUFNE_)의 대기 시간 때문에 필요한 지연 시간을 제공하는 여러 동작(S409∼S4A2)이후에 제1플러쉬 완료 신호(SBUFNE_)가 활성화 상태인지 판단하고(S4A3) ;
제2플러쉬 실행 신호는 활성화 상태를 유지하고, 인터럽트 제어 신호(INTEN)를 활성화 상태로 변환하여 PPB의 데이타 버퍼가 완전히 플러쉬되었음을 중앙처리장치에 알리고(S4A4) ;
피씨아이 리셋 신호(PCIRST_)가 활성화 상태인지 판단하고(S4A5) ;
인터럽트 요구 신호(INTR)가 활성화 상태인지 판단하는 동작(S4A6)을 한다.
상기와 같이 동작하는 상기 제2상태머신(30)의 상태 천이표는 표 2와 같다.
상기한 구성에 의한 이 발명의 실시예에 따른 피씨아이-피씨아이 브리지의 버퍼 플러쉬 제어 장치의 작용을 다음과 같다.
먼저, 컴퓨터 시스템이 APIC 모드에서 동작하는 경우에 대하여 설명하면 다음과 같다.
컴퓨터 시스템이 APIC 모드에서 동작할 때 PPB의 데이타 버퍼의 플러쉬 요구가 발생하는 경우를 몇가지 기술하면 다음과 같다.
첫번째로, APIC 인터럽트가 발생하지 않은 상태에서 에이사/아이사 마스터(EISA/ISA Master) 또는 디엠에이(DMA(Direct Memory Access)에게 PCI 제어권을 주기전에 모든 PCI 시스템의 포스티드 라이트 버퍼는 플러쉬되어야 한다.
두번째로, 에이사 발생 사이클이 호스트/피씨아이 브리지(HOST/PCI Bridge)상에 있는 메인 메모리를 액세스할 수 있으므로 에이사/아이사 마스터 또는 디엠에이가 호스트/피씨아이 브리지의 조절을 기다리면서 에이사/아이사의 검사 준비의 타이밍 명세인 2.1㎲ 보다 긴 대기 상태에 들어갈 수 있다.
이때, PCEB가 접근 시간 보장(GAT(Guaranted Access Time)) 모드에서 동작할 때 상기 시간 명세인 2.1㎲를 위반하지 않도록 보장하고 에이사/아이사 마스터 또는 디엠에이에게 에이사/아이사 버스의 액세스를 허용하기 전에 PCEB의 버퍼 및 PPB의 포스티드 라이트 버퍼를 플러쉬시켜야 한다.
세번째로, APIC 인터럽트가 발생한 상태에서 인터럽트 벡터(Vector)값이 APIC 버스를 통해서 로컬 APIC에 전달되기 전에 시스템의 모든 데이타 버퍼는 플러쉬되어야 한다.
상기와 같은 버퍼 플러쉬 요구 발생을 요약하면 표 3과 같다.
컴퓨터 시스템이 APIC 모드에서 동작할 때의 동작은 다음과 같다.
상기 제1상태머신(20)은 초기에 출력 신호인 제1플러쉬 실행 신호(SDISPSTA_)와 제2플러쉬 완료 신호(PPBMEMACK_)를 비활성화 상태로 유지하여 PPB의 데이타 버퍼가 정상적인 기능을 수행하도록 한다(S300∼S301).
이때, 상기 제1조합회로(10)는 PCEB에서 출력되는 제1버퍼 플러쉬 요구 신호(FLSHREQ_)나, APIC 인터럽트가 발생할 때 ESC에서 출력되는 제2플러쉬 요구 신호(AFLUSH_ESC_)중 하나의 신호라도 입력되면 PPB의 데이타 버퍼의 플러쉬를 요구하는 PPB의 버퍼 플러쉬 요구 신호(PPBFLSHREQ_)를 출력한다.
상기 제1상태머신(20)은 제1조합회로(10)에서 발생하는 PPB의 버퍼 플러쉬 요구 신호(PPBFLSHREQ_)를 모니터하여 상기 신호(PPBFLSHREQ_)가 입력되면 제2플러쉬 완료 신호(PPBMEMACK_)는 비활성화 상태를 유지하고, 제1플러쉬 실행 신호(SDISPSTA_)를 활성화 상태로 변환하여 출력한다.
이때, 제2조합회로(40)는 제1상태머신(20)에서 입력되는 제1플러쉬 실행 신호(SDISPSTA_)를 조합하여 제3플러쉬 실행 신호(SDISPST_)를 PPB로 출력하여 제2플러쉬 완료 신호(PPBMEMACK_)가 비활성화인 상태에서 PPB의 데이타 버퍼가 모두 플러쉬되어 포스티드 라이트 버퍼, 리드 버퍼 및 라인 버퍼의 데이타를 일관성을 유지할 수 있게 한다(S302∼S305).
상기 제1플러쉬 실행 신호(SDISPSTA_)가 활성화 상태이고 제2플러쉬 완료 신호(PPBMEMACK_)가 비활성화 상태인 제1상태머신(20)은 PPB의 데이타 버퍼가 완전히 플러쉬되었음을 알리는 제1플러쉬 완료 신호(SBUFNE_)의 대기 시간 때문에 필요한 지연 시간을 제공한다(S306∼S309).
PPB에서 제1플러쉬 완료 신호(SBUFNE_)가 발생하면 제1상태머신(20)은 제1플러쉬 실행 신호(SDISPSTA_)는 활성화 상태를 유지하고, PPB의 데이타 버퍼가 플러쉬 완료되었으며 데이타 버퍼의 사용이 정지되었음을 알려주는 제2플러쉬 완료 신호(PPBMEMACK_)를 활성화 상태로 변환한다(S3A0∼S3A1).
이때, BCU에서 활성화 상태의 제3플러쉬 완료 신호(BCUMEMACK_)가 입력되면 상기 제2조합회로(40)는 상기 제1상태머신(20)에서 입력되는 활성화 상태의 제2플러쉬 완료 신호(PPBMEMACK_)와 제3플러쉬 완료 신호(BCUMEMACK_)를 조합하여 PCEB로 제4플러쉬 완료 신호(MEMACK_)를 출력한다.
상기 제1상태머신(20)은 상기 제1플러쉬 실행 신호(SDISPSTA_)가 활성화 상태이고 제2플러쉬 완료 신호(PPBMEMACK_)가 활성화된 상태에서 PPB의 버퍼 플러쉬 요구 신호(PPBFLSHREQ_)가 제1조합회로(10)로부터 발생하는지 재검사한다.
상기 제1조합회로(10)에서 PPB의 버퍼 플러쉬 요구 신호(PPBFLSHREQ_)의 검사 결과 PPB의 버퍼 플러쉬 요구 신호(PPBFLSHREQ_)가 없으면 제1플러쉬 실행 신호(SDISPSTA_)와 제2플러쉬 완료 신호(PPBMEMACK_)를 비활성화 상태로 변환하여 PPB의 데이타 버퍼가 정상적인 기능을 수행한다.
그러나, 상기 제1조합회로(10)에서 PPB의 버퍼 플러쉬 요구 신호(PPBFLSHREQ_)가 발생하면 제1상태머신(20)은 제1플러쉬 실행 신호(SDISPSTA_)는 활성화 상태를 유지하고, PPB의 데이타 버퍼가 플러쉬 완료되었으며 데이타 버퍼의 기능이 정지되었음을 알려주는 제2플러쉬 완료 신호(PPBMEMACK_)를 활성화 상태로 변환하고 PPB의 버퍼 플러쉬 요구 신호(PPBFLSHREQ_)가 제1조합회로(10)로부터 발생하는지 검사하는 과정을 반복한다(S3A2∼S3A3).
상기의 모든 동작 과정중에 PPB로부터 피씨아이 리셋 신호(PCIRST_)가 발생하면 제1상태머신(20)의 모든 동작은 출력 신호인 제1플러쉬 실행 신호(SDISPSTA_)와 제2플러쉬 완료 신호(PPBMEMACK_)가 비활성화 상태로 변화되어 PPB의 데이타 버퍼가 정상적인 기능을 수행하도록 상태가 변하게 한다.
다음은 컴퓨터 시스템이 PIC 모드(Programmable Interrupt Mode)에서 동작하는 경우에 대하여 설명하기로 한다.
시스템이 PIC 모드에서 동작할 때는 다음과 같은 경우에 PPB의 데이타 버퍼의 플러쉬 요구가 발생한다.
컴퓨터 시스템이 PIC 모드에서 동작하는 경우는 중앙처리장치에 인터럽트 요구 신호(INTR)가 입력되면 BCU는 PCI 버스 명세중에 인터럽트 허가 신호를 발생하여 BCU 및 PCEB의 내부 데이타 버퍼를 플러쉬 한후에 인터럽트 벡터를 ESC로부터 읽어들여 인터럽트 서비스를 한다.
그러나, PPB는 인터럽트 허가 사이클을 무시하므로 인터럽트 요구 신호(INTR)가 중앙처리장치에 도달하기 전에 PPB의 데이타 버퍼를 플러쉬해야 한다.
컴퓨터 시스템이 PIC 모드에서 동작할 때의 동작은 다음과 같다.
제2상태머신(30)은 초기에 제2플러쉬 실행 신호(SDISPSTP_)를 비활성화 상태로 하여 데이타 버퍼의 정상적인 동작이 가능하게 하고, 인터럽트 제어 신호(INTEN)를 비활성화하여 인터럽트 요구 신호(INTR)가 중앙처리장치에 전달되는 것을 막는다(S400∼S402).
인터럽트 요구 신호(INTR)를 모니터하여 비활성화 상태이면 제2상태머신(30)은 제2플러쉬 실행 신호(SDISPSTP_)와 인터럽트 제어 신호(INTEN)의 비활성화 상태로 유지하고, 인터럽트 요구 신호(INTR)가 활성화 상태이면 제2플러쉬 실행 신호(SDISPSTP_)와 인터럽트 제어 신호(INTEN)의 비활성화 상태를 유지한 상태에서 인터럽트 요구 신호(INTR)가 라인의 노이즈에 의해 PPB의 데이타 버퍼를 불필요하게 플러쉬하는 것을 방지하기 위해 인터럽트 요구 신호(INTR)를 한번더 검사한다(S403∼S406).
상기 검사 결과 인터럽트 요구 신호(INTR)가 활성화 상태이면 인터럽트 제어 신호(INTEN)를 비활성화 상태로 유지하여 인터럽트 요구 신호(INTR)가 중앙처리장치에 전달되는 것을 차단하고, 제2플러쉬 실행 신호(SDISPSTP_)를 활성화 상태로 변환하여 출력한다(S408).
이때, 제2조합회로(40)는 제2상태머신(30)에서 출력되는 제2플러쉬 실행 신호(SDISPSTP_)를 입력받아 제3플러쉬 실행 신호(SDISPST_)를 PPB로 출력하여 인터럽트 요구 신호(INTR)가 중앙처리장치에 입력되기 전에 PPB의 데이타 버퍼를 플러쉬시키고 버퍼의 사용을 정지시켜 포스티드 라이트 버퍼, 리드 버퍼 및 라인 버퍼의 데이타를 일관성을 유지할 수 있게 한다.
제2플러쉬 실행 신호(SDISPSTP_)가 활성화 상태이고 인터럽트 제어 신호(INTEN)가 비활성화인 상태인 제2상태머신(30)은 PPB의 데이타 버퍼가 완전히 플러쉬되었음을 알리는 제1플러쉬 완료 신호(SBUFNE_)의 대기 시간 때문에 지연 시간을 필요로 한다.
상기 지연 시간의 제공을 위해 제2상태머신(30)은 상기의 제2플러쉬 실행 신호(SDISPSTP_)가 활성화 상태이고, 인터럽트 제어 신호(INTEN)가 비활성화인 상태를 유지한다(S409∼S4A2).
제1플러쉬 완료 신호(SBUFNE_)가 발생하면 제2상태머신(30)은 제2플러쉬 실행 신호(SDISPSTP_)는 활성화 상태를 유지하고, 인터럽트 제어신호(INTEN)를 활성화 상태로 변환하여 인터럽트 요구 신호(INTR)가 중앙처리장치에 전달되게 한다(S4A3∼S3A5).
상기 제2플러쉬 실행 신호(SDISPSTP_)가 활성화 상태이고 인터럽트 제어 신호(INTEN)가 활성화 상태인 제2상태머신(30)은 인터럽트 요구 신호(INTR)가 발생하는지 다시 검사한다.
상기 인터럽트 요구 신호(INTR)의 검사 결과 인터럽트 요구 신호(INTR)가 발생하지 않았으면 플러쉬 요구 신호와 인터럽트 제어 신호(INTEN)를 비활성화 상태로 변환하여 PPB의 데이타 버퍼가 정상적인 기능을 수행한다.
그러나, 인터럽트 요구 신호(INTR)가 발생하면 제2상태머신(30)은 상기한 제2플러쉬 실행 신호(SDISPSTP_)와 인터럽트 제어 신호(INTEN)의 활성화 상태를 유지하여 인터럽트 요구 신호(INTR)가 중앙처리장치에 전달되게 하고, 인터럽트 요구 신호(INTR)가 발생하는지 검사하는 과정을 반복한다(S4A6).
상기의 모든 동작 과정중에 PPB로부터 PCI 리셋 신호(PCIRST_)가 발생하면 제2상태머신(30)의 모든 동작은 초기의 제2플러쉬 실행 신호(SDISPSTP_)를 비활성화 상태로 하여 데이타 버퍼의 정상적인 동작이 가능하게 하고, 인터럽트 제어 신호(INTEN)를 비활성화하여 인터럽트 요구 신호(INTR)가 중앙처리장치에 전달되는 것을 막는 상태로 변화한다.
상기와 같이 동작하는 이 발명 피씨아이-피씨아이 브리지의 버퍼 플래쉬 제어 장치의 동작을 프로그램의 예는 다음과 같다.
그러므로, 상기와 같이 동작하는 이 발명의 효과는,
PPB의 내부에 있는 데이타 버퍼의 플러쉬 동작을 효과적으로 제어하므로서 데이타의 일관성을 유지하여 시스템이 교착 상태에 빠지지 않고 정상적으로 동작할 수 있게 한다.

Claims (3)

  1. 피씨이비에서 제1버퍼 플러쉬 요구 신호가 입력되거나, 에이픽 인터럽트가 발생할때 이에스씨에서 발생하는 제2버퍼 플러쉬 요구 신호가 입력될때 피씨아이-피씨아이 브리지의 버퍼 플러쉬 요구 신호를 해당 장치로 출력하는 제1조합회로와 ; 상기 제1조합회로에서 발생하는 피씨아이-피씨아이 브리지의 버퍼 플러쉬 요구 신호가 입력되거나, 피씨아이-피씨아이 브리지의 데이타 버퍼가 완전히 플러쉬되었음을 알리는 제1플러쉬 완료 신호의 입력에 따라 피씨아이-피씨아이 브리지의 버퍼를 플러쉬시키고 버퍼의 사용을 정지시키기 위한 제어 신호를 해당 장치로 출력하는 제1상태머신과 ; 피씨아이-피씨아이 브리지의 버퍼가 완전히 플러쉬되었음을 알리는 제1플러쉬 완료 신호가 입력되거나, 인터럽트 요구 신호의 입력에 의해 PPB의 데이타 버퍼를 플러쉬시키고 버퍼의 사용을 정지시키기 위한 제어 신호를 해당 장치로 출력하는 제2 상태머신과 ; 상기 제1 및 제2상태머신에서 입력되는 제어 신호와 외부 입력 신호를 조합한 신호를 출력하는 제2조합회로로 이루어지는 것을 특징으로 하는 피씨아이-피씨아이 브리지의 버퍼 플러쉬 제어 장치.
  2. 제1항에 있어서, 상기 제1상태머신은 제1상태머신이 동작을 시작하여 제1플러쉬 실행 신호(SDISPSTA_) 및 제2플러쉬 완료 신호(PPBMEMACK_)를 비활성화 상태로 하고 PPB의 버퍼 플러쉬 요구 신호(PPBFLSHREQ_)가 활성화 상태인지 판단하고 ; 제1플러쉬 실행 신호(SDISPSTA_)는 활성화 상태로 변환하고 제2플러쉬 완료 신호(PPBMEMACK_)는 비활성화 상태를 유지하면서 제1플러쉬 완료 신호(SBUFNE_)의 활성화까지 대기하고 ; 상기 제1플러쉬 실행 신호(SDISPSTA_)의 활성화 상태와 제2플러쉬 완료 신호(PPBMEMACK_)의 비활성화 상태를 유지고 제1플러쉬 완료 신호(SBUFNE_)의 대기 시간 때문에 필요한 지연 시간을 제공한 후에 제1플러쉬 완료 신호(SBUFNE_)가 활성화 상태인지 판단하고 ; 제1플러쉬 실행 신호(SDISPSTA_) 및 제2플러쉬 완료 신호(PPBMEMACK_)를 활성화 상태로 만들며 PPB의 버퍼 플러쉬 요구 신호(PPBFLSHREQ_)가 활성화 상태인지 판단하는 동작을 하는 것을 특징으로 하는 피씨아이-피씨아이 브리지의 버퍼 플러쉬 제어 장치.
  3. 제1항에 있어서, 상기 제2상태머신은, 제2상태머신이 동작을 시작하여 제2플러쉬 실행 신호(SDISPSTP_) 및 인터럽트 제어 신호(INTEN)를 비활성화 상태로 하고 라인 노이즈에 의해 인터럽트 요구 신호(INTR)가 활성화되는 경우를 배제하고 진정한 인터럽트 요구 신호(INTR)가 활성화 상태인지 판단하고 ; 제2플러쉬 실행 신호(SDISPSTP_) 및 인터럽트 제어 신호(INTEN)를 비활성화 상태로 하고 상기 인터럽트 요구 신호(INTR)가 라인의 노이즈에 의해 PPB의 데이타 버퍼를 불필요하게 플러쉬하는 것을 방지하기 위한 상기 여러 동작의 실행 결과 인터럽트 요구 신호(INTR)가 활성화 상태이면, 인터럽트 제어 신호(INTEN)는 비활성화 상태를 유지하고 제2플러쉬 실행 신호(SDISPSTP_)는 활성화 상태로 변환하여 PPB의 데이타 버퍼를 플러쉬시키고 버퍼의 사용을 정지시키며 제1플러쉬 완료 신호(SBUFNE_)가 활성화될 때까지 대기하고 ; 상기 제2플러쉬 실행 신호(SDISPSTP_)의 활성화 상태와 인터럽트 제어 신호(INTEN)의 비활성화 상태를 유지하며 제1플러쉬 완료 신호(SBUFNE_)의 대기 시간 때문에 필요한 지연 시간을 제공하는 상기의 동작이후에 제1플러쉬 완료 신호(SBUFNE_)가 활성화 상태인지 판단하고 ; 제2플러쉬 실행 신호는 활성화 상태를 유지하고, 인터럽트 제어 신호(INTEN)를 활성화 상태로 변환하여 PPB의 데이타 버퍼가 완전히 플러쉬되었으므로 인터럽트 요구 신호(INTR)가 중앙처리장치에 도달할 수 있도록 하며 인터럽트 요구 신호(INTR)의 종료 시점을 판단하기 위하여 인터럽트 요구 신호(INTR)가 활성화 상태인지 판단하는 동작을 하는 것을 특징으로 하는 피씨아이-피씨아이 브리지의 버퍼 플러쉬 제어 장치.
KR1019950046783A 1995-12-05 1995-12-05 피씨아이-피씨아이 브리지의 버퍼 플러쉬 제어 장치 KR0154840B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1019950046783A KR0154840B1 (ko) 1995-12-05 1995-12-05 피씨아이-피씨아이 브리지의 버퍼 플러쉬 제어 장치
US08/759,880 US5983304A (en) 1995-12-05 1996-12-03 Buffer flush controller of a peripheral component interconnect-peripheral component interconnect bridge

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950046783A KR0154840B1 (ko) 1995-12-05 1995-12-05 피씨아이-피씨아이 브리지의 버퍼 플러쉬 제어 장치

Publications (2)

Publication Number Publication Date
KR970049566A KR970049566A (ko) 1997-07-29
KR0154840B1 true KR0154840B1 (ko) 1998-11-16

Family

ID=19437820

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950046783A KR0154840B1 (ko) 1995-12-05 1995-12-05 피씨아이-피씨아이 브리지의 버퍼 플러쉬 제어 장치

Country Status (2)

Country Link
US (1) US5983304A (ko)
KR (1) KR0154840B1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6513090B1 (en) * 1999-03-31 2003-01-28 Micron Technology, Inc. Bidirectional data transfer during buffer flushing operations
US6470408B1 (en) * 1999-04-14 2002-10-22 Hewlett-Packard Company Apparatus and method for delivering interrupts via an APIC bus to IA-32 processors
US6473826B1 (en) * 1999-04-20 2002-10-29 Adaptec, Inc. PCI delayed transaction time out counter and associated methods
TWI341466B (en) * 2007-07-30 2011-05-01 Via Tech Inc Bridges and the related flush request control circuits and methods for flushing data
CN100514318C (zh) * 2007-07-30 2009-07-15 威盛电子股份有限公司 桥接器以及电子系统的数据清理方法
US7822906B2 (en) * 2007-07-30 2010-10-26 Via Technologies, Inc. Data flush methods
GB2466982B (en) * 2009-01-16 2013-07-17 Nvidia Technology Uk Ltd DMA Engine
US9772652B2 (en) * 2015-02-23 2017-09-26 Dell Products L.P. Systems and methods for distributing and synchronizing real-time clock

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4625296A (en) * 1984-01-17 1986-11-25 The Perkin-Elmer Corporation Memory refresh circuit with varying system transparency
US4862411A (en) * 1987-02-26 1989-08-29 International Business Machines Corporation Multiple copy data mechanism on synchronous disk drives
US4987529A (en) * 1988-08-11 1991-01-22 Ast Research, Inc. Shared memory bus system for arbitrating access control among contending memory refresh circuits, peripheral controllers, and bus masters
US5117486A (en) * 1989-04-21 1992-05-26 International Business Machines Corp. Buffer for packetizing block of data with different sizes and rates received from first processor before transferring to second processor
US5345577A (en) * 1989-10-13 1994-09-06 Chips & Technologies, Inc. Dram refresh controller with improved bus arbitration scheme
CA2080608A1 (en) * 1992-01-02 1993-07-03 Nader Amini Bus control logic for computer system having dual bus architecture
US5535341A (en) * 1994-02-24 1996-07-09 Intel Corporation Apparatus and method for determining the status of data buffers in a bridge between two buses during a flush operation
US5625779A (en) * 1994-12-30 1997-04-29 Intel Corporation Arbitration signaling mechanism to prevent deadlock guarantee access latency, and guarantee acquisition latency for an expansion bridge
US5625824A (en) * 1995-03-03 1997-04-29 Compaq Computer Corporation Circuit for selectively preventing a microprocessor from posting write cycles
US5592622A (en) * 1995-05-10 1997-01-07 3Com Corporation Network intermediate system with message passing architecture
US5717876A (en) * 1996-02-26 1998-02-10 International Business Machines Corporation Method for avoiding livelock on bus bridge receiving multiple requests

Also Published As

Publication number Publication date
KR970049566A (ko) 1997-07-29
US5983304A (en) 1999-11-09

Similar Documents

Publication Publication Date Title
US5535341A (en) Apparatus and method for determining the status of data buffers in a bridge between two buses during a flush operation
KR0160193B1 (ko) 직접메모리접근 제어장치
US5469577A (en) Providing alternate bus master with multiple cycles of bursting access to local bus in a dual bus system including a processor local bus and a device communications bus
US5475846A (en) Apparatus for processing PCMCIA interrupt requests
KR0154840B1 (ko) 피씨아이-피씨아이 브리지의 버퍼 플러쉬 제어 장치
US5678003A (en) Method and system for providing a restartable stop in a multiprocessor system
JP2634130B2 (ja) バスの使用を制御する方法及びコンピュータ・システム
US8370556B2 (en) Multi-core data processor
CA2113867C (en) Method and system for enhanced efficiency of data transfers from memory to multiple processors in a data processing system
JPH10320349A (ja) プロセッサ及び当該プロセッサを用いるデータ転送システム
JP3379763B2 (ja) コンピューティング装置が作動的中断状態にあるとき第1の入力への置換肯定応答を発生するためのコンピューティング装置とともに使用される装置
KR100238175B1 (ko) 버스 제어논리장치
JP2560968B2 (ja) コンピュータシステム
JP2504515B2 (ja) テスト・チャネル命令の実行制御方式
JP3104341B2 (ja) 割込み処理システム
JPS63155254A (ja) 情報処理装置
JPH03282667A (ja) コンピュータ装置
JP3365419B2 (ja) バス調停方法
KR19990084442A (ko) 피씨아이(pci) 버스를 이용한 디바이스의 에러처리방법
JPH044437A (ja) マルチプロセッサシステム保守装置
JPH06208541A (ja) マルチタスクシステムにおけるバス制御装置
JPH04169953A (ja) コンピュータシステム
JPH0293971A (ja) メモリアクセス回路
KR950020176A (ko) 공유 디램(Shared DRAM) 버스 중재회로
JPH04211854A (ja) コンピュータ装置

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120628

Year of fee payment: 15

LAPS Lapse due to unpaid annual fee