KR0146519B1 - 컴퓨터 시스템의 인터럽트 버스 데이타 패턴 추출장치 - Google Patents
컴퓨터 시스템의 인터럽트 버스 데이타 패턴 추출장치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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program 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)
- Microelectronics & Electronic Packaging (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
본 발명은 컴퓨터의 인터럽트 버스 데이타 패턴 추출 장치에 관한 것으로서, 원하는 데이타 패턴을 저장하는 데이타 레지스터; 데이타 패턴 동일성 판단부; 시스템 버스의 데이타를 래치하여 저장하는 트레이스 메모리부 ; 래치되는 데이타가 저장된 곳의 어드레스를 트레이스 메모리부에게 제공하는 트레이스 메모리 어드레스 생성부; 트레이스 메모리 어드레스 생성부에서 발생하는 해당 어드레스를 저장하는 매치 어드레스 저장부; 및 트레이스 메모리부에 저장되어 있는 해당 어드레스의 데이타를 트레이스하는 데이타 트레이스부를 포함함을 특징으로 한다.
본 발명은 인터럽트 버스의 데이타 패턴을 찾을 수 있는 기능을 제공하여 인터럽트 버스 신호들을 보다 정확하게 해석할 수 있게 함으로써, 컴퓨터 시스템의 개발 및 유지 보수에 있어서 사용자가 시스템을 분석 및 디버깅 하는데 매우 유용하게 사용될 수 있다.
Description
제1도는 일반적인 버스기반의 다중 프로세서 컴퓨터 시스템의 전체적인 구성도
제2도는 버스 분석기의 주요 블럭을 도시한 구성도
제3도는 인터럽트 버스 분석을 위한 블럭의 전체적인 구성도
제4도는 본 발명의 핵심 부분인 기능 제어 모듈의 상세 구성도
제5도는 ICC 버스 Short Message Format
제6도는 데이타 패턴 동일성 판단부의 스테이트 머신
본 발명은 컴퓨터 시스템의 시스템 버스 분석기에 관한 것으로서, 특히 시스템 버스의 인터럽트 버스 데이타 패턴을 찾는 기능을 가진 인터럽트 버스 패턴 찾기 장치에 관한 것이다.
시스템 버스 분석기는 컴퓨터 시스템이 동작중 시스템 버스를 통해 데이타를 읽고 쓰는 등의 버스 동작을 할 때 버스상에서 일어나는 일련의 버스 신호의 상태 변화를 일정 버스 사이클 동안 저장하고 있다가 필요할 때 보여 줌으로써 시스템의 동작을 분석할 수 있게 해준다. 이는 시스템을 개발할 때나 시스템을 유지 보수 할 때 개발자나 유지 보수하는 사람들에게 매우 유용하게 사용될 수 있다. 즉 로직 어낼라이져(Logic Analyzer)의 기능을 확장한 것과 같다. 특히 규모가 큰 중형 컴퓨터 이상의 시스템에서는 대개 시스템 버스는 시스템 고유의 버스를 사용하는 경우가 많은데, 이 때에는 버스 분석기를 시스템 개발자들이 만들어서 사용하게 된다. 왜냐하면 로직 분석기는 고가의 장비일 뿐만 아니라 제한된 채널수로 인하여 버스의 모든 신호선을 동시에 관찰하기가 어려우며 또한 설치와 이동에 많은 불편이 따르기 때문이다. 따라서 버스 상태를 분석하기 위해 다른 보드와 마찬가지로 버스상에 장착할 수 있는 전용 버스 분석기용 보드를 제작하여 사용함으로써, 설치 및 이동이 용이하고 시스템 버스에서 정의된 모든 신호선을 쉽게 검사하고 확인할 수 있는 장점을 가지며 아울러 비용면에서도 일반 로직 분석기에 비하여 값이 매우 저렴하다.
기존의 행정 전산망용 주전산기Ⅲ에 사용된 시스템 버스 분석기에는 데이타 전송 버스(DTB:Data Transfer Bus 이하 DTB)패턴 찾기 기능은 구현되어 있으나 인터럽트 버스 데이타 패턴 찾기 기능은 구현되어 있지 않다. 상기 기능의 부재로 인하여 발생되는 문제점은 첫째로는 원하는 데이타 패턴을 찾기가 곤란함으로 인해 인터럽트 버스 프로토콜을 분석하기가 힘들며, 둘째로 시스템 성능을 예측하기 곤란하며, 셋째로 시스템 오류 등에 대해 대처하기가 곤란함을 들 수 있다.
따라서 본 발명에 따른 인터럽트 버스 상의 데이타 패턴(Pattern)찾기 장치는 사용자가 원하는 인터럽트 버스의 데이타 패턴을 찾을 수 있는 기능을 제공하고, 인터럽트 버스 신호들을 보다 정확하게 제어 및 해석하여 이를 사용자에게 제공함으로써, 사용자가 시스템을 분석 및 디버깅(Debugging)하는데 도움이 될 수 있도록 하기 위함이다.
본 발명은 상술한 문제점을 극복하고 상기의 목적을 달성하기 위해 창출된 것으로서, 본 발명에 따른 컴퓨터 시스템 버스의 인터럽트 버스의 데이타 버스 패턴 추출 장치는 특정 인터럽트 버스 데이타를 추출하기 위해 특정 데이타 패턴을 저장하는 데이타 레지스터; 상기 데이타 레지스터의 특정 데이타와 버스 클럭에 동기되어 래치되는 인터럽트 버스 데이타의 동일성을 판단하는 데이타 패턴 동일성 판단부; 상기 데이타 패턴 동일성 판단부에서 데이타가 동일하다고 판단될 때 까지, 시스템 버스 클럭에 동기되어 인터럽트 버스의 데이타를 래치하여 순차적으로 저장하는 트레이스 메모리부; 상기 데이타 패턴 동일성 판단부에서 데이타가 동일하다고 판단될 때 까지, 인터럽트 버스의 래치되는 데이타가 저장되는 곳의 어드레스를 상기 트레이스 메모리부에게 제공하는 트레이스 메모리 어드레스 생성부;
상기 데이타 패턴 동일성 판단부에서 데이타가 동일하다고 판단될 때 상기 트레이스 메모리 어드레스 생성부에서 발생하는 해당 어드레스를 저장하는 매치(Match) 어드레스 저장부; 및 상기 매치 어드레스 저장부에 저장된 어드레스를 독출하여 상기 트레이스 메모리부에 저장되어 있는 해당 어드레스의 데이타를 트레이스하는 데이타 트레이스부를 포함함을 특징으로 하여 이루어진다.
그리고 컴퓨터 시스템 버스의 인터럽트 버스의 데이타 버스 패턴 추출장치에 있어서, 상기 데이타 패턴 동일성 판단부는 인터럽트 버스 전송 프로토콜을 구성하는 버스 싸이클의 단계들을 스테이트로 설정하고, 버스 싸이클의 각 단계가 버스 프로토콜을 만족하는지의 여부로 전이될 스테이트가 결정되며, 인터럽트 벡터 전송 싸이클을 표시하는 단계의 스테이트에서 상기 데이타 레지스터에 기록된 데이타 패턴과 비교하여 동일성을 판단하는 스테이트 머신(State Machine)으로 이루어짐을 특징으로 한다.
또한 컴퓨터 시스템 버스의 인터럽트 버스의 데이타 버스 패턴 추출 장치에 있어서, 상기 데이타 레지스터는 추출하고자 하는 데이타 패턴을 구성하는 각 비트(bit)들을 비트별로 마스크할 수 있는 마스크 레지스터를 부가로 구비함을 특징으로 한다.
이하 첨부된 도면을 참조하여 본 발명에 따른 일실시예를 들어 본 발명을 상세히 설명한다.
먼저 본 발명이 적용되고 있는 중형 컴퓨터 시스템의 전체적인 구성은 제1도와 같으며, 백플레인버스(11)에 프로세서 보드(12), 메모리(13), 입출력처리기 보드(14) 및 버스 상태 분석기용 보드(15)등이 장착될 수 있다. 이 시스템은 버스를 기반으로 한 백플레인(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)의 상태를 분석한다.
그리고 상기 버스 분석기 중 본 발명을 포함하고 있는 인터럽트 버스를 분석하기 위한 장치의 블록들의 구성을 나타낸 것이 제3도이다. 참조 번호 300은 데이타 트레이스부, 310은 기능제어 모듈, 320은 트레이스 메모리부, 330은 TPG(Timming Pulse Generator) 모듈, 340은 버스 인터페이스 모듈이다. 상기 데이타 트레이스부(300)은 추출하고자 하는 인터럽트 데이타 패턴이 저장된 어드레스를 독출하여 트레이스 메모리부(320)에 저장되어 있는 해당 어드레스의 데이타를 트레이스 하는 기능을 하며, 트레이스 메모리부(320)는 매치 신호가 인에이블 될 때 까지 매 인터럽트 버스 클럭마다 래치된 인터럽트 버스의 데이타를 저장하는 역할을 한다. 그리고 TPG 모듈(330)은 시스템 버스로 부터 시스템 버스 클럭을 공급받아 시스템 버스 클럭을 기준으로 한 타이밍 펄스를 만들어 상기 기능제어 모듈(310)과 버스 인터페이스 모듈(340)로 제공하는 역할을 한다. 또한 버스 인터페이스 모듈(340)은 시스템 버스의 비티엘(BTL) 신호를 티티엘(TTL) 신호로 변환하는 역할을 한다.
한편 본 발명의 주요 부분인 상기 제3도의 기능제어 모듈(310)의 상세한 구성은 제4도와 같고 그 기능은 다음과 같다. 참조번호 400은 인터럽트 벡터 매치(IV_MAT) 모듈이고, 410은 트레이스 메모리 어드레스 생성부, 420은 매치 어드레스 저장부이다.
상기 IV_MAT(400) 모듈은 찾고자 하는 인터럽트 벡터 값을 CPU 를 이용해 읽고 쓸 수 있는 내부 레지스터를 갖고 있으며, 시스템 버스의 인터럽트 버스를 통해 들어오는 인터럽트 벡터 값을 상기 기록된 내부 레지스터의 값과 비교하여, 같으면, Match 신호를 트레이스 메모리 어드레스 생성부(410)에게 보냄으로써, 찾고자 하는 인터럽트 벡터 값을 가지고 있는 버스 싸이클을 찾아내는 기능을 한다.
그리고 상기 트레이스 메모리 어드레스 생성부(410)은 트레이스 메모리에 어드레스와 시간 정보를 생성하여 제공하는 기능을 하며, 또한 상기 IV_MAT(400) 모듈로 부터 Match 신호를 받으면 매치 어드레스 저장부(420)로 매치될 때의 어드레스와 Cntl 신호를 보내, 찾고자 하는 인터럽트 벡터 값이 저장되는 트레이스 메모리 내의 어드레스가 매치 어드레스 저장부(420)에 저장되게 한다.
그리고 상기 매치 어드레스 저장부(420)은 상기 트레이스 메모리 어드레스 생성부(410) 모듈로 부터 Match 될 때의 어드레스와 Cntl 신호를 받아 내부 레지스터에 저장한 후, 프로세서가 필요로 할 때 저장되어 있는 어드레스를 제공하여 준다. 그러면 프로세서는 이 레지스터 값을 읽어 트레이스 메모리 중에서 찾고자 하는 인터럽트 벡터가 저장되어 있는 트레이스 메모리의 어드레스를 찾아 모니터 상에 보여준다.
한편 본 발명의 핵심 부분인 상기 IV_MAT 모듈 (400)을 더욱 상세하게 설명하면 다음과 같다. IV_MAT 모듈 (400)은 마스크 레지스터(440)와 데이타 레지스터(430)를 가지고 있고, 인터럽트 버스 클럭(ICLK)에 동기되어 동작되는 스테이트 머신 (State Machine)을 포함하고 있는 데이타 동일성 판단부(450)를 가지고 있어, 이 데이타 동일성 판단부(450)의 스테이트 머신에서 시스템 버스에서 들어오는 신호와 상기 두 레지스터 값을 비교하여 Match신호를 발생시킨다.
상기 마스크 레지스터(440)는 8 비트로 구성되어 있으며, 인터럽트 버스 신호 중 찾고자 하는 데이타 패턴 값을 비트 단위로 Mask 시키는 기능을 하며 '1'로 되면 Mask 되고 '0'이면 Unmask된다. 그리고 상기 데이타 레지스터(430)는 찾고자 하는 인터럽트 벡터 값을 저장하며 8 비트로 구성되어 있다. 해당 어드레스는 VMask[7..0]:0x80008이고 VData[7..0]:0x8000C이다. 이들 레지스터는 프로세서에 의해 데이타가 쓰여지며 어드레스 디코더에 의해서 'VMrSel'과 'VDrSel' 신호가 인에이블(Enable) 되므로써 선택된다. 이들 레지스터의 내용은 인터럽트 신호 중 찾고자 하는 데이타 패턴의 실제 값이 되며, 매 클럭마다 버스 상에 들어오는 데이타들과 비교 대상이 된다.
그리고 상기 데이타 동일성 판단부(450)의 스테이트 머신은 인터럽트 버스상의 데이타 흐름 상태를 감시하며 인터럽트 버스의 버스 프로토콜을 분석한다. 여기서 인터럽트 버스의 프로토콜은 크게 두 부분으로 나눌 수 있는데, 하나는 인터럽트 버스 중재에 관한 부분이고 다른 하나는 데이타 즉 인터럽트 벡터 전송에 관한 부분이다. 인터럽트 버스의 프로토콜 진행 중 벡터 전송 싸이클일 때는 데이타 레지스터의 값과 현재 버스 상에 전송되고 있는 벡터 값을 비교하여 같으면 Match 신호를 트레이스 메모리 어드레스 생성부(410) 쪽으로 보내어 트리거가 발생했음을 알린다. 동기 클럭은 인터럽트 클럭(ICLK)에 맞추었고 ICLK가 가변 되더라도 그 클럭에 매치되어 동작된다.
본 발명의 일실시예에서 사용되는 시스템은 인터럽트 버스 인터페이스 콘트롤러 디바이스로 미국의 인텔사 제품(모델명: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)상태를 나타낸다.
한편 상기의 short message format을 기반으로 한 인터럽트 버스 프로토콜에 있어서 원하는 인터럽트 벡터 값을 찾을 수 있게 하는 스테이트 머신을 구성하는 상태(State)는 13 개의 상태로 구성되며 제6도와 같다. 이에 대한 각 상태를 설명하면 다음과 같다.
- IDLE 상태 : ICC 버스 메세지 포맷 중 post amble 싸이클을 찾는다.(ICCB[3..0] == HF)
- ACCP 상태 : ICC 버스 메세지 포맷 중 Accept 싸이클을 확인한다. (ICCB[3..0] == H8)
- IDLE1 상태 : ICC 버스 메세지 포맷 중 IDLE1 싸이클인가 확인한다.(ICCB[3..0] == H0)
- IDLE2 상태 : ICC 버스 메세지 포맷 중 IDLE2 싸이클인가를 확인한다. (ICCB[3..0] == H0)
- ARB1 상태 : ICC 버스 메세지 포맷 중 첫 번째 중재 싸이클을 확인하는 상태로서 ICCB[3..0] 값이 0이 아니어야 한다.
- ARB2 상태 : ICC 버스 메세지 포맷 중 두 번째 중재 싸이클을 확인하는 상태로서 ICCB[3..0] 값이 0이 아니어야 한다.
- ARB3 상태 : ICC 버스 메세지 포맷 중 세 번째 중재 싸이클을 확인하는 상태로서 ICCB[3..0] 값이 0이 아니어야 한다.
- ARB4 상태 : ICC 버스 메세지 포맷 중 네 번째 중재 싸이클을 확인하는 상태로서 ICCB[3..0] 값이 0이 아니어야 한다.
- DM 상태 : 아무일도 하지 않지만 프로토콜을 맞추기 위해 이 상태를 반드시 거친후 다음 싸이클로 넘어간다.
- CNTL 상태 : 아무일도 하지 않지만 프로토콜을 맞추기 위해 맞추기 위해 이 상태를 반드시 거친후 다음 싸이클로 넘어간다.
- VEC1 상태 : ICC 버스에서 들어오는 데이타와 내부 레지스터 VDr[7..4]의 내용과 비교하여 OK 이면 내부 신호 m11 신호를 High로 드라이브 시킨 후 VEC2 상태로 전이한다. 그러나 Not OK 이면 IDLE 상태로 전이한다.
- VEC2 상태 : ICC 버스에서 들어오는 데이타와 내부 레지스터 VDr[3..0]의 내용과 비교하여 OK 이면 내부 신호 m10 신호를 High로 드라이브 시킨 후 VEC2 상태로 전이한다. 그러나 Not OK 이면 IDLE 상태로 전이한다.
-Finish 상태 : 이 상태에서 내부에서 사용하는 신호들을 초기화 상태로 만든 후 IDLE 상태로 전이한다.
상술한 스테이트 머신의 상태를 기초로 스테이트 머신의 동작을 설명하면 다음과 같다. 먼저 스테이트 머신은 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 상태로 가서 또 다른 인터럽트 벡터 값을 찾는 작업을 시작하게 된다.
상술한 바와 같이 본 발명에 따른 컴퓨터 시스템의 인터럽트 버스 패턴 찾기 장치는 사용자가 원하는 인터럽트 버스의 데이타 패턴을 찾을 수 있는 기능을 제공하고, 인터럽트 버스 신호들을 보다 정확하게 제어 및 해석하여 이를 사용자에게 제공함으로써, 사용자가 시스템을 분석 및 디버깅(Debugging) 하는데 도움이 된다. 따라서 중형 컴퓨터의 개발 및 유지 보수에 있어서 유용한 도구를 제공한다.
Claims (3)
- 컴퓨터 시스템 버스의 인터럽트 버스의 데이타 패턴을 추출하는 장치에 있어서, 인터럽트 버스 데이타의 데이타 패턴을 저장하는 데이타 레지스터(400); 상기 데이타 레지스터에 저장된 데이타 패턴과 버스 클럭에 동기되어 래치되는 인터럽트 버스 데이타의 동일성을 판단하는 데이타 패턴 동일성 판단부(450); 상기 데이타 패턴 동일성 판단부에서 데이타가 동일하다고 판단될 때 까지, 시스템 버스 클럭에 동기되어 인터럽트 버스의 데이타를 래치하여 순차적으로 저장하는 트레이스 메모리부(320); 상기 데이타 패턴 동일성 판단부에서 데이타가 동일하다고 판단될 때 까지, 인터럽트 버스의 래치되는 데이타가 저장되는 곳의 어드레스를 상기 트레이스 메모리부에게 제공하는 트레이스 메모리 어드레스 생성부(410); 상기 데이타 패턴 동일성 판단부에서 데이타가 동일하다고 판단될 때 상기 트레이스 메모리 어드레스 생성부에서 발생하는 해당 어드레스를 저장하는 매치(Match) 어드레스 저장부(420); 및 상기 매치 어드레스 저장부에 저장된 어드레스를 독출하여 상기 트레이스 메모리부에 저장되어 있는 해당 어드레스의 데이타를 트레이스하는 데이타 트레이스부(300)를 포함함을 특징으로 하여 이루어지는 컴퓨터 시스템 버스에서의 인터럽트 버스의 특징 데이타 패턴 추출장치.
- 제1항에 있어서, 상기 데이타 패턴 동일성 판단부(450)는 인터럽트 버스 전송 프로토콜을 구성하는 버스 싸이클의 단계를 스테이트로 설정하고, 버스 싸이클의 각 단계가 버스 프로토콜을 만족하는지의 여부로 전이될 스테이트가 결정되며, 인터럽트 벡터 전송 싸이클을 표시하는 단계의 스테이트에서 상기 데이타 레지스터에 기록된 데이타 패턴과 비교하여 동일성을 판단하는 스테이트 머신 (State Machine)으로 이루짐을 특징으로 하는 컴퓨터 시스템 버스에서의 인터럽트 버스의 데이타 패턴 추출장치.
- 제1항에 있어서, 상기 데이타 레지스터(430)는 추출하고자 하는 데이타 패턴을 구성하는 각 비트(bit)들을 비트별로 마스크할 수 있는 마스크 레지스터(440)를 부가로 구비함을 특징으로 하는 컴퓨터 시스템 버스에서의 인터럽트 버스의 특정 데이타 패턴 추출장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019950017153A KR0146519B1 (ko) | 1995-06-23 | 1995-06-23 | 컴퓨터 시스템의 인터럽트 버스 데이타 패턴 추출장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019950017153A KR0146519B1 (ko) | 1995-06-23 | 1995-06-23 | 컴퓨터 시스템의 인터럽트 버스 데이타 패턴 추출장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR970002684A KR970002684A (ko) | 1997-01-28 |
KR0146519B1 true KR0146519B1 (ko) | 1998-09-15 |
Family
ID=19418060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019950017153A KR0146519B1 (ko) | 1995-06-23 | 1995-06-23 | 컴퓨터 시스템의 인터럽트 버스 데이타 패턴 추출장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR0146519B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3800504B2 (ja) * | 2001-05-15 | 2006-07-26 | Tdk株式会社 | フロントエンドモジュール |
-
1995
- 1995-06-23 KR KR1019950017153A patent/KR0146519B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR970002684A (ko) | 1997-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102360329B (zh) | 总线监控与调试控制装置及进行总线监控与总线调试的方法 | |
KR0149891B1 (ko) | 버스상태분석기 및 그 내부버스시험방법 | |
EP0319185B1 (en) | Method and apparatus for checking a state machine | |
CN113076227A (zh) | Mcu验证方法、***和终端设备 | |
JPH0511329B2 (ko) | ||
US5473757A (en) | I/O controller using single data lines for slot enable/interrupt signals and specific circuit for distinguishing between the signals thereof | |
KR100354932B1 (ko) | 멀티플렉싱버스상에쇼사이클을제공하는방법및데이타프로세서 | |
CN117093438A (zh) | 测试*** | |
CN112685212B (zh) | 一种处理器异常的调试追踪方法、装置和*** | |
CN114281624A (zh) | 一种i2c信号完整性的测试方法、***、装置及设备 | |
CN202267954U (zh) | 总线监控与调试控制装置 | |
WO2016184170A1 (zh) | Smi接口器件的调试装置及方法、存储介质 | |
US20020069303A1 (en) | Universal controller expansion module system, method & apparatus | |
US5377344A (en) | Selective memory transaction monitor system | |
KR0146519B1 (ko) | 컴퓨터 시스템의 인터럽트 버스 데이타 패턴 추출장치 | |
CN112965929A (zh) | 一种i2c通信总线监测调试设备及方法 | |
JP7516974B2 (ja) | 電子機器用デバイス、電子機器用デバイスの制御方法および電子機器用デバイスの制御プログラム | |
CN112599179B (zh) | 一种并行的flash寿命测试装置 | |
CN112685278B (zh) | 一种芯片驱动追踪调试方法和装置 | |
CN220543351U (zh) | 一种fpga原型验证的信号监控装置 | |
CN116842902B (zh) | 针对黑盒模型的***级仿真建模方法 | |
KR930007019B1 (ko) | 다중처리기의 버스상태분석기 | |
SU851391A1 (ru) | Адаптер канал-канал | |
JP2970834B2 (ja) | テスト基礎データ生成装置 | |
KR100315754B1 (ko) | 확장 가능한 논리 분석기 및 그 제어방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20060508 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |