KR100287891B1 - Test Subroutine Processing Equipment and Processing Method - Google Patents

Test Subroutine Processing Equipment and Processing Method Download PDF

Info

Publication number
KR100287891B1
KR100287891B1 KR1019980061786A KR19980061786A KR100287891B1 KR 100287891 B1 KR100287891 B1 KR 100287891B1 KR 1019980061786 A KR1019980061786 A KR 1019980061786A KR 19980061786 A KR19980061786 A KR 19980061786A KR 100287891 B1 KR100287891 B1 KR 100287891B1
Authority
KR
South Korea
Prior art keywords
test
address
program
subroutine
test operation
Prior art date
Application number
KR1019980061786A
Other languages
Korean (ko)
Other versions
KR20000045228A (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 KR1019980061786A priority Critical patent/KR100287891B1/en
Publication of KR20000045228A publication Critical patent/KR20000045228A/en
Application granted granted Critical
Publication of KR100287891B1 publication Critical patent/KR100287891B1/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/2273Test methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter

Landscapes

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

Abstract

본 발명은 테스트 서브루틴 동작을 하드웨어적인 방법으로 구현하여 테스트 동작시마다 소오스 프로그램의 어드레스를 변경할 필요가 없는 테스트 서브루틴 처리장치 및 처리방법을 제공하기 위한 것으로써, 프로그램 메모리내 테스트 포인트가 위치한 어드레스를 발생하는 테스트 포인트 어드레스 발생부, 플래그 신호를 발생하는 플래그신호 발생부, 현재 정상동작인지 테스트 동작인지를 판별하는 테스트 포인트 판별부, 프로그램 수행을 위한 명령어 및 테스트 동작을 위한 명령어를 저장하고 있는 프로그램 메모리부, 프로그램 수행을 위한 명령어 및 테스트 동작을 위한 테스트 명령어 디코딩을 수행하고, 테스트 동작시 현재의 프로그램 어드레스를 출력하는 디코더부, 테스트 동작시 현재의 프로그램 어드레스를 저장하는 스택 메모리부, 테스트 동작시 프로그램 메모리부의 테스트 서브루틴 어드레스를 지정하는 테스트 서브루틴 지정부와, 프로그램 어드레스를 하나씩 증가시키는 프로그램 카운터와, 상기 프로그램 카운터, 스택 메모리부, 그리고 테스트 서브루틴 어드레스 지정부의 출력 어드레스중 어느 하나를 선택하여 출력하는 먹스부The present invention is to provide a test subroutine processing apparatus and a method for implementing the test subroutine operation in a hardware manner so that the address of the source program does not need to be changed for each test operation. A program memory that stores a test point address generator that generates a flag, a flag signal generator that generates a flag signal, a test point determiner that determines whether the current operation is normal or a test operation, a command for executing a program, and a command for a test operation. A decoder for performing a program instruction decoding and a test instruction decoding for a test operation, outputting a current program address during a test operation, a stack memory unit for storing a current program address during a test operation, and a test Any one of a test subroutine designation unit for designating a test subroutine address of a program memory unit in operation, a program counter for incrementing a program address by one, and an output address of the program counter, stack memory unit, and test subroutine addressing unit; Select and print mux

Description

테스트 서브루틴 처리장치 및 처리방법Test Subroutine Processing Equipment and Processing Method

본 발명은 프로세서(Processor)에 관한 것으로 특히, 정상적인 프로그램 진행 도중에 테스트 프로그램을 수행하고자 할 때, 이를 하드웨어적인 구성을 통해 정상적인 프로그램의 어드레스 변경없이 테스트 서브루틴을 수행할 수 있는 테스트 서브루틴 처리장치 및 처리방법에 관한 것이다.The present invention relates to a processor, and in particular, when a test program is to be executed during a normal program, a test subroutine processing apparatus capable of performing a test subroutine without changing the address of a normal program through a hardware configuration, and It relates to a treatment method.

이하, 종래 기술에 따른 테스트 서브루틴 처리방법을 첨부된 도면을 사용하여 설명하면 다음과 같다.Hereinafter, a test subroutine processing method according to the prior art will be described with reference to the accompanying drawings.

먼저, 종래 기술에 따른 테스트 서브루틴 처리방법은 소프트 웨어적으로 구현된다.First, the test subroutine processing method according to the prior art is implemented in software.

즉, 정상적인 프로그램 동작 도중에 테스트 동작이 필요할 경우, 브랜치(BRANCH)나 콜(CALL)명령어를 사용하여 소프트 웨어적으로 테스트 동작을 수행하게된다.That is, when a test operation is required during a normal program operation, the test operation is performed in software using a branch or a call instruction.

도 1a은 종래 테스트 서브루틴 수행방법을 설명하기 위한 프로그램 메모리를 도식적으로 나타낸 것으로 정상동작시 프로그램 메모리를 나타내었고 도 1b는 테스트 동작시 프로그램 메모리를 나타내었다.FIG. 1A schematically illustrates a program memory for explaining a conventional test subroutine execution method, and illustrates a program memory in normal operation, and FIG. 1B illustrates a program memory in a test operation.

도 1a에 도시된 바와 같이, 정상동작시에는 프로그램 어드레스의 순차적인 증가에 따라 프로그램 메모리에서 프로그램 수행을 위한 명령어(INST1,INST2,...)가 저장되고, 상기 프로그램 수행을 위한 명령어가 저장된 영역 이후에는 테스트를 위한 명령어(TEST INST1,TEST INST2,...)가 저장되고 맨 마직막으로 리턴 명령어(RETURN)가 저장되어 순차적으로 명령어에 따른 동작을 수행한다.As shown in FIG. 1A, in a normal operation, an instruction for executing a program (INST1, INST2, ...) is stored in a program memory according to a sequential increase of a program address, and an area in which the instruction for performing the program is stored. After that, the test commands (TEST INST1, TEST INST2, ...) are stored, and finally the return command (RETURN) is stored to sequentially perform the operation according to the command.

이때, 첫 번째 명령어(INST1) 수행이후에 그 결과를 서브루틴을 통해 저장하거나 특별한 테스트 동작에 관계되는 명령어를 사용하고자 하는 경우에는 도 1b에 도시된 것처럼 원래의 소오스 프로그램상의 명령어(INST2)대신에 서브루틴을 동작시키기 위한 명령어(CALL TEST)를 저장한다.In this case, when the first instruction INST1 is executed and the result is stored in a subroutine or a command related to a special test operation is to be used, the instruction INST2 on the original source program as shown in FIG. Stores the command (CALL TEST) to run the subroutine.

그리고 소오스 프로그램상의 명령어(INST2)는 상기 서브루틴 동작을 위한 명령어(Call Test)가 저장된 어드레스의 다음 어드레스에 저장된다.The instruction INST2 on the source program is stored at an address next to an address at which the instruction (Call Test) for the subroutine operation is stored.

결과적으로 테스트 동작시에는 명령어 수행단계를 보면, INST1→CALL TEST1→TEST INST1→RETURN→INST2→INST3→INST4→CALL TEST→TEST INST2→RETURN→INST5→INST6 순으로 동작을 수행하게 된다.As a result, during the test operation, the command execution step is performed in the order of INST1 → CALL TEST1 → TEST INST1 → RETURN → INST2 → INST3 → INST4 → CALL TEST → TEST INST2 → RETURN → INST5 → INST6.

그러나 상기와 같은 종래 테스트 서브루틴 수행방법은 다음과 같은 문제점이 있었다.However, the conventional test subroutine execution method has the following problems.

테스트 프로그램 동작(CALL TEST)이 수행되면 해당 어드레스에 저장되어 있던 원래의 소오스 프로그램은 다음번의 어드레스에 저장되어야 하므로 어드레스가 변경된다.When the test program operation (CALL TEST) is performed, the original source program stored at the corresponding address must be stored at the next address, so the address is changed.

즉, 정상동작 도중에 테스트 동작을 위해 특정한 프로그램 어드레스에 서브루틴 동작을 불러와야 하는 경우, 매번 소오스 프로그램을 최초의 어드레스에서 그 다음 어드레스로 재저장하여야하는 번거로움이 발생한다.That is, when a subroutine operation is called to a specific program address for a test operation during a normal operation, it is cumbersome to resave the source program from the first address to the next address each time.

본 발명은 상기한 종래 기술의 문제점을 해결하기 위해 안출한 것으로, 테스트 서브루틴 동작을 하드웨어적인 방법으로 구현하여 테스트 동작시마다 소오스 프로그램의 어드레스를 변경할 필요가 없는 테스트 서브루틴 처리장치 및 처리방법을 제공하는데 그 목적이 있다.The present invention has been made to solve the above-mentioned problems of the prior art, and provides a test subroutine processing apparatus and processing method by implementing a test subroutine operation in a hardware manner, without having to change the address of a source program for each test operation. Its purpose is to.

도 1a는 일반적인 프로그램 메모리를 도식적으로 나타낸 도면1A is a diagram schematically showing a general program memory.

도 1b는 종래 기술에 따른 테스트 동작시 프로그램 메모리를 도식적으로 나타낸 도면1B schematically illustrates a program memory during a test operation according to the prior art.

도 2는 본 발명에 따른 테스트 동작시 프로그램 메모리를 도식적으로 나타낸 도면2 is a diagram schematically showing a program memory during a test operation according to the present invention.

도 3은 본 발명에 따른 테스트 서브루틴 처리장치의 구성도3 is a block diagram of a test subroutine processing apparatus according to the present invention

도 4는 본 발명에 따른 테스트 서브루틴 처리방법을 설명하기 위한 플로우챠트4 is a flowchart for explaining a test subroutine processing method according to the present invention.

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

31 : 테스트 포인트 어드레스 발생부 32 : 플래그 신호 발생부31: test point address generator 32: flag signal generator

33 : 테스트 포인트 판별부 34 : 프로그램 메모리33: test point discrimination unit 34: program memory

35 : 디코더부 36 : 스택 메모리부35: decoder unit 36: stack memory unit

37 : 테스트 서브루틴 어드레스 발생부 38 : 프로그램 카운터37: test subroutine address generator 38: program counter

39 : 먹스부39: musbu

상기의 목적을 달성하기 위한 본 발명의 테스트 서브루틴 처리장치는 프로그램 메모리내 테스트 포인트가 위치한 어드레스를 발생하는 테스트 포인트 어드레스 발생부, 플래그 신호를 발생하는 플래그신호 발생부, 현재 정상동작인지 테스트 동작인지를 판별하는 테스트 포인트 판별부, 프로그램 수행을 위한 명령어 및 테스트 동작을 위한 명령어를 저장하고 있는 프로그램 메모리부, 프로그램 수행을 위한 명령어 및 테스트 동작을 위한 테스트 명령어 디코딩을 수행하고, 테스트 동작시 현재의 프로그램 어드레스를 출력하는 디코더부, 테스트 동작시 현재의 프로그램 어드레스를 저장하는 스택 메모리부, 테스트 동작시 프로그램 메모리부의 테스트 서브루틴 어드레스를 지정하는 테스트 서브루틴 지정부와, 프로그램 어드레스를 하나씩 증가시키는 프로그램 카운터와, 상기 프로그램 카운터, 스택 메모리부, 그리고 테스트 서브루틴 어드레스 지정부의 출력 어드레스중 어느 하나를 선택하여 출력하는 먹스부를 포함하여 구성되고, 본 발명의 테스트 서브루틴 처리방법은 테스트 서브루틴을 콜(Call)하고자 하는 프로그램 어드레스와 플래그 신호를 지정하는 스텝과, 정상동작 상태인지 테스트 동작상태인지를 판별하는 스텝과, 정상동작일 경우 프로그램 카운터에서 출력되는 프로그램 어드레스에 상응하는 프로그램 메모리의 명령어를 수행하고, 테스트 동작시에는 현재의 프로그램 어드레스를 스택 메모리에 저장하는 스텝과, 테스트 동작에 따른 테스트 서브루틴 어드레스에 상응하는 상기 프로그램 메모리의 테스트 명령어를 수행하는 스텝과, 테스트 동작이 완료되었는지를 판별하여 완료되었으면 상기 스택 메모리에 저장된 프로그램 어드레스를 불러내어 그에 상응하는 프로그램 메모리의 명령어를 수행하는 스텝으로 이루어진다.The test subroutine processing apparatus of the present invention for achieving the above object is a test point address generator for generating an address in which a test point in a program memory is located, a flag signal generator for generating a flag signal, whether it is normal operation or test operation. A test point determination unit for determining a control unit, a program memory unit for storing a command for performing a program and a command for a test operation, performing a command for performing a program and decoding a test command for a test operation, and performing a current program during a test operation. A decoder unit for outputting an address, a stack memory unit for storing a current program address during a test operation, a test subroutine designation unit for specifying a test subroutine address for a program memory unit in a test operation, and a program address incremented by one And a mux section for selecting and outputting any one of a program counter, a stack memory section, and an output address of the test subroutine address designation section, and the test subroutine processing method of the present invention includes a test subroutine. A step of specifying a program address and a flag signal to call, a step of determining whether it is in a normal operation state or a test operation state, and in the case of normal operation, instructions of a program memory corresponding to a program address output from a program counter Performing a test operation; storing a current program address in a stack memory; performing a test command of the program memory corresponding to a test subroutine address according to the test operation; and determining whether the test operation is completed. Completed by If consists of a step for invoking the program address stored in the stack memory, perform the corresponding control instruction in the program memory thereof.

이하, 본 발명의 테스트 서브루틴 처리장치 및 처리방법을 첨부된 도면을 참조하여 설명하기로 한다.Hereinafter, a test subroutine processing apparatus and a processing method of the present invention will be described with reference to the accompanying drawings.

먼저, 도 2는 본 발명의 테스트 서브루틴 처리장치 및 처리방법에 따른 프로그램 메모리를 도식적으로 나타낸 것으로서, 테스트 동작을 수행하더라도 도 1b와는 달리 최초의 프로그램 어드레스가 바뀌지 않고 그대로임을 알 수 있다.First, FIG. 2 schematically shows a program memory according to a test subroutine processing apparatus and a processing method of the present invention. As shown in FIG. 1B, the first program address is not changed, as shown in FIG.

도 3은 본 발명의 테스트 서브루틴 처리장치를 설명하기 위한 구성블록도이다.3 is a block diagram illustrating the test subroutine processing apparatus of the present invention.

도 3에 도시한 바와 같이, 테스트 포인트 어드레스를 발생하는 테스트 포인트 어드레스 발생부(31)와, 플래그 신호를 발생하는 플래그신호 발생부(32)와, 현재의 프로그램 어드레스와 테스트 포인트 어드레스를 비교하여 동일여부를 판별하고, 상기 플래그신호의 액티브 여부를 판별하는 테스트 포인트 판별부(33)와, 프로그램 수행을 위한 명령어 및 테스트 동작을 위한 명령어를 저장하고 있는 프로그램 메모리부(34)와, 프로그램 수행을 위한 명령어 디코딩 및 테스트 동작을 위한 테스트 명령어 디코딩을 수행하는 디코더부(35)와, 테스트 동작시 상기 디코더부(35)에서 출력되는 현재의 프로그램 어드레스를 저장하는 스택 메모리부(36)와, 테스트 동작시 프로그램 메모리부(34)의 테스트 서브루틴 어드레스를 지정하는 테스트 서브루틴 지정부(37)와, 정상동작시, 현재의 프로그램 어드레스를 하나씩 증가시키는 프로그램 카운터(38)와, 상기 프로그램 카운터(38), 스택 메모리부(36), 그리고 테스트 서브루틴 어드레스 지정부(37)의 출력 어드레스중 어느 하나를 선택하여 출력하는 먹스부(39)를 포함하여 구성된다.As shown in FIG. 3, the test point address generator 31 generating the test point address, the flag signal generator 32 generating the flag signal, and the current program address are compared with the test point address. A test point determining unit 33 for determining whether the flag signal is active or not, a program memory unit 34 storing instructions for executing a program and instructions for a test operation, and performing a program A decoder unit 35 for performing command instruction decoding and a test instruction decoding for a test operation, a stack memory unit 36 storing a current program address output from the decoder unit 35 during a test operation, and a test operation A test subroutine designation unit 37 for specifying a test subroutine address of the program memory unit 34, and In operation, any one of a program counter 38 for incrementing the current program address by one, an output address of the program counter 38, the stack memory unit 36, and the test subroutine address designation unit 37 is selected. It is comprised including the mux part 39 which outputs.

여기서, 상기 디코더부(35)는 테스트 동작시 상기 테스트 서브루틴 어드레스 저정부(37)에서 지정된 어드레스에 상응하는 상기 프로그램 메모리부(34)의 테스트 명령어를 디코딩하여 테스트 동작을 수행한다.Here, the decoder unit 35 performs a test operation by decoding a test command of the program memory unit 34 corresponding to the address designated by the test subroutine address storage 37 during a test operation.

이와 같은 테스트 서브루틴 처리장치의 동작을 보다 상세하게 설명하면 다음과 같다.The operation of the test subroutine processing apparatus will be described in more detail as follows.

먼저, 정상동작시에는 상기 프로그램 어드레스 카운터(38)에서 지정한 프로그램 어드레스에 따라 상기 프로그램 메모리부(34)의 명령어를 수행하게 된다.First, in the normal operation, the command of the program memory unit 34 is executed according to the program address designated by the program address counter 38.

이때, 현재의 프로그램 어드레스와 사용자가 정의한 테스트 포인트 어드레스가 서로 일치하는지의 여부와, 플래그 신호 발생부(32)에서 출력되는 플래그 신호가 액티브인지 넌액티브인지를 테스트 포인트 판별부(33)에서 판별하여 상기 어드레스들이 서로 일치하고 플래그신호가 액티브일 경우에는 테스트 동작으로 간주된다.At this time, the test point determination unit 33 determines whether the current program address and the user defined test point address match each other and whether the flag signal output from the flag signal generator 32 is active or non-active. When the addresses coincide with each other and the flag signal is active, it is regarded as a test operation.

이때에는 지금까지 진행되고 있던 프로그램 수행이 정지되고 현재의 프로그램 어드레스는 스택 메모리부(36)에 저장된다.At this time, execution of the program which has been performed so far is stopped and the current program address is stored in the stack memory unit 36.

이후, 테스트 서브루틴 어드레스 지정부(37)는 테스트 동작을 수행하기 위한 상기 프로그램 메모리부(34)내의 테스트 서브루틴 어드레스를 출력한다.Thereafter, the test subroutine address designation unit 37 outputs a test subroutine address in the program memory section 34 for performing a test operation.

이에, 상기 디코더부(35)는 테스트 서브루틴 어드레스 지정부(37)에서 지정한 어드레스에 상응하는 테스트 명령어를 디코딩하여 테스트 동작을 수행하게 된다.Accordingly, the decoder 35 decodes a test command corresponding to the address specified by the test subroutine address designator 37 to perform a test operation.

이후, 리턴 명령어가 들어오면 테스트 동작이 완료된 것으로 판단하여 상기 스택 메모리부(36)에 저장되었던 프로그램 어드레스가 출력된다.Subsequently, when a return command is input, it is determined that the test operation is completed and the program address stored in the stack memory unit 36 is output.

따라서, 스택 메모리부(36)에서 출력되는 프로그램 어드레스에 상응하는 명령어를 수행하게 된다.Therefore, the instruction corresponding to the program address output from the stack memory unit 36 is performed.

이와 같은 테스트 서브루틴 처리방법을 도 4에 도시된 플로우챠트를 이용하여 설명하기로 한다.This test subroutine processing method will be described using the flowchart shown in FIG.

먼저, 테스트 서브루틴을 콜(Call)하고자 하는 프로그램 어드레스를 지정한 후(S401), 플래그 신호의 상태를 액티브 또는 넌 액티브로 지정한다(S402).First, a program address to call the test subroutine is designated (S401), and then the state of the flag signal is designated as active or non-active (S402).

이후, 이미 지정한 테스트 포인트 어드레스와 현재의 프로그램 어드레스를 비교한 후(S403), 지정한 테스트 포인트 어드레스와 프로그램 어드레스가 서로 일치하는지를 판별하여(S404), 서로 일치하면 플래그신호가 액티브 상태인지를 판별한다(S405).Thereafter, after comparing the specified test point address with the current program address (S403), it is determined whether the specified test point address and the program address match each other (S404). S405).

