[go: up one dir, main page]

NL8901631A - Inrichting voor het bufferen van data voor de duur van cyclisch repeterende buffertijden. - Google Patents

Inrichting voor het bufferen van data voor de duur van cyclisch repeterende buffertijden. Download PDF

Info

Publication number
NL8901631A
NL8901631A NL8901631A NL8901631A NL8901631A NL 8901631 A NL8901631 A NL 8901631A NL 8901631 A NL8901631 A NL 8901631A NL 8901631 A NL8901631 A NL 8901631A NL 8901631 A NL8901631 A NL 8901631A
Authority
NL
Netherlands
Prior art keywords
address
register
addresses
current
buffering
Prior art date
Application number
NL8901631A
Other languages
English (en)
Original Assignee
Philips Nv
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 Philips Nv filed Critical Philips Nv
Priority to NL8901631A priority Critical patent/NL8901631A/nl
Priority to US07/527,997 priority patent/US5276827A/en
Priority to KR1019900009378A priority patent/KR100196599B1/ko
Priority to EP90201649A priority patent/EP0405673B1/en
Priority to DE69017767T priority patent/DE69017767T2/de
Priority to JP2168615A priority patent/JP3064338B2/ja
Publication of NL8901631A publication Critical patent/NL8901631A/nl

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1806Pulse code modulation systems for audio signals
    • G11B20/1809Pulse code modulation systems for audio signals by interleaving
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10629Data buffering arrangements, e.g. recording or playback buffers the buffer having a specific structure
    • G11B2020/10666Ring buffers, e.g. buffers wherein an iteratively progressing read or write pointer moves back to the beginning of the buffer when reaching the last storage cell

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
  • Information Transfer Systems (AREA)

Description

