CS260910B1 - Connection for data transmission between two processors attached to common buffer store - Google Patents

Connection for data transmission between two processors attached to common buffer store Download PDF

Info

Publication number
CS260910B1
CS260910B1 CS852644A CS264485A CS260910B1 CS 260910 B1 CS260910 B1 CS 260910B1 CS 852644 A CS852644 A CS 852644A CS 264485 A CS264485 A CS 264485A CS 260910 B1 CS260910 B1 CS 260910B1
Authority
CS
Czechoslovakia
Prior art keywords
processor
semaphore
data
auxiliary
common buffer
Prior art date
Application number
CS852644A
Other languages
Czech (cs)
Other versions
CS264485A1 (en
Inventor
Milan Zaoral
Milos Snytr
Jan Hejna
Petr Popov
Original Assignee
Milan Zaoral
Milos Snytr
Jan Hejna
Petr Popov
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 Milan Zaoral, Milos Snytr, Jan Hejna, Petr Popov filed Critical Milan Zaoral
Priority to CS852644A priority Critical patent/CS260910B1/en
Publication of CS264485A1 publication Critical patent/CS264485A1/en
Publication of CS260910B1 publication Critical patent/CS260910B1/en

Links

Landscapes

  • Information Transfer Systems (AREA)

Abstract

Podstata způsobu přístupu dvou procesorů do společné vyrovnávací paměti, kde první procesor data pouze ukládá a druhý procesor data pouze vybírá spočívá v tom, že první procesor při uvolňování společné vyrovnávací paměti nastaví pomocný semafor na hodnotu, která nese informaci o tom, že v paměti jsou data dosud nezpracovaná druhým procesorem. Druhý procesor obsadí společnou vyrovnávací pamět teprve když zjistí, že v ní jsou data, která dosud nezpracoval a při uvolňování paměti nastaví pomocný semafor na hodnotu nesoucí informaci o tom, že data ze společné vyrovnávací paměti byla zpracována.The essence of the approach of two processors to the common buffer where the first processor only stores the data and the second processor data only selects lies in that the first processor in common release the buffer sets the auxiliary semaphore to a value that carries information about it in memory, data not yet processed by the other processor. The second processor occupies a common one the cache when it detects that there are data that haven't been processed yet and when auxiliary memory is released a traffic light to a value bearing information about it that the data from the common buffer was processed.

Description

Vynález se týká zapojení pro přenos dat mezi dvěma procesory připojenými ke společné paměti.The invention relates to a circuit for transferring data between two processors connected to a common memory.

Uživají-li dva procesory společnou vyrovnávací pamět, je většinou nutné zajistit vylučováni přístupu do této vyrovnávací paměti, což se řeší semaforem. Semafor nese informaci o tom, je-li vyrovnávací pamět obsazena nebo volná. Procesor, který má užívat vyrovnávací pamět, musí předčíst hodnotu semaforu a je-li vyrovnávací pamět volná, změní hodnotu semaforu, čímž si pamět obsadí, provede operaci s daty v paměti uloženými a potom pamět uvolni změnou hodnoty semaforu. Je-li vyrovnávací pamět obsazena, musí procesor čekat tak dlouho, pokud hodnota semaforu neodpovídá stavu vyrovnávací pamět volná .If two processors use a common buffer, it is usually necessary to ensure that access to the buffer is excluded, which is handled by a semaphore. The semaphore carries information about whether the buffer is busy or free. The processor to use the buffer must read the semaphore value and, if the buffer is free, change the semaphore value to occupy the memory, perform an operation on the data stored in the memory, and then release the memory by changing the semaphore value. If the buffer is busy, the processor must wait until the semaphore value does not match the buffered state.

Používá-li se společná vyrovnávací pamět pro přenos dat takovým způsobem, že první procesor data pouze ukládá a druhý procesor data pouze vybírá a zároveň první procesor v okamžiku, kdy má data pro uložení do vyrovnávací paměti připravena, nemůže na uvolnění vyrovnávací paměti čekat, může dojít k zablokování přenosu dat mezi procesory. Toto je způsobeno tím, že z hodnoty semaforu nelze usoudit, zda jsou v paměti nová data , tj. druhým procesorem ještě nezpracovaná. Toto zjištěni je nutno druhým procesorem provést na základě obsahu vyrovnávací paměti, k čemuž je nutné pamět pro druhý procesor semaforem opět uzavřít. Má-li v tomto okamžiku první procesor opět data připravena k uložení do vyrovnávací paměti, nalezne ji opět obsazenou a data jsou ztracena. Toto se může cyklicky opakovat, takže může dojít na libovolně dlouhou dobu k zablokování přenosu dat.If a common buffer is used to transmit data in such a way that the first processor only stores the data and the second processor only selects the data, while the first processor cannot wait for the buffer to be released when it is ready for buffering, data transfer between processors may be blocked. This is because the semaphore value does not make it possible to determine whether new data is in memory, ie the second processor is not yet processed. This determination must be made by the second processor based on the content of the buffer, for which the memory for the second semaphore processor must be closed again. If at this point the first processor has the data ready to be cached again, it will find it occupied again and the data will be lost. This can be repeated cyclically, so that data transmission can be blocked for any length of time.

Uvedenou nevýhodu odstraňuje zapojení pro přenos dat mezi dvěma procesory připojenými ke společné vyrovnávací paměti podle vynálezu, jehož podstata spočívá v tom, že ke společné vyrovnávací paměti ji je přiřazeno pamětové místo pro uložení hodnoty pomocného semaforu T_, mezi první procesor 2 a pamětová místa pro uložení hodnot semaforu 2 a pomocného semaforu 2 je zapojen blok 4. pro čtení a nastavování hodnot semaforu a pomocného semaforu prvním procesorem 2 a mezi druhý procesor 2 a pamětové místa pro uložení hodnot semaforu 6_ a pomocného semaforu 2 j® zapojen blok 2 Pro čtení a nastavování hodnot semaforu 5 a pomocného semaforu 2 druhým procesorem 2.This disadvantage is overcome by the connection for transferring data between two processors connected to the common buffer according to the invention, characterized in that the common buffer is assigned a memory location for storing the auxiliary semaphore value T between the first processor 2 and the memory locations for storing semaphore values 2 and 2 auxiliary traffic light is plugged block 4 for reading and setting the values of traffic lights and traffic lights first auxiliary processor 2 and the second processor 2 and memory space for storing the semaphore values 6 and 2 auxiliary traffic light J® involved in block 2 P ro read setting the values of semaphore 5 and auxiliary semaphore 2 by the second processor 2.

Na připojeném výkresu je znázorněno jedno z. možných zapojení podle vynálezu v blokovém schématu.The attached drawing shows one of the possible connections according to the invention in a block diagram.

První procesor 2 a druhý·procesor 2 jsou připojeny ke společné vyrovnávací paměti 2·The first processor 2 and the second processor 2 are connected to the common buffer 2 ·

Blok 4 pro čtení a nastavování hodnot semaforu a pomocného semaforu prvním procesorem 2 je zapojen mezi první procesor 2 a pamětová místa pro uložení hodnot semaforu 6 a pomocného semaforu 7_, blok 2 Pro čtení a nastavování hodnot semaforu a pomocného semaforu druhým procesorem 2 je zapojen mezi druhý procesor 2 a pamětová místa pro uložení hodnot semaforu 2 a· pomocného semaforu 2·Block 4 for reading and setting the value of the semaphore and the auxiliary semaphore first processor 2 j e connected between the first processor 2 and memory locations for storing values of the traffic light 6 and the auxiliary semaphore 7, block 2 P ro reading and setting the value of the semaphore and the auxiliary semaphore second processor 2 connected between the second processor 2 and memory locations for storing semaphore 2 values and · auxiliary semaphore 2 ·

Funkce zapojení pro přenos dat mezi dvěma procesory, připojenými ke společné vyrovnávací paměti je následující:The connection function for transferring data between two processors connected to a common buffer is as follows:

První procesor 2 se v okamžiku, kdy má připravená data k uložení do společné vyrovnávací paměti 2> pokusí tuto pamět obsadit změnou hodnoty semaforu 2· Pokud se mu to podaří, uloží data do společné vyrovnávací paměti 3_, nastaví pomocný semafor T_ na hodnotu, která nese informaci o tom, že ve společné vyrovnávací paměti 2 jsou data, která druhý procesor 2 dosud nezpra coval a tuto pamět uvolní změnou hodnoty semaforu 2· Druhý procesor 2 se pokusí obsadit společ nou vyrovnávací pamět 2 dříve, než zjistí podle hodnoty pomocného semaforu 2, če ve společné vyrovnávací paměti 2 jsou data, která dosud nezpracoval, potom druhý procesor 2 tuto pamět obsadí, vybere data a změní hodnotu pomocného semaforu 2 tak, že nese informaci o tom, že data byla vybrána. Jestliže první procesor 2 v okamžiku, kdy má připravená data k uložení najde společnou vyrovnávací pamět 2 obsazenou, tj. probíhá čtení dat druhým procesorem 2, dojde ke ztrátě dat, která jsou připravena k uloženi. Po uvolnění společné vyrovnávací paměti 2 druhým procesorem 2 včak dojde znovu k obnovení vzájemného přenosu dat.The first processor 2 at the moment has prepared data for storage in a common buffer 2> try this memory to occupy the changing value of the semaphore 2 · If he succeeds, stores the data in shared cache memory 3, sets the auxiliary semaphore T_ to that Carries information that common buffer 2 contains data that has not yet been processed by the second processor 2 and frees that memory by changing the semaphore 2 value. · The second processor 2 attempts to occupy the common buffer 2 before detecting the auxiliary semaphore 2 value. If there is data in the common buffer 2 that has not yet been processed, then the second processor 2 will occupy this memory, select the data and change the value of the auxiliary semaphore 2 so that it carries information that the data has been selected. If the first processor 2 at the moment is ready to store the data to find a common buffer 2 occupied, i.e. being read from the second processor 2 will be a loss of data that is ready for storage. When the common buffer 2 is released by the second processor 2 in the wait, the data transfer will resume.

Claims (1)

Zapojení pro přenos dat mezi dvěma procesory připojenými ke společné vyrovnávací paměti, k níž je připojeno paměřové místo pro uložení hodnoty semaforu, vyznačené tím, že ke společné vyrovnávací paměti (3) je přiřazeno pamětové místo pro uložení hodnoty pomocného semaforu (7), mezi první procesor (1) a paměřová místa pro uložení hodnot semaforu (6} a pomocného semaforu (7) je zapojen blok (4) pro čtení a nastavování hodnot semaforu a pomocného semaforu prvním procesorem (1) a mezi druhý procesor (2) a paměřová místa pro uložení hodnot semaforu (6) a pomocného semaforu P) je zapojen blok (5) pro čtení a nastavování hodnot semaforu (6) a pomocného semaforu (7) druhým procesorem (2). · .Connection for transferring data between two processors connected to a common buffer to which a semaphore value storage location is attached, characterized in that a common semaphore storage location (7) is assigned to the common buffer (3) between the first a processor (1) and memory locations for storing semaphore (6) and auxiliary semaphore (7) values are connected to a block (4) for reading and adjusting semaphore and auxiliary semaphore values by the first processor (1) and between the second processor (2) and memory locations for storing the semaphore (6) and auxiliary semaphore (P) values, a block (5) for reading and adjusting the semaphore (6) and auxiliary semaphore (7) values by the second processor (2) is connected. ·.
CS852644A 1985-04-10 1985-04-10 Connection for data transmission between two processors attached to common buffer store CS260910B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CS852644A CS260910B1 (en) 1985-04-10 1985-04-10 Connection for data transmission between two processors attached to common buffer store

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CS852644A CS260910B1 (en) 1985-04-10 1985-04-10 Connection for data transmission between two processors attached to common buffer store

Publications (2)

Publication Number Publication Date
CS264485A1 CS264485A1 (en) 1988-06-15
CS260910B1 true CS260910B1 (en) 1989-01-12

Family

ID=5364157

Family Applications (1)

Application Number Title Priority Date Filing Date
CS852644A CS260910B1 (en) 1985-04-10 1985-04-10 Connection for data transmission between two processors attached to common buffer store

Country Status (1)

Country Link
CS (1) CS260910B1 (en)

Also Published As

Publication number Publication date
CS264485A1 (en) 1988-06-15

Similar Documents

Publication Publication Date Title
US4419728A (en) Channel interface circuit providing virtual channel number translation and direct memory access
JP2599563B2 (en) Data processor system having arbiter circuit
KR930008637A (en) Direct storage access controller and method for asynchronously reading / writing data to / from memory with improved throughput
JPH02297645A (en) Data processor and high-speed queuing mechanism therefor
FR2770665B1 (en) EXCHANGE DEVICE BETWEEN INFORMATION PROCESSING UNITS WITH PROCESSORS INTERCONNECTED BY A COMMON BUS
JPH0532775B2 (en)
EP0470738A1 (en) Cache memory system and operating method
JPS5786959A (en) Data transfer control system
US5594887A (en) Main memory controller responsive to signals indicative of owned and unowned status
US20060190689A1 (en) Method of addressing data in a shared memory by means of an offset
EP0309330A3 (en) Access priority control system for main storage for computer
CS260910B1 (en) Connection for data transmission between two processors attached to common buffer store
CA2289192A1 (en) Communication dma device
KR980013132A (en) Data processing and communication system with high-performance peripheral component interconnect bus
CA1299767C (en) Cache memory control system
US6847990B2 (en) Data transfer unit with support for multiple coherency granules
KR100284784B1 (en) Memory data processing system and method and communication system having system
USRE38514E1 (en) System for and method of efficiently controlling memory accesses in a multiprocessor computer system
KR100580933B1 (en) Cache enabling architecture and magnetical hard disk drive device
JPH11175398A (en) Memory device
JP2966038B2 (en) Digital data processing unit arbitration apparatus and method
KR930005477Y1 (en) Data processor with a piggy board of cache memory
JPS6373458A (en) Shared memory access device
JPS6476314A (en) Disk control system
JPH0546565A (en) Data processor