만일, 상기 테스트 포인트 어드레스와 상기 프로그램 어드레스가 서로 일치하지 않으면 프로그램 어드레스를 하나씩 증가시켜(S406) 계속해서 테스트 포인트 어드레스와 현재의 프로그램 어드레스가 서로 일치하는지를 비교하는 동작을 수행한다.If the test point address and the program address do not coincide with each other, the program address is incremented one by one (S406) to continuously compare the test point address with the current program address.

그리고 상기 플래그 신호가 액티브 상태가 아니면 상기 프로그램 어드레스와 테스트 포인트 어드레스가 서로 일치하였다고 하더라도 상기 테스트 서브루틴 동작을 수행되지 않는다.If the flag signal is not active, the test subroutine operation is not performed even if the program address and the test point address coincide with each other.

또한, 상기 테스트 포인트 어드레스와 프로그램 어드레스가 일치하지 않으면 정상동작으로 인식하여 상기 프로그램 어드레스에 상응하는 프로그램 메모리의 명령어를 수행한다(S408)In addition, if the test point address and the program address do not match, the operation is recognized as normal operation and a command of a program memory corresponding to the program address is performed (S408).

한편, 상기 프로그램 어드레스와 테스트 포인트 어드레스가 서로 일치하고 상기 플래그 신호가 액티브 상태이면 정상적인 프로그램 수행을 일시 정지시킨 후, 현재의 프로그램 어드레스를 스택 메모리부에 저장한다(S409).On the other hand, if the program address and the test point address coincide with each other and the flag signal is active, normal program execution is paused, and the current program address is stored in the stack memory unit (S409).

그리고 상기 테스트 서브루틴 어드레스 지정부에서 어드레스를 지정하고(S410), 지정한 어드레스에 상응하여 프로그램 메모리의 테스트 명령어를 수행한다(S411).The test subroutine address designation unit designates an address (S410) and performs a test command of a program memory corresponding to the designated address (S411).

이후, 리턴(RETURN) 명령어가 들어왔는지를 판별하여(S412), 리턴 명령어가 들어왔으면 테스트 동작을 완료하고, 상기 스택 메모리부에 저장되었던 프로그램 어드레스를 불러온다(S413).Thereafter, it is determined whether a RETURN command is entered (S412). If the return command is input, the test operation is completed, and a program address stored in the stack memory unit is read (S413).

그리고 상기 프로그램 어드레스에 상응하는 프로그램 메모리의 명령어를 수행한다(S408).In operation S408, an instruction of a program memory corresponding to the program address is performed.

이상 상술한 바와 같이, 본 발명의 테스트 서브루틴 처리장치 및 처리방법은 다음과 같은 효과가 있다.As described above, the test subroutine processing apparatus and processing method of the present invention have the following effects.

사용자가 원하는 프로그램 어드레스에서 테스트 서브루틴을 수행하고 싶을 경우, 원래의 프로그램 어드레스를 변경하지 않은 상태에서 테스트 서브루틴을 수행할 수 있다.If the user wants to perform the test subroutine at the desired program address, the test subroutine can be performed without changing the original program address.

