KR960014176B1 - A locking device of a multi-signal processor system - Google Patents

A locking device of a multi-signal processor system Download PDF

Info

Publication number
KR960014176B1
KR960014176B1 KR1019930015284A KR930015284A KR960014176B1 KR 960014176 B1 KR960014176 B1 KR 960014176B1 KR 1019930015284 A KR1019930015284 A KR 1019930015284A KR 930015284 A KR930015284 A KR 930015284A KR 960014176 B1 KR960014176 B1 KR 960014176B1
Authority
KR
South Korea
Prior art keywords
processor
lock
address
processors
memory
Prior art date
Application number
KR1019930015284A
Other languages
Korean (ko)
Other versions
KR950006593A (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 KR1019930015284A priority Critical patent/KR960014176B1/en
Publication of KR950006593A publication Critical patent/KR950006593A/en
Application granted granted Critical
Publication of KR960014176B1 publication Critical patent/KR960014176B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

a lock processing signal generating counter(10) which generates a lock use signal and informs a processor of the timeout to finish the locking ; a buffer part(20) storing the processor name(ID) and the address of the processor performing the locking; and a system control part(30) cancelling the locking if the processor is abnormal or the timeout is generated, and informing the other processors.

Description

다중신호처리 시스템의 잠금장치Locking device of multi-signal processing system

제1도는 타이콤(TiCOM)의 인터락(inter-lock)읽기 순서를 나타내는 타이밍도.1 is a timing diagram showing an inter-lock reading order of TiCOM.

제2도는 타이콤의 인터락 쓰기 순서를 나타내는 타이밍도.2 is a timing diagram showing the interlock write order of Tycom.

제3도는 본 발명에 따른 다중신호처리 시스템의 잠금장치의 구성 블록도.3 is a block diagram of a locking device of the multi-signal processing system according to the present invention.

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

1,1' : 프로세서 보드 2 : 메모리 보드1,1 ': processor board 2: memory board

10,10' : 잠금 처리 신호 발생 카운터 20 : 버퍼부10,10 ': Lock processing signal generation counter 20: Buffer unit

30 : 시스템 제어부 40 : 버스라인30: system control unit 40: bus line

본 발명은 다중 신호처리 시스템에 관한 것으로, 특히 여러 프로세서가 결코 일어날 수 없는 사상(事相)의 발생을 영구히 지속하여 시스템 또는 그 일부의 동작이 실효적으로 정지되어 버리는 영구잠금(dead-lock)을 방지하기 위한 다중신호처리 시스템의 잠금장치에 관한 것이다. 일차적으로 다중신호처리 시스템에 있어서, 잠금(locking)은 여러개의 프로세서들이 메모리의 임게영역(critical region)에 접근할 때 동시에 접근을 허용할 수 없기 때문에 하나의 특정 프로세서가 일을 시작해서 마칠때까지 다른 프로세서가 접근하지 못하도록 상기 임계영역에 접근하는 프로세서들을 하나씩 연속적으로 접근하도록 하기 위한 기술이다.TECHNICAL FIELD The present invention relates to multiple signal processing systems, and in particular, a permanent-lock, in which the operation of a system or part thereof is effectively stopped by permanently continuing the occurrence of events that can never occur. It relates to a locking device of a multiple signal processing system to prevent the. Primarily in multi-signal processing systems, locking does not allow access simultaneously when multiple processors access a critical region of memory, until one particular processor starts and finishes work. A technology for continuously accessing processors one by one accessing the critical region to prevent other processors from accessing them.

이러한 잠금기술을 구현하기 이해서는 다음의 3가지 방법이 있는데 개략적으로 설명하면 다음과 같다.There are three ways to implement this locking technique.

첫째는 한 프로세서가 메모리에 잠금을 수행하고 있는 동안 모든 버스를 점유하여 다른 프로세서들의 버스사용권을 주지않음으로써 잠금의 일관성을 유지하는 것이고, 둘째는 메모리 보드 자체가 매우 기능이 뛰어나 스스로 잠금에 관련된 모든 일관성을 유지하는 것이며, 셋째는 프로세서가 메모리의 특정 어드레스를 잠금시켜 그 어드레스에는 한 프로세서의 잠금 동작이 완료될때까지 다른 프로세서가 잠금동작을 수행하지 못하도록 하는 것이다.The first is to keep the locks consistent by occupying all the buses while one processor is locking the memory and not giving the buses the right of the other processors. The second is that the memory board itself is very functional so Consistency is maintained, and third, the processor locks a specific address in memory so that no other processor can lock the address until one processor's lock operation is complete.

상기와 같은 방법들 중, 첫 번째 방법의 경우 해당 프로세서가 잠금을 수행하는 동안 시스템 버스를 계속하여 점유하고 있기 때문에 전체 시스템의 효율을 떨어뜨리며, 두 번째 방법의 경우 메모리 보드의 구현이 매우 복잡하고 어렵다. 이러한 이유로 세 번째 방법이 다중신호처리 시스템의 잠금방법으로 자주 사용되는데, 일예로 타이콤을 들 수 있다.Among the above methods, the first method reduces the efficiency of the entire system because the processor continues to occupy the system bus while performing the lock, and the second method is very complicated to implement the memory board. it's difficult. For this reason, the third method is often used as a locking method of a multi-signal processing system, for example, Tycom.

상기한 타이콤 시스템에서는 프로세서의 RMW(Read Modify Write)주기를 버스를 점유하지 않고 잠금을 수행한다. 이를 위해서 타이컴의 RMW주기에서 사용하는 메모리 영역은 예를 들어 1바이트(byte), 2바이트, 4바이트등과 같이 제한되어 있어 그 영역만 하나의 프로세서가 동작하는 동안에 다른 프로세서의 접근을 막도록 하는 것이다.In the Tycom system, the lock is performed without occupying the bus in the RMW cycle of the processor. For this purpose, the memory area used in Tycom's RMW cycle is limited to 1 byte, 2 bytes, 4 bytes, etc. so that only that area is allowed to prevent access to other processors while one processor is running. It is.

이와 같은 기능을 수행하기 위해서 버스에서 제공하는 전송형태는 파이프라인(pipeline)형으로, 인터락 읽기(inter-lock read)순서는 제1도에 도시한 바와 같고, 인터락 쓰기(inter-lock write)순서는 제2도에 도시된 바와 같으며, 상기 RMW의 읽기 주기는 상기 인터락 읽기 주기에 대응되고, RMW의 쓰기 주기는 인터락 쓰기 주기에 대응된다.In order to perform this function, the transfer type provided by the bus is pipeline type, and the inter-lock read order is as shown in FIG. 1, and the inter-lock write The order is as shown in FIG. 2, where the read period of the RMW corresponds to the interlock read period, and the write period of the RMW corresponds to the interlock write period.

상기 인터락 읽기의 버스상의 동작은 일반적인 읽기의 동작과 동일하고, 현재 접근되는 영역이 RMW주기의 일부라는 것을 알리는 역할을 수행하며, 이를 받은 메모리 제어기에서는 다른 프로세서의 접근을 막는다. 그리고 상기 인터락 읽기에 의해 데이터를 읽어간 프로세서는 내부적인 동작을 수행한 후 인터락 쓰기를 사용하여 다시 그 영역에 데이터를 쓰며, 인터락 쓰기도 버스상의 동작은 일반적인 쓰기의 동작과 동일하고, 메모리 제어기는 그 영역에 데이터를 쓴 후 인터락 쓰기에 의해 묶여진 잠금을 푼다.The operation on the bus of the interlock read is the same as the operation of the general read, and serves to inform that the currently accessed area is part of the RMW cycle, and the memory controller receiving the interlock read prevents access to another processor. The processor that reads data by the interlock read performs internal operations, and then writes data to the area again using interlock write, and the operation on the interlock write bus is the same as that of a normal write operation. The memory controller writes data to the area and then releases the lock bound by the interlock write.

상기 인터락 읽기 및 쓰기 순서를 좀 더 상세히 설명하면 다음과 같다. 인터락 읽기시에는 선택된 프로세서가 메모리에 데이터 전송요청 및 획득(request acquisition)에 따른 신호를 출력한 후 어드레스버스(address bus)를 구동(drive)시키고, 이어서 캐쉬 태그(cache tag)를 탐색(seach)하며, 메모리에서는 어드레스 버스를 래치(latch)시키고 부호화(decode)하여 어드레스 인식신호(address acknowledge)를 구동시키면 이에 따라 메모리의 어드레스 인식신호를 래치한 프로세서에서 액세스된 데이터를 읽어 들인다.The interlock reading and writing order will be described in more detail as follows. When reading an interlock, the selected processor outputs a signal according to a data acquisition request and a request acquisition to a memory, drives an address bus, and then searches a cache tag. In the memory, the address bus is latched and decoded to drive an address acknowledgment signal, thereby reading data accessed by a processor that latches the address acknowledgment signal of the memory.

한편 인터락 쓰기 시에는 선택된 프로세서가 메모리에 데이터 전송 요청 및 획득에 따른 신호를 출력한 후 어드레스 버스 및 데이터 버스를 구동시키면 상기 메모리에서 어드레스 버스 및 데이터 버스를 래치시키고, 이에 따라 상기 메모리에서 어드레스 및 데이터 인식에 따른 신호를 출력하면 상기 프로세서는 어드레스 및 데이터 인식에 따른 신호를 래치시킨다. 이러한 방법은 해당 프로세서가 잠금을 수행하는 동안 시스템 버스를 계속하여 점유함으로써 발생하는 시스템의 효율저하나 메모리 보드를 복잡하게 구현할 필요가 없는 장점이 있으나, 특정 프로세서가 인터락 일기에 의해서 잠금 동작을 수행한 후 프로세서 보드 자체의 이상으로 정상적인 인터락 쓰기를 발생시키지 못하거나, 프로세서 보드에서 인터락 쓰기를 수행하더라도 버스나 메모리 보드상에서 이를 제대로 수행하지 못하여 묶여진 잠금이 영원히 풀리지 않는 영구잠금상태에 빠지게되며, 또한, 다수개의 프로세서가 같은 어드레스에 동시에 잠금동작을 수행하려고 시도하는 경우 처음 인터락 읽기를 수행한 프로세서가 우선순위가 제일 낮으면 우선순위가 높은 다른 프로세서들의 반복된 인터락 읽기 수행에 의해서 인처락 쓰기를 수행해야 하는 처음 인터락 읽기를 수행한 우선순위가 제일 낮은 프로세서가 버스를 사용할 수 없기 때문에 묶여진 잠금을 풀 수 없게 되어 영구잠금상태에 빠지게 되는 문제점이 있다.On the other hand, during interlock writing, if the selected processor outputs a signal corresponding to a data transmission request and acquisition to the memory and then drives the address bus and the data bus, the address bus and the data bus are latched in the memory. When outputting a signal according to data recognition, the processor latches a signal according to address and data recognition. This method has the advantage of reducing the efficiency of the system caused by continuously occupying the system bus while the processor performs the lock, but eliminating the need for complicated memory board implementation, but the specific processor performs the lock operation by interlocking. After that, normal interlock write may not occur due to the abnormality of the processor board itself, or interlock write may not be performed properly on the bus or the memory board even if the interlock write is performed on the processor board. In addition, when a plurality of processors attempt to simultaneously lock the same address, if the processor that performs the first interlock read has the lowest priority, it is locked by repeated interlock reads performed by other processors having higher priority. Do write First, follow the first interlock read rankings are not the lowest processor to extract the bundled lock because you can not use the bus, there is a problem that the fall in permanent locked.

따라서 본 발명의 목적은 상기와 같은 문제점을 해결하여 영구잠금상태의 발생을 방지할 수 있는 다중신호처리 시스템의 잠금장치를 제공하는 것이다.Accordingly, an object of the present invention is to provide a locking device of a multiple signal processing system that can solve the above problems and prevent the occurrence of a permanent lock state.

상기와 같은 목적을 달성하기 위한 본 발명의 잠금장치는, 잠금수행중 및 잠금종료를 알리는 잠금처리신호 발생카운터와, 잠금시행중인 프로세서의 프로세서명과 어드레스를 저장하는 버퍼부 및 잠금수행중인 프로세서가 정상적으로 동작하지 않으면 직접 잠금을 푼 후 다른 프로세서들에게 이를 알리는 시스템 제어부를 구비하여 이루어지는 것을 특징으로 한다.Locking device of the present invention for achieving the above object, the lock processing signal generation counter for informing the lock is performed and the end of the lock, the buffer unit for storing the processor name and address of the processor in the lock and the processor is performing the lock normally If it does not operate, it is characterized in that it is provided with a system control unit to notify the other processors directly after unlocking.

이하, 첨부도면을 참조하여 본 발명을 좀 더 상세하게 설명하고자 한다.Hereinafter, the present invention will be described in more detail with reference to the accompanying drawings.

제3도는 본 발명에 따른 다중신호처리 시스템의 잠금장치를 도시한 것으로, 소정 프로세서가 잠금수행중이면 다른 프로세서들이 잠금동작을 수행하지 않도록 잠금사용중 신호를 발생하고, 일정시간이 경과하면 잠금수행중인 프로세서에 잠금을 끝내도록 시간종료를 알리는 잠금처리신호발생 카운터(10)를 각각 구비하는 복수개의 프로세서 보드(1,1')와, 상기 잠금 시행중인 프로세서의 프로세서명과 어드레스를 저장하는 버퍼부(20)를 구비하며 상기 잠금처리신호발생 카운터(10)와 버스라인(40)으로 연결되어 신호를 전송하는 메모리 보드(2)와, 상시 프로세서 보드(1,1') 및 메모리 보드(2)와 버스라인으로 연결되어 상기 버퍼부(20)에 저장된 프로세서명과 어드레스를 확인하여 잠금수행중인 프로세서가 비정상이거나 시간 종료신호 발생후에도 잠금이 풀리지 않으면 직접 잠금을 푼 후 다른 프로세서들에게 이를 알리는 시스템 제어부(30)로 구성되며, 동작은 다음과 같다. 일단 하나의 특정 프로세서에서 잠금을 수행하게 되면, 해당 잠금처리신호발생 카운터(10)에서 다른 프로세서에 잠금수행중임을 알리고, 일정시간동안 반복해서 잠금처리신호를 받게되면 잠금수행중인 프로세서에게 타임아웃(timeout)이 발생했다는 것을 알린다.3 is a view illustrating a locking device of a multi-signal processing system according to the present invention. When a predetermined processor is performing lock operation, a lock busy signal is generated so that other processors do not perform a lock operation. A plurality of processor boards (1, 1 ') each having a lock processing signal generation counter (10) informing the processor to time out so as to end the lock, and a buffer unit (20) for storing the processor name and address of the processor under lock And a memory board 2 connected to the lock processing signal generation counter 10 and a bus line 40 to transmit a signal, and a processor board 1, 1 'and a memory board 2 and a bus. Check the processor name and address stored in the buffer unit 20 connected to the line, and the lock is being released even if the processor being locked is abnormal or the timeout signal is generated. If you do not unscrew the lock consists of a direct system control unit 30 notifying the other processors, the operation is as follows. Once the lock is performed by one specific processor, the lock processing signal generation counter 10 notifies the other processor that the lock is being performed, and if the lock processing signal is repeatedly received for a predetermined time, the lock processing signal time-out is performed. timeout).

타임아웃을 인지한 프로세서는 현재의 주기를 일단 중단하고 상기 시스템제어부(30)에 인터럽트(interrupt)를 걸어서 타임아웃을 알리고, 상기 시스템 제어부(30)에서는 이에 따라 상기 메모리보드(1,1')에 접근하여 점유된 어드레스와 잠금수행중인 프로세서의 프로세서명(ID:IDentification)을 확인하여 해당 프로세서에게 인터럽트를 걸어 정상동작을 하는지 확인하고, 정상동작을 하면 해당 프로세서가 인터락 쓰기를 수행할때까지 일정 시가동안 기다린 후 메모리에 접근하여 잠금동작이 풀렸는지 확인한다.When the processor recognizes the timeout, the processor stops the current cycle once and interrupts the system controller 30 to notify the timeout. The system controller 30 accordingly processes the memory board 1,1 '. Check the occupied address and the processor name (ID: IDentification) of the processor that is performing the lock and check if it is working normally by interrupting the processor. Wait for a while and access the memory to see if the lock is released.

그러나 해당 프로세서가 정상적인 동작을 하지 않거나 일정 시간후에도 잠금이 풀리지 않으면 시스템 제어부(30)에서 직접 인터락 쓰기를 수행하여 잠금을 푼 후 각 프로세서들에게 인터럽트를 걸어 잠금이 풀렸음을 알려 각 프로세서가 정상동작을 계속진행하도록 한다.However, if the processor does not operate normally or the lock is not released after a certain period of time, the system controller 30 directly interlocks the write to release the lock and interrupts each processor to inform that the lock is released. Continue the operation.

따라서, 본 발명은, 프로세서가 메모리의 특정 어드레스를 잠금시켜 프로세서의 잠금 동작이 완료될때까지 다른 프로세서가 잠금동작을 수행하지 못하도록 하고, 프로세서, 메모리, 또는 버스의 상태가 양호하지 못하거나 동작상의 오류로 인해 발생할 수 있는 영구잠금상태를 방지함으로써, 전체 시스템의 신호처리효율을 향상시킬 수 있다.Accordingly, the present invention prevents another processor from performing a lock operation until the processor locks a specific address of the memory until the lock operation of the processor is completed, and the state of the processor, memory, or bus is not good or an operation error occurs. By preventing the permanent locking state that may occur due to the, it is possible to improve the signal processing efficiency of the entire system.

Claims (1)

소정 프로세서가 잠금수행중이면 다른 프로세서들이 잠금동작을 수행하지 않도록 잠금사용중 신호를 발생하고, 일정시간이 경과하면 잠금수행중인 프로세서에 잠금을 끝내도록 시간종료를 알리는 잠금 처리신호발생 카운터(10)와, 상기 잠금 시행중인 프로세서(1)의 프로세서명(ID)과 어드레스를 저장하는 버퍼부(20), 및 상기 버퍼부(20)에 저장된 프로세서명과 어드레스를 확인하여 잠금수행중인 프로세서가 비정상이거나 시간종료 발생 후에도 잠금이 풀리지 않으면 직접 잠금을 푼후 다른 프로세서들에게 이를 알리는 시스템 제어부(30)를 구비하여 이루어지는 것을 특징으로 하는 다중신호처리 시스템의 잠금장치.A lock processing signal generation counter 10 which generates a lock busy signal so that other processors do not perform a lock operation when the predetermined processor is in lock operation, and notifies the processor that the lock is being terminated after a predetermined time elapses. The processor 20 stores a processor name (ID) and an address of the processor (1) under lock, and checks the processor name and address stored in the buffer unit (20). Locking device of the multi-signal processing system, characterized in that it is provided with a system control unit (30) to notify the other processors after the direct unlock if the lock is not released even after the occurrence.
KR1019930015284A 1993-08-06 1993-08-06 A locking device of a multi-signal processor system KR960014176B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019930015284A KR960014176B1 (en) 1993-08-06 1993-08-06 A locking device of a multi-signal processor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019930015284A KR960014176B1 (en) 1993-08-06 1993-08-06 A locking device of a multi-signal processor system

Publications (2)

Publication Number Publication Date
KR950006593A KR950006593A (en) 1995-03-21
KR960014176B1 true KR960014176B1 (en) 1996-10-14

Family

ID=19360884

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019930015284A KR960014176B1 (en) 1993-08-06 1993-08-06 A locking device of a multi-signal processor system

Country Status (1)

Country Link
KR (1) KR960014176B1 (en)

Also Published As

Publication number Publication date
KR950006593A (en) 1995-03-21

Similar Documents

Publication Publication Date Title
EP0078034B1 (en) Data processing machine suitable for high-speed processing
US6928523B2 (en) Synchronous signal producing circuit for controlling a data ready signal indicative of end of access to a shared memory and thereby controlling synchronization between processor and coprocessor
US4924466A (en) Direct hardware error identification method and apparatus for error recovery in pipelined processing areas of a computer system
US4803618A (en) Multiprocessor system having common memory
JPS6252655A (en) Common interrupt system
RU2137182C1 (en) Execution of data processing instruction
US5835742A (en) System and method for executing indivisible memory operations in multiple processor computer systems with multiple busses
EP0679990B1 (en) A computer apparatus having a means to force sequential instruction execution
US6029248A (en) Locking system to protect a powered component interface from erroneous access by an attached, powered-off component
KR960014176B1 (en) A locking device of a multi-signal processor system
WO2001016741A2 (en) Semaphore control of shared-memory
JP3534917B2 (en) Memory access control method
EP0462622B1 (en) Microprocessor capable of ensuring flexible recovery time for I/O device
KR0153487B1 (en) System and method for communicating between devices
CN1092883A (en) Improve the method and system of the data-transmission efficiency from storer to a plurality of processors in the data handling system
JPH0368034A (en) Checkpoint retesting system
US20230393746A1 (en) Hardware revocation engine for temporal memory safety
KR950013116B1 (en) Locking apparatus and its control method in ticom system
KR860001785B1 (en) System program protection circuit of z80 cpu
KR920000479B1 (en) Rmw transmission method for synchronization of processors
JPH0212358A (en) Data transfer system
SU1185333A1 (en) Multiprogram control device with check
KR970002409B1 (en) A locking control method and the device
KR100213186B1 (en) Locking apparatus and method in multiprocessor system
Chun et al. Mips r4000 synchronization primitives

Legal Events

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

Payment date: 20010830

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee