KR0176095B1 - 인터럽트 대기시간 측정방법 - Google Patents

인터럽트 대기시간 측정방법 Download PDF

Info

Publication number
KR0176095B1
KR0176095B1 KR1019960067040A KR19960067040A KR0176095B1 KR 0176095 B1 KR0176095 B1 KR 0176095B1 KR 1019960067040 A KR1019960067040 A KR 1019960067040A KR 19960067040 A KR19960067040 A KR 19960067040A KR 0176095 B1 KR0176095 B1 KR 0176095B1
Authority
KR
South Korea
Prior art keywords
time
interrupt
real
check
wait
Prior art date
Application number
KR1019960067040A
Other languages
English (en)
Other versions
KR19980048469A (ko
Inventor
전성익
조주현
Original Assignee
양승택
한국전자통신연구원
이준
한국전기통신공사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 양승택, 한국전자통신연구원, 이준, 한국전기통신공사 filed Critical 양승택
Priority to KR1019960067040A priority Critical patent/KR0176095B1/ko
Publication of KR19980048469A publication Critical patent/KR19980048469A/ko
Application granted granted Critical
Publication of KR0176095B1 publication Critical patent/KR0176095B1/ko

Links

Classifications

    • 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
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • 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/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • 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

Landscapes

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

Abstract

본 발명은 교환기 시스템과 같은 실시간 시스템에서 외부 인터럽트들의 처리에 있어서 인터럽트 대기시간 혹은 지연시간의 측정방법에 관한 것으로서, 종래 실시간 운영 체계에서는 비동기적으로 발생하는 인터럽트에 대하여 대기 시간을 정확히 측정할 수 있는 도구와 방법을 제공하고 있지 않아서 사용자들이 실시간 운영 체계를 확장하면서 실시간성을 만족하지 못할때 운영체계를 디버깅하거나 유지보수하는데 많은 어려움이 있었고, 실시간 시스템의 인터럽트 대기시간은 사용자 프로그램 혹은 하드웨어 별도의 장치로서도 구현이 거의 불가능하여 인터럽트 처리 루틴을 라인별로 수행시간을 예측하여야 하는 문제점이 있었으므로, 상기 문제점을 해결하기 위해 안출된 본 발명은 상기 실시간 시스템의 초기화 시에 인터럽트 대기 시간 특정 기능을 통합하기 위한 대기시간검사(LC) 초기화 기능을 정합하는 제1단계와; 상기 정합 후 인터럽트 대기 검출 및 통계 기능을 수행하는 제2단계와; 상기 수행 후 주기적인 인터럽트 대기 점검을 수행하는 대기시간검사(LC)-고(high) 처리와 대기시간검사(LC)-저(lower) 처리를 두는 제3단계와; 상기 제3단계 수행 후 측정된 데이터 출력과 사용자와의 인터페이스를 위한 대기시간검사(LC) 명령어 처리부를 구비하는 제4단계를 포함하여 교환 시스템과 같은 실시간 시간에 시스템 설계에 있어서 외부 인터럽트들에 의한 영향 분석이 가능하며, 분석된 정보를 통한 시스템 디버깅이 가능하여 인터럽트들에 의한 영향을 최소화가 가능하고, 여러 종류의 실시간 시스템의 성능 비교에 있어서 인터럽트 대기 시간 측정으로 일관된 기준으로 활용 가능한 특징이 있으며, 외부 인터럽트 처리에 있어서 비효율적인 부분의 조기 진단 및 실시간 시스템의 인터럽트 병목 부분에 대한 개선안을 제공 가능하므로 시스템 프로그래밍의 효율을 높이는 효과가 있다.

Description

인터럽트 대기시간 측정방법
본 발명은 실시간 시스템에서 외부 인터럽트들의 처리에 있어서 인터럽트 대기시간 혹은 지연시간의 측정 방법에 관한 것으로서, 종래의 실시간 운영체계에서는 비동기적으로 발생하는 인터럽트에 대하여 대기 시간을 정확히 측정할 수 있는 도구와 방법을 제공하고 있지 않아서 사용자들이 실시간 운영 체계를 확장하면서 실시간성을 만족하지 못할 때 운영체계를 디버깅하거나 유지보수하는데 많은 어려움이 있었다.
그리고 실시간 시스템의 인터럽트 대기시간은 사용자 프로그램 혹은 하드웨어 별도의 장치도구로서도 구현이 거의 불가능하여 기존에는 인터럽트 처리루틴을 라인별로 수행시간을 예측하여야 하였다.
상기 목적을 달성하기 위해 본 발명은 두 개의 실시간 타이머를 활용하여 특정한 인터럽트의 대기시간을 정확히 측정하고자 한다.
제1도는 본 발명이 적용되는 하드웨어 시스템 구성도.
제2도는 본 발명의 소프트웨어 전체 구성도.
제3도는 본 발명의 초기화부 처리 흐름도.
제4도는 본 발명에 따른 대기시간검사(LC)-저(Low) 처리부의 처리흐름도.
제5도는 본 발명에 따른 대기시간검사(LC)-고(High) 처리부의 처리흐름도.
제6도는 본 발명에 따른 대기시간검사(LC) 명령어 처리부의 처리흐름도.
* 도면의 주요부분에 대한 부호의 설명
1 : 중앙처리장치(CPU) 2 : 주 메모리부
3 : 시스템 버스부 4 : 타이머 제어칩부(2 RTC)
5 : 기본 입출력부(SIO) 6 : 통신제어 보드부
21 : 대기시간검사(LC) 초기화부 22 : 대기시간검사(LC) 주 처리부
23 : 대기시간검사(LC)-고 처리부 24 : 대기시간검사(LC)-저 처리부
25 : 대기시간검사(LC) 명령어 처리부
본 발명은 실시간 시스템에서의 인터럽트 대기 시간(latency) 측정 방법에 관한 것으로서, 상기 실시간 시스템은 주어진 시간 이내에 외부의 사건들에 대한 실시간 응답을 해주어야 하는 요구사항과 외부 사건들이 빈번히 발생하는 특징으로 가지고 있다.
일반적으로 상기한 외부 사건들은 인터럽트 형태로 발생되며, 상기 각 인터럽트는 그 성격과 중요성에 따라 고유한 우선도를 가지고 동작한다. 그리고 사용자 프로그램의 병행 처리와 동시에 제어를 위하여 실시간 시스템의 운영체계와 인터럽트 핸들러 등에서는 필요에 따라 낮은 순위의 인터럽트를 막고 제어를 수행한 다음에 그 인터럽트를 풀게 된다. 여기서 인터럽트가 발생되어 수행이 대기되는 형태는 운영체계의 구현 방법에 따라 다양하다.
상기 실시간 요구사항을 만족하는 운영체계나 제어 소프트웨어를 구현하기 위해서는 인터럽트 대기 시간을 측정하여 상기 값이 최소이도록 구현하는 것이 가장 좋은 방법이다.
따라서 본 발명에서는 상기 실시간 시스템의 인터럽트 대기 시간을 정확히 측정하여 제공하고, 상기 사항을 활용하여 실시간 시스템의 실시간 요구 사항을 만족시키도록 프로그램하는 것이 가능하다.
이하 첨부된 도면을 참조하여 본 발명을 상세히 설명하면 다음과 같다.
제1도는 본 발명이 적용되는 하드웨어 시스템 구성도이다.
상기 구성을 보면, 중앙처리장치(1)와 메모리(2)를 가지며, 기본적인 입출력부(5) 기능과 시각 및 시간 관리를 지원하기 위한 타이머 제어 칩(4)이 시스템 제어부(3) 연결되어 있으며, 본 발명의 소프트웨어가 탑재되어 동작한다. 그리고 상기 중앙처리장치(1)의 제어를 받아 타 프로세서와의 통신을 담당하는 통신 제어보드부(6)들도 상기 시스템 버스부(3)에 연결되어 하나의 서브 시스템을 구성하고 있다.
제2도는 본 발명의 소프트웨어 전체 구성도이다.
상기 제2도는 상기 제1도와 같은 하드웨어 상에 동작하는 시스템 소프트웨어, 예를들어 실시간 운영체계에 통합되어 온라인(on-line)으로 동작한다.
상기 구성을 보면, 인터럽트 대기시간 측정을 위한 제반 초기화를 담당하는 대기시간 검사(Latency Check, LC) 초기화부(21)와, 상기 대기시간 검출 및 통계 기능을 수행하는 대기시간 검사(LC) 주 처리부(22)와, 두 개의 주지적인 인터럽트 대기 점검을 수행하는 대기시간 검사(LC)-고(high) 처리부(23)와 대기시간 검사(LC)-저(lower) 처리부(24)와, 그밖에 사용자와의 인터페이스를 제공하여 수집된 데이터를 보고하는 기능을 하는 대기시간 검사(LC) 명령어 처리부(25)로 구성되어 있다.
다음 제3도는 본 발명의 초기화부 처리 흐름도이다.
상기 흐름을 보면, 실시간 운영체계의 초기화 루틴에 추가되어 인터럽트 대기시간 측정 기능이 기동된다.
상기 인터럽트 대기시간 점검을 제어하기 위한 데이터 구조를 초기화하고(S1) 상기 각종 인터럽트의 대기시간의 통계 수집을 위한 데이터를 초기화한다(S2).
상기 초기화 한 후 타이머 Ta와 Tb에 대한 인터럽트 핸들러를 시스템의 벡터 테이블에 등록하여 타이머 인터럽트가 발생하면 기동될 수 있도록 준비를 한다(S3).
상기 타이머 Ta는 짧은(4ms) 주기로 발생하도록 하며 인터럽트 레벨은 상기 Tb보다 낮게 되도록 초기화 하고, 상기 타이머 Tb는 상기 Ta에 비하여 상대적으로 긴 주기(10ms)로 발생하도록 하며 인터럽트 레벨은 상기 Ta보다 높게 설정하여 서로 다른 인터럽트에 의하여 인터럽트 감시 및 대시기간이 측정 가능하도록 타이머를 초기화한다(S4).
상기 준비가 완료되면 상기 타이머 인터럽트가 발생되도록 인터럽트 마스크를 해제한다(S5).
제4도는 본 발명에 따른 대기시간 검사(LC)-저(Low) 처리부의 처리흐름도이다.
상기 처리부는 짧은 주기의 타임 아웃이 발생할 때마다 측정을 위한 자료 구조를 경신하여 둔다(S6).
제5도는 본 발명에 따른 대기시간 검사(LC)-고(High) 처리부의 처리흐름도이다.
상기 제5도는 긴 주기의 타임 아웃마다 상대 타이머 이하의 인터럽트가 대기되고 있는지를 다음과 같은 수순으로 검출하고 저장한다.
우선 사용자가 인터럽트 대기시간 검출을 원하고 있는지 아닌지를 판단(Check)하여(S7) 원하지 않는다면 곧바로 인터럽트 이전의 상태로 곧바로 복귀한다(S8).
상기 판단(Check)을 둠으로써 평상시에 인터럽트 대기시간 측정에 따른 오버헤드가 최소가 되도록 하였다.
상기 판단 후 대기시간 검출을 원하는 경우에는 곧바로 상대 타이머에 의한 인터럽트 발생 여부를 판단한다(S9).
만일 인터럽트가 발생하였다면 새로운 최대값=MAX(현재값*주기, 이전 최대값)의 최대값 공식으로 이전의 최대 인터럽트 대기 시간과 비교하여 현재의 최대 인터럽트 대기 시간을 변경한다(S10).
그리고 다음 인터럽트 대기 발생을 소거(clear)한다(S11).
만일 상기 인터럽트가 발생하지 않았다면 인터럽트가 대기되고 있음을 의미하므로 현재 대기된 값을 변경하고(S12) 다음 점검을 계속한다.
다음 상기 사용자가 요구한 인터럽트 대기에 대한 상한과 지금까지 수집된 최대값을 비교하여 초과 여부를 판단한다(S13).
상기 판단 후 만일 초과하였다면 그 당시의 프로그램의 실행 위치 및 대기 시간 검사(LC) 최대값 등을 저장하여 디버깅 목적에 사용 가능하도록 한다(S14).
그리고 상대 Ta 인터럽트에서 긴 주기의 인터럽트 발생을 표시하여 둔다(S15).
제6도는 본 발명에 따른 대기시간 검사(LC) 명령어 처리부의 처리흐름도이다.
상기 명령어 처리를 보면, 사용자로부터 시스템에 대기 시간 측정에 관한 명령어를 접수하면 상기 명령어를 판단하여(S16) 대기시간 측정 시작(S17)과 종료(S18)를 시스템에 등록 명령 처리와, 대기시간 측정보고에서 상한을 지정하는(S19) 명령처리와, 상기 측정된 데이터를 출력 요구에 따른 측정 데이터 출력 명령어 처리(S20) 및 측정 데이터 소거(clear) 기능 등을 수행한다(S21).
상기와 같은 본 발명은 교환 시스템과 같은 실시간 시스템 설계에 있어 외부 인터럽트들에 대한 영향 분석이 가능하며, 분석된 정보를 통한 디버깅이 가능하여 인터럽트들에 의한 영향을 최소화하여 시스템 성능의 극대화 유도가 가능하다.
그밖에 여러 종류의 실시간 시스템의 성능 비교에 있어서 인터럽트 대기시간 측정으로 일관된 기준으로 활용 가능한 특징이 있으며, 외부 인터럽트 처리에 있어서 비효율적인 부분의 조기 진단 및 실시간 시스템의 인터럽트 병목 부분에 대한 개선안을 제공 가능하므로 시스템 프로그래밍의 효율을 높이는 효과가 있다.
본 발명은 실시간 시스템의 인터럽트 대기 시간을 정확히 측정하여 제공하고 이를 활용하여 실시간 시스템의 실시가 요구 사항을 만족시키도록 프로그램하는 것을 목적으로 한다.

Claims (4)

  1. 중앙처리장치(1)와 메모리(2)를 가지며 기본적인 입출력부(5) 기능과 시각 및 시간 관리를 지원하기 위한 타이머 제어 칩(4)이 시스템 버스부(3)에 연결되어 소프트웨어가 탑재되어 동작하고, 상기 중앙처리장치(1)의 제어를 받아 타 프로세서와의 통신을 담당하는 통신 제어보드부(6)와 상기 시스템 버스부(3)를 구비하여 실시간 시스템 외부 인터럽트들의 처리 중 인터럽트 대기시간과 지연시간 측정에 있어서, 실시간 시스템의 초기화 시에 인터럽트 대기시간 측정 기능을 통합하기 위한 대기시간 검사(LC) 초기화 기능을 정합하는 제1과정과; 제1과정 수행 후, 인터럽트 대기 검출 및 통계 기능을 수행하는 제2과정과; 제2과정 수행 후, 주기적인 인터럽트 대기 및 점검을 수행하는 대기시간 검사(LC)-고(High) 핸들러와 대기시간 검사(LC)-저(Lower) 핸들러를 두는 제3과정과; 제3과정 수행 후, 측정된 데이터 출력과 사용자와의 인터페이스를 위한 대기시간 검사(LC) 명령어 처리부를 수행하는 제4과정을 포함하는 것을 특징으로 하는 인터럽트 대기시간 측정방법.
  2. 제1항에 있어서, 상기 제1과정은 인터럽트 대기시간 점검을 제어하기 위한 데이터베이스 구조를 초기화하는 제1단계와; 초기화 한후 타이머 Ta와 Tb에 대한 인터럽트 핸들러를 시스템의 벡터 테이블에 등록하여 타이머 인터럽트가 발생하도록 준비하는 제2단계를 포함하는 것을 특징으로 하는 인터럽트 대기시간 측정방법.
  3. 제1항에 있어서, 상기 제3과정은 긴 주기의 타임 아웃마다 상대 타이머가 대기되었는지를 판단하는 제1단계와; 상기 판단 후 상태를 변경하여 두는 제2단계를 포함하는 것을 특징으로 하는 인터럽트 대기시간 측정방법.
  4. 제1항에 있어서, 상기 제4과정은 사용자로부터 시스템에 대기 시간 측정에 관한 명령어를 접수하면 상기 명령어를 판단하는 제1단계와; 상기 판단 후 대기시간 측정 시작과 종료를 시스템에 등록 명령 처리와, 대기시간 측정보고에서 상한을 지정하는 제2단계와; 상기 측정된 데이터를 출력 요구에 따른 측정 데이터 출력 명령어 처리 및 측정 데이터 소거 기능 등을 수행하는(S21) 제3단계를 포함하는 것을 특징으로 하는 인터럽트 대기시간 측정방법.
KR1019960067040A 1996-12-17 1996-12-17 인터럽트 대기시간 측정방법 KR0176095B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960067040A KR0176095B1 (ko) 1996-12-17 1996-12-17 인터럽트 대기시간 측정방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960067040A KR0176095B1 (ko) 1996-12-17 1996-12-17 인터럽트 대기시간 측정방법

Publications (2)

Publication Number Publication Date
KR19980048469A KR19980048469A (ko) 1998-09-15
KR0176095B1 true KR0176095B1 (ko) 1999-05-15

Family

ID=19488632

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960067040A KR0176095B1 (ko) 1996-12-17 1996-12-17 인터럽트 대기시간 측정방법

Country Status (1)

Country Link
KR (1) KR0176095B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102577174B1 (ko) * 2023-02-20 2023-09-11 주식회사 파인솔루션 고속 설비의 응답시간 측정 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102577174B1 (ko) * 2023-02-20 2023-09-11 주식회사 파인솔루션 고속 설비의 응답시간 측정 장치

Also Published As

Publication number Publication date
KR19980048469A (ko) 1998-09-15

Similar Documents

Publication Publication Date Title
US7788664B1 (en) Method of virtualizing counter in computer system
JP2908739B2 (ja) 多重プロセッサ・システムにおけるcpuのモニタリング・システム及び方法
US6480966B1 (en) Performance monitor synchronization in a multiprocessor system
US8464032B2 (en) Microprocessor integrated circuit with first processor that outputs debug information in response to reset by second processor of the integrated circuit
US5651113A (en) Method and apparatus for indicating a time-out by generating a time stamp for an input/output (I/O) channel whenever the channel processes an instruction
US5774724A (en) System and method for acquiring high granularity performance data in a computer system
US7191445B2 (en) Method using embedded real-time analysis components with corresponding real-time operating system software objects
JPH05134830A (ja) データ処理システムにおけるリアル・タイム・システム源のモニタ方法とモニタ装置
US6711642B2 (en) Method and chipset for system management mode interrupt of multi-processor supporting system
CN100338581C (zh) 用于确定cpu利用率的独立于操作系统的方法和系统
JPH05197594A (ja) データ処理システム用資源データの実時間捕獲及び減縮方法及びシステム
GB2383437A (en) Integrated hardware treace unit
JPS6226732B2 (ko)
WO2000020977A1 (en) Apparatus and method for emulating an i/o instruction for the correct processor and for servicing software smi's in a multi-processor environment
US8209681B1 (en) Method of sampling hardware events in computer system
US6321289B1 (en) Apparatus for automatically notifying operating system level applications of the occurrence of system management events
US6463492B1 (en) Technique to automatically notify an operating system level application of a system management event
KR0176095B1 (ko) 인터럽트 대기시간 측정방법
JP2001318807A (ja) タスク切り替え制御方法及び装置
JPH08171504A (ja) エミュレ−ション装置
JPH11327927A (ja) Cpu使用率測定方式
JP3133730B2 (ja) 割り込み方法及び回路
KR940007832B1 (ko) 실시간 시스템의 프로세서 부하 측정방법
JPH1165897A (ja) デバッガ内蔵マイクロプロセッサ
JPS6316317A (ja) コンピユ−タシステムのリセツト装置

Legal Events

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

Payment date: 20121031

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20131024

Year of fee payment: 16

LAPS Lapse due to unpaid annual fee