KR960014176B1 - A locking device of a multi-signal processor system - Google Patents
A locking device of a multi-signal processor system Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
Description
제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)
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) |
-
1993
- 1993-08-06 KR KR1019930015284A patent/KR960014176B1/en not_active IP Right Cessation
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 |