Claims (6)

프로그램 메모리내 테스트 포인트가 위치한 어드레스를 발생하는 테스트 포인트 어드레스 발생부,A test point address generator for generating an address where a test point in the program memory is located; 플래그 신호를 발생하는 플래그신호 발생부,A flag signal generator for generating a flag signal, 현재 정상동작인지 테스트 동작인지를 판별하는 테스트 포인트 판별부,A test point determination unit for determining whether the current operation is normal or the test operation; 프로그램 수행을 위한 명령어 및 테스트 동작을 위한 명령어를 저장하고 있는 프로그램 메모리부,A program memory unit for storing instructions for executing a program and instructions for a test operation; 프로그램 수행을 위한 명령어 및 테스트 동작을 위한 테스트 명령어 디코딩을 수행하고, 테스트 동작시 현재의 프로그램 어드레스를 출력하는 디코더부,A decoder for performing a program instruction and a test instruction decoding for a test operation, and outputting a current program address during a test operation; 테스트 동작시 현재의 프로그램 어드레스를 저장하는 스택 메모리부,A stack memory unit for storing a current program address during a test operation; 테스트 동작시 프로그램 메모리부의 테스트 서브루틴 어드레스를 지정하는 테스트 서브루틴 지정부와,A test subroutine designation unit for specifying a test subroutine address of the program memory unit during a test operation; 프로그램 어드레스를 하나씩 증가시키는 프로그램 카운터와,A program counter that increments the program address by one, 상기 프로그램 카운터, 스택 메모리부, 그리고 테스트 서브루틴 어드레스 지정부의 출력 어드레스중 어느 하나를 선택하여 출력하는 먹스부를 포함하여 구성되는 것을 특징으로 하는 테스트 서브루틴 처리장치.And a mux part for selecting and outputting any one of an output address of the program counter, the stack memory part, and the test subroutine address designation part. 제 1 항에 있어서, 상기 테스트 포인트 판별부는 현재의 프로그램 어드레스와 테스트 포인트 어드레스를 비교하여 동일여부를 판별하고, 상기 플래그신호의 액티브 여부를 판별하는 것을 특징으로 하는 테스트 서브루틴 처리장치.The test subroutine processing apparatus of claim 1, wherein the test point discrimination unit compares a current program address with a test point address to determine whether the test point is identical, and determines whether the flag signal is active. 제 1 항에 있어서, 상기 먹스부는 정상동작시에는 상기 프로그램 카운터에서 출력하는 프로그램 어드레스를 출력하고, 테스트 동작시에는 상기 테스트 서브루틴 어드레스 지정부에서 출력하는 어드레스를 출력하며, 테스트 동작완료시에는 상기 스택 메모리부에 저장되었던 어드레스를 출력하는 것을 특징으로 하는 테스트 서브루틴 처리장치.The apparatus of claim 1, wherein the mux unit outputs a program address output from the program counter during normal operation, an address output from the test subroutine address designation unit during a test operation, and the stack when the test operation is completed. And a test subroutine processing apparatus for outputting an address stored in a memory unit. 제 1 항에 있어서, 상기 테스트 포인트 판별부는 상기 테스트 포인트 어드레스 발생부에서 출력하는 어드레스와 현재의 프로그램 어드레스가 일치하고 상기 플래그 신호가 액티브 상태일 때만 테스트 동작으로 판별하는 것을 특징으로 하는 테스트 서브루틴 처리장치.The test subroutine process according to claim 1, wherein the test point determination unit determines a test operation only when an address output from the test point address generator and a current program address match and the flag signal is active. Device. 테스트 서브루틴을 콜(Call)하고자 하는 프로그램 어드레스와 플래그 신호를 지정하는 스텝과,Specifying a program address and a flag signal to call a test subroutine, 정상동작 상태인지 테스트 동작상태인지를 판별하는 스텝과,Determining whether the operation state is normal or test; 정상동작일 경우 프로그램 카운터에서 출력되는 프로그램 어드레스에 상응하는 프로그램 메모리의 명령어를 수행하고, 테스트 동작시에는 현재의 프로그램 어드레스를 스택 메모리에 저장하는 스텝과,Performing a command of a program memory corresponding to a program address output from a program counter in a normal operation, and storing a current program address in a stack memory during a test operation; 테스트 동작에 따른 테스트 서브루틴 어드레스에 상응하는 상기 프로그램 메모리의 테스트 명령어를 수행하는 스텝과,Performing a test instruction of the program memory corresponding to a test subroutine address according to a test operation; 테스트 동작이 완료되었는지를 판별하여 완료되었으면 상기 스택 메모리에 저장된 프로그램 어드레스를 불러내어 그에 상응하는 프로그램 메모리의 명령어를 수행하는 스텝을 포함하여 이루어지는 것을 특징으로 하는 테스트 서브루틴 처리방법.Determining whether a test operation is completed, and if the test operation is completed, reading out a program address stored in the stack memory and executing an instruction of a program memory corresponding to the test subroutine. 제 5 항에 있어서, 상기 정상동작시와 테스트 동작시를 판별하는 스텝은 테스트 포인트 어드레스와 현재의 프로그램 어드레스를 비교하여 서로 일치하며, 플래그 신호가 액티브 상태일 경우 테스트 동작으로 판별하는 것을 특징으로 하는 테스트 서브루틴 처리방법.The method of claim 5, wherein the determining of the normal operation time and the test operation time is performed by comparing the test point address with the current program address, and determining the test operation when the flag signal is active. Test subroutine processing method.
KR1019980061786A 1998-12-30 1998-12-30 Test Subroutine Processing Equipment and Processing Method KR100287891B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980061786A KR100287891B1 (en) 1998-12-30 1998-12-30 Test Subroutine Processing Equipment and Processing Method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980061786A KR100287891B1 (en) 1998-12-30 1998-12-30 Test Subroutine Processing Equipment and Processing Method

