SE515897C2 - Device and method for a divided buffer - Google Patents
Device and method for a divided bufferInfo
- Publication number
- SE515897C2 SE515897C2 SE9901290A SE9901290A SE515897C2 SE 515897 C2 SE515897 C2 SE 515897C2 SE 9901290 A SE9901290 A SE 9901290A SE 9901290 A SE9901290 A SE 9901290A SE 515897 C2 SE515897 C2 SE 515897C2
- Authority
- SE
- Sweden
- Prior art keywords
- buffer
- input
- data
- output
- memory
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
- G06F5/065—Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2205/00—Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F2205/06—Indexing scheme relating to groups G06F5/06 - G06F5/16
- G06F2205/066—User-programmable number or size of buffers, i.e. number of separate buffers or their size can be allocated freely
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
25 30 data först läses in till den andra buffertdelen och förflyttas därefter till och läses ut från den första delen. The data is first read in to the second buffer part and then moved to and read out from the first part.
Kravet på buffertstorlek uppfylls av den andra buffertdelen som inte är en del av den integrerade kretsen och alltså inte upptar kiselutrymme. Eftersom den första delen är byggd på samma krets som den databehandlande delen, kan data hämtas ut från denna buffertdel utan fördröjning. Problemet andra som kvarstår är in- och utläsning till den buffertdelen som ju är separerad från den integrerade kretsen. Eftersom den andra buffertdelen är separerad såväl från den enhet fràn vilken data inkommer som den enhet till vilken data sändes uppstår en fördröjning jämfört. med om dessa enheter funnits pà samma krets som bufferten. Kravet viktigt då bufferten bara på snabbhet är speciellt innehåller ett fåtal element.The requirement for buffer size is met by the second buffer part which is not part of the integrated circuit and thus does not occupy silicon space. Since the first part is built on the same circuit as the data processing part, data can be retrieved from this buffer part without delay. The other problem that remains is input and reading to the buffer part which is separated from the integrated circuit. Since the second buffer part is separated both from the unit from which data is received and the unit to which data is sent, a delay arises compared. with whether these devices have been on the same circuit as the buffer. The requirement is important as the buffer is only for speed specifically contains a few elements.
REDoGöRELsE FÖR UPPFINNINGEN Föreliggande uppfinning angriper problemet att skapa tillräcklig minneskapacitet i en buffert som är av FIFO-typ och som används i en integrerad krets, utan att uppta onödigt kretsutrymme och utan att ge avkall på snabbhet.DISCLOSURE OF THE INVENTION The present invention addresses the problem of creating sufficient memory capacity in a FIFO-type buffer used in an integrated circuit, without taking up unnecessary circuit space and without sacrificing speed.
Detta problem löses enligt uppfinningen genom att dela upp buffertanordningen i tre buffertdelar: - En inbuffert som är en del av den integrerade kretsen.This problem is solved according to the invention by dividing the buffer device into three buffer parts: An input buffer which is part of the integrated circuit.
- En utbuffert som är en del av den integrerade kretsen.- An output buffer that is part of the integrated circuit.
- En minnesbuffert som är separerad från den integrerade kretsen.- A memory buffer that is separated from the integrated circuit.
Syftet med flexibel uppfinningen är att skapa en buffertanordning som i beroende av databeläggning i bufferten kan anpassas så att krav pà såväl snabbhet som minnesutrymme tillgodoses. -...- 10 15 20 25 30 515 897 fÉïïÉÉë-ïfiflïï-r-iåÉÄÉï Mer i detalj omfattar buffertanordningen enligt uppfinningen en dataingàng och en datautgáng samt ett arrangemang för att sammanföra ingången med utgången via antingen en av buffertdelarna eller via flera av buffertdelarna anslutna i serie. De olika FIFO-konstellationerna används vid olika driftstillstànd.The object of the flexible invention is to create a buffer device which, depending on the data coating in the buffer, can be adapted so that requirements for both speed and memory space are met. In more detail, the buffer device according to the invention comprises a data input and a data output as well as an arrangement for interconnecting the input with the output via either one of the buffer parts or via several of the buffer parts. connected in series. The different FIFO constellations are used in different operating conditions.
Vilket driftsläge som väljes beror på antal element som för tillfället. befinner sig i. buffertanordningen samt i. vilka buffertdelar dessa finns fördelade. Dataingàngen sammanförs med datautgången via olika. buffertdelar med hjälp av ett förfarande enligt uppfinningen som omfattar följande steg: - sammanförande av dataingángen med datautgången via en av buffertarna på den integrerade kretsen; - sammanförande av dataingángen med datautgången via minst tvà av buffertarna anslutna i serie.Which operating mode is selected depends on the number of elements currently available. is located in the buffer device and in which buffer parts these are distributed. The data input is combined with the data output via different. buffer parts by means of a method according to the invention which comprises the following steps: - merging the data input with the data output via one of the buffers on the integrated circuit; merging the data input with the data output via at least two of the buffers connected in series.
En fördel med uppfinningen är att ett stort antal dataelement kan. upptas av bufferten utan att kretsutrymme för mer än ett fåtal element utnyttjas på den integrerade kretsen.An advantage of the invention is that a large number of data elements can. occupied by the buffer without utilizing circuit space for more than a few elements on the integrated circuit.
En annan fördel med uppfinningen är att inläsning och utläsning till/fràn bufferten kan ske med hög hastighet.Another advantage of the invention is that loading and unloading to / from the buffer can take place at high speed.
Ytterligare en fördel är att tid för förflyttning av data kan minimeras genom access gentemot det separerade minnet kan ske i skurar. Alternativt genom att bussbredden till det externa minnet görs stor.Another advantage is that time for moving data can be minimized by access to the separated memory can take place in bursts. Alternatively, by making the bus width to the external memory large.
Ytterligare en annan fördel är att flera buffertanordningar pà ett effektivt sätt kan dela på samma externa minnesutrymme. .au-- lO 15 20 25 . - . . ..- Ytterligare en annan fördel med uppfinningen är att konfliktsituationer vid inskrivning och. utläsning av data kan minimeras.Yet another advantage is that several buffer devices can efficiently share the same external memory space. .au-- lO 15 20 25. -. . ..- Yet another advantage of the invention is that conflict situations at enrollment and. data readout can be minimized.
Uppfinningen kommer nu att beskrivas närmare med hjälp av föredragna utföringsformer och med hänvisning till bifogade ritningar.The invention will now be described in more detail by means of preferred embodiments and with reference to the accompanying drawings.
FIGURBESKRIVNING Figur l visar ett blockschema över en buffertanordning enligt uppfinningen.DESCRIPTION OF FIGURES Figure 1 shows a block diagram of a buffer device according to the invention.
Figur 2a-c visar med blockschema tre olika driftstillstànd för buffertanordningen enligt uppfinningen.Figures 2a-c show with block diagram three different operating conditions for the buffer device according to the invention.
Figur 3 visar med ett flödesdiagram ett förfarande enligt uppfinningen för att växla mellan buffertanordningens olika driftstillstànd.Figure 3 shows with a flow diagram a method according to the invention for switching between the different operating conditions of the buffer device.
Figur 4 visar ett blockschema över ett system av buffertanordningar enligt uppfinningen.Figure 4 shows a block diagram of a system of buffer devices according to the invention.
FÖREDRAGNA UTFÖRINGSFORMER Figur 1 visar en buffertanordning l enligt uppfinningen.PREFERRED EMBODIMENTS Figure 1 shows a buffer device 1 according to the invention.
Buffertanordningen är av FIFO-typ (First~In-First-Out), dvs det dataelement som först skrives in till buffertanordningen först läses ut ur är också det element som buffertanordningen. Buffertanordningen omfattar en dataingàng In till vilken dataelement kan skrivas in.The buffer device is of the FIFO type (First ~ In-First-Out), ie the data element that is first entered into the buffer device is first read out from is also the element that the buffer device. The buffer device comprises a data input In to which data elements can be entered.
Buffertanordningen omfattar också en datautgàng Out från vilken data läses ut efter att ha passerat genom bufferten.The buffer device also comprises a data output Out from which data is read out after passing through the buffer.
Dessutom omfattar buffertanordningen en integrerad kretsdel utbuffert OUTFIFO som enligt ICl som omfattar en -.---. 10 15 20 25 30 35 515- 89 7 utföringsexemplet kan uppta 8 dataelement samt en inbuffert INFIFO som också kan uppta 8 dataelement. Såväl utbufferten som inbufferten är :av FIFO-typ och utgör en del av den integrerade kretsen, dvs de är en del av det kisel som den integrerade kretsen är uppbyggd av. Dataelement kan skrivas in till och läsas ut fràn såväl utbufferten OUTFIFO som inbufferten INFIFO. Inskrivning från den integrerade kretsen till en av buffertarna INFIFO, OUTFIFO kan ske utan fördröjning eftersom bufferten är en del av den integrerade kretsen. På samma sätt görs utläsning till den integrerade kretsen från en av buffertarna utan fördröjning. Inskrivning till utbufferten sker genom att utbuffertens skrivingáng OW aktiveras. Utläsning fràn bufferten sker pà samma sätt genom att aktivera utbuffertens läsingàng OR. Buffertanordningen 1 omfattar förutom de tvà buffertarna pá den integrerade kretsen ICl, ytterligare en buffert, en s.k. minnesbuffert MEMFIFOl. Minnesbufferten som är en minnesenhet separerad kretsen omfattar enligt från den integrerade utföringsexemplet lagringsmöjlighet för 1024 dataelement.In addition, the buffer device comprises an integrated circuit part buffer OUTFIFO which according to IC1 which comprises a -.---. The exemplary embodiment can accommodate 8 data elements and an inbuffer INFIFO which can also accommodate 8 data elements. Both the output buffer and the input buffer are: of the FIFO type and form part of the integrated circuit, ie they are part of the silicon of which the integrated circuit is built. Data elements can be entered into and read out from both the output buffer OUTFIFO and the input buffer INFIFO. Registration from the integrated circuit to one of the buffers INFIFO, OUTFIFO can take place without delay because the buffer is part of the integrated circuit. In the same way, readout is made to the integrated circuit from one of the buffers without delay. Registration to the output buffer takes place by activating the output buffer's input OW. Reading from the buffer takes place in the same way by activating the output buffer's OR reading. The buffer device 1 comprises, in addition to the two buffers on the integrated circuit IC1, a further buffer, a so-called memory buffer MEMFIFOl. The memory buffer which is a memory unit separated circuit comprises according to from the integrated embodiment storage possibility for 1024 data elements.
Inskrivning och utläsning till/frán minnesbufferten görs med hjälp av buffertens skrivingáng MW respektive läsingàng MR.Entering and reading to / from the memory buffer is done using the buffer's input MW and read input MR, respectively.
Inskrivning till och utläsning från de olika buffertarna OUTFIFO, INFIFO och MEMFIFOl hanteras av en kontrollogik CLl. Kontrollogiken CLl håller även räkningen på antal dataelement som befinner sig i de olika buffertarna INFIFO, OUTFIFO och. MEMFIFOl. En buffert enligt utföringsexemplet omfattar fyra adressregister, nämligen ett startadressregister, ett stoppadressregister, ett skrivadressregister samt ett läsadressregister. Start- och stoppadressregistren håller reda pà var i minnet bufferten börjar och slutar. I startläget sätts skrivadressregister och läsadressregister lika med startadressregistret. Varje skrivning räknar upp skrivadressregistret och varje läsning värdet i räknar upp läsadressregistret. När skrivadressregistret blir samma som värdet i stoppadressregistret skrivs värdet i startadressregistret in una.. 10 15 20 25 30 35 545 897 i skrivadressregistret, dvs inskrivning sker från början igen. Motsvarande händer när läsadressregistret når stoppadressen. Det finns även en räknare som räknar upp för skrivningar och ner för läsningar. Om denna är noll går det inte att läsa något från bufferten (den är tom) och om räknaren är lika med stoppregistret minus startregistret går det inte att full).Entry to and reading from the various buffers OUTFIFO, INFIFO and MEMFIFO1 is handled by a control logic CL1. The control logic CL1 also keeps track of the number of data elements that are in the different buffers INFIFO, OUTFIFO and. MEMFIFOl. A buffer according to the exemplary embodiment comprises four address registers, namely a start address register, a stop address register, a write address register and a read address register. The start and stop address registers keep track of where in the memory the buffer starts and ends. In the start mode, the write address register and read address register are set equal to the start address register. Each write counts up the write address register and each read the value in counts up the read address register. When the writing address register becomes the same as the value in the stop address register, the value in the start address register is entered una .. 10 15 20 25 30 35 545 897 in the writing address register, ie entry takes place from the beginning again. The same happens when the read address register reaches the stop address. There is also a calculator that counts up for writing and down for readings. If this is zero, it is not possible to read anything from the buffer (it is empty) and if the counter is equal to the stop register minus the start register, it is not possible to be full).
Buffertanordningen l omfattar ett arrangemang som består av skriva till bufferten (den är olika multiplexenheter. Med INFIFO, MEMFIFOl anslutas på olika sätt i förhållande till varandra, hjälp av OUTFIFO och typer av multiplexenheterna kan buffertarna så att dataelement kan passera genom olika FIFO- konstellationer beroende på olika driftssituationer. Dessa konstellationer kommer att närmare förklaras i samband med figur 2. Dataingángen In är ansluten till en första demultiplexenhet DMUXl som omfattar två utgångar. Den ena utgången är ansluten till ingången på inbufferten INFIFO.The buffer device 1 comprises an arrangement consisting of writing to the buffer (it is different multiplex units. With INFIFO, MEMFIFO1 are connected in different ways in relation to each other, with the help of OUTFIFO and types of multiplex units the buffers so that data elements can pass through different FIFO constellations These constellations will be explained in more detail in connection with figure 2. The data input In is connected to a first demultiplexing unit DMUX1 which comprises two outputs, one output is connected to the input of the input buffer INFIFO.
Den andra utgången är ansluten till en av tre ingångar på en andra demultiplexenhet DMUX2 multiplexenhet MUXl. En omfattar också en ingång och två utgångar. Ingången är ansluten till inbuffertens INFIFO utgång. Den ena av de två utgångarna är ansluten till en av ingàngarna på multiplexenhet MUXl och den andra av de två utgångarna är ansluten till minnesbuffertens MEMFIFOl ingång.The second output is connected to one of three inputs on a second demultiplexing unit DMUX2 multiplexing unit MUX1. One also includes one entrance and two exits. The input is connected to the INFIFO output of the input buffer. One of the two outputs is connected to one of the inputs on the multiplexer MUX1 and the other of the two outputs is connected to the MEMFIFO1 input of the memory buffer.
Minnesbuffertens utgång är ansluten till den återstående av de tre ingàngarna på multiplexenhet MUXl. Multiplexenhetens utgång är ansluten till utbuffertens OUTFIFO ingång. Vilken av utgångarna som ingången på en demultiplexenhet DMUXl eller DMUX2 skall sammanföras med, bestäms av den adress som tillförs respektive multiplexenhets adressingång DM1 eller DM2. På samma sätt bestämmer adressen på en adressingång M1, vilken av ingàngarna på multiplexenheten MUXl som skall utgången. Adressingångarna på DMUX2 sammanföras med respektive multiplexenhet DMUXl, och MUXl är anslutna till kontrollogiken CLl. Kontrollogiken kan därmed reglera vilken av utgångarna i demultiplexerenheterna DMUXl och DEMUX2 som 10 15 20 25 30 515% 897 . - . . .. inkommande data skall styras till, och vilken ingång som utgående data skall komma från i multiplexenheten MUXl.The output of the memory buffer is connected to the remaining of the three inputs on the multiplexer MUX1. The output of the multiplexer is connected to the OUTFIFO input of the output buffer. Which of the outputs with which the input of a demultiplexing unit DMUX1 or DMUX2 is to be combined is determined by the address supplied to the address input DM1 or DM2 of each multiplexing unit. In the same way, the address of an address input M1 determines which of the inputs of the multiplexer MUX1 is to be the output. The address inputs on the DMUX2 are merged with the respective multiplexer DMUX1, and the MUX1 is connected to the control logic CL1. The control logic can thus control which of the outputs in the demultiplexer units DMUX1 and DEMUX2 is 515% 897. -. . .. incoming data shall be directed to, and which input the outgoing data shall come from in the multiplexer MUX1.
Figur 2a-c visar buffertanordningen i figur l då denna med hjälp av multiplexenheterna antagit olika driftslägen. I figur 2a visas ett första driftsläge. Kontrollogiken har i figur 2a påverkat den första demultiplexenheten DMUXl så att dataingången In via demultiplexenheten sammanförts med en ingång' pá multiplexenheten MUXl. Kontrollogiken har också påverkat multiplexenheten MUXl så att ingången är ansluten till utbuffertens ansluten till datautgàngen Out. I detta första driftsläge är ingång Il. Utbuffertens utgång Ol är alltså dataingången In ansluten till datautgàngen Out via utbufferten OUTFIFO.Figures 2a-c show the buffer device in figure 1 when it has assumed different operating modes with the aid of the multiplex units. Figure 2a shows a first operating mode. The control logic has in Figure 2a actuated the first demultiplexing unit DMUX1 so that the data input In via the demultiplexing unit is combined with an input 'of the multiplexing unit MUX1. The control logic has also affected the multiplexer MUX1 so that the input is connected to the output buffer connected to the data output Out. In this first operating mode, input II. The output buffer Ol is thus the data input In connected to the data output Out via the output buffer OUTFIFO.
I figur 2b visas ett andra driftsläge. Kontrollogiken CLl har här påverkat den första demultiplexenheten DMUXl så att dataingången In är ansluten till inbuffertens INFIFO ingång I2. Inbuffertens utgång O2 är förbunden med den andra demultiplexenhetens DMUX2 ingång. Den andra demultiplexenheten DMUX2 har påverkats av kontrollogiken CLl så att en förbindelse etablerats mellan den andra demultiplexenhetens ingång och en av multiplexenhetens MUXI ingångar. Kontrollogiken har också påverkat multiplexenheten MUXl så att denna ingång är förbunden med utbuffertens OUTFIFO ingång Il. I detta andra driftsläge är alltså datautgàngen Out via dataingången In ansluten till inbufferten INFIFO och via utbufferten OUTFIFO.Figure 2b shows a second operating mode. The control logic CL1 has here actuated the first demultiplexing unit DMUX1 so that the data input In is connected to the INFIFO input I2 of the input buffer. The input buffer O2 of the buffer is connected to the input of the DMUX2 of the other demultiplexer. The second demultiplexer DMUX2 has been affected by the control logic CL1 so that a connection is established between the input of the second demultiplexer and one of the MUXI inputs of the multiplexer. The control logic has also actuated the multiplexer MUX1 so that this input is connected to the OUTFIFO input II of the output buffer. In this second operating mode, the data output Out is thus connected via the data input In to the input buffer INFIFO and via the output buffer OUTFIFO.
I figur 2c visas ett tredje driftsläge. Kontrollogiken CLl har här påverkat den första demultiplexenheten DMUXl så att dataingången In är ansluten till inbuffertens INFIFO ingång I2. Inbuffertens utgång O2 är förbunden med den andra demultiplexenhetens DMUX2 ingång. Den andra demultiplexenheten har påverkats av kontrollogiken så att en förbindelse etablerats mellan demultiplexenhetens ingång och minnesbuffertens MEMFIFOI ingång. Minnesbuffertens utgång är ,..«. 10 15 20 25 30 35 515 897 f: förbunden med en av multiplexenhetens MUXl ingångar och multiplexenheten har påverkats av kontrollogiken CLl så att denna ingång är ansluten till utbuffertens OUTFIFO ingång Il. I detta tredje driftsläge är alltså dataingången In ansluten till inbufferten datautgången Out via INFIFO, minnesbufferten MEMFIFO1 och utbufferten OUTFIFO.Figure 2c shows a third operating mode. The control logic CL1 has here actuated the first demultiplexing unit DMUX1 so that the data input In is connected to the INFIFO input I2 of the input buffer. The input buffer O2 of the buffer is connected to the input of the DMUX2 of the other demultiplexer. The second demultiplexer has been affected by the control logic so that a connection is established between the input of the demultiplexer and the MEMFIFOI input of the memory buffer. The output of the memory buffer is, .. «. F 15 connected to one of the MUX1 inputs of the multiplexer and the multiplexer has been actuated by the control logic CL1 so that this input is connected to the O1FIFO input II of the output buffer. In this third operating mode, the data input In is thus connected to the input buffer the data output Out via INFIFO, the memory buffer MEMFIFO1 and the output buffer OUTFIFO.
Det första driftsläget, där dataingången In är förbunden med datautgången Out via utbufferten OUTFIFO, används när buffertanordningen är 'nun eller' bara innehåller' ett fåtal dataelement” Ett dataelement på. dataingången In, förflyttas till utbuffertens ingång Il. En negativ flank på skrivingången OW från kontrollogiken skriver in dataelementet i utbufferten OUTFIFO och lägger elementet sist i en kö. En negativ flank på läsingången OR läser när så önskas ut det dataelementet som står på tur, dvs är först i kön, i utbufferten. Eftersom buffertanordningen i detta driftsläge är uppbyggt av endast en buffertdel, som är en del av den integrerade kretsen IC, kan transporten mellan dataingáng In och datautgång Out ske snabbt. Det första driftsläget kan utnyttjas så länge utbufferten inte är full, mindre än åtta element dvs innehåller enligt utföringsexemplet.The first operating mode, where the data input In is connected to the data output Out via the output buffer OUTFIFO, is used when the buffer device is' now or 'only contains' a few data elements "A data element on. the data input In, is moved to the output buffer Il. A negative edge on the write input OW from the control logic enters the data element in the output buffer OUTFIFO and places the element last in a queue. A negative edge on the read input OR reads when desired the data element that is next in line, ie is first in the queue, in the output buffer. Since the buffer device in this operating mode is made up of only one buffer part, which is part of the integrated circuit IC, the transport between data input In and data output Out can take place quickly. The first operating mode can be used as long as the output buffer is not full, less than eight elements, ie contains according to the exemplary embodiment.
I det andra driftsläget är dataingången In förbunden med datautgángen Out via inbufferten INFIFO och utbufferten OUTFIFO. Ett dataelement på dataingången In förflyttas till inbufferten där elementet skrives in i inbufferten och placeras sist i kön. Om utbufferten OUTFIFO inte är full, dvs innehåller mindre än åtta dataelement, läses det första elementet i. kön, ut från inbufferten INFIET) och. elementet förflyttas till utbufferten OUTFIFO. därefter till utbufferten OUTFIFO, där elementet nu placeras Inskrivning görs sist i kön i utbufferten. Buffertanordningen är i detta driftsläge uppbyggd. av två buffertdelar son: bägge tillhör den integrerade kretsen IC. Transporten mellan dataingáng In och datautgång Out sker därför utan fördröjning. Fortfarande 10 15 20 25 30 35 515.897 uppnås fullgod snabbhet för elementtransaktionerna genom buffertanordningen. Dessutom har anordningen nu plats för ytterligare element jämfört med det första driftsläget.In the second operating mode, the data input In is connected to the data output Out via the input buffer INFIFO and the output buffer OUTFIFO. A data element on the data input In is moved to the input buffer where the element is written into the input buffer and placed last in the queue. If the OUTFIFO buffer is not full, ie contains less than eight data elements, the first element in the queue is read from the INFIET buffer) and. the element is moved to the OUTFIFO buffer. then to the output buffer OUTFIFO, where the element is now placed Enrollment is done last in the queue in the output buffer. The buffer device is built in this operating mode. of two buffer parts son: both belong to the integrated circuit IC. The transport between data input In and data output Out therefore takes place without delay. Still 515,897, sufficient speed for the element transactions is achieved through the buffer device. In addition, the device now has room for additional elements compared to the first operating mode.
I det tredje driftsläget är dataingàngen In förbunden med datautgången Out, via inbufferten INFIFO, minnesbufferten utbufferten OUTFIFO. Ett förflyttas till inbufferten nu innehåller fyra dataelement sker övergång till det tredje inbufferten INFIFO sändes till minnesbufferten MEMFIFOl i MEMFIFOl och dataelement på dataingången In inbufferten INFIFO. Om driftsläget. De fyra dataelementen i form av en skur (burst), dvs alla fyra elementen skrivs sekventiellt in i en minnesarea i minnesbufferten MEMFIFOl.In the third operating mode, the data input In is connected to the data output Out, via the input buffer INFIFO, the memory buffer the output buffer OUTFIFO. One is moved to the inbuffer now contains four data elements transition takes place to the third inbuffer INFIFO was sent to the memory buffer MEMFIFO1 in MEMFIFO1 and data elements on the data input In the inbuffer INFIFO. About the operating mode. The four data elements in the form of a burst, ie all four elements are written sequentially into a memory area in the memory buffer MEMFIFO1.
En sekventiell inskrivning av fyra dataelement innebär att alla fyra elementen skrivs in i följd efter varandra vilket effektivt utnyttja minnen med gör det möjligt att skuråtkomstmoder. Skurar grupperar även läsningar och skrivningar så att det blir färre byten mellan dem, något som effektiviserar utnyttjandet av minnen i pipeline.A sequential entry of four data elements means that all four elements are written in sequence one after the other, which effectively utilizes memories with enables burst access mode. Showers also group readings and writings so that there are fewer exchanges between them, which makes the utilization of memories in the pipeline more efficient.
Inskrivningen görs utan uppehåll, dvs utan uppehåll på grund av utläsning från bufferten. De fyra dataelementen läggs sist i kön i minnesbufferten MEMFIFO. Om utbufferten OUTFIFO har plats för fyra eller fler dataelement sker utläsning i skurform av de fyra dataelement som befinner sig först i kön i minnesbufferten. Trots att minnesutrymme nu även utnyttjas utanför den integrerade kretsen uppnås fullgod snabbhet med hjälp av samtidig överföring av flera element i form av en skur.The registration is done without interruption, ie without interruption due to reading from the buffer. The four data elements are placed last in the queue in the memory buffer MEMFIFO. If the OUTFIFO buffer has space for four or more data elements, the four data elements that are first in the queue in the memory buffer are read out in burst form. Despite the fact that memory space is now also utilized outside the integrated circuit, sufficient speed is achieved by means of simultaneous transmission of several elements in the form of a burst.
I figur 3 visas ett förfarande enligt uppfinningen. Figuren visar med olika block de tre olika driftslägena och när övergång sker mellan dessa. Riktningen från ett block till nästa har i figuren visats med pilar. Förflyttning från ett block som symboliserar ett driftsläge till nästa block som symboliserar ett driftsläge initieras antingen av att ett dataelement skrivs in i buffertanordningen eller att ett buffertanordningen. Exempelvis, dataelement läses ut ur ø~.-. 10 15 20 25 30 35 515 897 10 befinner man sig i det tredje driftsläget som i figur 3 visas med ett block 105, så sker övergång till nästa block 106 och därefter vidare till nästa driftsläge, antingen när ett dataelement har skrivits in till buffertanordningen eller när ett dataelement har lästs ut från buffertanordningen. Det första driftsläget visas i figuren med ett block l0l. Det första driftsläget innebär att dataingàngen In är förbunden med datautgången Out via utbufferten OUTFIFO. I utföringsexemplet antas att utbufferten omfattar sju element medan såväl inbufferten INFIFO som nánnesbufferten MEMFIFOl omfattar noll element. element sker I block 102 eller utläsning av ett figuren till ett block l02.Figure 3 shows a method according to the invention. The figure shows with different blocks the three different operating modes and when the transition takes place between them. The direction from one block to the next is shown in the figure by arrows. Movement from one block symbolizing an operating mode to the next block symbolizing an operating mode is initiated either by a data element being written into the buffer device or by a buffer device. For example, data elements are read out of ø ~ .-. If you are in the third operating mode as shown in Figure 3 with a block 105, then a transition is made to the next block 106 and then on to the next operating mode, either when a data element has been entered into the buffer device or when a data element has been read out from the buffer device. The first operating mode is shown in the figure with a block l0l. The first operating mode means that the data input In is connected to the data output Out via the output buffer OUTFIFO. In the exemplary embodiment, it is assumed that the output buffer comprises seven elements, while both the input buffer INFIFO and the neighbor buffer MEMFIFO1 comprise zero elements. element takes place in block 102 or reading of a figure to a block l02.
Vid inskrivning förflyttning i kontrolleras om utbufferten nu efter inskrivning eller utläsning omfattar åtta element. Om kontrollen resulterar i svaret ”Nej” sker förflyttning tillbaka till block l0l och buffertanordningen förblir i det första driftsläget. Om svaret istället resulterar i svaret ”Ja” vilket ju är fallet enligt utföringsexemplet efter en inskrivning, dvs om utbufferten efter inskrivning innehåller åtta element, sker förflyttning i figuren till ett block 103 och övergång sker till det andra driftsläget. I det andra driftsläget är dataingàngen In förbunden med datautgången Out via inbufferten INFIFO och utbufferten OUTFIFO. Enligt utföringsexemplet omfattar utbufferten nu, efter transaktionen, åtta element medan inbufferten och minnesbufferten inte omfattar några element. Nästa elementtransaktion som är en utläsning från buffertanordningen resulterar i att utbufferten nu omfattar sju element. Efter transaktionen sker först förflyttning i block 104 där det omfattar fyra figuren till ett kontrolleras om inbufferten element. Eftersom så inte är fallet sker förflyttning i figuren till ett. block 107. I block l07 kontrolleras om inbufferten omfattar noll element.When enrolling transfer in, it is checked whether the output buffer now after enrollment or reading comprises eight elements. If the check results in the answer "No", it is moved back to block l0l and the buffer device remains in the first operating mode. If the answer instead results in the answer "Yes", which is the case according to the exemplary embodiment after an entry, ie if the output buffer after entry contains eight elements, the figure is moved to a block 103 and transitioned to the second operating mode. In the second operating mode, the data input In is connected to the data output Out via the input buffer INFIFO and the output buffer OUTFIFO. According to the exemplary embodiment, the output buffer now comprises, after the transaction, eight elements, while the input buffer and the memory buffer do not comprise any elements. The next element transaction, which is a readout from the buffer device, results in the output buffer now comprising seven elements. After the transaction, movement takes place first in block 104 where it comprises four figures to one is checked if the buffer element. Since this is not the case, the figure is moved to one. block 107. In block l07, it is checked whether the buffer comprises zero elements.
Eftersom inbufferten enligt utföringsexemplet omfattar noll figuren till block 101 och element sker förflyttning i ...-. lO 15 20 25 30 35 buffertanordningen försätts åter i. det första driftsläget.Since the input buffer according to the exemplary embodiment comprises the zero figure to block 101 and elements are moved in ...-. The buffer device is put back into the first operating position.
Antag nu istället att buffertanordningen befinner sig i driftsläge 2 och att utbufferten OUTFIFO omfattar åtta element, inbufferten INFIFO omfattar 1-3 element. Om nästa elementtransaktion är en utläsning stannar anordningen kvar i driftsläge 2. Det lästa elementet är det som låg först i utbufferten och det första elementet i inbufferten flyttas till sista positionen i utbufferten, dvs efter läsningen finns det 8 element i utbufferten och O-2 element i inbufferten. Om ett element skrives in i anordningen när utbufferten har 8 element och inbufferten har mindre än 3 element leder till att det nya elementet läggs sist i inbufferten och anordningen förblir i driftläge 2. Om ett element skrivs in i anordningen när utbufferten har 8 element och inbufferten har' 3 element sker förflyttning i blocket 104 och omfattar fyra element sker förflyttning till ett block 105, I det figuren till eftersom inbufferten nu dvs anordningen försätts i det tredje driftsläget. dataingången In förbunden med datautgàngen INFIFO, MEMFIFO1 och utbufferten OUTFIFO. De fyra första elementen i tredje driftsläget är Out via inbufferten minnesbufferten kön i inbufferten INFIFO förflyttas i en skur till minnesbufferten MEMFIFOl som nu alltså omfattar fyra element. Om nästa transaktionen är en inskrivning till buffertanordningen sker inskrivning i inbufferten INFIFO. I förflyttning till block 106 men minnesbufferten inte är tom förblir anordningen i det tredje driftsläget. figuren sker eftersom Efter ytterligare tre inläsningar till buffertanordningen förflyttas de fyra första elementen i kön minnesbufferten i inbufferten INFIFO, i en skur till MMFIFO1. Minnesbufferten MEMFIFO1 omfattar nu alltà åtta element, inbufferten INFIFO omfattar noll element och utbufferten OUTFIFO omfattar fortfarande fyra element. I figuren sker förflyttning från block 105 till block 106. I block 106 element. kontrolleras om minnesbufferten omfattar noll Eftersom svaret på frågan är ”Nej” sker 10 15 20 25 30 35 ' 515 897¿_'_=§_'_=_=.____.-' '° _ 'i 12 förflyttning i figuren tillbaka till block 105 och anordningen förblir i det tredje driftsläget. Om det finns fyra eller fler lediga platser i utbufferten OUTFIFO när buffertanordningen befinner sig i det tredje driftsläget, MEMFIFOl minnesbufferten och OUTFIFO. dataelement ut fràn till utbufferten läses skrivs in Förflyttningen av dataelementen frán minnesbufferten till utbufferten sker i form av en skur. Fyra element förflyttas enligt utföringsexemplet i skuren.Now assume instead that the buffer device is in operating mode 2 and that the output buffer OUTFIFO comprises eight elements, the input buffer INFIFO comprises 1-3 elements. If the next element transaction is a readout, the device remains in operating mode 2. The read element is the one that was first in the output buffer and the first element in the input buffer is moved to the last position in the output buffer, ie after reading there are 8 elements in the output buffer and O-2 elements in the buffer. If an element is written into the device when the output buffer has 8 elements and the input buffer has less than 3 elements, the new element is placed last in the input buffer and the device remains in operating mode 2. If an element is written into the device when the output buffer has 8 elements and the input buffer has' 3 elements, movement takes place in the block 104 and comprises four elements, movement takes place in a block 105. In that figure, since the input buffer is now, ie the device, is set in the third operating position. the data input In connected to the data output INFIFO, MEMFIFO1 and the output buffer OUTFIFO. The first four elements in the third operating mode are Out via the input buffer memory buffer queue in the input buffer INFIFO is moved in a burst to the memory buffer MEMFIFO1 which now thus comprises four elements. If the next transaction is an entry to the buffer device, an entry is made in the input buffer INFIFO. Moving to block 106 but the memory buffer is not empty, the device remains in the third operating mode. the figure takes place because After three more readings to the buffer device, the first four elements in the queue move the memory buffer in the input buffer INFIFO, in a burst to MMFIFO1. The memory buffer MEMFIFO1 now comprises at least eight elements, the input buffer INFIFO comprises zero elements and the output buffer OUTFIFO still comprises four elements. In the figure, movement takes place from block 105 to block 106. In block 106 elements. is checked if the memory buffer comprises zero Since the answer to the question is "No", 10 15 20 25 30 35 '515 897¿ _'_ = § _'_ = _ = .____.-' '° _' in 12 shifts in the figure back to block 105 and the device remains in the third operating position. If there are four or more free slots in the OUTFIFO buffer when the buffer device is in the third operating mode, the MEMFIFO1 memory buffer and OUTFIFO. data elements output from the output buffer are read in. The movement of the data elements from the memory buffer to the output buffer takes place in the form of a burst. Four elements are moved according to the exemplary embodiment in the cut.
I figur 4 visas i ett andra utföringsexempel ett buffertsystem enligt uppfinningen. I figuren visas samma integrerade kretsdel ICl som tidigare visats i figur l. De delar som ingår i den integrerade kretsdelen ICl har inte markerats med hänvisningsbeteckningar i figur 4.Figure 4 shows in a second exemplary embodiment a buffer system according to the invention. The figure shows the same integrated circuit part IC1 as previously shown in figure 1. The parts included in the integrated circuit part IC1 have not been marked with reference numerals in figure 4.
Hänvisningsbeteckningarna återfinns därför bara i figur l delarna har i med och de olika figur 4 bara markerats respektive delars symboler. Den integrerade kretsdelen ICl, omfattar dataingången In, inbufferten INFIFO kretsdelen, utbufferten OUTFIFO, den s.k. första datautgàngen Out, samt en och två DMUX2. multiplexenhet MUXl demultiplexenheter DMUXl, Den första kretsdelen ICl utgör en del av en större integrerad krets IC. Den större integrerade kretsen IC omfattar enligt utföringsexemplet ytterligare fyra kretsdelar.The reference numerals are therefore found only in Figure 1. The parts have been included and the various Figures 4 have only been marked with the symbols of the respective parts. The integrated circuit part IC1, comprises the data input In, the input buffer INFIFO circuit part, the output buffer OUTFIFO, the so-called first data output Out, as well as one and two DMUX2. multiplexer MUX1 demultiplexer DMUX1, The first circuit part IC1 forms part of a larger integrated circuit IC. According to the exemplary embodiment, the larger integrated circuit IC comprises four further circuit parts.
IC2, en tredje kretsdel IC3, femte kretsdel IC5.IC2, a third circuit part IC3, fifth circuit part IC5.
De fyra kretsdelarna benämnes en andra kretsdel en fjärde kretsdel IC4 och en De totalt fem kretsdelarna finns alltså på samma integrerade krets IC, dvs pá samma kiselyta. De fem kretsdelarna är enligt utföringsexemplet identiska men bara den första kretsdelen visas i detalj i figur 4 medan övriga delar bara visas symboliskt. Den andra demultiplexenheten DMUX2 var i. det första utföringsexemplet ansluten till en ingång pà en minnesbuffert MEMFIFOl. I detta andra utföringsexempel delar de fem kretsdelarna ICl, IC2, IC3, IC4 och IC5 på samma minnesbuffert MEMFIFO. Den andra multiplexenheten DMUX2 pà den första kretsdelen ICl är i det --..-,. 10 15 20 25 30 35 '515 897 gF_'_==¿j'_::'-.,_.__=' 13 andra utföringsexemplet ansluten till en första ingång till en multiplexenhet MUX på den integrerade kretsen IC.The four circuit parts are called a second circuit part, a fourth circuit part IC4 and a The total of five circuit parts are thus located on the same integrated circuit IC, ie on the same silicon surface. According to the exemplary embodiment, the five circuit parts are identical, but only the first circuit part is shown in detail in Figure 4, while the other parts are only shown symbolically. In the first embodiment, the second demultiplexing unit DMUX2 was connected to an input of a memory buffer MEMFIFO1. In this second embodiment, the five circuit parts IC1, IC2, IC3, IC4 and IC5 share the same memory buffer MEMFIFO. The second multiplexer DMUX2 on the first circuit part IC1 is in the --..- ,. 10 15 20 25 30 35 '515 897 gF _'_ == ¿j' _ :: '-., _.__ =' 13 second embodiment connected to a first input of a multiplex unit MUX on the integrated circuit IC.
Multiplexenhetens MUX utgång är ansluten till en ingång på minnesbufferten MEMFIFO. Utgàngen på minnesbufferten MEMFIFO är ansluten till en ingång på en demultiplexenhet DEMUX. En första utgång fràn demultiplexenheten DEMUX är ansluten till en av ingàngarna pà multiplexenheten MUXl på den första kretsdelen ICl. En andra ingång på multiplexenheten MUX är andra andra ansluten till en multiplexenhet pà den kretsdelen IC2. I figur 4 visas inte den andra multiplexenheten på den andra kretsdelen IC2. Endast en förbindelse kretsdelen till multiplexenheten MUX. Resterande kretsdelar IC3, IC4 och IC5 visas från den andra är också anslutna till multiplexenheten MUX pà samma sätt, men bara själva förbindelsen visas i figur 4. En andra DEMUX är ansluten till en kretsdelen IC2. utgång på demultiplexenheten multiplexenhet på den andra Resterande utgångar på demultiplexenheten DEMUX är pà samma sätt anslutna till de andra kretsdelarna IC3, IC4 och IC5 på den integrerade kretsen IC. Minnesbufferten är uppdelad i lika många delar MEMl, MEM2, MEM3, MEM4 och MEM5 som det finns kretsdelar' ICl, IC2, IC3, IC4 och IC5 på den integrerade kretsdel En buffertanordning utgörs av en kretsen IC och använder sin del av minnesbufferten MEMFIFO. kretsdel varje ICl tillsammans med tillhörande minnesbuffertdel MEM1. I figur' 4 visas även. en kontrollogik CL soul har i stort sett kontrollogik CLl samma egenskaper och funktion som den som beskrivits tidigare i det första utföringsexemplet. Kontrollogiken CL hanterar inskrivning av ett dataelement till en buffertanordning, förflyttning av dataelementet genom buffertanordningen samt utläsning av dataelementet från buffertanordningen. Skillnaden fràn det första utföringsexemplet är att i detta andra utföringsexempel hanterar kontrollogiken CL samtliga buffertanordningar, dvs enligt utföringsexemplet hanteras samtliga fem buffertanordningar ICl+MEMl, IC2+MEM2, 10 15 20 25 30 35 515 8 917 gagn: -_. :ut 13.2: :LL . "Ii I. .É 14 IC3+MEM3, IC4+MEM4 Och IC5+MEM5. En del av anslutningspunkterna mellan kontrollogiken CLl och de delar som kontrolleras av kontrollogiken har i figur 4 markerats med kontaktsymboler.The MUX output of the multiplexer is connected to an input on the MEMFIFO memory buffer. The output of the MEMFIFO memory buffer is connected to an input on a DEMUX demultiplexer. A first output from the demultiplexing unit DEMUX is connected to one of the inputs of the multiplexing unit MUX1 on the first circuit part IC1. A second input of the multiplexer MUX is second second connected to a multiplexer of that circuit part IC2. Figure 4 does not show the second multiplexing unit on the second circuit part IC2. Only one connection circuit part to the multiplexer MUX. The remaining circuit parts IC3, IC4 and IC5 are shown from the other are also connected to the multiplexer MUX in the same way, but only the connection itself is shown in figure 4. A second DEMUX is connected to a circuit part IC2. output of the demultiplexing unit multiplexing unit at the second The remaining outputs of the demultiplexing unit DEMUX are similarly connected to the other circuit parts IC3, IC4 and IC5 on the integrated circuit IC. The memory buffer is divided into as many parts MEM1, MEM2, MEM3, MEM4 and MEM5 as there are circuit parts' IC1, IC2, IC3, IC4 and IC5 on the integrated circuit part. A buffer device consists of a circuit IC and uses its part of the memory buffer MEMFIFO. circuit part each IC1 together with the associated memory buffer part MEM1. Figure '4 also shows. a control logic CL soul has basically control logic CL1 the same properties and function as that described earlier in the first embodiment. The control logic CL handles the writing of a data element to a buffer device, the movement of the data element through the buffer device and the reading of the data element from the buffer device. The difference from the first embodiment is that in this second embodiment the control logic CL handles all buffer devices, ie according to the embodiment all five buffer devices IC1 + MEM1, IC2 + MEM2, handle 15: 15. : ut 13.2:: LL. "Ii I. .É 14 IC3 + MEM3, IC4 + MEM4 And IC5 + MEM5. Some of the connection points between the control logic CL1 and the parts controlled by the control logic have been marked in Figure 4 with contact symbols.
Enligt utföringsexemplet är såväl inskrivning till som utläsning från en av de fem buffertanordningarna oberoende av de övriga fyra buffertanordningarna. Inskrivningen till allteftersom, data en buffertanordning sker sporadiskt inkommer och utan inflytande av de andra buffertarna i utläsning från vilket buffertsystemet. Detsamma gäller buffertanordningarna. En buffertanordning övergår, redan tidigare beskrivits, från ett andra driftsläge till ett tredje driftsläge när mängden dataelement i inbufferten överskridit ett förutbestämt 'värde. Vid övergång till det tredje driftsläget anslöts enligt det första utföringsexemplet minnesbufferten MEMFIFOl mellan inbufferten INFIFO och utbufferten OUTFIFO. I detta utföringsexempel ansluter kontrollogiken CL endast den del av minnesbufferten MEMFIFO som tillhör kretsdelen.According to the exemplary embodiment, both enrollment to and reading from one of the five buffer devices is independent of the other four buffer devices. The entry to as data a buffer device occurs sporadically arrives and without the influence of the other buffers in readout from which the buffer system. The same applies to the buffer devices. A buffer device transitions, already previously described, from a second operating mode to a third operating mode when the amount of data elements in the input buffer has exceeded a predetermined value. When switching to the third operating mode, according to the first embodiment, the memory buffer MEMFIFO1 was connected between the input buffer INFIFO and the output buffer OUTFIFO. In this embodiment, the control logic CL connects only the part of the memory buffer MEMFIFO which belongs to the circuit part.
Anslutningen sker via multiplexenheten MUX och demultiplexenheten DEMUX. Anslutning av den första kretsdelen ICl till den första delen MEM l i minnesbufferten MEMFIFO görs vid övergång till det tredje driftsläget, dvs när inbufferten efter inläsning innehåller fyra element. Överföringen mellan inbufferten INFIFO och. minnesbufferten MEMFIFO görs i skurform. När överföringen är färdig förblir multiplexenheten MUX i sitt läge tills ett annat dataelement skall skrivas in till en annan inbuffert i en annan av buffertanordningarna, en inbuffert som redan omfattar ett förutbestämt antal dataelement. Samma procedur gäller vid utläsning fràn minnesbufferten MEMFIFO via DEMUX till en av kretsdelarna. mellan en del MEMl av demultiplexenheten Överföringen av dataelement minnesbufferten och en kretsdel ICl sker alltså i skurform.The connection is made via the multiplex unit MUX and the demultiplex unit DEMUX. Connection of the first circuit part IC1 to the first part MEM1 in the memory buffer MEMFIFO is made at the transition to the third operating mode, ie when the input buffer after reading contains four elements. The transfer between the INFIFO buffer and. the memory buffer MEMFIFO is made in burst form. When the transfer is complete, the multiplexer MUX remains in its position until another data element is to be written to another buffer in another of the buffer devices, an input buffer which already comprises a predetermined number of data elements. The same procedure applies when reading from the memory buffer MEMFIFO via DEMUX to one of the circuit parts. between a part MEM1 of the demultiplexing unit The transfer of the data element memory buffer and a circuit part IC1 thus takes place in burst form.
Eftersom fyra dataelement sekventiellt överförs från .~... 10 15 20 25 30 515 897 ;¿_;::'_'_¿'-.____.= '° 15 inbufferten till minnesbufferten och frán minnesbufferten till utbufferten, kan minnesutrymme i buffertarna snabbt frigöras jämfört med om bara ett element hade överförts át gången. Detta betyder att risken för konfliktsituationer vid till/frán för konfliktsituationer inskrivning och utläsning av dataelement minnesbufferten minimeras. Risken kan också minskas genom att öka storleken på inbufferten och/eller utbufferten.Since four data elements are sequentially transferred from the memory buffer to the memory buffer and from the memory buffer to the output buffer, memory space in the buffers are quickly released compared to if only one element had been transferred at a time. This means that the risk of conflict situations at the on / off for conflict situations entry and reading of data elements memory buffer is minimized. The risk can also be reduced by increasing the size of the input buffer and / or the output buffer.
Uppfinningen är inte begränsad till de ovan beskrivna utföringsformerna. Storleken på de olika buffertarna kan exempelvis variera. Storleken pà inbufferten och utbufferten behöver inte heller vara densamma. De olika antal skall buffertdelarna för att driftstillstànd till ett Exempelvis behöver en utbuffert inte vara full för att element som befinna sig i de olika övergång ska ske från ett annat kan också variera. övergång skall ske till nästa driftsläge. Implementeringen av en buffert behöver inte vara uppbyggd i detalj så som beskrivits tidigare, det signifikanta är att inbufferten och utbufferten befinner sig pá kretsen och är snabba, extern och har stor medan minnesbufferten är lagringskapacitet. Inskrivning till en minnesbuffert kan ske utan att detta görs i skurform sà som fallet var i de bägge utföringsexemplen. En annan möjlighet är att inskrivning till minnesbufferten sker i skurform medan bara enstaka element läses ut frán minnesbufferten i varje läscykel, eller tvärtom. Mängden element som överföres i en skur kan variera och mängden element som skrives in till minnesbufferten i en skur kan vara en annan än den mängd element som läses ut ur ndnnesbufferten i. en annan skur.The invention is not limited to the embodiments described above. The size of the different buffers can, for example, vary. The size of the input buffer and the output buffer do not have to be the same either. The different parts must be the buffer parts in order for the operating permit for one For example, an output buffer does not have to be full for elements that are in the different transitions to take place from another can also vary. transition shall take place to the next operating mode. The implementation of a buffer does not have to be structured in detail as described earlier, the significant thing is that the input buffer and the output buffer are on the circuit and are fast, external and large while the memory buffer is storage capacity. Registration for a memory buffer can take place without this being done in burst form, as was the case in both embodiments. Another possibility is that registration for the memory buffer takes place in burst form, while only individual elements are read out from the memory buffer in each reading cycle, or vice versa. The amount of elements transmitted in a burst may vary and the amount of elements written to the memory buffer in a burst may be different from the amount of elements read out of the memory buffer in another burst.
Man kan även tänka sig att minnesbufferten som visats i det andra utföringsexemplet samtidigt kan utnyttjas av såväl olika buffertanordningar som andra enheter i systemet. ..... u ao * ° ' ' ' ' . . . -- Uppfinningen är alltså inte begränsad till de beskrivna och pà ritningen visade utföringsformerna, kan modifieras inom ramen för de bifogade patentkraven.It is also conceivable that the memory buffer shown in the second exemplary embodiment can be used simultaneously by different buffer devices as well as other units in the system. ..... u ao * ° '' ''. . . The invention is thus not limited to the embodiments described and shown in the drawing, can be modified within the scope of the appended claims.
OVaII utanOVaII without
Claims (9)
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| SE9901290A SE515897C2 (en) | 1999-04-12 | 1999-04-12 | Device and method for a divided buffer |
| PCT/SE2000/000631 WO2000062153A1 (en) | 1999-04-12 | 2000-03-31 | Divided buffer |
| DE10084462T DE10084462B4 (en) | 1999-04-12 | 2000-03-31 | Shared buffer |
| AU43223/00A AU4322300A (en) | 1999-04-12 | 2000-03-31 | Divided buffer |
| US09/547,386 US6625672B1 (en) | 1999-04-12 | 2000-04-11 | Divided buffer |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| SE9901290A SE515897C2 (en) | 1999-04-12 | 1999-04-12 | Device and method for a divided buffer |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| SE9901290D0 SE9901290D0 (en) | 1999-04-12 |
| SE9901290L SE9901290L (en) | 2000-10-13 |
| SE515897C2 true SE515897C2 (en) | 2001-10-22 |
Family
ID=20415177
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| SE9901290A SE515897C2 (en) | 1999-04-12 | 1999-04-12 | Device and method for a divided buffer |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US6625672B1 (en) |
| AU (1) | AU4322300A (en) |
| DE (1) | DE10084462B4 (en) |
| SE (1) | SE515897C2 (en) |
| WO (1) | WO2000062153A1 (en) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7136991B2 (en) * | 2001-11-20 | 2006-11-14 | Henry G Glenn | Microprocessor including random number generator supporting operating system-independent multitasking operation |
| US20060064448A1 (en) * | 2001-11-20 | 2006-03-23 | Ip-First, Llc. | Continuous multi-buffering random number generator |
| US7219112B2 (en) * | 2001-11-20 | 2007-05-15 | Ip-First, Llc | Microprocessor with instruction translator for translating an instruction for storing random data bytes |
| US7512721B1 (en) | 2004-05-25 | 2009-03-31 | Qlogic, Corporation | Method and apparatus for efficient determination of status from DMA lists |
| US7895390B1 (en) * | 2004-05-25 | 2011-02-22 | Qlogic, Corporation | Ensuring buffer availability |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5233603A (en) * | 1988-04-21 | 1993-08-03 | Nec Corporation | Packet switch suitable for integrated circuit implementation |
| JPH03212776A (en) * | 1990-01-18 | 1991-09-18 | Nec Corp | One-chip cpu |
| JP3212776B2 (en) | 1993-10-26 | 2001-09-25 | ミサワホーム株式会社 | Water gradient material allocation device |
| KR970010368B1 (en) * | 1994-01-18 | 1997-06-25 | 삼성전자 주식회사 | Cache line replace apparatus and method |
| US5490113A (en) * | 1994-06-15 | 1996-02-06 | Digital Equipment Corporation | Memory stream buffer |
| US5852826A (en) * | 1996-01-26 | 1998-12-22 | Sequent Computer Systems, Inc. | Parallel merge sort method and apparatus |
| IL116984A (en) * | 1996-01-31 | 2000-07-26 | Galileo Technology Ltd | Multiple FIFO array and method of construction thereof |
| US6290406B1 (en) * | 1996-09-20 | 2001-09-18 | Varis Corporation | System and method for interfacing a raster printer controller with a plurality of print engines |
| US5959466A (en) * | 1997-01-31 | 1999-09-28 | Actel Corporation | Field programmable gate array with mask programmed input and output buffers |
| US6078565A (en) * | 1997-06-20 | 2000-06-20 | Digital Equipment Corporation | Method and apparatus to expand an on chip FIFO into local memory |
| KR100327330B1 (en) * | 1998-12-17 | 2002-05-09 | 윤종용 | Rambus DRAM semiconductor device |
-
1999
- 1999-04-12 SE SE9901290A patent/SE515897C2/en not_active IP Right Cessation
-
2000
- 2000-03-31 AU AU43223/00A patent/AU4322300A/en not_active Abandoned
- 2000-03-31 DE DE10084462T patent/DE10084462B4/en not_active Expired - Fee Related
- 2000-03-31 WO PCT/SE2000/000631 patent/WO2000062153A1/en active Application Filing
- 2000-04-11 US US09/547,386 patent/US6625672B1/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| DE10084462B4 (en) | 2009-08-13 |
| SE9901290L (en) | 2000-10-13 |
| SE9901290D0 (en) | 1999-04-12 |
| AU4322300A (en) | 2000-11-14 |
| DE10084462T1 (en) | 2002-03-21 |
| US6625672B1 (en) | 2003-09-23 |
| WO2000062153A1 (en) | 2000-10-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6408367B2 (en) | Data path architecture and arbitration scheme for providing access to a shared system resource | |
| EP0409832B1 (en) | Communication switching element | |
| US6345310B1 (en) | Architecture for a multiple port adapter having a single media access control (MAC) with a single I/O port | |
| US6055597A (en) | Bi-directional synchronizing buffer system | |
| CA2478570A1 (en) | Data processing apparatus and system and method for controlling memory access | |
| EP1615140A2 (en) | Semiconductor device | |
| SE515897C2 (en) | Device and method for a divided buffer | |
| KR970029033A (en) | Processor vector data controller | |
| EP0479702A2 (en) | System for transferring data between buses, using direct memory access devices | |
| US20080052431A1 (en) | Method and Apparatus for Enabling Virtual Channels Within A Peripheral Component Interconnect (PCI) Express Bus | |
| US5649119A (en) | Data queuing apparatus | |
| JPH07118637B2 (en) | Multiplexer | |
| CN103186502B (en) | Register file organization for shared processor process context | |
| SE504985C2 (en) | ATM switching center | |
| WO2002017071A1 (en) | A configurable register file with multi-range shift register support | |
| JPH0481223B2 (en) | ||
| JPS63172362A (en) | Interprocessor communication method | |
| EP1039475B1 (en) | Address and data transfer circuit | |
| US6901070B2 (en) | Dynamically programmable integrated switching device using an asymmetric 5T1C cell | |
| KR0153946B1 (en) | Shared memory i/o bus arbitration apparatus having the priority order conversion and continuous i/o facilities | |
| CN215298229U (en) | Mainboard and electronic equipment | |
| CN118445248A (en) | Central exchange block for multiprocessor system and multiprocessor system with same | |
| Shipley et al. | A building block chip for a scaleable ATM architecture | |
| JPH07182849A (en) | FIFO memory | |
| KR19980071813A (en) | An interfacing device, a control unit and a logic cell for extracting M sets of bits of the N sets of bits |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| NUG | Patent has lapsed |