KR0171774B1 - System bus analysis apparatus of computer system - Google Patents

System bus analysis apparatus of computer system Download PDF

Info

Publication number
KR0171774B1
KR0171774B1 KR1019950069190A KR19950069190A KR0171774B1 KR 0171774 B1 KR0171774 B1 KR 0171774B1 KR 1019950069190 A KR1019950069190 A KR 1019950069190A KR 19950069190 A KR19950069190 A KR 19950069190A KR 0171774 B1 KR0171774 B1 KR 0171774B1
Authority
KR
South Korea
Prior art keywords
signal
bus
system bus
search
data
Prior art date
Application number
KR1019950069190A
Other languages
Korean (ko)
Other versions
KR970049661A (en
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 KR1019950069190A priority Critical patent/KR0171774B1/en
Publication of KR970049661A publication Critical patent/KR970049661A/en
Application granted granted Critical
Publication of KR0171774B1 publication Critical patent/KR0171774B1/en

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

본 발명은 컴퓨터 시스템의 시스템 버스 분석장치에 관한 것으로, 소정의 검색 위치정보와 크기정보에 따라 시스템 버스의 신호를 저장하기 위한 검색 메모리(27); 트리거 조건을 위한 신호를 출력하고, 검색 메모리의 데이터를 읽어와 가공하여 사용자에게 제공하는 프로세서(21); 상기 프로세서로부터 입력된 돈케어 트리거조건을 저장하는 마스크 레지스터(22); 상기 프로세서로부터 입력된 케어 트리거조건을 저장하는 데이터 레지스터(23); 상기 프로세서로부터 입력된 검색위치 정보와 저장 크기정보를 저장하는 컴맨드 레지스터(24); 상기 마스크 레지스터, 데이터 레지스터에 저장된 트리거 조건과 시스템 버스의 신호정보를 버스 클럭마다 소정 단위로 비교하고, 조건이 일치되면 저장 크기정보만큼 카운트하는 비교기(25); 및 상기 비교기의 출력에 따라 트리거조건이 일치되면 소정의 위치 정보로부터 상기 저장 크기값 만큼 시스템 버스의 신호상태를 검색 메모리에 저장하도록 상기 검색 메모리의 어드레스 및 라이트신호를 출력하는 검색 메모리 저장 제어신호 생성부(27)로 구성되어 시스템 버스 클럭 단위로 트리거 조건을 입력받아 시스템 버스의 상태를 검색하므로써 고속 중형 컴퓨터의 시스템 상태를 효율적으로 시험하거나 컴퓨터의 성능을 분석할 수 있는 효과가 있다.The present invention relates to a system bus analyzer of a computer system, comprising: a search memory (27) for storing a signal of a system bus according to predetermined search position information and size information; A processor 21 for outputting a signal for a trigger condition, reading and processing data of a search memory and providing the signal to a user; A mask register 22 for storing the money care trigger condition input from the processor; A data register 23 for storing a care trigger condition input from the processor; A command register 24 for storing the search position information and the storage size information input from the processor; A comparator 25 for comparing the trigger condition stored in the mask register and the data register with signal information of a system bus for each bus clock, and counting the storage size information if the condition is matched; And generating a search memory storage control signal for outputting an address and a write signal of the search memory to store a signal state of a system bus in the search memory as much as the storage size value when predetermined trigger information is matched according to the output of the comparator. The unit 27 is configured to retrieve the state of the system bus by receiving the trigger condition in the system bus clock unit, thereby efficiently testing the system state of the high-speed medium-sized computer or analyzing the performance of the computer.

Description

컴퓨터 시스템의 시스템 버스 분석장치System bus analyzer of computer system

제1도는 일반적인 다중 프로세서 시스템의 예를 도시한 블록도.1 is a block diagram illustrating an example of a general multiprocessor system.

제2도는 본 발명에 따른 시스템 버스 분석장치를 도시한 블록도.2 is a block diagram showing a system bus analyzer according to the present invention.

제3도는 본 발명이 적용되는 버스 정보 분석기를 도시한 블록도.3 is a block diagram showing a bus information analyzer to which the present invention is applied.

제4도는 제3도에 도시된 버스 정보 분석기의 상태 천이도.4 is a state transition diagram of the bus information analyzer shown in FIG.

제5도는 제3도에 도시된 기능제어모듈의 신호선을 도시한 도면.FIG. 5 is a diagram showing signal lines of the function control module shown in FIG.

제6도는 제3도에 도시된 기능 제어모듈의 상태 천이도.6 is a state transition diagram of the function control module shown in FIG.

제7도는 제3도에 도시된 프로세서모듈의 신호선.7 is a signal line of the processor module shown in FIG.

제8도는 제3도에 도시된 프로세서모듈의 상태 천이도.8 is a state transition diagram of the processor module shown in FIG.

제9도는 제3도에 도시된 검색 메모리모듈의 신호선.9 is a signal line of the search memory module shown in FIG.

제10도는 제3도에 도시된 버스 인터페이스 모듈을 통한 데이터의 흐름을 도시한 도면.FIG. 10 shows the flow of data through the bus interface module shown in FIG.

* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings

1 : 시스템 버스 2 : 프로세서 보드1: system bus 2: processor board

3 : 메모리보드 4 : 입출력제어보드3: memory board 4: input / output control board

5 : 시스템 제어보드 6,20 : 시스템 버스 분석기5: System control board 6,20: System Bus Analyzer

21 : 프로세서 22 : 마스크 레지스터21 processor 22 mask register

23 : 데이터 레지스터 24 : 비교기23: data register 24: comparator

25 : 검색 메모리 저장 제어신호 생성부25: search memory storage control signal generator

26 : 검색 메모리26: search memory

본 발명은 컴퓨터시스템에 있어서 시스템 버스의 상태를 분석하는 시스템 버스 분석기에 관한 것으로, 특히 대칭 구조형 다중 프로세서 시스템의 시스템 버스 분석기에 적용되어 트리거 조건(즉, 트랜잭션 트리거 조건)을 만족하는 신호를 검색하여 소정의 위치에 소정의 크기로 저장하도록 제어하는 장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a system bus analyzer for analyzing the state of a system bus in a computer system. In particular, the present invention relates to a system bus analyzer of a symmetric multiprocessor system to search for a signal satisfying a trigger condition (i.e., a transaction trigger condition). An apparatus for controlling to store at a predetermined size in a predetermined position.

일반적으로 버스구조와 공유메모리를 기반으로 하는 다중 처리시스템에서 각 프로세서보드는 버스와 메모리를 공유하며 모든 데이터의 전송은 버스를 통하여 이루어진다. 따라서 시스템 버스를 통해서 전송되는 데이터를 검색하면 시스템의 동작상태를 파악하여 동작상의 에러 유무를 발견하고 실제적인 시스템 성능을 유추할 수 있다.In general, in a multi-processing system based on a bus structure and shared memory, each processor board shares a bus and a memory, and all data transfer is performed through the bus. Therefore, by searching the data transmitted through the system bus, it is possible to grasp the operating status of the system to find out the operational error and to infer the actual system performance.

즉, 다중 프로세서 컴퓨터 시스템은 제1도에 도시된 바와 같이, 하나의 시스템 버스(1)에 다수의 프로세서보드(2)와 메모리보드(3), 입출력제어보드(4), 및 시스템제어보드(5)가 연결되어 시스템 버스(1)를 통해 데이터를 교환하도록 되어 있다. 이러한 다중 프로세서 시스템에 있어서 시스템 버스(1)는 컴퓨터의 성능을 좌우하는 중요한 요소인데, 이와 같이 시스템 버스의 성능은 시스템 버스 분석기(6)에 의해 측정될 수 있다.That is, as shown in FIG. 1, a multiprocessor computer system includes a plurality of processor boards 2, a memory board 3, an input / output control board 4, and a system control board on one system bus 1; 5) is connected to exchange data via the system bus (1). In such a multiprocessor system, the system bus 1 is an important factor in determining the performance of a computer. Thus, the performance of the system bus can be measured by the system bus analyzer 6.

시스템 버스 분석기(6)는 다양한 트리거환경을 가지고 버스의 데이터를 검색, 저장, 처리하는 기능과 시스템 버스의 사용율 측정등 시스템 버스의 성능을 분석하는 기능 및 응답기(ResPonder)로서의 기능을 제공한다. 이러한 시스템 버스 분석기(6)는 기본적으로 고속 중형컴퓨터의 기본 구성에는 포함되지 않으나 시스템의 통합 시험시나 시스템 버스의 성능 분석시와 같이, 필요에 따라 시스템 버스 백플레인에 장착되어 시스템 버스에 구동된 데이터를 검색, 저장, 처리하여 특정 상황의 시스템 버스의 상태를 분석하거나 성능을 측정하여 이를 사용자에게 제공하도록 된 것이다.The system bus analyzer 6 provides a function of searching, storing, and processing data on the bus with various trigger environments, and analyzing the performance of the system bus, such as measuring the utilization of the system bus, and functions as a responder (ResPonder). Such a system bus analyzer 6 is not included in the basic configuration of a high-speed medium-size computer, but it is mounted on the system bus backplane and the data driven on the system bus as needed, such as when performing a system integration test or analyzing the performance of the system bus. Search, store and process to analyze the state of the system bus in a specific situation or to measure the performance and provide it to the user.

그런데 종래의 시스템 버스 분석기는 비동기식 버스 점유형이기 때문에 팬디드 프로토콜을 적용하여 동기식 버스를 사용하는 고속 중형컴퓨터에는 적용하기 어렵고, 종래의 동기식 HiPi 버스 전용 버스상태 분석기는 HiPi-Bus용이었기 때문에 개선된 HiPi+버스를 사용하는 고속 중형컴퓨터에 직접 사용할 수 없으며, 그 기능 또한 단순한 문제점이 있다.However, since the conventional system bus analyzer is asynchronous bus occupied type, it is difficult to apply to a high speed medium computer using the synchronous bus using the PANED protocol. It cannot be used directly on high speed medium computers using HiPi + bus, and its function also has a simple problem.

이에 본 발명은 HiPi+버스를 사용하는 대칭 구조형 다중 프로세서 시스템에 있어서 시스템 버스 분석기에 적용되어 소정의 트리거 조건을 만족하는 신호를 검색하여 소정의 위치신호에 따라 소정의 크기만큼 저장하도록 제어하는 시스템 버스 분석장치를 제공하는데 그 목적이 있다.Accordingly, the present invention is applied to a system bus analyzer in a symmetric structured multiprocessor system using a HiPi + bus, a system bus that controls to search for a signal that satisfies a predetermined trigger condition and store the predetermined size according to a predetermined position signal. The purpose is to provide an analysis device.

상기와 같은 목적을 달성하기 위하여 본 발명의 장치는, 다중 프로세서 시스템의 시스템 버스상의 신호들을 소정의 단위로 검색하여 모니터하도록 된 시스템 버스 분석기에 있어서, 소정의 검색 위치정보와 크기정보에 따라 시스템 버스의 신호를 저장하기 위한 검색 메모리; 트리거 조건을 위한 신호를 출력하고, 검색 메모리의 데이터를 읽어와 가공하여 사용자에게 제공하는 프로세서; 상기 프로세서로부터 입력된 돈케어 트리거조건을 저장하는 마스크 레지스터; 상기 프로세서로부터 입력된 케어 트리거조건을 저장하는 데이터 레지스터; 상기 프로세서로부터 입력된 검색위치정보와 저장 크기정보를 저장하는 컴맨드 레지스터; 상기 마스크 레지스터, 데이터 레지스터에 저장된 트리거 조건과 시스템 버스의 신호정보를 버스 클럭마다 소정 단위로 비교하고, 조건이 일치되면 저장 크기정보만큼 카운트하는 비교기; 및 상기 비교기의 출력에 따라 트리거조건이 일치되면 소정의 위치정보로부터 상기 저장 크기값 만큼 시스템 버스의 신호상태를 검색 메모리에 저장하도록 상기 검색 메모리의 어드레스 및 라이트신호를 출력하는 검색 메모리 저장 제어신호 생성부로 구성된 것을 특징으로 한다.In order to achieve the above object, the apparatus of the present invention is a system bus analyzer configured to search for and monitor signals on a system bus of a multiprocessor system in a predetermined unit, wherein the system bus according to predetermined search position information and size information. A retrieval memory for storing a signal of; A processor configured to output a signal for a trigger condition, read and process data in a search memory, and provide the same to a user; A mask register for storing a money care trigger condition input from the processor; A data register for storing a care trigger condition input from the processor; A command register for storing search position information and storage size information input from the processor; A comparator for comparing the trigger condition stored in the mask register and the data register with signal information of a system bus for each bus clock, and counting the storage size information if the condition is matched; And generating a search memory storage control signal for outputting an address and a write signal of the search memory to store the signal state of the system bus in the search memory as much as the storage size value from the predetermined position information when the trigger condition is matched according to the output of the comparator. It is characterized by consisting of wealth.

즉, 본 발명은 래치된 시스템 버스의 신호들을 미리 설정된 트리거 조건과 매 버스 클럭마다 비교 검색하여 소정 단위로 모두 일치되면, 그때의 시스템 버스의 신호를 중심으로 위치정보와 크기정보에 따라 적당한 범위의 시스템 버스정보를 검색 메모리에 저장하도록 한 것이다. 이때 본 발명에 따라 트리거 조건을 기본 사이클 단위(예컨대, 어드레스 기본 사이클, 단일 전송 데이터 기본 사이클, 단일전송 어드레스 데이터 기본 사이클, 블록전송 데이터기본 사이클, 및 블록전송 어드레스 데이터 기본 사이클) 혹은 버스 클럭단위로 설정할 수 있다.That is, the present invention compares the signals of the latched system bus with a predetermined trigger condition every bus clock, and matches all of them in a predetermined unit. The system bus information is stored in the search memory. In this case, according to the present invention, the trigger condition may be based on a basic cycle unit (for example, an address basic cycle, a single transmission data basic cycle, a single transmission address data basic cycle, a block transmission data basic cycle, and a block transmission address data basic cycle) or a bus clock unit. Can be set.

이하, 첨부된 도면을 참조하여 본 발명을 자세히 설명하기로 한다.Hereinafter, with reference to the accompanying drawings will be described in detail the present invention.

본 발명이 적용되는 HiPi+버스는 동기형 제어방식으로서, 팬디드 프로토콜을 사용하는데, '팬디드 프로토콜(Pended Protocol)'은 전송을 정보 요청단계와 정보 응답단계로 엄격하게 구분하여 버스의 전송속도에 영향을 주지 않도록 하는 방법이다. 여기서 엄격하게 구분한다는 의미는 정보요청을 위하여 사용하는 버스와 정보응답을 위하여 사용하는 버스를 분리하고, 각각의 버스를 사용하기 위해서는 별도의 중재기를 통한 중재과정을 수행함으로써 사용할 수 있다는 것이다. 이러한 방식을 적용함으로써 데이터 전송버스는 실질적인 데이터 전송시에만 사용되기 때문에, 메모리에 대한 접근시간동안 계속해서 버스를 장악함으로 인하여 다른 프로세서가 시스템 버스를 사용하지 못했던 다른 표준버스와는 달리, 순수히 데이터의 전송시에만 버스를 사용하게 함으로써 전송 성능면에서 향상을 가져오게 된다.The HiPi + bus to which the present invention is applied is a synchronous control method, and uses the PANDED protocol. The PENDED PROTOCOL strictly divides the transmission into an information request step and an information response step. This is how you do not affect. The strict classification here means that the bus used for information request and the bus used for information response can be separated, and each bus can be used by performing an arbitration process through a separate arbitrator. By applying this method, the data transfer bus is used only for the actual data transfer, and unlike other standard buses where other processors have not used the system bus due to the continuous bus seizure during memory access time, By using the bus only for transmission, there is an improvement in transmission performance.

그리고 '동기형(Synchronous)제어'방식이란 시스템 버스상에 구동되는 정보의 충돌을 방지하는 프로토콜의 하나로, 전송 사이클의 종류에 따라 기본 사이클을 설정하여 버스를 사용하는 방식이다. 팬디드 프로토콜은 데이터의 전송을 요청과 응답의 단계로 나누어 파이프 라인시킨 것과 유사하므로 비동기형보다는 동기형 제어방식이 유리하다.Synchronous control is a protocol that prevents collision of information driven on the system bus, and uses the bus by setting a basic cycle according to the type of transmission cycle. The PANDED protocol is similar to the pipeline of data transfer divided into request and response phases, so synchronous control is advantageous over asynchronous.

이와 같은 시스템 버스에서 버스상에서 오류가 발생되면 이를 검출하여 오류를 제거하기 위해 시스템 버스 분석기가 필요한데, 이러한 시스템 버스 분석기는 제2도에 도시된 바와 같이, 제어신호에 따라 시스템 버스의 신호를 저장하기 위한 검색 메모리(27); 트리거 조건을 위한 신호를 출력하고, 상기 검색 메모리의 데이터를 읽어와 가공하여 사용자에게 제공하는 프로세서(21); 상기 프로세서로부터 입력된 돈케어(dont' care) 트리거조건을 저장하는 마스크 레지스터(22); 상기 프로세서로부터 입력된 케어(care)트리거조건을 저장하는 데이터 레지스터(23); 상기 프로세서로부터 입력된 검색위치정보와 저장 크기정보를 저장하는 컴맨드 레지스터(24); 상기 마스크 레지스터, 및 데이터 레지스터에 저장된 트랜잭션 트리거 조건과 시스템 버스의 신호상태를 버스 클럭마다 소정 단위로 비교하고 일치하면 소정 크기정보만큼 카운트하는 비교기(25); 및 상기 비교기의 출력에 따라 트리거조건이 일치되면 소정의 위치정보와 크기정보에 따라 시스템 버스의 신호상태를 검색 메모리에 저장하도록 검색 메모리 어드레스 및 라이트신호를 출력하는 검색 메모리 저장 제어신호 생성부(26)를 포함하여 구성된다.A system bus analyzer is needed to detect and eliminate an error on a bus in such a system bus. The system bus analyzer stores a signal of a system bus according to a control signal, as shown in FIG. Search memory 27 for; A processor 21 for outputting a signal for a trigger condition, reading and processing data of the search memory and providing the signal to a user; A mask register 22 for storing a don 'care trigger condition input from the processor; A data register (23) for storing a care trigger condition input from the processor; A command register 24 for storing the search position information and the storage size information input from the processor; A comparator 25 for comparing a transaction trigger condition stored in the mask register and the data register with a signal unit of a system bus in a predetermined unit for each bus clock, and counting by a predetermined size information if they match; And a search memory storage control signal generator 26 for outputting a search memory address and a write signal to store a signal state of a system bus in a search memory according to predetermined position information and size information when a trigger condition is matched according to the output of the comparator. It is configured to include).

제2도에 있어서, 프로세서부(21)는 사용자가 검색하고자 하는 신호정보를 마스크 레지스터부(22)와 데이터 레지스터부(23)로 전송하고, 마스크 레지스터부(22)와 데이터 레지스터부(23)에는 각각 돈케어정보와 검색하고자 하는 신호의 정보가 저장된다. 또한, 프로세서부(21)는 검색위치정보와 저장 크기정보를 컴맨드 레지스터에 저장하고, 비교기(25)는 상기 레지스터들에 설정된 트리거 조건과 시스템 버스의 신호정보를 소정 단위로 비교하여 버스상에서 원하는 신호가 구동되었을 경우, 이를 알리는 신호를 검색 메모리 저장 제어신호 생성부(25)에 출력하고 소정 크기정보만큼 카운트한다. 이 신호가 구동되면 검색 메모리 저장 제어신호 생성부(25)는 소정 위치정보에 따라 검색 메모리 어드레스를 출력하여 소정 크기정보만큼의 해당 시스템 버스의 정보를 검색 메모리(27)에 저장하고, 프로세서부(21)에 이를 알린다. 이때, 검색 메모리 저장 제어신호 생성부(25)는 트리거조건을 만족하는 래치된 시브템 버스정보를 저장하는데, 이 데이터부터 소정의 위치정보에 소정의 크기정보만큼 데이터를 저장할 수 있다.In FIG. 2, the processor unit 21 transmits the signal information that the user wants to search to the mask register unit 22 and the data register unit 23, and the mask register unit 22 and the data register unit 23. As shown in FIG. In each of the money care information and the information of the signal to be stored is stored. In addition, the processor unit 21 stores the search position information and the storage size information in the command register, and the comparator 25 compares the trigger condition set in the registers with the signal information of the system bus in a predetermined unit to obtain desired information on the bus. When the signal is driven, a signal indicating the signal is output to the search memory storage control signal generator 25 and counted by predetermined size information. When the signal is driven, the search memory storage control signal generator 25 outputs a search memory address according to the predetermined position information, and stores the information of the corresponding system bus corresponding to the predetermined size information in the search memory 27, and the processor unit ( 21). In this case, the retrieval memory storage control signal generation unit 25 stores latched system bus information that satisfies the trigger condition. From this data, the retrieval memory storage control signal generation unit 25 may store data as much as predetermined size information in the predetermined position information.

이와 같이 본 발명이 적용된 고속 중형 컴퓨터의 버스 정보 분석기는 통합 시스템 구축을 지원하기 위한 도구로서, 시스템 버스에 구동되는 모든 신호들을 감시, 저장, 검색, 분석하여 시스템 오류나 이상 동작상태를 시험자에게 알려줌으로써 적절한 조치를 취할 수 있게 한다.As such, the bus information analyzer of the high-speed medium-size computer to which the present invention is applied is a tool for supporting the construction of an integrated system. By monitoring, storing, retrieving, and analyzing all signals driven on the system bus, the system error or abnormal operation status is informed to the tester. Allow appropriate action to be taken.

이어서, 본 발명이 적용되는 시스템 버스 분석기는 제3도에 도시된 바와 같이, 시스템 버스 정보를 매 클럭마다 래치하여 기능제어모듈(34:FCM)과 검색메모리 모듈(33:TM)에 제공하기 위한 버스인터페이스모듈(31:BIM), 시스템클럭을 입력받아 버스 분석기에서 사용되는 각종 클럭을 제공하는 클럭발생모듈(32:TPC), 시스템버스에 대한 트레이스 정보를 저장하는 검색 메모리 모듈(33:TM), 트리거조건과 시스템정보를 비교하여 검색을 제어하는 기능제어모듈(34:FCM), 및 프로세서모듈(35:CPU)로 구성되어 있다.Next, as shown in FIG. 3, the system bus analyzer to which the present invention is applied latches system bus information every clock to provide the function control module 34 (FCM) and the search memory module 33 (TM). Bus interface module (31: BIM), Clock generation module (32: TPC) which receives various system clocks and provides various clocks used in bus analyzer, Search memory module (33: TM) which stores trace information about system bus And a function control module 34 (FCM) and a processor module 35 (CPU) for controlling the search by comparing the trigger condition and system information.