Publications (2)

Publication Number Publication Date
KR20000045228A KR20000045228A (en) 2000-07-15
KR100287891B1 true KR100287891B1 (en) 2001-05-02

Family

ID=19568483

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980061786A KR100287891B1 (en) 1998-12-30 1998-12-30 Test Subroutine Processing Equipment and Processing Method

Country Status (1)

Country Link
KR (1) KR100287891B1 (en)

Also Published As

Publication number Publication date
KR20000045228A (en) 2000-07-15

Similar Documents

Publication Publication Date Title
KR100287891B1 (en) Test Subroutine Processing Equipment and Processing Method
US4807178A (en) Programmable sequence controller having indirect and direct input/output apparatus
KR19980042835A (en) Sequence control circuit
KR100357177B1 (en) Device for instruction interpretating of micro computer
JPH04145544A (en) Debugging device
KR950007937B1 (en) The inside resister circuit of plc gate array
JPH0348333A (en) Processor and plotting processor
US5822775A (en) Efficient data processing method for coefficient data in a digital dignal, processor
JP2503634B2 (en) Micro program controller
JP2604203B2 (en) Debug device for one-chip digital signal processor
JPH04251331A (en) Information processor
JPS6122820B2 (en)
JPH0713758A (en) Instruction decoding method
JPH05181671A (en) Emulation system for software instruction
JPS638937A (en) Single chip microcomputer
JPS58195252A (en) Microprogram controller
JPH01175632A (en) Micro program controller
JPH01140232A (en) Microprogram control system
JPS6362037A (en) Microprogram controller
JPH06230958A (en) Processor
JPS6015969B2 (en) Microinstruction address generation method
JPH01142938A (en) Microprogram device
JPS6245628B2 (en)
JPH02191046A (en) Tracing system for program
JPS63163543A (en) Information processor

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: 20110126

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee