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 PDFInfo
- 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
Links
- 230000005540 biological transmission Effects 0.000 title description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
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)
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) |
-
1985
- 1985-04-10 CS CS852644A patent/CS260910B1/en unknown
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 |