De uitvinding betreft een inrichting met geheugenlocaties voor het bufferen van in achtereenvolgende fasen aangeboden groepen data-eenheden voor de duur van zich met elke groep herhalende buffertijden.
Een voorbeeld van een dergelijke inrichting als onderdeel van een compact-disc-speler, voorzien van codeurs en decodeurs ten behoeve van fout-correctie, staat schetsmatig beschreven in: "The Compact Disc Formats: Technology and Applications", K. Pohlmann, J.
Audio Eng. Soc., Vol. 36, Nr. 4, 1988 April, bladzijden 250-287. De codeurs en decodeurs zijn beide gebaseerd op de "cross-interleaved Reed-Solomon code", en omvatten daartoe elk een zogenaamde "interleaver” met achtentwintig vertragingslijnen voor het vertragen van telkens evenzoveel data-eenheden, elk voor de duur van onderling verschillende buffertijden.
Het verdient aanbeveling om een dergelijke inrichting met een zo klein mogelijk geheugen te realiseren. Het verdient verder aanbeveling om daarbij de adressering van het geheugen zo eenvoudig mogelijk te houden met het oog op de benodigde rekencapaciteit ten behoeve van de besturing van de inrichting. De uitvinding beoogt daarom mede te voorzien in een inrichting van de in de aanhef vermelde soort met een efficiënt geheugengebruik en een simpele adressering.
Een inrichting volgens de uitvinding wordt daartoe gekenmerkt, doordat de inrichting een modulo-adresgenerator omvat voor het ten behoeve van elke groep genereren van een reeks adressen voor selectie van de geheugenlocaties, waarbij respectievelijke logische adresafstanden tussen opeenvolgende adressen in de betreffende reeks indicatief zijn voor de respectievelijke buffertijden, en waarbij de adressen in twee opeenvolgende reeksen een adresafstand-eenheid ten opzichte van elkaar zijn verschoven.
De uitvinding maakt gebruik van het afbeelden van buffertijden op adresafstanden in een actuele reeks adressen voor het aanspreken van geselecteerde geheugenlocaties. De adresafstand tussen een tweetal adressen, die in een reeks achtereenvolgend zijn, is indicatief voor (bijvoorbeeld numeriek gelijk aan) de buffertijd toegekend aan de data-eenheid op het hoogste (of het laagste) adres van het tweetal.
Opgemerkt zij dat onder data-eenheid wordt verstaan een entiteit van gegevens (een bit, een byte, een record, een file, etcetera), die minstens ten behoeve van het bufferen als een geheel wordt beschouwd. Opeenvolgende reeksen worden ten opzichte van elkaar over een adresafstand-eenheid verschoven. Dit impliceert dat eenzelfde adres van een tweetal adressen geselecteerd in een eerdere reeks pas in een latere reeks opnieuw wordt geselecteerd als de totale verschuiving de oorspronkelijke adresafstand heeft overbrugd. Haar omdat de oorspronkelijke adresafstand gerelateerd is aan de betreffende buffertijd is dat adres reeds beschikbaar gekomen voor nieuwe data na de betreffende laatste leesoperatie.
Met bovenstaande adressering betreffen de schrijfoperaties precies die geheugenlocaties, waarin data-groepen uit voorafgaande fasen reeds hun buffertijd hebben uitgezeten. Het is daarom gunstig om de door de adresgenerator gegenereerde adressen ten behoeve van het schrijven van de actuele groep data-eenheden, te gebruiken als leesadressen alvorens te schrijven. Het is daarbij van voordeel om per actueel adres eerst een leesoperatie en dan een schrijfoperatie uit te voeren. Het schakelen tussen lezen en schrijven per adres is eenvoudiger en goedkoper dan het genereren van tweemaal een reeks adressen ten behoeve van het achtereenvolgend lezen en daarna achtereenvolgend schrijven van de geselecteerde locaties. De actuele adressen zouden eventueel ook kunnen worden gebufferd in een afzonderlijk geheugen, maar dit gaat ten koste van de geheugenruimte.
Een uitvoeringsvorm van een inrichting volgens de uitvinding wordt gekenmerkt, doordat elke buffertijd een betreffend eerste aantal van de opeenvolgende fasen bedraagt, en de met de betreffende buffertijd geassocieerde adresafstand een respectievelijk tweede aantal adresafstand-eenheden bedraagt, waarbij het eerste aantal gelijk is aan het tweede aantal.
De adresafstanden zijn nu de kleinst mogelijke zodat het aantal benodigde geheugenlocaties minimaal is. Dit aantal is gelijk aan de som van de per groep toegekende buffertijden, die elk zijn uitgedrukt in het betreffende aantal fasen.
Een groter geheugen kan worden gebruikt om de onderlinge adresafstanden per reeks groter te nemen dan de kortst mogelijke zoals boven is vermeld. Een andere uitvoeringsvorm van een inrichting volgens de uitvinding wordt daarom gekenmerkt, doordat elke buffertijd een betreffend eerste aantal van de opeenvolgende fasen bedraagt, en de met de betreffende buffertijd geassocieerde adresafstand een respectievelijk tweede aantal adresafstand-eenheden bedraagt, waarbij het tweede aantal gelijk is aan de som van het betreffende eerste aantal en een respectievelijke offset.
Dit geeft weliswaar een minder dichte bezetting van het geheugen maar heeft als gevolg dat met betrekking tot één geheugenlocatie per fase hooguit één lees-operatie of één schrijfoperatie hoeft te worden verricht hetgeen de besturing eenvoudiger maakt. Het is gunstig om het aantal benutte geheugenlocaties gelijk te kiezen aan een gehele macht van twee omdat digitale circuits eenvoudiger met binaire getallen rekenen, zoals bijvoorbeeld met betrekking tot de modulo-operatie, dan met getallen gerepresenteerd op een andere basis dan twee.
Er zij opgemerkt dat de inrichting behalve als interleaver of de-interleaver in een CD-speler bijvoorbeeld ook toepassing kan vinden in parallelle en cyclische databewerkingen. In toepassingen op dit laatstgenoemde gebied worden parallelle stromen van achtereenvolgende data getransformeerd tot nieuwe stromen achtereenvolgende data. Alvorens de data van de nieuwe stromen opnieuw bewerkingen te laten ondergaan, dienen data uit verscheidene stromen ten opzichte van elkaar te worden vertraagd opdat deze data op het juiste moment op de juiste wijze met elkaar kunnen worden gecombineerd.
FIGUREN
De uitvinding zal worden toegelicht aan de hand van een tekening, waarin: figuur 1 een eerste voorbeeld van een databezetting geeft in een geheugen verkregen via een inrichting volgens de uitvinding; figuur 2 een tweede voorbeeld van een databezetting geeft; figuur 3 een derde voorbeeld van een databezetting geeft; figuur 4 een eerste voorbeeld van een adresgenerator voor toepassing in een inrichting volgens de uitvinding geeft; figuur 5 een tweede voorbeeld van een adresgenerator geeft; figuur 6 een derde voorbeeld van een dergelijke adresgenerator geeft; en figuur 7 de formules toont ter ondersteuning van de toelichting bij de adresgenerator van figuur 6.
DATABEZETTING, EERSTE VOORBEELD
In figuur 1 is een eerste voorbeeld gegeven van een databezetting verkregen met een inrichting volgens de uitvinding. Horizontaal staan de adressen m1 tot en met m10 van tien geheugenlocaties uitgezet. Verticaal staan de achtereenvolgende fasen f0, f1, f2, f6, ... uitgezet waarin de respectievelijke actuele data worden geschreven nadat de relevante reeds opgeslagen data voor het laatst zijn uitgelezen. In fase f0 worden de data die zijn aangeduid met 1, 2, 3 en 4, geschreven, waaraan een buffertijd gelijk aan respectievelijk één fase, twee fasen, drie fasen en vier fasen wordt toegekend. Bijgevolg zullen deze data elk voor de duur van de betreffende buffertijd in het geheugen worden opgeslagen. De bezetting in fase f0 wordt nu als volgt gekozen. Data-eenheid 1 wordt geschreven op adres m1. Data-eenheid 2, die gedurende de buffertijd van twee fasen wordt gebufferd, wordt geschreven op een adres dat een adresafstand gelijk aan twee adresafstand-eenheden heeft ten opzichte van het voorgaande adres m1. Dit aantal adresafstand-eenheden is gelijk aan het aantal fasen buffertijd toegekend aan data-eenheid 2. Het betreffende adres is dus adres m3. Data-eenheid 3 zal gedurende drie fasen worden gebufferd en wordt dus geschreven op een volgend adres m6, dat op drie adresafstand-eenheden van het voorgaande adres m3 ligt. Data-eenheid 4 zal gedurende vier fasen worden gebufferd en wordt dus geschreven op adres m10, dat vier adresafstand-eenheden verschilt van adres m6. Het totaal aantal geheugenlocaties is gelijk aan de som van de per fase toegekende buffertijden en is dus gelijk aan tien.
In fase f1 worden nieuwe data-eenheden 1', 2', 3' en 4' geschreven, die voor de duur van respectievelijk één, twee, drie en vier fasen worden gebufferd. De adressen van de geheugenlocaties waarop de nieuwe data-eenheden worden geschreven, zijn elk een adresafstand-eenheid verschoven ten opzichte van het adres, waarop in de voorgaande fase de data-eenheid is geschreven met eenzelfde buffertijd.
Data-eenheden 1', 2', 3' en 4' worden geschreven op adressen m2, m4, m7 en m1. Data-eenheid 4' wordt dus geschreven op de locatie, waar juist van tevoren data-eenheid 1 is uitgelezen.
In fase f2 worden data-eenheden 1", 2", 3" en 4" geschreven waaraan buffertijden van respectievelijk één, twee, drie en vier fasen worden toegekend. De schrijfadressen zijn weer één adresafstand-eenheid verschoven ten opzichte van de schrijfadressen van de vorige groep data-eenheden. Zodoende wordt data-eenheid 1" geschreven in de locatie met adres ra3 waar zojuist data-eenheid 2 voor de laatste maal is uitgelezen. Data-eenheden 2" en 3" worden geschreven op de adressen m5 en m8. Data-eenheid 4" wordt geschreven op adres m2, waar zojuist data-eenheid 1' is uitgelezen.
In fase f3 worden data-eenheden 1' ·', 2"', 3" ' en 4"' geschreven op adressen m4, m6, m9 en m3. Data-eenheden 1''', 2"', 3'11 en 4'11 worden geschreven in die geheugenlocaties die net zijn vrijgekomen omdat de betreffende eerdere data-eenheden hun buffertijd hebben uitgezeten. In de tekening zijn tevens de nieuwe data-eenheden van volgende fasen f4, f5 en f6 weergegeven.
Omdat de aantallen adresafstand-eenheden tussen de adressen van een actuele groep data-eenheden gelijk zijn aan de betreffende aantallen fasen buffertijd, kunnen de achtereenvolgende groepen op de getoonde manier door elkaar heen worden geweven. Bijgevolg is een dichte geheugenbezetting gerealiseerd met een systematische, eenvoudige adressering.
DATABEZETTING, TWEEDE VOORBEELD
In figuur 2 is een tweede voorbeeld van een databezetting gegeven in een geheugen met meer locaties dan strikt noodzakelijk is. De gebruikte notatie komt overeen met die van figuur 1. Het geheugen omvat nu zestien geheugenlocaties met adressen m1 tot en met m16. Nadat een data-eenheid het laatste adres heeft bereikt, in dit geval data-eenheid 4^ in fase f6, wordt van de eerstvolgende groep, fase f7 de overeenkomstige data-eenheid, in dit geval 4^ weer op het eerste adres m1 neergezet volgens de modulo-16-adresgenerator. Ofschoon de bezetting niet optimaal is ten aanzien van de grootte van het geheugen, is het voordeel hiervan gelegen in de eenvoudige adressering ingeval het aantal benutte locaties een macht is van twee. In digitale rekencircuits is eenvoudiger met machten van twee te werken dan met andere getallen.
DATABEZETTING, DERDE VOORBEELD
In figuur 3 is een derde voorbeeld gegeven van een databezetting in een geheugen met een aantal geheugenlocaties groter dan strikt noodzakelijk. Ook hier correspondeert de gebruikte notatie met die van de voorafgaande figuren. De onderlinge adresafstanden zijn nu elk numeriek gelijk aan de betreffende buffertijden plus een constante offset, in dit voorbeeld gelijk aan één adresafstand-eenheid voor alle buffertijden. De adresafstand tussen twee actuele opeenvolgende adressen (bijvoorbeeld in fase f2 adressen m6 en 10) is nu groter dan de daarmee geassocieerde buffertijd (ter grootte van drie fasen voor data-eenheid 3" in dit voorbeeld). Bijgevolg treedt tussen het voor de laatste maal uitlezen van een adres en het schrijven op datzelfde adres een loze fase op (voor geheugenlocatie m10 is fase f5 een loze fase).
Dit schept de mogelijkheid om leesoperaties en schrijfoperaties met betrekking tot eenzelfde geheugenlocatie over verscheidene fases te spreiden, zodat bijvoorbeeld met eenvoudigere of langzamere besturingen kan worden volstaan. In de voorafgaande figuren zijn de lengtes van de buffertijden enkel bij wijze van voorbeeld aaneensluitend gekozen. Het zal duidelijk zijn dat met andere keuzes voor de buffertijden soortgelijke bezettingen van het geheugen zijn te realiseren. Evenzo zijn de offsets, geassocieerd met elk van de adressen in figuur 3, onderling gelijk gekozen bij wijze van voorbeeld. Het staat de gebruiker vrij om onderling verschillende offsets te kiezen. De offsets zouden bijvoorbeeld zodanig kunnen worden gekozen, dat per fase een schrijfoperatie of een leesoperatie alleen hetzij even, hetzij oneven adressen betreft. Door per fase een subgroep van de adressen met een voorafbepaalde eigenschap (bijvoorbeeld even/oneven) aan te spreken, kan het geheugen bijvoorbeeld eenvoudiger, kleiner of sneller worden uitgevoerd, bijvoorbeeld met een leesversterker gemeenschappelijk voor een even en een oneven kolom in een geïntegreerd geheugencircuit.
Evenzo kan met de offsets de spreiding in de bezetting van de geheugenlocaties worden geregeld.
ADRESGENERATOR, EERSTE VOORBEELD
In figuur 4 is een eerste voorbeeld gegeven voor een adresgenerator geschikt voor gebruik in een inrichting volgens de uitvinding met N geheugenlocaties. De adresgenerator 30 selecteert per fase de geheugenadressen voor de geheugenlocaties 36 met onderlinge afstanden indicatief voor de betreffende buffertijden. De adresreeksen gegenereerd ten behoeve van twee opeenvolgende fasen verschillen onderling een adresafstand-eenheid.
De onderlinge adresafstanden in een reeks worden bepaald door de afstand-generator 40. Afstand-generator 40 omvat een geheugen 42, bijvoorbeeld een ROM, waarin op opeenvolgende adressen, hierna te noemen R0M-adressen, de adressen voor geselecteerde geheugenlocaties 36, hierna te noemen RAM-adressen, zijn opgeslagen ten behoeve van een RAM-adresreferentiereeks. Met behulp van selectieschakeling 44 worden de ROM-adressen achtereenvolgend aangesproken. Daartoe bevat selectieschakeling 44 bijvoorbeeld een register 46, dat via een incrementeer-eenheid 48 cyclisch de ROM-adressen aanspreekt. De uitgang van afstand-generator 40 is gekoppeld met een ingang van een modulo-N-opteller 50.
De andere ingang van modulo-N-opteller 50 is gekoppeld met de uitgang van de sprong-generator 52, die ten behoeve van elke volgende reeks de verschuiving over één adresafstand-eenheid genereert en modulo het aantal benutte geheugenlocaties rekent. Sprong-generator 52 omvat daartoe bijvoorbeeld een register 54 waarvan een uitgang via een incrementeer-eenheid 56 is teruggekoppeld. Per fase wordt aldus een stapgrootte gegenereerd die in modulo-N-opteller 50 bij de adreswaarden uit ROM 42 wordt opgeteld. De referentiewaarde wordt modulo N berekend. Aldus wordt met behulp van de referentiereeks en de stapgrootte een actuele RAM-adresreeks gegenereerd.
ADRESGENERATOR, TWEEDE VOORBEELD
In figuur 5 is een tweede voorbeeld gegeven van een adresgenerator geschikt voor gebruik in een inrichting volgens de uitvinding met N geheugenlocaties.
De adresgenerator omvat een geheugen 60, bijvoorbeeld een ROM, waarin op achtereenvolgende ROM-adressen de RAM-adressen zijn opgeslagen van een referentiereeks voor de N geheugenlocaties 62. De adresgenerator omvat verder een programmeerbare modulo-N-opteller 64, die voor de berekening van de ROM-adressen de RAM-adressen, en voor de berekening van de stapgrootte van volgende RAM-adres-reeksen ten opzichte van de referentiereeks wordt gebruikt, analoog aan de berekeningen volgens de adresgenerator van figuur 4. De voordelen van deze op zich bekende schakeling zijn gelegen in de besparing van chip-oppervlak van een implementatie in de vorm van een geïntegreerde schakeling, doordat eenzelfde schakeling voor verscheidene operaties wordt gebruikt.
De programmeerbare modulo-N-opteller 64 is ingangszijdig gekoppeld met een drietal registers 66, 68 en 70. Onder besturing van een eerste stuursignaal op stuurbus 72 wordt bij de inhoud van register 70 een eerste increment opgeteld en deze som weer gebufferd in register 70. De inhoud representeert de actuele stapgrootte zoals is besproken aan de hand van figuur 4. Onder besturing van een tweede stuursignaal op stuurbus 72 wordt door opteller 64 een tweede increment opgeteld bij de inhoud van register 66. Deze som representeert het actuele ROM-adres voor aanspreken van ROM 60, waarin de referentiereeks is opgeslagen, zoals eerder is beschreven aan de hand van figuur 4. Bij aanspreken van ROM 60 met de betreffende som als ROM-adres wordt de inhoud van dit ROM-adres in register 68 geladen. Onder besturing van een derde stuursignaal op stuurbus 72 worden de inhoud van register 68 (dit is het referentie-adres) en de inhoud van register 70 (dit is de actuele stapgrootte) bij elkaar opgeteld. Het resultaat representeert een actueel RAM-adres voor selectie van één van de geheugenlocaties van geheugen 62.
ADRESGENERATOR, DERDE VOORBEELD
In figuur 6 is een derde voorbeeld gegeven van een adresgenerator geschikt voor een inrichting volgens de uitvinding. De adresgenerator is uitgevoerd als een op zich bekende cascade van optellers. Getoond is een cascade met twee trappen 90 en 92. Bij de vorige uitvoeringsvoorbeelden zijn ten behoeve van de referentiereeks de betreffende adressen voor de geheugenlocaties van RAM 94 opgeslagen in een afzonderlijk ROM-geheugen. In dit voorbeeld worden alle RAM-adressen berekend door de adresgenerator.
De eerste trap 90 omvat een register 94 waarvan de uitgang via een optelschakeling 96 naar de ingang is gekoppeld. Optelschakeling telt bij bij de voorgaande registerinhoud een eerste constante c^ op en levert deze som als nieuwe registerinhoud.
De tweede trap 92 omvat een register 98 dat over een optelschakeling 100 is teruggekoppeld. Optelschakeling 100 telt bij een voorafgaande registerinhoud van register 98 de actuele registerinhoud van register 94 plus een tweede constante C2 op. De nieuwe registerinhoud van register 98 representeert dan een adres voor selectie van de geheugenlocaties 102.
FORMULES VOOR UITLEG VAN ADFESGENERATOR UIT FIGUUR 6
De werking van het voorbeeld uit figuur 6 zal worden verduidelijkt aan de hand van de formules in figuur 7. Formule (i) geeft de recursieve betrekking die geldt voor de uitgangsgrootheid a^ van trap 90 voor de k-de iteratie. Formule (ii) representeert de uitgangsgrootheid bk van trap 92 eveneens voor de k-de iteratie. Het is eenvoudig na te gaan dat door formule (iii) de uitgangsgrootheid a^ gegeven wordt, uitgedrukt in het aantal iteraties k, de beginstand aQ in register 94 en de eerste constante c^. Door het verschil van twee partiële sommen te vormen met betrekking tot b^ zoals in formule (iv) is eveneens een eenvoudige uitdrukking (v) af te leiden voor uitgangsgrootheid b^ in afhankelijkheid van het aantal iteraties k, de beginwaarden a0 en bQ voor registers 94 en 98, en van de constantes c1 en C2*
In afhankelijkheid van de waarden voor de parameters ao' ^o' C1 en c2f as een wül^eurige tweede-graads-functie van k te creëren. Door de cascade met nog meer trappen zoals 92 uit te breiden, zijn hogere-graads-functies van k te maken.
Eenvoudig is na te gaan dat met de keuze: aQ=0, bQ=1, c^=1 en C2=2 de adressen voor de begin-reeks in fase fQ in het diagram van figuur 3 zijn te genereren. Door op het eind van elke fase de registerinhoud van 94 op 0 en de registerinhoud van register 98 op bQ+1 terug te zetten, en voorts bij het bepalen van b^ modulo N te rekenen, zijn de volgende gewenste geheugenadressen voor RAM 102 te genereren. Een verdere mogelijkheid zou zijn om op het eind van elke fase de registerinhouden van registers 94 en 98 op aQ, respectievelijk bQ te zetten en bij uitkomst b^ een getal 1 op te tellen in een modulo-N-teller.

Claims (9)

1. Inrichting met geheugenlocaties voor het bufferen van in achtereenvolgende fasen aangeboden groepen data-eenheden voor de duur van zich met elke groep herhalende buffertijden, gekenmerkt, doordat de inrichting een modulo-adresgenerator omvat voor het ten behoeve van elke groep genereren van een reeks adressen voor selectie van de geheugenlocaties, waarbij respectievelijke logische adresafstanden tussen opeenvolgende adressen in de betreffende reeks indicatief zijn voor de respectievelijke buffertijden, en waarbij de adressen in twee opeenvolgende reeksen een adresafstand-eenheid ten opzichte van elkaar zijn verschoven.
2. Inrichting volgens conclusie 1, gekenmerkt, doordat op basis van een actueel adres eerst een leesoperatie en dan een schrijfoperatie uitvoerbaar is.
3. Inrichting volgens conclusie 1, gekenmerkt, doordat elke buffertijd een betreffend eerste aantal van de opeenvolgende fasen bedraagt, en de met de betreffende buffertijd geassocieerde adresafstand een respectievelijk tweede aantal adresafstand-eenheden bedraagt, waarbij het eerste aantal gelijk is aan het tweede aantal.
4. Inrichting volgens conclusie 1, gekenmerkt, doordat elke buffertijd een betreffend eerste aantal van de opeenvolgende fasen bedraagt, en de met de betreffende buffertijd geassocieerde adresafstand een respectievelijk tweede aantal adresafstand-eenheden bedraagt, waarbij het tweede aantal gelijk is aan de som van het betreffende eerste aantal en een respectievelijke offset.
5. Inrichting volgens conclusie 1, 3 of 4, gekenmerkt, doordat een verder aantal geheugenlocaties voor het bufferen van de groepen data-eenheden gelijk is aan een gehele macht van twee.
6. Inrichting volgens conclusie 1 of 5, gekenmerkt, doordat de adresgenerator omvat: - een referentie-adresgenerator voor het genereren van een cyclische serie referentie-adressen; - een incrementeer-eenheid voor het per volgende serie afgeven van een met een éénheidsstap geincrementeerde stapgrootte; - een optelIer voor het optellen van een actueel referentie-adres en een actuele stapgrootte en afgifte van een actueel adres.
7. Inrichting volgens conclusie 1 of 5, gekenmerkt, doordat de adresgenerator omvat: - een eerste incrementeer-eenheid voor het genereren van een eerste actueel getal door sommeren van een voorafgaand eerste getal en een eerste constante; - minstens een tweede incrementeer-eenheid voor het genereren van een tweede actueel getal door telkens sommeren van een voorafgaand tweede getal, een actueel eerste getal en een tweede constante.
8. Inrichting volgens conclusie 1 of 5, gekenmerkt, doordat de adresgenerator omvat: - een referentiegeheugen voor opslag van een serie referentie-adressen; - een eerste register en een tweede register; - een programmeerbare optelIer voor het uitvoeren van de volgende stappen: . onder besturing van een eerste signaal optellen van een eerste increment bij een inhoud van het eerste register en bufferen van een resulterende eerste som in het eerste register; . onder besturing van een tweede signaal optellen van een tweede increment bij een inhoud van het tweede register en bufferen van een resulterende tweede som in het tweede register; . onder besturing van een derde signaal ophalen van een referentie-inhoud uit een locatie van het referentiegeheugen, aangewezen door de actuele inhoud van het tweede register, en vervolgens optellen van de actuele referentie-inhoud bij de actuele inhoud van het eerste register voor het genereren van een actueel adres.
9. CD-speler omvattende een inrichting volgens één der voorgaande conclusies.
NL8901631A 1989-06-28 1989-06-28 Inrichting voor het bufferen van data voor de duur van cyclisch repeterende buffertijden. NL8901631A (nl)

Priority Applications (6)

Application Number Priority Date Filing Date Title
NL8901631A NL8901631A (nl) 1989-06-28 1989-06-28 Inrichting voor het bufferen van data voor de duur van cyclisch repeterende buffertijden.
US07/527,997 US5276827A (en) 1989-06-28 1990-05-22 Data buffer for the duration of cyclically recurrent buffer periods
KR1019900009378A KR100196599B1 (ko) 1989-06-28 1990-06-25 데이터 단위 군의 버퍼링을 위한 장치
EP90201649A EP0405673B1 (en) 1989-06-28 1990-06-25 Device for buffering data for the duration of cyclically recurrent buffer periods
DE69017767T DE69017767T2 (de) 1989-06-28 1990-06-25 Anordnung zum Zwischenspeichern von Daten für die Dauer sich zyklisch wiederholender Zwischenspeicherzeiten.
JP2168615A JP3064338B2 (ja) 1989-06-28 1990-06-28 データ単位群のバッファ装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
NL8901631A NL8901631A (nl) 1989-06-28 1989-06-28 Inrichting voor het bufferen van data voor de duur van cyclisch repeterende buffertijden.
NL8901631 1989-06-28

Publications (1)

Publication Number Publication Date
NL8901631A true NL8901631A (nl) 1991-01-16

Family

ID=19854917

Family Applications (1)

Application Number Title Priority Date Filing Date
NL8901631A NL8901631A (nl) 1989-06-28 1989-06-28 Inrichting voor het bufferen van data voor de duur van cyclisch repeterende buffertijden.

Country Status (6)

Country Link
US (1) US5276827A (nl)
EP (1) EP0405673B1 (nl)
JP (1) JP3064338B2 (nl)
KR (1) KR100196599B1 (nl)
DE (1) DE69017767T2 (nl)
NL (1) NL8901631A (nl)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5463749A (en) * 1993-01-13 1995-10-31 Dsp Semiconductors Ltd Simplified cyclical buffer
KR950009386B1 (ko) * 1993-04-21 1995-08-21 삼성전자주식회사 어드레스 생성회로
FR2713845B1 (fr) * 1993-12-07 1996-01-19 Thomson Consumer Electronics Procédé d'entrelacement et de désentrelacement en bloc et dispositif de mise en Óoeuvre.
US5572532A (en) * 1993-12-29 1996-11-05 Zenith Electronics Corp. Convolutional interleaver and deinterleaver
WO1996020536A1 (en) 1994-12-23 1996-07-04 Philips Electronics N.V. Interleaving with low-speed memory
US5765219A (en) * 1995-02-23 1998-06-09 Sony Corporation Apparatus and method for incrementally accessing a system memory
JPH10505451A (ja) * 1995-06-29 1998-05-26 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ リアルタイムファイルをインターリーブする方法及び装置
KR100186627B1 (ko) * 1996-09-21 1999-05-15 삼성전자 주식회사 베이스 밴드 인터리버
WO1998021832A1 (en) * 1996-11-11 1998-05-22 Philips Electronics N.V. A receiver, de-interleaving means and a method for a reduced time de-interleaving memory
KR100236536B1 (ko) * 1997-01-10 1999-12-15 윤종용 모듈로 주소발생기 및 그 방법
US5983333A (en) * 1997-08-27 1999-11-09 Lucent Technologies Inc. High speed module address generator
US6047364A (en) * 1997-08-27 2000-04-04 Lucent Technologies Inc. True modulo addressing generator
US6049858A (en) * 1997-08-27 2000-04-11 Lucent Technologies Inc. Modulo address generator with precomputed comparison and correction terms
JP3399904B2 (ja) * 2000-03-17 2003-04-28 松下電器産業株式会社 インタリーブアドレス生成装置
KR100833880B1 (ko) * 2001-11-06 2008-06-02 엘지전자 주식회사 유자 형상의 스캔을 이용한 광디스크 데이터기록장치/방법 및 재생장치/방법
US7774676B2 (en) * 2005-06-16 2010-08-10 Mediatek Inc. Methods and apparatuses for generating error correction codes
US7430701B2 (en) * 2005-06-16 2008-09-30 Mediatek Incorporation Methods and systems for generating error correction codes
US20070067702A1 (en) * 2005-09-05 2007-03-22 Kuo-Lung Chien Method and apparatus for syndrome generation

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4281355A (en) * 1978-02-01 1981-07-28 Matsushita Electric Industrial Co., Ltd. Digital audio signal recorder
JPS5538617A (en) * 1978-09-04 1980-03-18 Matsushita Electric Ind Co Ltd Pcm recording and reproducing device
US4333160A (en) * 1978-11-20 1982-06-01 Victor Company Of Japan, Ltd. Memory control system
JPS574629A (en) * 1980-05-21 1982-01-11 Sony Corp Data transmitting method capable of correction of error
JPS58198935A (ja) * 1982-05-15 1983-11-19 Sony Corp デ−タ伝送方法
JPS59198513A (ja) * 1983-04-26 1984-11-10 Nec Corp デイジタル信号処理装置
JPS60217565A (ja) * 1984-04-12 1985-10-31 Ricoh Co Ltd インタリ−ブ回路
KR930009534B1 (ko) * 1984-07-21 1993-10-06 소니 가부시끼가이샤 광 카드의 기록 재생장치
JPS61154227A (ja) * 1984-12-26 1986-07-12 Mitsubishi Electric Corp 2段符号化方法
JPS6356022A (ja) * 1986-08-26 1988-03-10 Victor Co Of Japan Ltd デイジタル記録再生装置
JP2829963B2 (ja) * 1988-05-16 1998-12-02 ソニー株式会社 ディジタルデータ記録/再生装置

Also Published As

Publication number Publication date
EP0405673B1 (en) 1995-03-15
JP3064338B2 (ja) 2000-07-12
JPH0338125A (ja) 1991-02-19
KR910001546A (ko) 1991-01-31
EP0405673A1 (en) 1991-01-02
DE69017767T2 (de) 1995-10-12
US5276827A (en) 1994-01-04
KR100196599B1 (ko) 1999-06-15
DE69017767D1 (de) 1995-04-20

Similar Documents

Publication Publication Date Title
NL8901631A (nl) Inrichting voor het bufferen van data voor de duur van cyclisch repeterende buffertijden.
KR970702520A (ko) 순열 유닛이 포함된 회로 및 아이템 군 처리방법(Circuit arrangement comprising a permutation unit and method of processing a batch of items)
US6353910B1 (en) Method and apparatus for implementing error correction coding (ECC) in a dynamic random access memory utilizing vertical ECC storage
EP0003182B1 (en) Method of and apparatus for enabling different parts of an input television signal to be made available simultaneously,and television standards converter incorporating said apparatus
US5938763A (en) System for transposing data from column order to row order
US5274469A (en) Sample rate converter circuit for image data
EP0113032A2 (en) An apparatus for performing hashing operations using galois field multiplication
JP3361812B2 (ja) ブロック毎のインターリービング及びデインターリービング処理及び装置
EP1105967A1 (en) Multiplierless digital filtering
KR100233284B1 (ko) 어드레스 발생장치
US6516402B2 (en) Information processing apparatus with parallel accumulation capability
US5548752A (en) Method and system for storing data in a memory device
US20040225861A1 (en) Method and circuit for generating memory addresses for a memory buffer
JPH0767063B2 (ja) デジタル信号処理回路
US5291457A (en) Sequentially accessible non-volatile circuit for storing data
NL8800801A (nl) Data-verwerkend systeem met cyclische data-buffering, selektiemiddelen voor het selekteren van geheugenadressen, geschikt voor toepassing in een dergelijk systeem.
NL8500526A (nl) Werkwijze voor het als vertragingslijn adresseren van een geheugen met willekeurige toegankelijkheid en signaalverwerkingsinrichting voorzien van zo een vertragingslijn.
US6714606B1 (en) Integrated services digital broadcasting deinterleaver architecture
US5945657A (en) Constant divider
JP3257811B2 (ja) シンドローム生成回路
JP2827978B2 (ja) インターリーブ装置
JP3252421B2 (ja) ユークリッドの互除回路
SU1153320A1 (ru) Устройство дл воспроизведени функций табличным методом
CN106603085A (zh) 生成多项式的生成方法、其装置、编码器、控制器及电子设备
JP3134398B2 (ja) 可変長符号化回路

Legal Events

Date Code Title Description
A1B A search report has been drawn up
BV The patent application has lapsed