먼저 본 발명이 적용되는 시스템 버스 분석기는 고속 중형컴퓨터의 시스템 버스인 HiPi+버스에서 구동되는 모든 신호들을 감시, 저장, 검색, 및 가공하여 사용자의 요구에 따라 여러 가지 형태의 정보로서 제공해 주는데, 이러한 시스템 버스 분석기에서 시스템 버스 검색기능은 시스템 버스상에 구동되는 모든 신호들을 감시하여 트리거조건(trigger condition)을 만족하는 신호들을 검색 메모리(33)에 저장하고, 이를 각 버스신호선 모임으로 그룹화하여 사용자에게 제공하는 것이다. 여기서 트리거 조건은 다음 표1과 같이 트리거조건 형태, 트리거로직, 저장방법에 따라 구분될 수 있는데, 본 발명의 실시예에서는 트리거조건을 버스 클럭에 따라 한정한다.First, the system bus analyzer to which the present invention is applied monitors, stores, retrieves, and processes all signals driven on the HiPi + bus, which is a system bus of a high-speed medium-sized computer, and provides various types of information according to a user's request. In the system bus analyzer, the system bus search function monitors all signals driven on the system bus, stores signals satisfying the trigger condition in the search memory 33, and groups them into groups of individual bus signal lines. To provide. Here, the trigger condition may be classified according to the trigger condition type, trigger logic, and storage method as shown in Table 1 below. In the embodiment of the present invention, the trigger condition is limited according to the bus clock.

상기 표1을 참조하여 설명하면, 본 발명의 실시예에 있어서 '버스동작 기본 사이클 단일 저장'기능은 HiPi 버스의 기본주기인 어드레스 기본 사이클, 데이터 기본 사이클, 그리고 어드레스/데이타 기본 사이클을 트리거 조건으로 사용하여 데이터의 요청에서 응답까지 일련의 동작(transation)을 검색하는 기능이다. 이러한 기능에서는 각 기본 주기나 트랙잭션안에서 앤드나 앤드오아의 트리거 로직을 제공한다. 설정된 트리거 조건을 만족하는 데이터를 기준으로 연속된 128K의 버스클럭 데이터를 저장할 수 있고, 저장하고자 하는 데이터의 영역은 트리거 조건을 만족하는 데이터를 중심으로 앞의 8K버스클럭과 뒤의 120K버스클럭으로 설정하거나, 또는 앞의 128K버스클럭으로 설정하는 등 16종류의 트리거 위치를 지정할 수 있다.Referring to Table 1 above, in the embodiment of the present invention 'Bus operation basic cycle single storage' function is HiPi It is a function that retrieves a series of transitions from request to response of data by using the basic cycle of the bus, the address basic cycle, the data basic cycle, and the address / data basic cycle as trigger conditions. These features provide the trigger logic for AND or ANDO within each basic period or transaction. Continuous 128K bus clock data can be stored based on the data satisfying the set trigger condition, and the area of the data to be saved is the 8K bus clock at the front and the 120K bus clock at the center. 16 types of trigger positions can be specified, such as setting or setting the previous 128K bus clock.

그리고, '버스동작 기본 사이클 다중 블럭저장'기능은 HiPi 버스의 기본 주기인 어드레스 기본 사이클, 데이터 기본 사이클, 그리고 어드레스/데이타 기본 사이클을 트리거 조건으로 사용하며 동일 트리거조건을 만족하는 복수개의 데이터 블럭을 저장하는 기능으로 최대 1024개의 블록을 저장할 수 있다. 각 블록당 트리거를 만족하는 데이터를 포함하여 128버스 사이클의 데이터를 저장할 수 있다. 단, 리드 트랜잭션의 경우 최대 512개의 블록을 저장할 수 있으며, 각 블록당 트리거 조건을 만족하는 데이터를 포함한 256 버스클럭의 데이터를 저장할 수 있다. 그리고, 트리거조건을 만족하는 버스 데이터를 중심으로 앞의 32버스클럭, 뒤의 96버스클럭의 데이터를 저장하거나 앞의 128버스클럭의 데이터를 저장하는 방법등 4종류의 트리거 위치를 제공한다.And 'Bus operation basic cycle multi-block storage' function is HiPi The basic cycle of the bus, the address basic cycle, the data basic cycle, and the address / data basic cycle are used as trigger conditions, and a function of storing a plurality of data blocks that satisfy the same trigger condition can store up to 1024 blocks. Each block can contain 128 bus cycles of data, including data that satisfies the trigger. However, in case of read transaction, up to 512 blocks can be stored and 256 bus clock data including data satisfying trigger condition can be stored for each block. In addition, four types of trigger positions are provided, such as storing the data of the previous 32 bus clocks, the data of the 96 bus clocks later, or the data of the previous 128 bus clocks.

'버스 클럭주기 단일블럭 저장'기능은 매 버스클럭에 구동된 신호들중 설정된 트리거 조건에 대하여 앤드나 앤드와 오아를 조합한 트리거 로직을 만족하고, 버스 정보 분석기의 버스인터페이스부(3)에 처음으로 래치되는 데이터를 저장한다. 이때 이 데이터를 기준으로 최대 128K 클럭의 데이터를 저장할 수 있는데, 트리거 조건을 만족하는 데이터를 중심으로 앞의 8K 버스클럭, 뒤의 120K 버스클럭의 데이터를 저장하거나 앞의 128K 버스클럭의 데이터만을 저장하는등 16종류의 트리거 위치를 설정할 수 있다.'Bus clock cycle single block storage' function satisfies the trigger logic of the combination of AND, AND and OR for the set trigger condition among the signals driven in each bus clock, and the bus interface part 3 of the bus information analyzer Data to be latched. At this time, up to 128K clock data can be stored based on this data.The data of the front 8K bus clock and the back 120K bus clock are stored or only the data of the previous 128K bus clock is stored. 16 kinds of trigger positions can be set.

'버스클럭주기 다중 블록저장'기능은 매 버스클럭에 구동된 신호들중 설정된 트리거조건을 만족하는 복수개의 버스 데이터 블록을 저장하는 기능이다. 최대 1024개의 블록을 저장할 수 있으며, 각 블록당 트리거조건을 만족하는 데이터를 포함한 128버스 클럭의 데이터를 저장할 수 있다. 트리거조건을 만족하는 데이터를 기준으로 앞의 32버스클럭, 뒤의 96버스클럭의 데이터를 저장하거나 앞의 128K만 저장하는 등 4종류의 트리거 위치를 설정할 수 있다. 이상에서 설명한 바와 같이 구체적인 수치를 언급한 것은 발명의 이해를 쉽게 하기 위한 것으로 실제로 적용시에는 설계자에 따라 임의 값으로 변경될 수 있고, 따라서 본 발명의 기술적 사상을 해석함에 있어서 수치에 제한되어서는 안될 것이다.The bus clock cycle multi-block storage function stores a plurality of bus data blocks that satisfy a set trigger condition among the signals driven in each bus clock. Up to 1024 blocks can be stored, and data of 128 bus clocks including data that satisfy the trigger condition can be stored for each block. Based on the data satisfying the trigger condition, four types of trigger positions can be set: the data of the previous 32 bus clocks, the data of the 96 bus clocks behind, or the front 128K only. As mentioned above, specific numerical values are referred to for easy understanding of the present invention, and may be changed to arbitrary values according to designers when they are actually applied, and thus should not be limited to numerical values in interpreting the technical idea of the present invention. will be.

한편, 고속 중형컴퓨터에 있어서, 시스템 버스는 기본적으로 데이터 이동의 통로이며 이러한 데이터 이동은 버스상에 장착된 보들들 사이에서 이루어지는데, 데이터 전송에 참여하는 보드는 특정시간에 어떤 일을 하느냐에 따라 요구기(ReQuester)와 응답기(ResPonder)로 구분된다. 요구기는 데이터 이동에 능동적으로 참여하며 데이터 전송을 시작하는 보드이고, 응답기는 데이터 전송에 수동적으로 참여하며 요구기의 데이터전송에 응답하는 보드이다.On the other hand, in a high speed medium-size computer, the system bus is basically a path of data movement, and this data movement is performed between beams mounted on the bus, and the board participating in the data transmission is required depending on what is done at a specific time. It is divided into Requester and ResPonder. A requestor is a board that actively participates in data movement and starts data transmission, and a responder is a board that passively participates in data transmission and responds to data transmission of the requestor.

