[go: up one dir, main page]

KR0146519B1 - Interrupt bus data pattern extracting apparatus of computer system - Google Patents

Interrupt bus data pattern extracting apparatus of computer system

Info

Publication number
KR0146519B1
KR0146519B1 KR1019950017153A KR19950017153A KR0146519B1 KR 0146519 B1 KR0146519 B1 KR 0146519B1 KR 1019950017153 A KR1019950017153 A KR 1019950017153A KR 19950017153 A KR19950017153 A KR 19950017153A KR 0146519 B1 KR0146519 B1 KR 0146519B1
Authority
KR
South Korea
Prior art keywords
data
bus
interrupt
data pattern
state
Prior art date
Application number
KR1019950017153A
Other languages
Korean (ko)
Other versions
KR970002684A (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 KR1019950017153A priority Critical patent/KR0146519B1/en
Publication of KR970002684A publication Critical patent/KR970002684A/en
Application granted granted Critical
Publication of KR0146519B1 publication Critical patent/KR0146519B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/362Debugging of software
    • G06F11/3648Debugging of software using additional hardware
    • 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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 컴퓨터의 인터럽트 버스 데이타 패턴 추출 장치에 관한 것으로서, 원하는 데이타 패턴을 저장하는 데이타 레지스터; 데이타 패턴 동일성 판단부; 시스템 버스의 데이타를 래치하여 저장하는 트레이스 메모리부 ; 래치되는 데이타가 저장된 곳의 어드레스를 트레이스 메모리부에게 제공하는 트레이스 메모리 어드레스 생성부; 트레이스 메모리 어드레스 생성부에서 발생하는 해당 어드레스를 저장하는 매치 어드레스 저장부; 및 트레이스 메모리부에 저장되어 있는 해당 어드레스의 데이타를 트레이스하는 데이타 트레이스부를 포함함을 특징으로 한다.The present invention relates to an interrupt bus data pattern extraction apparatus for a computer, comprising: a data register for storing a desired data pattern; A data pattern identity determination unit; A trace memory unit for latching and storing data of a system bus; A trace memory address generation section for providing the trace memory section with an address where the latched data is stored; A match address storage unit for storing a corresponding address generated in the trace memory address generator; And a data trace unit for tracing data of the corresponding address stored in the trace memory unit.

본 발명은 인터럽트 버스의 데이타 패턴을 찾을 수 있는 기능을 제공하여 인터럽트 버스 신호들을 보다 정확하게 해석할 수 있게 함으로써, 컴퓨터 시스템의 개발 및 유지 보수에 있어서 사용자가 시스템을 분석 및 디버깅 하는데 매우 유용하게 사용될 수 있다.The present invention provides a function to find the data pattern of the interrupt bus, so that the interrupt bus signals can be interpreted more accurately, which can be very useful for the user to analyze and debug the system in the development and maintenance of the computer system. have.

Description

컴퓨터 시스템의 인터럽트 버스 데이타패턴 추출장치Interrupt Bus Data Pattern Extractor for Computer System

제1도는 일반적인 버스기반의 다중 프로세서 컴퓨터 시스템의 전체적인 구성도1 is an overall configuration diagram of a general bus-based multiprocessor computer system

제2도는 버스 분석기의 주요 블럭을 도시한 구성도2 is a block diagram showing the main block of the bus analyzer

제3도는 인터럽트 버스 분석을 위한 블럭의 전체적인 구성도3 is a block diagram of a block for interrupt bus analysis.

제4도는 본 발명의 핵심 부분인 기능 제어 모듈의 상세 구성도4 is a detailed configuration diagram of a function control module which is an essential part of the present invention.

제5도는 ICC 버스 Short Message FormatFigure 5 shows the ICC Bus Short Message Format.

제6도는 데이타 패턴 동일성 판단부의 스테이트 머신6 is a state machine of the data pattern identity determination unit.

본 발명은 컴퓨터 시스템의 시스템 버스 분석기에 관한 것으로서, 특히 시스템 버스의 인터럽트 버스 데이타 패턴을 찾는 기능을 가진 인터럽트 버스 패턴 찾기 장치에 관한 것이다.The present invention relates to a system bus analyzer of a computer system, and more particularly, to an interrupt bus pattern finder having a function of finding an interrupt bus data pattern of a system bus.

시스템 버스 분석기는 컴퓨터 시스템이 동작중 시스템 버스를 통해 데이타를 읽고 쓰는 등의 버스 동작을 할 때 버스상에서 일어나는 일련의 버스 신호의 상태 변화를 일정 버스 사이클 동안 저장하고 있다가 필요할 때 보여 줌으로써 시스템의 동작을 분석할 수 있게 해준다. 이는 시스템을 개발할 때나 시스템을 유지 보수 할 때 개발자나 유지 보수하는 사람들에게 매우 유용하게 사용될 수 있다. 즉 로직 어낼라이져(Logic Analyzer)의 기능을 확장한 것과 같다. 특히 규모가 큰 중형 컴퓨터 이상의 시스템에서는 대개 시스템 버스는 시스템 고유의 버스를 사용하는 경우가 많은데, 이 때에는 버스 분석기를 시스템 개발자들이 만들어서 사용하게 된다. 왜냐하면 로직 분석기는 고가의 장비일 뿐만 아니라 제한된 채널수로 인하여 버스의 모든 신호선을 동시에 관찰하기가 어려우며 또한 설치와 이동에 많은 불편이 따르기 때문이다. 따라서 버스 상태를 분석하기 위해 다른 보드와 마찬가지로 버스상에 장착할 수 있는 전용 버스 분석기용 보드를 제작하여 사용함으로써, 설치 및 이동이 용이하고 시스템 버스에서 정의된 모든 신호선을 쉽게 검사하고 확인할 수 있는 장점을 가지며 아울러 비용면에서도 일반 로직 분석기에 비하여 값이 매우 저렴하다.The system bus analyzer stores the state of a series of bus signals on a bus during certain bus cycles when the computer system is operating a bus, such as reading and writing data over the system bus, and then displaying them as needed to show the operation of the system. Allows you to analyze This can be very useful to developers or maintainers when developing systems or maintaining them. It's like extending the functionality of the Logic Analyzer. Especially in large medium and larger systems, the system bus often uses a system-specific bus. In this case, a bus analyzer is created and used by system developers. Because the logic analyzer is not only expensive equipment, it is difficult to observe all signal lines on the bus at the same time due to the limited number of channels, and it is inconvenient to install and move. Therefore, by making and using a dedicated bus analyzer board that can be mounted on the bus like other boards to analyze the bus condition, it is easy to install and move, and it is easy to check and check all signal lines defined on the system bus. In addition, the cost is very low compared to general logic analyzer.

기존의 행정 전산망용 주전산기Ⅲ에 사용된 시스템 버스 분석기에는 데이타 전송 버스(DTB:Data Transfer Bus 이하 DTB)패턴 찾기 기능은 구현되어 있으나 인터럽트 버스 데이타 패턴 찾기 기능은 구현되어 있지 않다. 상기 기능의 부재로 인하여 발생되는 문제점은 첫째로는 원하는 데이타 패턴을 찾기가 곤란함으로 인해 인터럽트 버스 프로토콜을 분석하기가 힘들며, 둘째로 시스템 성능을 예측하기 곤란하며, 셋째로 시스템 오류 등에 대해 대처하기가 곤란함을 들 수 있다.Although the system bus analyzer used in the main computer III for the administrative computer network has a data transfer bus (DTB) pattern search function, the interrupt bus data pattern search function is not implemented. The problem caused by the lack of the above functions is that it is difficult to analyze the interrupt bus protocol because it is difficult to find the desired data pattern. Second, it is difficult to predict the system performance. Third, it is difficult to cope with system errors. Difficulty can be mentioned.

따라서 본 발명에 따른 인터럽트 버스 상의 데이타 패턴(Pattern)찾기 장치는 사용자가 원하는 인터럽트 버스의 데이타 패턴을 찾을 수 있는 기능을 제공하고, 인터럽트 버스 신호들을 보다 정확하게 제어 및 해석하여 이를 사용자에게 제공함으로써, 사용자가 시스템을 분석 및 디버깅(Debugging)하는데 도움이 될 수 있도록 하기 위함이다.Therefore, the data pattern search apparatus on an interrupt bus according to the present invention provides a function of finding a data pattern of a desired interrupt bus, and provides the user with more accurate control and interpretation of interrupt bus signals. To help you analyze and debug your system.

본 발명은 상술한 문제점을 극복하고 상기의 목적을 달성하기 위해 창출된 것으로서, 본 발명에 따른 컴퓨터 시스템 버스의 인터럽트 버스의 데이타 버스 패턴 추출 장치는 특정 인터럽트 버스 데이타를 추출하기 위해 특정 데이타 패턴을 저장하는 데이타 레지스터; 상기 데이타 레지스터의 특정 데이타와 버스 클럭에 동기되어 래치되는 인터럽트 버스 데이타의 동일성을 판단하는 데이타 패턴 동일성 판단부; 상기 데이타 패턴 동일성 판단부에서 데이타가 동일하다고 판단될 때 까지, 시스템 버스 클럭에 동기되어 인터럽트 버스의 데이타를 래치하여 순차적으로 저장하는 트레이스 메모리부; 상기 데이타 패턴 동일성 판단부에서 데이타가 동일하다고 판단될 때 까지, 인터럽트 버스의 래치되는 데이타가 저장되는 곳의 어드레스를 상기 트레이스 메모리부에게 제공하는 트레이스 메모리 어드레스 생성부;SUMMARY OF THE INVENTION The present invention has been made to overcome the above-mentioned problems and achieve the above object, and the data bus pattern extraction apparatus of the interrupt bus of the computer system bus according to the present invention stores a specific data pattern to extract specific interrupt bus data. A data register; A data pattern identity determination unit that determines the identity of the specific data of the data register and the interrupt bus data latched in synchronization with a bus clock; A trace memory unit for latching and sequentially storing data on an interrupt bus in synchronization with a system bus clock until the data pattern identity determination unit determines that data is the same; A trace memory address generation unit for providing the trace memory unit with an address where the latched data of the interrupt bus is stored until the data pattern identity determination unit determines that the data is the same;

상기 데이타 패턴 동일성 판단부에서 데이타가 동일하다고 판단될 때 상기 트레이스 메모리 어드레스 생성부에서 발생하는 해당 어드레스를 저장하는 매치(Match) 어드레스 저장부; 및 상기 매치 어드레스 저장부에 저장된 어드레스를 독출하여 상기 트레이스 메모리부에 저장되어 있는 해당 어드레스의 데이타를 트레이스하는 데이타 트레이스부를 포함함을 특징으로 하여 이루어진다.A match address storage unit for storing a corresponding address generated in the trace memory address generation unit when it is determined that the data is identical by the data pattern identity determination unit; And a data trace unit which reads an address stored in the match address storage unit and traces data of a corresponding address stored in the trace memory unit.

그리고 컴퓨터 시스템 버스의 인터럽트 버스의 데이타 버스 패턴 추출장치에 있어서, 상기 데이타 패턴 동일성 판단부는 인터럽트 버스 전송 프로토콜을 구성하는 버스 싸이클의 단계들을 스테이트로 설정하고, 버스 싸이클의 각 단계가 버스 프로토콜을 만족하는지의 여부로 전이될 스테이트가 결정되며, 인터럽트 벡터 전송 싸이클을 표시하는 단계의 스테이트에서 상기 데이타 레지스터에 기록된 데이타 패턴과 비교하여 동일성을 판단하는 스테이트 머신(State Machine)으로 이루어짐을 특징으로 한다.And in the data bus pattern extracting device of the interrupt bus of the computer system bus, the data pattern identity determining section sets the steps of the bus cycles constituting the interrupt bus transfer protocol as states, and whether each step of the bus cycle satisfies the bus protocol. The state to be transitioned is determined, and is characterized in that it consists of a state machine which determines the identity by comparing with the data pattern recorded in the data register in the state of indicating the interrupt vector transfer cycle.

또한 컴퓨터 시스템 버스의 인터럽트 버스의 데이타 버스 패턴 추출 장치에 있어서, 상기 데이타 레지스터는 추출하고자 하는 데이타 패턴을 구성하는 각 비트(bit)들을 비트별로 마스크할 수 있는 마스크 레지스터를 부가로 구비함을 특징으로 한다.In the data bus pattern extraction apparatus of an interrupt bus of a computer system bus, the data register further includes a mask register for masking bits of each bit constituting a data pattern to be extracted bit by bit. do.

이하 첨부된 도면을 참조하여 본 발명에 따른 일실시예를 들어 본 발명을 상세히 설명한다.Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings.

먼저 본 발명이 적용되고 있는 중형 컴퓨터 시스템의 전체적인 구성은 제1도와 같으며, 백플레인버스(11)에 프로세서 보드(12), 메모리(13), 입출력처리기 보드(14) 및 버스 상태 분석기용 보드(15)등이 장착될 수 있다. 이 시스템은 버스를 기반으로 한 백플레인(Backplane)방식의 시스템 버스를 사용하고 있는데 백플레인에는 시스템을 구성하는 보드들이 백플레인의 슬롯에 꽂혀 고유의 기능을 담당한다. 이 때 백플레인 상의 시스템 버스 신호 중 인터럽트 버스 신호를 분석하기 위해 본 발명이 적용된 버스 분석기 보드가 백플레인의 슬롯에 꽂혀 작동을 한다.First, the overall configuration of a medium computer system to which the present invention is applied is the same as that of FIG. 1 and includes a processor board 12, a memory 13, an input / output processor board 14, and a bus state analyzer board on the backplane bus 11. 15) can be mounted. The system uses a bus-based backplane system bus in which the boards that make up the system are plugged into slots in the backplane to perform their own functions. At this time, the bus analyzer board to which the present invention is applied is inserted into a slot of the backplane to analyze the interrupt bus signal among the system bus signals on the backplane.

상기 버스 분석기의 전체적인 구성을 주요 블럭도로 나타낸 것이 제2도이다. 참조번호 21은 터미날(Terminal), 22는 중앙처리부(CPU), 23은 메모리 제어부, 24는 트레이스 메모리, 25는 버스 인터페이스, 그리고 26은 시스템 버스를 나타낸다. 제2도의 동작을 간략히 설명하면 다음과 같다. 사용자가 터미날(21)을 통해 시스템 버스(26) 데이타의 트레이스를 시작하라는 명령을 입력하면, 중앙처리부(22)는 입력된 명령어를 해석하여 메모리부(23)으로 전송한다. 메모리 제어부(23)는 중앙처리부(22)의 트레이스 시작 명령에 따라 버스 인터페이스부(25)의 경로 버퍼를 열어 시스템 버스(26)의 데이타가 트레이스 메모리(24)에 도달될 수 있도록 한다. 그리고 메모리 제어부(22)는 트레이스 메모리(24)에 주소정보와 기록신호를 보냄으로써 시스템 버스(26)의 데이타가 트레이스 메모리(24)에 순서대로 기록되도록 한다. 만일 트레이스 도중에 트리거가 발생하면 메모리 제어부(23)는 트레이스 메모리부(24)에 대한 기록 신호의 생성을 중단하고, 버스 인터페이스(25)의 경로버퍼를 닫는다. 중앙처리부(22)는 사용자의 요구에 따라 트레이스 메모리(24)에 저장된 데이타를 터미날에 표시하고, 사용자는 이를 통해 시스템 버스(26)의 상태를 분석한다.2 is a block diagram illustrating the overall configuration of the bus analyzer. Reference numeral 21 denotes a terminal, 22 a central processing unit (CPU), 23 a memory controller, 24 a trace memory, 25 a bus interface, and 26 a system bus. The operation of FIG. 2 is briefly described as follows. When the user inputs a command to start the trace of the system bus 26 data through the terminal 21, the central processing unit 22 interprets the input command and transmits it to the memory unit 23. The memory controller 23 opens the path buffer of the bus interface 25 according to the trace start command of the central processing unit 22 so that the data of the system bus 26 can reach the trace memory 24. The memory controller 22 sends address information and a recording signal to the trace memory 24 so that the data of the system bus 26 are sequentially written to the trace memory 24. If a trigger occurs in the middle of the trace, the memory controller 23 stops the generation of the write signal to the trace memory unit 24 and closes the path buffer of the bus interface 25. The central processing unit 22 displays data stored in the trace memory 24 on the terminal according to the user's request, and the user analyzes the state of the system bus 26 through the terminal.

그리고 상기 버스 분석기 중 본 발명을 포함하고 있는 인터럽트 버스를 분석하기 위한 장치의 블록들의 구성을 나타낸 것이 제3도이다. 참조 번호 300은 데이타 트레이스부, 310은 기능제어 모듈, 320은 트레이스 메모리부, 330은 TPG(Timming Pulse Generator) 모듈, 340은 버스 인터페이스 모듈이다. 상기 데이타 트레이스부(300)은 추출하고자 하는 인터럽트 데이타 패턴이 저장된 어드레스를 독출하여 트레이스 메모리부(320)에 저장되어 있는 해당 어드레스의 데이타를 트레이스 하는 기능을 하며, 트레이스 메모리부(320)는 매치 신호가 인에이블 될 때 까지 매 인터럽트 버스 클럭마다 래치된 인터럽트 버스의 데이타를 저장하는 역할을 한다. 그리고 TPG 모듈(330)은 시스템 버스로 부터 시스템 버스 클럭을 공급받아 시스템 버스 클럭을 기준으로 한 타이밍 펄스를 만들어 상기 기능제어 모듈(310)과 버스 인터페이스 모듈(340)로 제공하는 역할을 한다. 또한 버스 인터페이스 모듈(340)은 시스템 버스의 비티엘(BTL) 신호를 티티엘(TTL) 신호로 변환하는 역할을 한다.FIG. 3 shows the configuration of blocks of an apparatus for analyzing an interrupt bus including the present invention among the bus analyzers. Reference numeral 300 denotes a data trace unit, 310 denotes a function control module, 320 denotes a trace memory unit, 330 denotes a TPG (Timming Pulse Generator) module, and 340 denotes a bus interface module. The data trace unit 300 reads an address in which the interrupt data pattern to be extracted is stored and traces data of the corresponding address stored in the trace memory unit 320, and the trace memory unit 320 matches a match signal. It stores the data on the latched interrupt bus at every interrupt bus clock until is enabled. The TPG module 330 receives the system bus clock from the system bus and generates timing pulses based on the system bus clock to provide the function control module 310 and the bus interface module 340. In addition, the bus interface module 340 converts a BTL signal of a system bus into a TTL signal.

한편 본 발명의 주요 부분인 상기 제3도의 기능제어 모듈(310)의 상세한 구성은 제4도와 같고 그 기능은 다음과 같다. 참조번호 400은 인터럽트 벡터 매치(IV_MAT) 모듈이고, 410은 트레이스 메모리 어드레스 생성부, 420은 매치 어드레스 저장부이다.Meanwhile, the detailed configuration of the function control module 310 of FIG. 3, which is a main part of the present invention, is the same as that of FIG. 4 and its function is as follows. Reference numeral 400 is an interrupt vector match (IV_MAT) module, 410 is a trace memory address generator, and 420 is a match address storage unit.

상기 IV_MAT(400) 모듈은 찾고자 하는 인터럽트 벡터 값을 CPU 를 이용해 읽고 쓸 수 있는 내부 레지스터를 갖고 있으며, 시스템 버스의 인터럽트 버스를 통해 들어오는 인터럽트 벡터 값을 상기 기록된 내부 레지스터의 값과 비교하여, 같으면, Match 신호를 트레이스 메모리 어드레스 생성부(410)에게 보냄으로써, 찾고자 하는 인터럽트 벡터 값을 가지고 있는 버스 싸이클을 찾아내는 기능을 한다.The IV_MAT (400) module has an internal register that can read and write the interrupt vector value to be searched by the CPU, and compares the interrupt vector value coming through the interrupt bus of the system bus with the value of the recorded internal register. By sending the match signal to the trace memory address generation unit 410, the bus cycle having the interrupt vector value to be searched can be found.

그리고 상기 트레이스 메모리 어드레스 생성부(410)은 트레이스 메모리에 어드레스와 시간 정보를 생성하여 제공하는 기능을 하며, 또한 상기 IV_MAT(400) 모듈로 부터 Match 신호를 받으면 매치 어드레스 저장부(420)로 매치될 때의 어드레스와 Cntl 신호를 보내, 찾고자 하는 인터럽트 벡터 값이 저장되는 트레이스 메모리 내의 어드레스가 매치 어드레스 저장부(420)에 저장되게 한다.The trace memory address generation unit 410 generates and provides address and time information in the trace memory, and receives a match signal from the IV_MAT 400 module to be matched to the match address storage unit 420. The address at the time and the Cntl signal are sent so that the address in the trace memory in which the interrupt vector value to be searched is stored is stored in the match address storage unit 420.

그리고 상기 매치 어드레스 저장부(420)은 상기 트레이스 메모리 어드레스 생성부(410) 모듈로 부터 Match 될 때의 어드레스와 Cntl 신호를 받아 내부 레지스터에 저장한 후, 프로세서가 필요로 할 때 저장되어 있는 어드레스를 제공하여 준다. 그러면 프로세서는 이 레지스터 값을 읽어 트레이스 메모리 중에서 찾고자 하는 인터럽트 벡터가 저장되어 있는 트레이스 메모리의 어드레스를 찾아 모니터 상에 보여준다.The match address storage unit 420 receives an address and a Cntl signal when a match is received from the trace memory address generation unit 410 module, stores it in an internal register, and stores the stored address when the processor needs it. Give it. Then, the processor reads the register value and finds the address of the trace memory in the trace memory where the interrupt vector to be found is displayed on the monitor.

한편 본 발명의 핵심 부분인 상기 IV_MAT 모듈 (400)을 더욱 상세하게 설명하면 다음과 같다. IV_MAT 모듈 (400)은 마스크 레지스터(440)와 데이타 레지스터(430)를 가지고 있고, 인터럽트 버스 클럭(ICLK)에 동기되어 동작되는 스테이트 머신 (State Machine)을 포함하고 있는 데이타 동일성 판단부(450)를 가지고 있어, 이 데이타 동일성 판단부(450)의 스테이트 머신에서 시스템 버스에서 들어오는 신호와 상기 두 레지스터 값을 비교하여 Match신호를 발생시킨다.Meanwhile, the IV_MAT module 400, which is a core part of the present invention, will be described in more detail. The IV_MAT module 400 includes a mask register 440 and a data register 430, and includes a data identity determining unit 450 including a state machine operated in synchronization with an interrupt bus clock ICLK. In the state machine of the data identity determining unit 450, the signal coming from the system bus is compared with the values of the two registers to generate a Match signal.

상기 마스크 레지스터(440)는 8 비트로 구성되어 있으며, 인터럽트 버스 신호 중 찾고자 하는 데이타 패턴 값을 비트 단위로 Mask 시키는 기능을 하며 '1'로 되면 Mask 되고 '0'이면 Unmask된다. 그리고 상기 데이타 레지스터(430)는 찾고자 하는 인터럽트 벡터 값을 저장하며 8 비트로 구성되어 있다. 해당 어드레스는 VMask[7..0]:0x80008이고 VData[7..0]:0x8000C이다. 이들 레지스터는 프로세서에 의해 데이타가 쓰여지며 어드레스 디코더에 의해서 'VMrSel'과 'VDrSel' 신호가 인에이블(Enable) 되므로써 선택된다. 이들 레지스터의 내용은 인터럽트 신호 중 찾고자 하는 데이타 패턴의 실제 값이 되며, 매 클럭마다 버스 상에 들어오는 데이타들과 비교 대상이 된다.The mask register 440 is composed of 8 bits. The mask register 440 functions to mask a data pattern value to be searched among the interrupt bus signals in bit units. When the mask register 440 is '1', the mask register 440 is masked. The data register 430 stores an interrupt vector value to be searched and consists of 8 bits. The address is VMask [7..0]: 0x80008 and VData [7..0]: 0x8000C. These registers are selected by the data being written by the processor and the 'VMrSel' and 'VDrSel' signals enabled by the address decoder. The contents of these registers become the actual value of the data pattern to be searched for in the interrupt signal, and are compared with data coming on the bus every clock.

그리고 상기 데이타 동일성 판단부(450)의 스테이트 머신은 인터럽트 버스상의 데이타 흐름 상태를 감시하며 인터럽트 버스의 버스 프로토콜을 분석한다. 여기서 인터럽트 버스의 프로토콜은 크게 두 부분으로 나눌 수 있는데, 하나는 인터럽트 버스 중재에 관한 부분이고 다른 하나는 데이타 즉 인터럽트 벡터 전송에 관한 부분이다. 인터럽트 버스의 프로토콜 진행 중 벡터 전송 싸이클일 때는 데이타 레지스터의 값과 현재 버스 상에 전송되고 있는 벡터 값을 비교하여 같으면 Match 신호를 트레이스 메모리 어드레스 생성부(410) 쪽으로 보내어 트리거가 발생했음을 알린다. 동기 클럭은 인터럽트 클럭(ICLK)에 맞추었고 ICLK가 가변 되더라도 그 클럭에 매치되어 동작된다.The state machine of the data identity determination unit 450 monitors the data flow state on the interrupt bus and analyzes the bus protocol of the interrupt bus. The protocol of the interrupt bus can be divided into two parts, one for interrupt bus arbitration and the other for data transfer, that is, interrupt vector transmission. In the case of the vector transfer cycle during the protocol of the interrupt bus, the value of the data register is compared with the vector value currently being transmitted on the bus, and if it is the same, a match signal is sent to the trace memory address generator 410 to indicate that a trigger has occurred. The synchronous clock is set to the interrupt clock (ICLK) and operates even if the ICLK is variable.

본 발명의 일실시예에서 사용되는 시스템은 인터럽트 버스 인터페이스 콘트롤러 디바이스로 미국의 인텔사 제품(모델명:Intel 82489DX)을 사용하고 있다. Intel 82489DX 인터럽트 콘트롤러 디바이스는 인터럽트 제어기 통신 (Interrupt Controlle r Communicaltion :ICC) 버스를 사용한다. 상기 ICC 버스는 상기 82489DX에 연결된 5-선(wire) 동기형 버스인데 이들 중 4-wire 는 데이타 전송과 중재겸용으로 사용되며 나머지 하나는 클럭으로 사용된다. 상기 ICC 버스 상에서 사용되는 메세지 형식(Format)은 짧은 메세지 포맷(short message format)과 긴 메시지 포맷(long message foramt)의 두 종류가 있는데, 여기서는 short message format 에 대해 적용하고자 한다. short message format 는 21 싸이클의 전송길이를 가지며 각 싸이클에 대한 전송 프로토콜에 따른 순서는 제5도와 같다. 처음 네 개의 싸이클은 ICC 버스 사용에 대한 중재 싸이클이며, 5번째 싸이클은 사용 모드 구분을 나타내며, 6번째 싸이클은 콘트롤 비트를 나타내며, 7-8번째 싸이클은 벡터 전송 싸이클이며, 9-16 번째 싸이클은 목적지를 나타내며,17번째는 체크 섬, 18번째는 포스트 앰블(post amble), 19번째는 수신여부, 20-21 번째는 아이드러(IDLE)상태를 나타낸다.The system used in one embodiment of the present invention uses a US Intel product (Model: Intel 82489DX) as the interrupt bus interface controller device. The Intel 82489DX interrupt controller device uses an Interrupt Control Communication Bus (ICC) bus. The ICC bus is a 5-wire synchronous bus connected to the 82489DX, of which 4-wire is used for data transfer and arbitration, and the other is used as a clock. There are two types of message formats used on the ICC bus, a short message format and a long message format, which are intended to be applied to the short message format. The short message format has a transmission length of 21 cycles and the sequence according to the transmission protocol for each cycle is shown in FIG. The first four cycles are arbitration cycles for the use of the ICC bus, the fifth cycle represents the mode of use mode, the sixth cycle represents the control bits, the seventh to eighth cycles are vector transfer cycles, and the 9-16th cycle is The 17th is a checksum, the 18th is a post amble, the 19th is reception, and the 20-21 is an IDLE status.

한편 상기의 short message format을 기반으로 한 인터럽트 버스 프로토콜에 있어서 원하는 인터럽트 벡터 값을 찾을 수 있게 하는 스테이트 머신을 구성하는 상태(State)는 13 개의 상태로 구성되며 제6도와 같다. 이에 대한 각 상태를 설명하면 다음과 같다.On the other hand, in the interrupt bus protocol based on the short message format, the state constituting the state machine for finding the desired interrupt vector value is composed of 13 states, as shown in FIG. Each state is described as follows.

- IDLE 상태 : ICC 버스 메세지 포맷 중 post amble 싸이클을 찾는다.(ICCB[3..0] == HF)-IDLE status: Search for post amble cycle in ICC bus message format (ICCB [3..0] == HF)

- ACCP 상태 : ICC 버스 메세지 포맷 중 Accept 싸이클을 확인한다. (ICCB[3..0] == H8)-ACCP Status: Check the Accept cycle of the ICC bus message format. (ICCB [3..0] == H8)

- IDLE1 상태 : ICC 버스 메세지 포맷 중 IDLE1 싸이클인가 확인한다.(ICCB[3..0] == H0)-IDLE1 status: Check if IDLE1 cycle is in ICC bus message format. (ICCB [3..0] == H0)

- IDLE2 상태 : ICC 버스 메세지 포맷 중 IDLE2 싸이클인가를 확인한다. (ICCB[3..0] == H0)-IDLE2 status: Check if IDLE2 cycle is in ICC bus message format. (ICCB [3..0] == H0)

- ARB1 상태 : ICC 버스 메세지 포맷 중 첫 번째 중재 싸이클을 확인하는 상태로서 ICCB[3..0] 값이 0이 아니어야 한다.-ARB1 status: Checks the first arbitration cycle of the ICC bus message format. The ICCB [3..0] value must not be zero.

- ARB2 상태 : ICC 버스 메세지 포맷 중 두 번째 중재 싸이클을 확인하는 상태로서 ICCB[3..0] 값이 0이 아니어야 한다.-ARB2 status: A status that identifies the second arbitration cycle of the ICC bus message format. The ICCB [3..0] value must not be zero.

- ARB3 상태 : ICC 버스 메세지 포맷 중 세 번째 중재 싸이클을 확인하는 상태로서 ICCB[3..0] 값이 0이 아니어야 한다.-ARB3 status: The third arbitration cycle of the ICC bus message format is acknowledged. The ICCB [3..0] value must not be zero.

- ARB4 상태 : ICC 버스 메세지 포맷 중 네 번째 중재 싸이클을 확인하는 상태로서 ICCB[3..0] 값이 0이 아니어야 한다.ARB4 state: The fourth arbitration cycle of the ICC bus message format is acknowledged. The ICCB [3..0] value must not be zero.

- DM 상태 : 아무일도 하지 않지만 프로토콜을 맞추기 위해 이 상태를 반드시 거친후 다음 싸이클로 넘어간다.-DM status: Nothing is done, but it must go through this status in order to match the protocol and then move on to the next cycle.

- CNTL 상태 : 아무일도 하지 않지만 프로토콜을 맞추기 위해 맞추기 위해 이 상태를 반드시 거친후 다음 싸이클로 넘어간다.-CNTL state: Nothing is done, but it must go through this state in order to match the protocol and then move on to the next cycle.

- VEC1 상태 : ICC 버스에서 들어오는 데이타와 내부 레지스터 VDr[7..4]의 내용과 비교하여 OK 이면 내부 신호 m11 신호를 High로 드라이브 시킨 후 VEC2 상태로 전이한다. 그러나 Not OK 이면 IDLE 상태로 전이한다.-VEC1 state: Compared with the data coming from the ICC bus and the contents of the internal register VDr [7..4], if it is OK, the internal signal m11 is driven high and then transitions to the VEC2 state. But if it is not OK, it will transition to IDLE state.

- VEC2 상태 : ICC 버스에서 들어오는 데이타와 내부 레지스터 VDr[3..0]의 내용과 비교하여 OK 이면 내부 신호 m10 신호를 High로 드라이브 시킨 후 VEC2 상태로 전이한다. 그러나 Not OK 이면 IDLE 상태로 전이한다.-VEC2 state: Compared with the data coming from the ICC bus and the contents of the internal register VDr [3..0], if it is OK, the internal signal m10 is driven high and then transitions to the VEC2 state. But if it is not OK, it will transition to IDLE state.

-Finish 상태 : 이 상태에서 내부에서 사용하는 신호들을 초기화 상태로 만든 후 IDLE 상태로 전이한다.-Finish state: In this state, internal signals are initialized and then transferred to IDLE state.

상술한 스테이트 머신의 상태를 기초로 스테이트 머신의 동작을 설명하면 다음과 같다. 먼저 스테이트 머신은 IDLE 상태에서 ICC 버스 메시지 포맷 중 post amble 싸이클을 기다리며 폴링하고 있다가 ICCB[3..0] 버스에 16진수 값 F(HF) 가 들어오면 ACCP 상태로 전이한다. ACCP 상태는 accept 싸이클을 확인하고 ICCB[3..0] 버스에 H8 가 들어오면 IDLE1 상태로 가고 그렇지 않으면 이전 상태인 IDLE 상태로 간다. IDLE1 상태에서 ICCB[]==H0 이면 IDLE2 상태로 가고 IDLE2 상태에서 ICCB[]==H0 이면 ARB1 상태로 간다. 만약 IDLE1, IDLE2 상태에서 ICCB[]==H0 이 아니면 다시 IDLE 상태로 간다. 한편 ARB1 상태는 인터럽트 버스가 중재 싸이클을 시작했음을 의미하므로 ICCB[]값이 H0이 아니어야 하고 그 때 ARB2로 전이한다. ARB2,ARB3,ARB4 도 ARB1 상태와 마찬가지로 동작하고, 전이 조건이 맞으면 DM 상태까지 전이한다. DM상태에서는 무조건 CNTL상태로 전이하고 이어서 VEC1 상태로 전이한다. VEC1 상태에서는 ICC 버스에서 들어오는 데이타와 내부 레지스터 VDr[7..4]의 내용과 비교하여 내용이 동일(OK)하면 내부신호 m11 신호를 하이(high)로 한 후 VEC2 상태로 전이한다. 만일 내용이 동일하지 않으면 (Not OK) 다시 IDLE 상태로 전이한다. VEC2 상태에서는 ICC 버스에 들어오는 데이타와 내부 레지스터 VDr[3..0]의 내용과 비교하여 OK이면 m10 신호를 하이로 한후, IV-MAT 모듈에서 Match신호를 매치 어드레스 저장부(420)로 보내 트리거 된 때와 끝나(Finish) 때의 트레이스 메모리 어드레스를 Tr/Fr 레지스터에 저장하게 된다. VEC2 상태에서 m11 신호를 보고 하이이면 FINISH 상태로 전이함으로써 원하는 인터럽트 벡터 값을 찾는 과정은 끝나게 된다. FINISH 상태에서는 내부에서 사용하는 신호들을 초기화 상태로 만든 후 다시 IDLE 상태로 가서 또 다른 인터럽트 벡터 값을 찾는 작업을 시작하게 된다.The operation of the state machine will be described based on the state of the state machine described above. First, the state machine polls while waiting for the post amble cycle of ICC bus message format in IDLE state, and then transitions to ACCP state when the hexadecimal value F (HF) enters the ICCB [3..0] bus. The ACCP state checks the accept cycle and goes to the IDLE1 state when H8 enters the ICCB [3..0] bus, otherwise goes to the previous state IDLE state. If ICCB [] == H0 in IDLE1 state, it goes to IDLE2 state. If ICCB [] == H0 in IDLE2 state, it goes to ARB1 state. If ICCB [] == H0 in IDLE1 and IDLE2 state, go back to IDLE state. The ARB1 state, meanwhile, indicates that the interrupt bus has initiated an arbitration cycle, so the ICCB [] value must not be H0 and then transition to ARB2. ARB2, ARB3, and ARB4 operate similarly to the ARB1 state, and transition to the DM state if the transition condition is met. In DM state, it unconditionally transitions to CNTL state and then to VEC1 state. In the VEC1 state, when the contents are the same (OK) in comparison with the data coming from the ICC bus and the contents of the internal register VDr [7..4], the internal signal m11 signal goes high and then transitions to the VEC2 state. If the contents are not the same (Not OK), the state goes back to the IDLE state. In the VEC2 state, compare the data coming into the ICC bus and the contents of the internal register VDr [3..0], and if it is OK, set the m10 signal high and send the match signal to the match address storage unit 420 in the IV-MAT module. The trace memory addresses at the end and finish are stored in the Tr / Fr registers. Looking at the m11 signal in VEC2 state and transitioning to the FINISH state, the process of finding the desired interrupt vector value is over. In the FINISH state, internally used signals are initialized and then go back to the IDLE state to start searching for another interrupt vector value.

상술한 바와 같이 본 발명에 따른 컴퓨터 시스템의 인터럽트 버스 패턴 찾기 장치는 사용자가 원하는 인터럽트 버스의 데이타 패턴을 찾을 수 있는 기능을 제공하고, 인터럽트 버스 신호들을 보다 정확하게 제어 및 해석하여 이를 사용자에게 제공함으로써, 사용자가 시스템을 분석 및 디버깅(Debugging) 하는데 도움이 된다. 따라서 중형 컴퓨터의 개발 및 유지 보수에 있어서 유용한 도구를 제공한다.As described above, the apparatus for finding an interrupt bus pattern of a computer system according to the present invention provides a function for finding a data pattern of a desired interrupt bus, and provides the user with more accurate control and interpretation of interrupt bus signals. It helps the user to analyze and debug the system. This provides a useful tool in the development and maintenance of medium computers.

Claims (3)

컴퓨터 시스템 버스의 인터럽트 버스의 데이타 패턴을 추출하는 장치에 있어서, 인터럽트 버스 데이타의 데이타 패턴을 저장하는 데이타 레지스터(400); 상기 데이타 레지스터에 저장된 데이타 패턴과 버스 클럭에 동기되어 래치되는 인터럽트 버스 데이타의 동일성을 판단하는 데이타 패턴 동일성 판단부(450); 상기 데이타 패턴 동일성 판단부에서 데이타가 동일하다고 판단될 때 까지, 시스템 버스 클럭에 동기되어 인터럽트 버스의 데이타를 래치하여 순차적으로 저장하는 트레이스 메모리부(320); 상기 데이타 패턴 동일성 판단부에서 데이타가 동일하다고 판단될 때 까지, 인터럽트 버스의 래치되는 데이타가 저장되는 곳의 어드레스를 상기 트레이스 메모리부에게 제공하는 트레이스 메모리 어드레스 생성부(410); 상기 데이타 패턴 동일성 판단부에서 데이타가 동일하다고 판단될 때 상기 트레이스 메모리 어드레스 생성부에서 발생하는 해당 어드레스를 저장하는 매치(Match) 어드레스 저장부(420); 및 상기 매치 어드레스 저장부에 저장된 어드레스를 독출하여 상기 트레이스 메모리부에 저장되어 있는 해당 어드레스의 데이타를 트레이스하는 데이타 트레이스부(300)를 포함함을 특징으로 하여 이루어지는 컴퓨터 시스템 버스에서의 인터럽트 버스의 특징 데이타 패턴 추출장치.An apparatus for extracting a data pattern of an interrupt bus of a computer system bus, comprising: a data register (400) for storing a data pattern of interrupt bus data; A data pattern identity determination unit 450 which determines the identity of the data pattern stored in the data register and the interrupt bus data latched in synchronization with a bus clock; A trace memory unit 320 for latching and sequentially storing data on an interrupt bus in synchronization with a system bus clock until the data pattern identity determination unit determines that data is the same; A trace memory address generation unit (410) which provides the trace memory unit with an address where the latched data of the interrupt bus is stored until the data pattern identity determination unit determines that the data is the same; A match address storage unit (420) for storing a corresponding address generated in the trace memory address generation unit when the data pattern identity determination unit determines that data is identical; And a data trace unit 300 which reads an address stored in the match address storage unit and traces data of a corresponding address stored in the trace memory unit. Data pattern extraction device. 제1항에 있어서, 상기 데이타 패턴 동일성 판단부(450)는 인터럽트 버스 전송 프로토콜을 구성하는 버스 싸이클의 단계를 스테이트로 설정하고, 버스 싸이클의 각 단계가 버스 프로토콜을 만족하는지의 여부로 전이될 스테이트가 결정되며, 인터럽트 벡터 전송 싸이클을 표시하는 단계의 스테이트에서 상기 데이타 레지스터에 기록된 데이타 패턴과 비교하여 동일성을 판단하는 스테이트 머신 (State Machine)으로 이루짐을 특징으로 하는 컴퓨터 시스템 버스에서의 인터럽트 버스의 데이타 패턴 추출장치.The state of claim 1, wherein the data pattern identity determination unit 450 sets the stage of the bus cycle constituting the interrupt bus transfer protocol to state, and states that each stage of the bus cycle satisfies the bus protocol. Is determined, and the state of the interrupt bus on the computer system bus is characterized in that the state of the step of indicating the interrupt vector transfer cycle is determined by comparing with the data pattern recorded in the data register. Data pattern extraction device. 제1항에 있어서, 상기 데이타 레지스터(430)는 추출하고자 하는 데이타 패턴을 구성하는 각 비트(bit)들을 비트별로 마스크할 수 있는 마스크 레지스터(440)를 부가로 구비함을 특징으로 하는 컴퓨터 시스템 버스에서의 인터럽트 버스의 특정 데이타 패턴 추출장치.The computer system bus of claim 1, wherein the data register 430 further includes a mask register 440 for masking bits of each bit constituting a data pattern to be extracted. Data bus pattern extraction device on interrupt bus.
KR1019950017153A 1995-06-23 1995-06-23 Interrupt bus data pattern extracting apparatus of computer system KR0146519B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950017153A KR0146519B1 (en) 1995-06-23 1995-06-23 Interrupt bus data pattern extracting apparatus of computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950017153A KR0146519B1 (en) 1995-06-23 1995-06-23 Interrupt bus data pattern extracting apparatus of computer system

Publications (2)

Publication Number Publication Date
KR970002684A KR970002684A (en) 1997-01-28
KR0146519B1 true KR0146519B1 (en) 1998-09-15

Family

ID=19418060

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950017153A KR0146519B1 (en) 1995-06-23 1995-06-23 Interrupt bus data pattern extracting apparatus of computer system

Country Status (1)

Country Link
KR (1) KR0146519B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3800504B2 (en) * 2001-05-15 2006-07-26 Tdk株式会社 Front-end module

Also Published As

Publication number Publication date
KR970002684A (en) 1997-01-28

Similar Documents

Publication Publication Date Title
CN102360329B (en) Bus monitoring and debugging control device and methods for monitoring and debugging bus
KR0149891B1 (en) Bus status analyzer
EP0319185B1 (en) Method and apparatus for checking a state machine
US4752928A (en) Transaction analyzer
EP0113393B1 (en) A self-clocked signature analyser
US5473757A (en) I/O controller using single data lines for slot enable/interrupt signals and specific circuit for distinguishing between the signals thereof
CN112599179B (en) Parallel flash life testing device
KR100354932B1 (en) Methods and data processors for providing show cycles on multiplexing buses
US6170027B1 (en) LPC/ISA bridge and its bridging method
WO2016184170A1 (en) Smi interface device debugging apparatus and method, and storage medium
CN112685212B (en) Processor exception debugging and tracking method, device and system
US20020069303A1 (en) Universal controller expansion module system, method & apparatus
KR0146519B1 (en) Interrupt bus data pattern extracting apparatus of computer system
CN112685278B (en) Chip driving tracking debugging method and device
CN114281624A (en) Method, system, device and equipment for testing I2C signal integrity
CN117111539B (en) Control method and device for Ethernet physical layer chip
CN114327975A (en) System on chip
CN105183954B (en) A kind of universal serial bus health monitoring platform based on PXI
JP7516974B2 (en) DEVICE FOR ELECTRONIC APPLICATION, CONTROL METHOD FOR ELECTRONIC APPLICATION DEVICE, AND CONTROL PROGRAM FOR ELECTRONIC APPLICATION DEVICE
CN104572515A (en) Tracking module, method, system and SOC (System-On-Chip)
CN100362486C (en) Computer bus cycle single step interruption debugging device
JPH10221410A (en) Automatic logic verification system for lsi
CN220543351U (en) Signal monitoring device for FPGA prototype verification
CN222619114U (en) Signal receiving device and chip
KR930007019B1 (en) Bus Status Analyzer of Multiprocessor

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 19950623

PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 19950623

Comment text: Request for Examination of Application

PG1501 Laying open of application
E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 19980430

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 19980512

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 19980512

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20010425

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20020429

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20030429

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20040429

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20050429

Start annual number: 8

End annual number: 8

FPAY Annual fee payment

Payment date: 20060508

Year of fee payment: 9

PR1001 Payment of annual fee

Payment date: 20060508

Start annual number: 9

End annual number: 9

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20080610