KR0171768B1 - 컴퓨터 시스템의 시스템 버스 분석장치 - Google Patents

컴퓨터 시스템의 시스템 버스 분석장치 Download PDF

Info

Publication number
KR0171768B1
KR0171768B1 KR1019950069178A KR19950069178A KR0171768B1 KR 0171768 B1 KR0171768 B1 KR 0171768B1 KR 1019950069178 A KR1019950069178 A KR 1019950069178A KR 19950069178 A KR19950069178 A KR 19950069178A KR 0171768 B1 KR0171768 B1 KR 0171768B1
Authority
KR
South Korea
Prior art keywords
bus
signal
system bus
trigger condition
data
Prior art date
Application number
KR1019950069178A
Other languages
English (en)
Other versions
KR970049660A (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 KR1019950069178A priority Critical patent/KR0171768B1/ko
Publication of KR970049660A publication Critical patent/KR970049660A/ko
Application granted granted Critical
Publication of KR0171768B1 publication Critical patent/KR0171768B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3027Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 컴퓨터 시스템의 시스템 버스 분석장치에 관한 것으로, 제어신호에 따라 시스템 버스의 신호를 저장하기 위한 검색 메모리(26); 트리거 조건을 위한 신호를 출력하고, 상기 검색 메모리의 데이타를 읽어와 가공하여 사용자에게 제공하는 프로세서(21); 상기 프로세서로부터 입력된 돈케어(dont' care) 트리거 조건을 저장하는 마스크 레지스터(22); 상기 프로세서로부터 입력된 케어(care) 트리거 조건을 저장하는 데이타 레지스터(23); 상기 마스크 레지스터 및 데이타 레지스터에 저장된 트리거 조건과 시스템 버스의 신호상태를 버스 클럭마다 비교하는 비교기(24); 및 상기 비교기의 출력에 따라 트리거 조건이 일치되면 시스템 버스의 신호상태를 검색 메모리에 저장하도록 검색 메모리 어드레스 및 라이트신호를 출력하는 검색 메모리 저장 제어신호 생성부(25)를 포함하여 구성되어 시스템 버스 클럭 단위로 트리거 조건을 입력받아 시스템 버스의 상태를 검색하므로써 고속 중형 컴퓨터의 시스템 상태를 효율적으로 시험하거나 컴퓨터의 성능을 분석할 수 있는 효과가 있다.

Description

컴퓨터 시스템의 시스템 버스 분석장치
제1도는 일반적인 다중 프로세서 시스템의 예를 도시한 블럭도.
제2도는 본 발명에 따른 시스템 버스 분석장치를 도시한 블럭도.
제3도는 본 발명이 적용되는 버스 정보 분석기를 도시한 블럭도.
제4도는 제3도에 도시된 버스 정보 분석기의 상태 천이도.
제5도는 제3도에 도시된 기능제어모듈의 신호선을 도시한 도면.
제6도는 제3도에 도시된 기능 제어모듈의 상태 천이도.
제7도는 제3도에 도시된 프로세서모듈의 신호선.
제8도는 제3도에 도시된 프로세서모듈의 상태 천이도.
제9도는 제3도에 도시된 검색 메모리모듈의 신호선.
제10도는 제3도에 도시된 버스 인터페이스 모듈을 통한 데이타의 흐름을 도시한 도면.
* 도면의 주요부분에 대한 부호의 설명
1 : 시스템 버스 2 : 프로세서 보드
3 : 메모리보드 4 : 입출력제어보드
5 : 시스템 제어보드 6,20 : 시스템 버스 분석기
21 : 프로세서 22 : 마스크 레지스터
23 : 데이타 레지스터 24 : 비교기
25 : 검색 메모리 저장 제어신호 생성부 26 : 검색 메모리
본 발명은 컴퓨터 시스템에 있어서 시스템 버스의 상태를 분석하는 시스템 버스 분석기에 관한 것으로, 특히 대칭 구조형 다중 프로세서 시스템의 시스템 버스 분석기에 적용되어 버스 클럭(bus clock) 단위로 트리거 조건을 만족하는 신호를 검색하는 장치에 관한 것이다.
일반적으로 버스구조와 공유메모리를 기반으로 하는 다중 처리시스템에서 각 프로세서보드는 버스와 메모리를 공유하며 모든 데이타의 전송은 버스를 통하여 이루어진다. 따라서 시스템 버스를 통해서 전송되는 데이타를 검색하면 시스템의 동작상태를 파악하여 동작상의 에러 유무를 발견하고 실제적인 시스템 성능을 유추할 수 있다.
즉, 다중 프로세서 컴퓨터 시스템은 제1도에 도시된 바와 같이, 하나의 시스템 버스(1)에 다수의 프로세서 보드(2)와 메모리보드(3), 입출력제어보드(4) 및 시스템 제어보드(5)가 연결되어 시스템 버스(1)를 통해 데이타를 교환하도록 되어 있다. 이러한 다중프로세서 시스템에 있어서 시스템 버스(1)는 컴퓨터의 성능을 좌우하는 중요한 요소인데, 이와 같이 시스템 버스의 성능은 시스템 버스 분석기(6)에 의해 측정될 수 있다.
시스템 버스 분석기(6)는 다양한 트리거환경을 가지고 버스의 데이타를 검색, 저장, 처리하는 기능과 시스템 버스의 사용율 측정등 시스템 버스의 성능을 분석하는 기능 및 응답기(ResPonder)로서의 기능을 제공한다. 이러한 시스템 버스 분석기(6)는 기본적으로 고속 중형컴퓨터의 기본 구성에는 포함되지 않으나 시스템의 통합 시험시나 시스템 버스의 성능 분석시와 같이, 필요에 따라 시스템 버스 백플레인에 장착되어 시스템 버스에 구동된 데이타를 검색, 저장, 처리하여 특정 상황의 시스템 버스의 상태를 분석하거나 성능을 측정하여 이를 사용자에게 제공하도록 된 것이다.
그런데 종래의 시스템 버스 분석기는 비동기식 버스 점유형이기 때문에 팬디드 프로토콜을 적용하여 동기식 버스를 사용하는 고속 중형컴퓨터에는 적용하기 어렵고, 종래의 동기식 HiPi 버스 전용 버스상태 분석기는 HiPi-Bus용이었기 때문에 개선된 HiPi+버스를 사용하는 고속 중형컴퓨터에 직접 사용할 수 없으며, 그 기능 또한 단순한 문제점이 있다.
이에 본 발명은 HiPi+버스를 사용하는 대칭 구조형 다중 프로세서 시스템에 있어서 시스템 버스 분석기에 적용되어 기본 버스 사이클(cycle) 단위로 트리거 조건을 만족하는 신호를 검색하는 장치를 제공하는데 그 목적이 있다.
상기와 같은 목적을 달성하기 위하여 본 발명의 장치는, 다중 프로세서 시스템의 시스템 버스상의 신호들을 기본 사이클 단위로 검색하여 모니터하도록 된 시스템 버스 분석기에 있어서, 제어신호에 따라 시스템 버스의 신호를 저장하기 위한 검색 메모리; 트리거 조건을 위한 신호를 출력하고, 검색 메모리의 데이타를 읽어와 가공하여 사용자에게 제공하는 프로세서; 상기 프로세서로부터 입력된 돈케어 트리거 조건을 저장하는 마스크 레지스터; 상기 프로세서로부터 입력된 케어 트리거 조건을 저장하는 데이타 레지스터; 상기 마스크 레지스터 및 데이타 레지스터에 저장된 트리거 조건과 시스템 버스의 신호정보를 버스 클럭마다 비교하는 비교기; 및 상기 비교기의 출력에 따라 트리거 조건이 일치되면 소정의 방식으로 시스템 버스의 신호상태를 검색 메모리에 저장하도록 상기 검색 메모리의 어드레스 및 라이트신호를 출력하는 검색 메모리 저장 제어신호 생성부로 구성된 것을 특징으로 한다.
즉, 본 발명은 래치된 시스템 버스의 신호들을 미리 설정된 트리거 조건과 매 버스 클럭마다 비교 검색하여 일치하면, 그때의 시스템 버스의 신호를 중심으로 적당한 범위의 시스템 버스 정보를 검색 메모리에 저장하도록 한 것이다. 이때 본 발명에 따라 트리거 조건을 버스 클럭 단위(예컨대, HiPi+버스일 경우에 60.6nsec 단위)로 설정한다.
이하, 첨부된 도면을 참조하여 본 발명을 자세히 설명하기로 한다.
본 발명이 적용되는 HiPi+버스는 동기형 제어방식으로서, 팬디드 프로토콜을 사용하는데, '팬디드 프로토콜(Pended Protocol)'은 전송을 정보 요청단계와 정보 응답단계로 엄격하게 구분하여 버스의 전송속도에 영향을 주지 않도록 하는 방법이다. 여기서 엄격하게 구분한다는 의미는 정보요청을 위하여 사용하는 버스와 정보응답을 위하여 사용하는 버스를 분리하고, 각각의 버스를 사용하기 위해서는 별도의 중재기를 통한 중재과정을 수행함으로써 사용할 수 있다는 것이다. 이러한 방식을 적용함으로써 데이타 전송버스는 실질적인 데이타 전송시에만 사용되기 때문에, 메모리에 대한 접근시간동안 계속해서 버스를 장악함으로 인하여 다른 프로세서가 시스템 버스를 사용하지 못했던 다른 표준버스와는 달리, 순수히 데이타의 전송시에만 버스를 사용하게 함으로써 전송 성능면에서 향상을 가져오게 된다.
그리고 '동기형(Synchronous)제어' 방식이란 시스템 버스상에 구동되는 정보의 충돌을 방지하는 프로토콜의 하나로, 전송 사이클의 종류에 따라 기본 사이클을 설정하여 버스를 사용하는 방식이다. 팬디드 프로토콜은 데이타의 전송을 요청과 응답의 단계로 나누어 파이프 라인시킨 것과 유사하므로 비동기형보다는 동기형 제어방식이 유리하다.
이와 같은 시스템 버스에서 버스상에서 오류가 발생되면 이를 검출하여 오류를 제거하기 위해 시스템 버스 분석기가 필요한데, 이러한 시스템 버스 분석기는 제2도에 도시된 바와 같이, 제어신호에 따라 시스템 버스의 신호를 저장하기 위한 검색 메모리(26); 트리거 조건을 위한 신호를 출력하고, 상기 검색 메모리의 데이타를 읽어와 가공하여 사용자에게 제공하는 프로세서(21); 상기 프로세서로부터 입력된 돈케어(dont' care) 트리거 조건을 저장하는 마스크 레지스터(22); 상기 프로세서로부터 입력된 케어(care) 트리거 조건을 저장하는 데이타 레지스터(23); 상기 마스크 레지스터 및 데이타 레지스터에 저장된 트리거 조건과 시스템 버스의 신호상태를 버스 클럭마다 비교하는 비교기(24); 상기 비교기의 출력에 따라 트리거 조건이 일치되면 시스템 버스의 신호상태를 검색 메모리에 저장하도록 검색 메모리 어드레스 및 라이트신호를 출력하는 검색 메모리 저장 제어신호 생성부(26)를 포함하여 구성된다.
제2도에 있어서, 프로세서부(21)는 사용자가 검색하고자 하는 신호 정보를 마스크 레지스터부(22)와 데이타 레지스터부(23)로 전송하고, 마스크 레지스터부(22)와 데이타 레지스터부(23)에는 각각 돈케어정보와 검색하고자 하는 신호의 정보가 저장된다. 비교기(24)는 상기 레지스터에 설정된 트리거 조건과 시스템 버스의 신호정보를 비교하여 버스상에서 원하는 신호가 구동되었을 경우, 이를 알리는 신호를 검색 메모리 저장 제어신호 생성부(25)에 알린다. 이 신호가 구동되면 검색 메모리 저장 제어신호 생성부(25)는 검색 메모리 어드레스를 출력하여 해당 시스템 버스의 정보를 검색 메모리(27)에 저장하고, 프로세서부(21)에 이를 알린다. 이때, 검색 메모리 저장 제어신호 생성부(25)는 트리거 조건을 만족하는 버스 클럭의 래치된 시스템 버스 정보를 저장하는데, 이 데이타를 기준으로 소정(예컨대, 128K)의 버스클럭의 데이타를 저장할 수 있다. 본 발명의 실시예에서는 트리거 조건을 만족하는 데이타를 중심으로 앞의 128K 버스클럭을 저장할 수 있도록 되어 있다.
이와 같은 본 발명이 적용된 고속 중형 컴퓨터의 버스 정보 분석기는 통합 시스템 구축을 지원하기 위한 도구로서, 시스템 버스에 구동되는 모든 신호들을 감시, 저장, 검색, 분석하여 시스템 오류나 이상 동작상태를 시험자에게 알려줌으로써 적절한 조치를 취할 수 있게 한다.
이어서, 본 발명이 적용되는 시스템 버스 분석기는 제3도에 도시된 바와 같이, 시스템 버스 정보를 매 클럭마다 래치하여 기능제어모듈(34:FCM)과 검색 메모리 모듈(33:TM)에 제공하기 위한 버스인터페이스모듈(31:BIM), 시스템클럭을 입력받아 버스 분석기에서 사용되는 각종 클럭을 제공하는 클럭발생모듈(32:TPC), 시스템 버스에 대한 트레이스 정보를 저장하는 검색 메모리 모듈(33:TM), 트리거 조건과 시스템 정보를 비교하여 검색을 제어하는 기능제어모듈(34:FCM) 및 프로세서모듈(35:CPU)로 구성되어 있다.
먼저 본 발명이 적용되는 시스템 버스 분석기는 고속 중형컴퓨터의 시스템 버스인 HiPi+버스에서 구동되는 모든 신호들을 감시, 저장, 검색 및 가공하여 사용자의 요구에 따라 여러 가지 형태의 정보로서 제공해 주는데, 이러한 시스템 버스 분석기에서 시스템 버스 검색기능은 시스템 버스상에 구동되는 모든 신호들을 감시하여 트리거 조건(trigger condition)을 만족하는 신호들을 검색 메모리(33)에 저장하고, 이를 각 버스신호선 모임으로 그룹화하여 사용자에게 제공하는 것이다.
여기서 트리거 조건은 다음 표 1과 같이 트리거 조건 형태, 트리거 로직, 저장방법에 따라 구분될 수 있는데, 본 발명의 실시예에서는 트리거 조건을 버스 클럭에 따라 한정한다.
상기 표 1을 참조하여 설명하면, 본 발명의 실시예에 있어서 '버스동작 기본 사이클 단일 저장' 기능은 HiPi 버스의 기본주기인 어드레스 기본 사이클, 데이타 기본 사이클, 그리고 어드레스/데이타 기본 사이클을 트리거 조건으로 사용하여 데이타의 요청에서 응답까지 일련의 동작(transation)을 검색하는 기능이다. 이러한 기능에서는 각 기본 주기나 트랜잭션안에서 앤드나 앤드오아의 트리거 로직을 제공한다. 설정된 트리거 조건을 만족하는 데이타를 기준으로 연속된 128K의 버스클럭 데이타를 저장할 수 있고, 저장하고자 하는 데이타의 영역은 트리거 조건을 만족하는 데이타를 중심으로 앞의 8k 버스클럭과 뒤의 120K 버스클럭으로 설정하거나, 또는 앞의 128K 버스클럭으로 설정하는 등 16종류의 트리거 위치를 지정할 수 있다.
그리거, '버스동작 기본 사이클 다중 블럭저장' 기능은 HiPi 버스의 기본 주기인 어드레스 기본 사이클, 데이타 기본 사이클, 그리고 어드레스/데이타 기본 사이클을 트리거 조건으로 사용하며 동일 트리거 조건을 만족하는 복수개의 데이타 블럭을 저장하는 기능으로 최대 1024개의 블럭을 저장할 수 있다. 각 블럭당 트리거를 만족하는 데이타를 포함하여 128버스 사이클의 데이타를 저장할 수 있다. 단, 리드 트랜잭션의 경우 최대 512개의 블럭을 저장할 수 있으며, 각 블럭당 트리거 조건을 만족하는 데이타를 포함한 256버스클럭의 데이타를 저장할 수 있다. 그리고, 트리거 조건을 만족하는 버스 데이타를 중심으로 앞의 32버스클럭, 뒤의 96버스클럭의 데이타를 저장하거나 앞의 128버스클럭의 데이타를 저장하는 방법등 4종류의 트리거 위치를 제공한다.
'버스 클럭주기 단일블럭 저장' 기능은 매 버스클럭에 구동된 신호들중 설정된 트리거 조건에 대하여 앤드나 앤드와 오아를 조합한 트리거 로직을 만족하고, 버스 정보 분석기의 버스인터페이스부(3)에 처음으로 래치되는 데이타를 저장한다. 이때 이 데이타를 기준으로 최대 128K클럭의 데이타를 저장할 수 있는데, 트리거 조건을 만족하는 데이타를 중심으로 앞의 8K 버스클럭, 뒤의 120K 버스클럭의 데이타를 저장하거나 앞의 128K 버스클럭의 데이타만을 저장하는등 16종류의 트리거 위치를 설정할 수 있다.
'버스클럭주기 다중 블럭저장' 기능은 매 버스클럭에 구동된 신호들중 설정된 트리거 조건을 만족하는 복수개의 버스 데이타 블럭을 저장하는 기능이다. 최대 1024개의 블럭을 저장할 수 있으며, 각 블럭당 트리거 조건을 만족하는 데이타를 포함한 128버스 클럭의 데이타를 저장할 수 있다. 트리거 조건을 만족하는 데이타를 기준으로 앞의 32버스클럭, 뒤의 96버스클럭의 데이타를 저장하거나 앞의 128K만 저장하는 등 4종류의 트리거 위치를 설정할 수 있다. 이상에서 설명한 바와 같이 구체적인 수치를 언급한 것은 발명의 이해를 쉽게 하기 위한 것으로 실제로 적용시에는 설계자에 따라 임의값으로 변경될 수 있고, 따라서 본 발명의 기술적 사상을 해석함에 있어서 수치에 제한되어서는 안될 것이다.
한편, 고속 중형컴퓨터에 있어서, 시스템 버스는 기본적으로 데이타 이동의 통로이며 이러한 데이타 이동은 버스상에 장착된 보드들 사이에서 이루어지는데, 데이타 전송에 참여하는 보드는 특정시간에 어떤 일을 하느냐에 따라 요구기(ReQuester)와 응답기(ResPonder)로 구분된다. 요구기는 데이타 이동에 능동적으로 참여하며 데이타 전송을 시작하는 보드이고, 응답기는 데이타 전송에 수동적으로 참여하며 요구기의 데이타전송에 응답하는 보드이다.
이와 같이 요구기와 응답기간의 데이타 전송은 버스동작으로 수행되며, 버스 동작은 기본 사이클(cycle)로 구성된다. 기본 사이클은 분리될 수 없는 일정한 순서로 진행되는 단계(phase)로 구성되며, 각 단계는 하나의 버스 클럭(clock) 주기가 소요된다. 여기서, 기본 사이클은 어드레스 기본 사이클, 단일 전송 데이타 기본 사이클, 단일전송 어드레스 데이타 기본 사이클, 블럭전송 데이타 기본 사이클, 블럭전송 어드레스 데이타 기본 사이클이 있다. 그리고 HiPi 버스에서 버스클럭은 예컨대, 16.5MHz로서 버스클럭 주기는 60.6nsec이고, 293개의 신호선으로 구성되며, 어드레스 버스 중재버스, 데이타버스 중재버스, 어드레스 버스, 데이타버스, 상태버스, 인터럽트 전송버스, 유틸리티버스로 그룹지을 수 있다.
다른 한편, 시스템 버스 분석기의 동작상태는 제4도에 도시된 바와 같이, 휴지(idle) 상태와, CPU 모듈이 검색전 레지스터를 셋하고, 검색 메모리를 리드하는 등과 같은 프로세서모듈 제어상태 및 프로세서모듈의 검색 시작명령에 따라 기능제어모듈이 시스템 버스의 데이타를 검색하는 기능제어모듈상태가 있다. 이때, 휴지상태에서 Trace_request 신호가 구동되면 프로세서모듈상태로 천이되고, 프로세서모듈상태에서 Start 신호가 구동되면 기능제어모듈상태로 천이되고, 기능제어모듈상태에서 Done 혹은 Stop 신호가 구동된 후 프로세서모듈상태가 되며, 프로세서모듈상태에서 Stop 신호가 구동되면 휴지상태가 된다.
이어서, 본 발명의 실시예의 동작을 각 모듈별로 구분하여 자세히 설명한다.
1. 기능제어 모듈
기능제어모듈(34:FCM Module)은 트리거 조건을 설정하기 위한 마스크 레지스터(22), 데이타 레지스터(23), 비교기(24), 검색 메모리 저장 제어신호 생성부(25)를 포함하며, 검색 메모리(27)에서 시스템 버스의 정보가 라이트되도록 제어한다. 따라서 시스템 버스 데이타를 검색 메모리(27)에 저장하고자 할 때는 반드시 기능제어모듈(34)을 통해서만 가능하다. 기능제어모듈(34)은 버스 인터페이스 모듈(31)에 의해 래치된 시스템 버스상의 데이타를 설정된 트리거 조건과 비교하여 검색 메모리(33)에 저장할 것인가를 결정하고, 버스 정보 분석기의 전체 상태를 관리하며, 검색 메모리(33)의 초기화 및 제어신호 생성, 그리고 검색 메모리 라이트 동작시의 어드레스를 생성하는 역할을 수행한다. 또한 각 레지스터에 설정된 검색조건과 실제 버스상의 정보를 비교하여 조건이 만족되었을 경우, 이를 알리는 신호를 구동하며, 타임 시퀀스신호를 생성하여 검색 메모리(33)의 특정 뱅크에 저장한다. 이러한 기능제어모듈(34)이 수행하는 기능은 크게 트리거 조건 비교검색기능, 어드레스제어 및 검색 메모리 라이트기능이 있다.
여기서, 트리거 조건 비교검색기능은 버스 인터페이스 모듈(31)로부터 전송된 데이타를 트리거 조건과 비교한 후, 만족여부에 따라 검색 메모리(33)에 저장할 것인가를 결정하는 것인데, 이는 시스템 버스의 매 사이클 마다 구동되는 신호들을 검색해야 하므로, 한 사이클 안에 모든 동작을 수행한다. 그리고 어드레스제어 및 검색 메모리 라이트기능은 트리거 조건을 만족하는 데이타를 검색 메모리(33)에 저장하기 위하여 필요한 제어신호를 구동하여 라이트 동작을 수행한다. 기능제어모듈(34)은 상기의 동작을 모두 마치면 동작이 끝났음을 프로세서모듈(35)에 알리고, 준비상태로 대기한다.
그리고 기능제어모듈(35)은 제5도에 도시된 바와 같은 신호선을 가지며, 이들 신호선중에서 주요한 신호들의 정의는 다음과 같다. 'SCLK'는 클럭발생기(32:TPG)에서 제공되는 16.5MHz의 시스템 클럭이고, 'CPU_request_'는 프로세서모듈(35)이 제어권을 얻기 위하여 구동하는 입력신호이고, 'Start_'는 프로세서모듈(35)에서 기능제어모듈(34)에 제어권을 넘겨주기 위하여 구동하는 입력신호로서 기능제어모듈의 검색실행을 알려준다. 'Stop_'은 프로세서모듈(35)에서 기능제어모듈(34)에게 자원의 모든 사용을 종료하였음을 알려주는 입력신호인데, 기능제어모듈이 검색 수행중에 이 신호가 구동되면 무조건 종료할 것을 알려주는 인터럽트신호로 사용된다.
'DoneACK' 신호는 Done에 대한 응답신호로서 받는 입력신호이고, 'P_inBUS31:0' 신호는 프로세서모듈에서 전송되는 32비트 전용버스이다. 'REGsel17:0' 신호는 프로세서모듈(35)에서 전송되는 18비트 레지스터 선택 입력신호로서, 레지스터 0와 레지스터 15, 16, 17은 리드온리(read only)이며, 레지스터 1∼14는 라이트 온리(write only)이다. CPU의 리드동작시는 로우 액티브레벨 트리거신호를 구동하며 라이트시는 로우 액티브 라이징 에지 트리거신호를 구동한다.
'Busin_Data'는 버스인터페이스(BIF)모듈에서 전송되는 시스템 버스 정보에 대한 데이타신호선으로서, 매 사이클마다 이 신호선들에 구동되는 데이타를 입력으로 받아 트리거 조건과 비교한 후 어드레스 제어를 수행한다. 'Busin_Data282'는 HiPi 버스에 정의되지 않은 신호선으로 외부에서 제공되는 트리거신호이다.
'Ctl_sta1:0'는 각 모듈간의 동기를 위한 제어 상태 신호선으로 기능제어모듈(34)만이 상태를 제어할 수 있다. 제어비트의 상태에 따라 각 모듈은 다음 표 2와 같이 현재의 상태를 파악하며 출력이다.
'F_Addr16:0'는 검색 메모리모듈(33)로 전송되는 어드레스 신호선으로, 라이트 동작시 사용되며 트리거 조건과 버스상의 구동신호들을 비교하여 어드레스를 제어한다. 'F_outDATA'는 상태 레지스터나 카운터 레지스터의 내용을 프로세서모듈(35)로 전송하는 신호선이다. 'Time_seq'는 검색 메모리모듈(33)로 전송되는 타이머 데이타이다. 초기화이후 타이머가 구동되며 검색종료후 리셋된다. 'Init_TM'는 기능제어모듈(34)의 초기화 작업 상태를 알려주는 출력신호이다. 'SAT'는 외부로 제공되는 트리거 조건 만족신호로서, 트리거 조건을 만족하는 경우에만 구동되며 한 사이클동안 구동된다. 'Done'은 모든 검색 저장 기능이 끝났음을 알리는 신호로서, 프로세서모듈(35)에 대한 인터럽트 신호로 사용된다.
이러한 기능제어모듈의 상태는 제6도에 도시된 바와같이, FIDLE, INIT, Single_S, Transac_S, S_Level, Single_M, Transac_M, M_Level이 있으며 일정조건에 따라 각각 천이된다.
제6도에 있어서, 'FIDLE'는 기능제어모듈이 아이들 상태임을 나타내고, 'INIT'은 검색전 검색 메모리의 내용을 초기화하는 상태이며, 'Single_S'는 버스클럭 주기 단일 블럭저장기능을 트리거 조건을 만족할 때까지 반복수행하는 상태이다.
'Trans_S'는 버스동작 기본 사이클 단일 블럭 저장기능을 트리거 조건을 만족할 때까지 반복 수행하는 상태이고, 'Single_M'은 버스 클럭 주기 다중 블럭저장상태이며, 'Trans_M'은 버스동작 기본 사이클 다중블럭 저장기능을 수행하는 상태이며, 트리거 조건에서 설정된 지정된 블럭수의 트리거가 발생되면 검색을 종료한다.
'S_level'은 트리거 조건을 만족하는 시점을 기준으로 지정된 사이클 수만큼 저장을 계속하고, 저장완료 후 검색을 종료하는 상태이고, 'M_level'은 트리거 조건을 만족하는 시점을 기준으로 지정된 블럭수만큼 저장을 계속하고 저장완료 후 검색을 종료하는 상태이다.
2. 프로세서모듈
프로세서모듈(35)은 사용자와 인터페이스를 제공하며 사용자의 검색저장 명령을 받으면 기능제어모듈(34)에 트리거 조건을 제공하여 기능제어모듈에 의해 실질적인 검색 저장기능을 수행하도록 지시한다. 기능제어모듈(33)에 의해 검색 저장기능이 종료되면, 저장된 검색 결과를 얻기 위하여 검색 메모리 리드동작을 수행하며, 읽혀진 데이타를 가공한 후 사용자에게 시스템 버스 정보를 디스플레이 해준다. 또한 기능제어모듈(34)에 의해 검색 저장기능이 수행되고 있는 동안, 프로세서모듈(35)은 주기적으로 카운터 레지스터값을 검색하여 버스 사용율에 대한 정보를 사용자에게 디스플레이 해준다.
이러한 프로세서모듈은 제7도에 도시된 바와 같은 신호선을 가지며, 그 신호선들의 의미는 다음과 같다.
'inBUS31:0'은 기능제어모듈(34)로부터 상태 레지스터나 카운터 레지스터를 읽어 들이거나 검색 메모리(33)에 저장된 데이타를 읽어 들일 때 사용되는 32비트 데이타 입력버스이고, 'ctlacq1:0'는 각 모듈간의 동기를 위한 제어상태 입력신호이다. 프로세서모듈(35)은 기능제어모듈(34)로부터 구동되는 이 신호를 보고 제어권을 요청하거나 현재의 동작 진행상태를 파악한다. 'Done'은 기능제어모듈(34)로부터 구동되는 인터럽트 입력신호로서 이 신호에 의해 프로세서모듈이 다시 제어권을 돌려 받는다. 'Reset_'은 각 모듈을 리셋하기 위한 출력신호로서 푸시버튼 리셋이나 전원온 리셋이 동작할 때 구동되고, 'CPU_request'는 제어권을 획득하기 위하여 기능제어모듈(34)에 요청하는 출력신호이고, 'Start'는 기능제어모듈(34)에 트리거 조건을 인가한 후 기능제어모듈로 하여금 시스템 버스의 데이타를 검색하여 검색 메모리(33)에 데이타를 저장할 수 있도록 시작시점을 알리는 신호이다. 이 신호는 반드시 제어권을 획득한 후 구동하여야 한다. 'Stop'은 프로세서모듈(35)의 사용이 모두 끝났음을 알리는 신호로서, 이때 제어권은 기능제어모듈에 이양된다. 'DoneACK'는 기능제어모듈(34)로부터 구동되는 Done신호에 대한 응답신호이고, 'outBUS17:0'은 레지스터 라이트동작을 수행하기 위해 필요한 데이타를 전송하는 통로이고, 'S_REG'는 레지스터 리드나 레지스터 라이트동작을 수행하기 위해 대상 레지스터를 선택하기 위한 신호선으로서, 리드동작을 위해서는 로우 액티브상태를 유지해야 하고, 라이트동작을 위해서는 로우에서 하이로 전이하여야 한다.
'P_Addr19:3'은 검색 메모리(33)에 저장된 데이타를 읽기 위하여 사용되는 어드레스신호선으로, 32비트의 데이타를 얻기 위하여 'S_TM9:0' 신호를 같이 구동하는데, 'S_TM9:0'은 검색 메모리에 저장된 데이타를 읽기 위하여 검색 메모리모듈내의 10개 뱅크중에서 하나를 선택하는 신호선이다.
그리고 프로세서 모듈은 제8도에 도시된 바와 같이 동작상태가 변화되는데, 'A'는 검색관련 동작상태이고, 'B'는 검색결과를 사용자에게 알려주기 위한 디스플레이관련 동작상태이다.
프로세서모듈(35)은 휴지(idle)상태에 있다가 'Request' 신호에 의해 CPU_request신호를 구동하여 제어권을 획득한 후 검색조건을 설정하기 위하여 마스크 레지스터와 데이타 레지스터에 트리거 조건을 기록한 다음 Start 신호를 구동한 후 아이들 상태로 대기하고, 'Done' 신호에 의해 웨이크업되어 검색 메모리 데이타를 리드한 후 이를 가공하여 디스플레이하고, 계속 검색할 것인지를 판단하여 예이면 검색조건을 다시 설정하는 단계로 넘어가고 아니면 Stop 신호를 구동한 후 휴지상태로 천이한다.
3. 검색 메모리 모듈
검색 메모리모듈(33)은 버스인터페이스 모듈(31)로부터 데이타를 전송받아 검색 메모리에 저장하거나 저장된 데이타를 로칼 버스를 통해 프로세서 모듈로 전송한다.
이러한 검색 메모리모듈의 신호선은 제9도에 도시된 바와 같은데, 이를 설명하면 다음과 같다.
'F_Addr16:0'은 기능제어모듈(34)에서 제어하는 어드레스신호선으로서 시스템 버스로부터 오는 버스정보를 검색 메모리에 쓰기 위한 입력신호이고, 'P_Addr18:2'는 프로세서모듈(35)에서 제어하는 어드레스신호선으로서 검색 메모리 리드동작시에 사용된다.
'TM9:0'은 프로세서모듈(35)에서 제어하는 검색 메모리 뱅크 어드레스신호선으로 프로세서모듈(35)에서 리드동작시 사용하고, inTraceDATA319:288'은 기능제어모듈에서 제공하는 시간에 관한 정보를 전송하고, 'inTraceDATA288:0'은 시스템 버스상에 구동된 데이타를 버스인터페이스모듈(31)에서 래치하여 제공하는 신호선이다.
'owner1:0'은 현재 검색 메모리에 대한 제어권을 가진 모듈을 알려주며, 메모리 제어부는 현재 제어권을 가진 모듈에 따라 라이트와 리드동작에 대한 권한을 제한한다. 라이트에 대한 권한은 기능제어모듈에만 있으며 프로세서 모듈은 리드에 대한 권한만을 가지고 있다.
'clkE', 'clkS'는 검색 메모리 라이트를 위한 클럭신호선이고, 'outBUS17:0'은 프로세서모듈의 데이타 리드 요청에 따른 데이타를 전송하기 위한 통로이다.
4. 버스인터페이스모듈
버스인터페이스모듈(31)은 시스템 버스상에 구동되는 모든 데이타를 래치하여 검색메모리 모듈(33)과 기능제어모듈(34)로 전송한다. 즉, 버스인터페이스모듈(31)은 제10도에 도시된 바와 같이, 시스템 버스(본 발명의 실시예에서는 HiPi 버스)로부터 입력되는 버스선들을 BTL 버퍼를 통한 후 D플립플롭에 래치하여 기능제어모듈 및 검색 메모리로 시스템 버스의 정보를 전송한다. 이때 데이타버스 중재버스는 DBARB버퍼(41)를 통해, 데이타 버스는 Data BUS버퍼(42)를 통해, 상태 버스는 Status Bus버퍼(43)를 통해, 어드레스버스 중재버스는 AARB버퍼(44)를 통해, 어드레스 버스는 Addr. Bus버퍼(45)를 통해, 인터럽트버스는 Int. Bus버퍼(46)를 통해, 유틸리티 버스는 Utility Bus 버퍼(47)를 통해 래치되도록 되어 있다.
이상에서 설명한 바와 같이, 본 발명이 적용된 버스 정보 분석기는 HiPi 버스에서 나타나는 총 293개의 신호선중에서 282개의 신호들과, 외부 트리거 요소신호 1개를 포함하여 총 283개의 신호들을 검색할 수 있다.
5. 클럭생성모듈
클럭생성모듈(32)은 시스템 버스에서 구동되는 시스템 버스 클럭을 입력받아 버스 정보 분석기내의 각 모듈에 내부 클럭을 제공한다.
이상에서 살펴본 바와 같이 본 발명에 따른 시스템 버스 분석기는 시스템 버스 클럭 단위로 트리거 조건을 입력받아 시스템 버스의 상태를 검색하므로써 고속 중형컴퓨터의 시스템 상태를 효율적으로 시험하거나 컴퓨터의 성능을 분석할 수 있는 효과가 있다.

Claims (1)

  1. 다중 프로세서 시스템의 시스템 버스상의 신호들을 버스 클럭 단위로 검색하여 모니터하도록 된 시스템 버스 분석기에 있어서, 제어신호에 따라 시스템 버스의 신호를 저장하기 위한 검색 메모리(26); 트리거 조건을 위한 신호를 출력하고, 검색 메모리의 데이타를 읽어와 가공하여 사용자에게 제공하는 프로세서(21); 상기 프로세서로부터 입력된 돈케어 트리거 조건을 저장하는 마스크 레지스터(22); 상기 프로세서로부터 입력된 케어 트리거 조건을 저장하는 데이타 레지스터(23);상기 마스크 레지스터 및 데이타 레지스터에 저장된 트리거 조건과 시스템 버스의 신호정보를 버스 클럭마다 비교하는 비교기(24); 및 상기 비교기의 출력에 따라 트리거 조건이 일치되면 소정의 방식으로 시스템 버스의 신호상태를 검색 메모리에 저장하도록 상기 검색 메모리의 어드레스 및 라이트신호를 출력하는 검색 메모리 저장 제어신호 생성부(25)로 구성되는 컴퓨터 시스템의 시스템 버스 분석장치.
KR1019950069178A 1995-12-30 1995-12-30 컴퓨터 시스템의 시스템 버스 분석장치 KR0171768B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950069178A KR0171768B1 (ko) 1995-12-30 1995-12-30 컴퓨터 시스템의 시스템 버스 분석장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950069178A KR0171768B1 (ko) 1995-12-30 1995-12-30 컴퓨터 시스템의 시스템 버스 분석장치

Publications (2)

Publication Number Publication Date
KR970049660A KR970049660A (ko) 1997-07-29
KR0171768B1 true KR0171768B1 (ko) 1999-03-30

Family

ID=19448329

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950069178A KR0171768B1 (ko) 1995-12-30 1995-12-30 컴퓨터 시스템의 시스템 버스 분석장치

Country Status (1)

Country Link
KR (1) KR0171768B1 (ko)

Also Published As

Publication number Publication date
KR970049660A (ko) 1997-07-29

Similar Documents

Publication Publication Date Title
US6539500B1 (en) System and method for tracing
US4503495A (en) Data processing system common bus utilization detection logic
US4511960A (en) Data processing system auto address development logic for multiword fetch
US5664117A (en) Apparatus and method for prefetching data to load buffers in a bridge between two buses in a computer
US8904392B2 (en) Shared performance monitor in a multiprocessor system
US5465335A (en) Hardware-configured operating system kernel having a parallel-searchable event queue for a multitasking processor
US5878235A (en) Method and system for concurrent computer transaction processing
KR100617357B1 (ko) 태스크 스위칭에 의한 제로 오버헤드 컴퓨터 인터럽트
US20070266266A1 (en) Power Management System
US20110041105A1 (en) Integrated dma processor and pci express switch for a hardware-based functional verification system
EP0217922B1 (en) An array for simulating computer functions for large computer systems
US6092219A (en) Method for use of bus parking states to communicate diagnostic information
US5919268A (en) System for determining the average latency of pending pipelined or split transaction requests through using two counters and logic divider
CN116028413A (zh) 一种总线仲裁器、总线仲裁的方法、装置及介质
US6128705A (en) Method and apparatus for executing multiply-initiated, multiply-sourced variable delay system bus operations
KR0171768B1 (ko) 컴퓨터 시스템의 시스템 버스 분석장치
KR0171767B1 (ko) 컴퓨터 시스템의 시스템 버스 분석장치
CN116225995A (zh) 一种总线***及芯片
KR0171774B1 (ko) 컴퓨터 시스템의 시스템 버스 분석장치
US6734984B2 (en) System having an arithmetic-logic circuit for determining the maximum or minimum of a plurality of codes
EP0543607B1 (en) Image processing system
Halang On methods for direct memory access without cycle stealing
Thacker et al. The alpha demonstration unit: A high-performance multiprocessor
KR960015585B1 (ko) 고속중형 다중처리 시스템의 버스 정보처리기 (BUS Information Processing Unit for A High-performance Muetiprocessing System)
CN110245096B (zh) 一种实现处理器直接连接扩展计算模块的方法

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