이와 같이 요구기와 응답기간의 데이터 전송은 버스동작으로 수행되며, 버스 동작은 기본 사이클(cycle)로 구성된다. 기본 사이클은 분리될 수 없는 일정한 순서로 진행되는 단계(phase)로 구성되며, 각 단계는 하나의 버스 클럭(clock) 주기가 소요된다. 여기서, 기본 사이클은 어드레스 기본사이클, 단일 전송 데이터 기본 사이클, 단일전송 어드레스 데이터 기본 사이클, 블록전송 데이터 기본 사이클, 블록전송 어드레스 데이터 기본 사이클이 있다. 그리고 HiPi 버스에서 버스클럭은 예컨대, 16.5MHz로서 버스클럭 주기는 60.6nsec이고, 293개의 신호선으로 구성되며, 어드레스버스 중재버스, 데이터버스 중재버스, 어드레스 버스, 데이터버스, 상태버스, 인터럽트 전송버스, 유틸리티버스로 그룹지을 수 있다.As described above, data transmission between the requester and the response period is performed in a bus operation, and the bus operation is composed of a basic cycle. The basic cycle consists of phases that go in a certain sequence that cannot be separated, and each phase takes one bus clock cycle. Here, the basic cycle includes an address basic cycle, a single transmission data basic cycle, a single transmission address data basic cycle, a block transmission data basic cycle, and a block transmission address data basic cycle. And HiPi The bus clock on the bus is, for example, 16.5 MHz, and the bus clock period is 60.6 nsec, and is composed of 293 signal lines. Can be grouped together.

다른 한편, 시스템 버스 분석기의 동작상태는 제4도에 도시된 바와 같이, 휴지(idle) 상태와, CPU 모듈이 검색전 레지스터를 셋하고, 검색 메모리를 리드하는 등과 같은 프로세서모듈 제어상태, 및 프로세서모듈의 검색 시작명령에 따라 기능제어모듈이 시스템 버스의 데이터를 검색하는 기능제어모듈상태가 있다. 이때, 휴지상태에서 Trace-request 신호가 구동되면 프로세서모듈상태로 처닝되고, 프로세서모듈상태에서 Start 신호가 구동되면 기능제어모듈상태로 천이되고, 기능제어모듈상태에서 Done 혹은 Stop 신호가 구동된 후 프로세서모듈상태가 되며, 프로세서모듈상태에서 Stop 신호가 구동되면 휴지상태가 된다.On the other hand, the operating state of the system bus analyzer is an idle state, as shown in FIG. There is a function control module status in which the function control module searches for data on the system bus in accordance with the search start command of the module. At this time, if the trace-request signal is driven in the idle state, it is processed to the processor module state, and in the processor module state, Start When the signal is driven, it transitions to the function control module state, and Done or Stop in the function control module state. After the signal is driven, it becomes the processor module state and stops at the processor module state. When the signal is driven, it is idle.

이어서, 본 발명의 실시예의 동작을 각 모듈별로 구분하여 자세히 설명한다.Next, the operation of the embodiment of the present invention will be described in detail by dividing each module.

1. 기능제어 모듈1. Function control module

기능제어모듈(34:FCM Module)은 트리거 조건을 설정하기 위한 마스크 레지스터(22), 데이터 레지스터(23), 비교기(25), 검색 메모리 저장 제어신호 생성부(25)를 포함하며, 검색 메모리(27)에서 시스템 버스의 정보가 라이트되도록 제어 한다. 따라서 시스템 버스 데이터를 검색 메모리(27)에 저장하고자 할 때는 반드시 기능제어 모듈(34)을 통해서만 가능하다. 기능제어모듈(34)은 버스 인터페이스 모듈(31)에 의해 래치된 시스템 버스상의 데이터를 설정된 트리거 조건과 비교하여 검색 메모리(33)에 저장할 것인가를 결정하고, 버스 정보 분석기의 전체 상태를 관리하며, 검색 메모리(33)의 초기화 및 제어신호 생성, 그리고 검색 메모리 라이트 동작시의 어드레스를 생성하는 역할을 수행한다. 또한 각 레지스터에 설정된 검색조건과 실제 버스상의 정보를 비교하여 조건이 만족되었을 경우, 이를 알리는 신호를 구동하며, 타임 시퀀스신호를 생성하여 검색 메모리(33)의 특정 뱅크에 저장한다. 이러한 기능제어모듈(34)이 수행하는 기능은 크게 트리거조건 비교검색기능, 어드레스제어 및 검색 메모리 라이트기능이 있다.The function control module 34 (FCM Module) includes a mask register 22, a data register 23, a comparator 25, and a search memory storage control signal generator 25 for setting a trigger condition. In step 27), information on the system bus is written. Therefore, when the system bus data is to be stored in the retrieval memory 27, it is possible only through the function control module 34. The function control module 34 determines whether to store the data on the system bus latched by the bus interface module 31 in the search memory 33 by comparing with the set trigger condition, and manages the overall state of the bus information analyzer, Initializes the search memory 33, generates a control signal, and generates an address during a search memory write operation. In addition, a search condition set in each register is compared with information on an actual bus, and when a condition is satisfied, a signal for notifying the driver is driven, and a time sequence signal is generated and stored in a specific bank of the search memory 33. Functions performed by the function control module 34 include a trigger condition comparison search function, an address control, and a search memory write function.

여기서, 트리거조건 비교검색기능은 버스 인터페이스 모듈(31)로부터 전송된 데이터를 트리거 조건과 비교한 후, 만족여부에 따라 검색 메모리(33)에 저장할 것인가를 결정하는 것인데, 이는 시스템 버스의 매 사이클 마다 구동되는 신호들을 검색해야 하므로, 한 사이클 안에 모든 동작을 수행한다. 그리고 어드레스제어 및 검색 메모리 라이트기능은 트리거조건을 만족하는 데이타를 검색 메모리(33)에 저장하기 위하여 필요한 제어신호를 구동하여 라이트 동작을 수행한다. 기능제어모듈(34)은 상기의 동작을 모두 마치면 동작이 끊났음을 프로세서모듈(35)에 알리고, 준비상태로 대기한다.Here, the trigger condition comparison search function compares the data transmitted from the bus interface module 31 with the trigger condition, and determines whether to store the data in the search memory 33 according to whether or not it is satisfied. This is performed every cycle of the system bus. Because we need to search for the signals that are driven, we perform all the operations in one cycle. The address control and search memory write function drives a control signal necessary for storing data satisfying the trigger condition in the search memory 33 to perform a write operation. The function control module 34 notifies the processor module 35 that the operation has ended when all of the above operations are completed, and waits in a ready state.

그리고 기능제어모듈(35)은 제5도에 도시된 바와 같은 신호선을 가지며, 이들 신호선중에서 주요한 신호들의 정의는 다음과 같다. 'SCLK'는 클럭발생기(32:TPG)에서 제공되는 16.5MHz의 시스템 클럭이고, 'CPU_request_'는 프로세서모듈(35)이 제어권을 얻기 위하여 구동하는 입력신호이고, 'Start_'는 프로세서모듈(35)에서 기능제어모듈(34)에 제어권을 넘겨주기 위하여 구동하는 입력신호로서 기능제어모듈의 검색실행을 알려준다. 'Stop_'은 프로세서모듈(35)에서 기능제어모듈(34)에게 자원의 모든 사용을 종료하였음을 알려 주는 입력신호인데, 기능제어모듈이 검색 수행중에 이 신호가 구동되면 무조건 종료할 것을 알려주는 인터럽트신호로 사용된다.The function control module 35 has signal lines as shown in FIG. 5, and the major signals among these signal lines are defined as follows. 'SCLK' is a system clock of 16.5MHz provided by the clock generator 32: TPG, 'CPU_request_' is an input signal driven by the processor module 35 to obtain control, and 'Start_' is a processor module 35 In FIG. 3, an input signal for driving the control right to the function control module 34 informs the execution of the search of the function control module. 'Stop_' is an input signal that informs the function control module 34 of the processor module 35 that all the use of resources has been completed. If the signal is driven while the function control module is performing a search, the interrupt signal informs the termination. Used as a signal.

'DoneACK'신호는 Done에 대한 응답신호로서 받는 입력신호이고, 'P_inBUS〈31:0〉'신호는 프로세서모듈에서 전송되는 32비트 전용버스이다. 'REGsel(17:0〉'신호는 프로세서모듈(35)에서 전송되는 18비트 레지스터 선택 입력신호로서, 레지스터0와 레지스터15,16,17은 리드온리(read only)이며, 제지스터 1 ~14는 라이트 온리(write only)이다. CPU의 리드동작시는 로우 액티브레벨 트리거신호를 구동하며 라이트시는 로우 액태브 라이징 에지 트리거신호를 구동한다.The 'DoneACK' signal is an input signal received as a response signal to the Done, and the 'P_inBUS <31: 0>' signal is a 32-bit dedicated bus transmitted from the processor module. 'REGsel (17: 0>' signal is an 18-bit register select input signal transmitted from the processor module 35. Registers 0, 15, 16, and 17 are read only, and resistors 1 through 14 Write only (write only) The CPU drives the low active level trigger signal during the read operation and the low active edge trigger signal during the write operation.

'Busin_Data'는 버스인터페이스(BIF)모듈에서 전송되는 시스템 버스정보에 대한 데이터신호선으로서, 매 사이클마다 이 신호선들에 구동되는 데이터를 입력으로 받아 트리거조건과 비교한 후 어드레스 제어를 수행한다. 'Busin_Data〈282〉'는 HiPi 버스에 정의되지 않은 신호선으로 외부에서 제공되는 트리거신호이다.'Busin_Data' is a data signal line for system bus information transmitted from a bus interface (BIF) module, and receives data driven on these signal lines every cycle as inputs, compares with a trigger condition, and performs address control. 'Busin_Data 〈282〉' is HiPi Trigger signal provided externally by signal line not defined on bus.

'Ctl_sta〈1:0〉'는 각 모듈간의 동기를 위한 제어 상태 신호선으로 기능제어모듈(34)만이 상태를 제어할 수 있다. 제어비트의 상태에 따라 각 모듈은 다음 표 2와 같이 현재의 상태를 파악하며 출력이다.'Ctl_sta &lt; 1: 0 &gt;' is a control state signal line for synchronization between modules, and only the function control module 34 can control the state. According to the status of the control bit, each module outputs the current state as shown in the following table.

'F-Addr〈16:0〉'는 검색 메모리모듈(33)로 전송되는 어드레스 신호선으로, 라이트 동작시 사용되며 트리거조건과 버스상의 구동신호들을 비교하여 어드레스를 제어한다. 'F_outDATA'는 상태 레지스터나 카운터 레지스터의 내용을 프로세서모듈(35)로 전송하는 신호선이다. 'Time_seq'는 검색 메모리모듈(33)로 전송되는 타이머 데이터이다. 초기화이후 타이머가 구동되며 검색종료후 리셋된다. 'Init_TM'는 기능 제어모듈(34)의 초기화 작업 상태를 알려주는 출력신호이다. 'SAT'는 외부로 제공되는 트리거 조건 만족신호로서, 트리거 조건을 만족하는 경우에만 구동되며 한 사이클동안 구동된다. 'Done'은 모든 검색 저장 기능이 끝났음을 알리는 신호로서, 프로세서모듈(35)에 대한 인터럽트 신호로 사용된다.'F-Addr &lt; 16: 0 &gt; &quot; is an address signal line transmitted to the search memory module 33. The F-Addr &lt; 16: 0 &gt; 'F_outDATA' is a signal line that transfers the contents of the status register or counter register to the processor module 35. 'Time_seq' is timer data transmitted to the search memory module 33. After initialization, timer starts and resets after searching ends. 'Init_TM' is an output signal informing the initialization operation status of the function control module 34. 'SAT' is an externally provided trigger condition satisfaction signal, which is driven only when the trigger condition is satisfied and is driven for one cycle. 'Done' is a signal indicating that all the search storage functions are completed, and used as an interrupt signal to the processor module 35.

이러한 기능제어모듈의 상태는 제6도에 도시된 바와 같이, FIDLE, INIT, Single_S, Transac_S, S_Level, Single_M, Transac_M, M_Level이 있으며 일정조건에 따라 각각 천이된다.As shown in FIG. 6, the function control module has FIDLE, INIT, Single_S, Transac_S, S_Level, Single_M, Transac_M, and M_Level, respectively.

제6도에 있어서, 'FIDLE'는 기능제어모듈이 아이들 상태임을 나타내고, 'INIT'은 검색전 검색 메모리의 내용을 초기화하는 상태이며, 'Single_S'는 버스클럭 주기 단일 블록저장기능을 트리거 조건을 만족할 때까지 반복수행하는 상태이다.In FIG. 6, 'FIDLE' indicates that the function control module is in an idle state, 'INIT' indicates a state of initializing the contents of the search memory before searching, and 'Single_S' indicates the trigger condition of the bus clock cycle single block storage function. It repeats until it is satisfied.

'Trans_S'는 버스동작 기본 사이클 단일 블록 저장기능을 트리거 조건을 만족할 때까지 반복 수행하는 상태이고, 'Single_M'은 버스 클럭 주기 다중 블록저장상태이며, 'Trans_M'은 버스동작 기본 사이클 다중 블록 저장기능을 수행하는 상태이며, 트리거 조건에서 설정된 지정된 블록 수의 트리거가 발생되면 검색을 종료한다.'Trans_S' repeats the basic operation of the bus operation cycle single block until it satisfies the trigger condition, 'Single_M' is the state of the bus clock cycle multiblock storage, and 'Trans_M' is the operation of the bus cycle basic cycle multiblock storage. When the trigger of the specified number of blocks set in the trigger condition occurs, the search ends.

'S_level'은 트리거조건을 만족하는 시점을 기준으로 지정된 사이클 수만큼 저장을 계속하고, 저장완료 후 검색을 종료하는 상태이고, 'M_level'은 트리거 조건을 만족하는 시점을 기준으로 지정된 블록수만큼 저장을 계속하고 저장완료 후 검색을 종료하는 상태이다.'S_level' is to save as many cycles as specified based on the point that satisfies the trigger condition. The search is terminated after the completion of storage. 'M_level' is to save as many blocks as specified based on the point where the trigger condition is satisfied. Continue to save and finish the search after saving.

2. 프로세서모듈2. Processor Module

프로세서모듈(35)은 사용자와 인터페이스를 제공하며 사용자의 검색저장 명령을 받으면 기능제어모듈(34)에 트리거조건을 제공하여 기능제어모듈에 의해 실질적인 검색 저장기능을 수행하도록 지시한다. 기능제어모듈(33)에 의해 검색 저장기능이 종료되면, 저장된 검색 결과를 얻기 위하여 검색 메모리 리드동작을 수행하며, 읽혀진 데이터를 가공한 후 사용자에게 시스템 버스정보를 디스플레이 해준다. 또한 기능 제어 모듈(34)에 의해 검색 저장기능이 수행되고 있는 동안, 프로세서 모듈(35)은 주기적으로 카운터 레지스터값을 검색하여 버스 사용율에 대한 정보를 사용자에게 디스플레이 해준다.The processor module 35 provides an interface with the user and provides a trigger condition to the function control module 34 when receiving the user's search and store instruction to instruct the function control module to perform a substantial search and storage function. When the search storage function is terminated by the function control module 33, a search memory read operation is performed to obtain a stored search result, and after processing the read data, the system bus information is displayed to the user. In addition, while the search storage function is being performed by the function control module 34, the processor module 35 periodically retrieves the counter register value and displays information on the bus utilization rate to the user.

이러한 프로세서 모듈은 제7도에 도시된 바와 같은 신호선을 가지며, 그 신호선들의 의미는 다음과 같다.This processor module has a signal line as shown in FIG. 7, and the meanings of the signal lines are as follows.

'inBUS〈31:0〉'은 기능제어모듈(34)로부터 상태 레지스터나 카운터 레지스터를 읽어 들이거나 검색 메모리(33)에 저장된 데이터를 읽어 들일 때 사용되는 32비트 데이터 입력버스이고, 'ctlacq〈1:0〉'는 각 모듈간의 동기를 위한 제어상태 입력신호이다. 프로세서모듈(35)은 기능제어모듈(34)로부터 구동되는 이 신호를 보고 제어권을 요청하거나 현재의 동작 진행상태를 파악한다. 'Done'은 기능제어모듈(34)로부터 구동되는 인터럽트 입력신호로서 이 신호에 의해 프로세서모듈이 다시 제어권을 돌려 받는다. 'Reset_'은 각 모듈을 리셋하기 위한 출력신호로서 푸시버튼 리셋이나 전원온 리셋이 동작할 때 구동되고, 'CPU_request'는 제어권을 획득하기 위하여 기능제어모듈(34)에 요청하는 출력신호이고, 'Start'는 기능제어모듈(34)에 트리거조건을 인가한 후 기능제어모듈로 하여금 시스템 버스의 데이터를 검색하여 검색 메모리(33)에 데이터 저장할 수 있도록 시작시점을 알리는 신호이다. 이 신호는 반드시 제어권을 획득한 후 구동하여야 한다. 'Stop'은 프로세서모듈(35)의 사용이 모두 끝났음을 알리는 신호로서, 이때 제어권은 기능제어모듈에 이양된다. 'DoneACK'는 기능제어모듈(34)로부터 구동되는 Done신호에 대한 응답신호이고, 'outBUS〈17:0〉'은 레지스터 라이트동작을 수행하기 위해 필요한 데이터를 전송하는 통로이고, 'S_REG'는 레지스터 리드나 레지스터 라이트동작을 수행하기 위해 대상 레지스터를 선택하기 위한 신호선으로서, 리드동작을 위해서는 로우 액티브상태를 유지해야 하고, 라이트동작을 위해서는 로우에서 하이로 전이하여야 한다.'inBUS <31: 0>' is a 32-bit data input bus used when reading status registers or counter registers from the function control module 34 or data stored in the search memory 33, and 'ctlacq <1' : 0> 'is the control status input signal for synchronization between modules. The processor module 35 sees this signal driven from the function control module 34 to request control right or to grasp the current operation progress. 'Done' is an interrupt input signal driven from the function control module 34 and the processor module returns control right by this signal. 'Reset_' is an output signal for resetting each module, and is driven when a pushbutton reset or a power-on reset is operated. 'CPU_request' is an output signal that requests the function control module 34 to obtain control. 'Start' is a signal indicating the start time so that after the trigger condition is applied to the function control module 34, the function control module can retrieve data on the system bus and store data in the search memory 33. This signal must be driven after acquiring control. 'Stop' is a signal indicating that the use of the processor module 35 is all finished, and the control right is transferred to the function control module. 'DoneACK' is a response signal for the Done signal driven from the function control module 34, 'outBUS <17: 0>' is a path for transmitting data necessary to perform a register write operation, and 'S_REG' is a register. As a signal line for selecting a target register to perform a read or register write operation, it is required to maintain a low active state for a read operation and to transition from low to high for a write operation.

'P_Addr〈19:3〉'은 검색 메모리(33)에 저장된 데이터를 읽기 위하여 사용되는 어드레스신호선으로, 32비트의 데이터를 얻기 위하여 'S_TM〈9:0〉'신호를 같이 구동하는데, 'S_TM〈9:0〉'은 검색 메모리에 저장된 데이터를 읽기 위하여 검색 메모리모듈내의 10개 뱅크중에서 하나를 선택하는 신호선이다.'P_Addr <19: 3>' is an address signal line used to read data stored in the search memory 33. The 'P_Addr <19: 3>' drives the 'S_TM <9: 0>' signal together to obtain 32 bits of data. 9: 0> 'is a signal line that selects one of ten banks in the search memory module to read data stored in the search memory.

그리고 프로세서 모듈은 제8도에 도시된 바와 같이 동작상태가 변화되는데, 'A'는 검색관련 동작상태이고, 'B'은 검색결과를 사용자에게 알려주기 위한 디스플레이관련 동작상태이다.As shown in FIG. 8, the processor module changes its operation state, where 'A' is a search-related operation state, and 'B' is a display-related operation state for informing a user of a search result.

프로세서모듈(35)은 휴지(idle)상태에 있다가 'Request'신호에 의해 CPU_request신호를 구동하여 제어권을 획득한 후 검색조건을 설정하기 위하여 마스크 레지스터와 데이터 레지스터에 트리거조건을 기록 한 다음 Start 신호를 구동한 후 아이들 상태로 대기하고, 'Done'신호에 의해 웨이크업되어 검색 메모리 데이터를 리드한 후 이를 가공하여 디스플레이하고, 계속 검색할 것인지를 판단하여 예이면 검색조건을 다시 설정하는 단계로 넘어가고 아니면 Stop 신호를 구동한 후 휴지상태로 천이한다.The processor module 35 is in an idle state, drives the CPU_request signal by the 'Request' signal, acquires a control right, and then records the trigger condition in the mask register and the data register to set the search condition. After driving the signal, it waits in the idle state, wakes up by the 'Done' signal, reads the search memory data, processes it, displays it, and determines whether to continue searching. If not, stop After driving the signal, it transitions to the idle state.

3. 검색 메모리 모듈3. Search memory module

검색 메모리모듈(33)은 버스인터페이스 모듈(31)로부터 데이터를 전송받아 검색 메모리에 저장하거나 저장된 데이터를 로칼 버스를 통해 프로세서 모듈로 전송한다.The search memory module 33 receives data from the bus interface module 31 and stores the data in the search memory or transmits the stored data to the processor module through the local bus.

이러한 검색 메모리모듈의 신호선은 제9도에 도시된 바와 같은데, 이를 설명하면 다음과 같다.Signal lines of such a search memory module are shown in FIG. 9, which will be described below.

'F_Addr〈16:0〉'은 기능제어모듈(34)에서 제어하는 어드레스신호선으로서 시스템버스로부터 오는 버스정보를 검색 메모리에 쓰기 위한 입력신호이고, 'P_Addr〈18:2〉'는 프로세서모듈(35)에서 제어하는 어드레스신호선으로서 검색 메모리 리드동작시에 사용된다.'F_Addr <16: 0>' is an address signal line controlled by the function control module 34 and is an input signal for writing bus information from the system bus into the search memory, and 'P_Addr <18: 2>' is a processor module 35. Is an address signal line to be controlled during the search memory read operation.

'TM〈9:0〉'은 프로세서 모듈(35)에서 제어하는 검색 메모리 뱅크 어드레스신호선으로 프로세서모듈(35)에서 리드동작시 사용하고, 'InTraceDATA〈319:288〉'은 기능제어모듈에서 제공하는 시간에 관한 정보를 전송하고, 'inTraceDATA〈288:0〉'은 시스템 버스상에 구동된 데이터를 버스인터페이스모듈(31)에서 래치하여 제공하는 신호선이다.'TM <9: 0>' is a search memory bank address signal line controlled by the processor module 35, and is used during read operation in the processor module 35, and 'InTraceDATA <319: 288>' is provided by the function control module. Information about time is transmitted, and 'inTraceDATA &lt; 288: 0 &gt; is a signal line which latches and provides data driven on the system bus in the bus interface module 31.

'owner〈1:0〉'은 현재 검색 메모리에 대한 제어권을 가진 모듈을 알려주며, 메모리 제어부는 현재 제어권을 가진 모듈에 따라 라이트와 리드동작에 대한 권한을 제한한다. 라이트에 대한 권한은 기능제어모듈에만 있으며 프로세서 모듈은 리드에 대한 권한만을 가지고 있다.'owner <1: 0>' indicates a module that has control over the current search memory, and the memory control unit restricts the right to write and read operations according to the module having control. Rights to writes are only in the function control module, and processor modules only have rights to reads.

'clkE', 'clkS'는 검색 메모리 라이트를 위한 클럭신호선이고, 'outBUS〈17:0〉'은 프로세서모듈의 데이터 리드 요청에 따른 데이터를 전송하기 위한 통로이다.'clkE' and 'clkS' are clock signal lines for writing the search memory, and 'outBUS <17: 0>' is a path for transmitting data according to a data read request of the processor module.

4. 버스인터페이스모듈4. Bus Interface Module

버스인터페이스모듈(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)를 통해 래치되도록 되어 있다.The bus interface module 31 latches all data driven on the system bus and transmits the data to the search memory module 33 and the function control module 34. That is, the bus interface module 31 is a system bus (HiPi in the embodiment of the present invention), as shown in FIG. Bus lines are input through the BTL buffer and latched to the D flip-flop to transfer the system bus information to the function control module and the search memory. At this time, the data bus arbitration bus through the DBARB buffer 41, the data bus through the Data BUS buffer 42, the status bus through the Status Bus buffer 43, and the address bus arbitration bus through the AARB buffer 44. , Address bus is Addr. Via the bus buffer 45, the interrupt bus is latched through the Int. Bus buffer 46, and the utility bus is latched through the Utility Bus buffer 47.

이상에서 설명한 바와 같이, 본 발명이 적용된 버스 정보 분석기는 HiPi 버스에서 나타나는 총293개의 신호선중에서 282개의 신호들과, 외부 트리거 요소신호 1개를 포함하여 총 283개의 신호들을 검색할 수 있다.As described above, the bus information analyzer to which the present invention is applied is HiPi. A total of 283 signals can be searched from the total of 293 signal lines appearing on the bus, including 282 signals and one external trigger element signal.

5. 클럭생성모듈5. Clock Generation Module

클럭생성모듈(32)은 시스템 버스에서 구동되는 시스템 버스 클럭을 입력받아 버스정보 분석기내의 각 모듈에 내부 클럭을 제공한다.The clock generation module 32 receives the system bus clock driven on the system bus and provides an internal clock to each module in the bus information analyzer.

이상에서 살펴 본 바와 같이 본 발명에 따른 시스템 버스 분석기는 시스템 버스의 기본 사이클단위로 트랜잭션 트리거 조건을 입력받아 시스템 버스의 상태를 검색하므로써 고속 중형 컴퓨터의 시스템 상태를 효율적으로 시험하거나 컴퓨터의 성능을 분석할 수 있는 효과가 있다.As described above, the system bus analyzer according to the present invention can efficiently test the system state of a high-speed medium-size computer or analyze the performance of the computer by searching for the state of the system bus by receiving transaction trigger conditions in basic cycle units of the system bus. It can work.

Claims (1)

다중 프로세서 시스템의 시스템 버스상의 신호들을 소정의 단위로 검색하여 모니터하도록 된 시스템 버스 분석기에 있어서, 소정의 검색 위치정보와 크기정보에 따라 시스템 버스의 신호를 저장하기 위한 검색 메모리(27); 트리거 조건을 위한 신호를 출력하고, 검색 메모리의 데이터를 읽어와 가공하여 사용자에게 제공하는 프로세서(21); 상기 프로세서로부터 입력된 돈케어 트리거조건을 저장하는 마스크 레지스터(22); 상기 프로세서로부터 입력된 케어 트리거조건을 저장하는 데이터 레지스터(23); 상기 프로세서로부터 입력된 검색위치정보와 저장 크기정보를 저장하는 컴맨드 레지스터(24); 상기 마스크 레지스터, 데이터 레지스터에 저장된 트리거 조건과 시스템 버스의 신호정보를 버스 클럭마다 소정 단위로 비교하고, 조건이 일치되면 저장 크기정보만큼 카운트하는 비교기(25); 및 상기 비교기의 출력에 따라 트리거조건이 일치되면 소정의 위치 정보로부터 상기 저장 크기값 만큼 시스템 버스의 신호상태를 검색 메모리에 저장하도록 상기 검색 메모리의 어드레스 및 라이트신호를 출력하는 검색 메모리 저장 제어신호 생성부(27)로 구성되는 컴퓨터 시스템의 시스템 버스 분석장치.A system bus analyzer configured to search and monitor signals on a system bus of a multiprocessor system in a predetermined unit, the system bus analyzer comprising: a search memory 27 for storing signals of a system bus according to predetermined search position information and size information; A processor 21 for outputting a signal for a trigger condition, reading and processing data of a search memory and providing the signal to a user; A mask register 22 for storing the money care trigger condition input from the processor; A data register 23 for storing a care trigger condition input from the processor; A command register 24 for storing the search position information and the storage size information input from the processor; A comparator 25 for comparing the trigger condition stored in the mask register and the data register with signal information of a system bus for each bus clock, and counting the storage size information if the condition is matched; And generating a search memory storage control signal for outputting an address and a write signal of the search memory to store a signal state of a system bus in the search memory as much as the storage size value when predetermined trigger information is matched according to the output of the comparator. A system bus analysis device for a computer system composed of a section 27.
KR1019950069190A 1995-12-30 1995-12-30 System bus analysis apparatus of computer system KR0171774B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950069190A KR0171774B1 (en) 1995-12-30 1995-12-30 System bus analysis apparatus of computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950069190A KR0171774B1 (en) 1995-12-30 1995-12-30 System bus analysis apparatus of computer system

Publications (2)

Publication Number Publication Date
KR970049661A KR970049661A (en) 1997-07-29
KR0171774B1 true KR0171774B1 (en) 1999-03-30

Family

ID=19448338

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950069190A KR0171774B1 (en) 1995-12-30 1995-12-30 System bus analysis apparatus of computer system

Country Status (1)

Country Link
KR (1) KR0171774B1 (en)

Also Published As

Publication number Publication date
KR970049661A (en) 1997-07-29

Similar Documents

Publication Publication Date Title
US6539500B1 (en) System and method for tracing
US4590550A (en) Internally distributed monitoring system
US5581482A (en) Performance monitor for digital computer system
US6360337B1 (en) System and method to perform histogrammic counting for performance evaluation
US4503495A (en) Data processing system common bus utilization detection logic
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
US4511960A (en) Data processing system auto address development logic for multiword fetch
US5047919A (en) Method and apparatus for monitoring software execution in a parallel multiprocessor computer system
US6542861B1 (en) Simulation environment cache model apparatus and method therefor
US7010722B2 (en) Embedded symmetric multiprocessor system debug
US5727167A (en) Thresholding support in performance monitoring
EP0217922B1 (en) An array for simulating computer functions for large computer systems
US6035377A (en) Method and apparatus for determining memory pages having greatest frequency of access in a non-uniform memory access computer system
US20050240816A1 (en) Debugging power management
US6092219A (en) Method for use of bus parking states to communicate diagnostic information
US6697968B1 (en) System and method for high speed, low cost address and bus signal tracing
US6128705A (en) Method and apparatus for executing multiply-initiated, multiply-sourced variable delay system bus operations
KR0171774B1 (en) System bus analysis apparatus of computer system
KR0171768B1 (en) System bus analysis apparatus of computer system
KR0171767B1 (en) System bus analysis apparatus of computer system
Schulman Hardware measurement device for IBM system/360 time sharing evaluation
US6473772B1 (en) Apparatus and methods for dynamic simulation event triggering
EP0543607B1 (en) Image processing system
Harden et al. A performance monitor for the MSPARC multicomputer

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