CZ290716B6 - Počítačový systém s více médii - Google Patents

Počítačový systém s více médii Download PDF

Info

Publication number
CZ290716B6
CZ290716B6 CZ1994549A CZ54994A CZ290716B6 CZ 290716 B6 CZ290716 B6 CZ 290716B6 CZ 1994549 A CZ1994549 A CZ 1994549A CZ 54994 A CZ54994 A CZ 54994A CZ 290716 B6 CZ290716 B6 CZ 290716B6
Authority
CZ
Czechia
Prior art keywords
digital signal
dsp
signal processor
dma
data
Prior art date
Application number
CZ1994549A
Other languages
English (en)
Other versions
CZ9400549A3 (cs
Inventor
Donald Edward Carmon
William George Crouse
Malcolm Scott Ware
Original Assignee
International Business Machines Corporation
Ibm Deutschland Gmbh
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 International Business Machines Corporation, Ibm Deutschland Gmbh filed Critical International Business Machines Corporation
Publication of CZ9400549A3 publication Critical patent/CZ9400549A3/cs
Publication of CZ290716B6 publication Critical patent/CZ290716B6/cs

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Bus Control (AREA)
  • Multi Processors (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Computer And Data Communications (AREA)
  • Hardware Redundancy (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Complex Calculations (AREA)
  • Selective Calling Equipment (AREA)
  • Communication Control (AREA)

Abstract

Hlavn po ta pro u ivatelsk ·lohy s v ce m dii je propojen s vysoce rychl²m procesorem slicov²ch sign l , kter² prov d pomocn funkce pro hlavn po ta p°es ovl da sb rnice s p° m²m p° stupem do pam ti a ° dic jednotku interprocesoru. Prov d n po adavk ·loh sou asn ho dynamick ho zpracov n v trval m re ln m ase se prov d um st n m po adavk ·loh zpracov n procesoru sign l z hlavn ho procesoru ° dic jednotkou s p° m²m p° stupem do pam ti interprocesoru do procesoru sign l a jeho opera n ho syst mu. Procesor sign l vytv ° seznamy prov d n po adavk p°enosu dat v rozd len °ad v jeho vlastn pam ti a prov d vnit°n ·lohy procesoru sign l zaveden u ivatelem na hlavn m syst mu vyta en m dat vzorku sign lu z p°ich zej c ch paket dat p°iveden²ch ° dic jednotkou s p° m²m p° stupem do pam ti interprocesoru odezvou na jejich prov d n °ad po adavk p°enosu paket s p° m²m p° stupem do pam ti vytvo°en²ch procesorem sign l v rozd len °ad . Hodnoty zpracovan ho sign lu atd. se vyb raj z pam ti procesoru sign l ° dic jednotkou s p° m²m p° stupem do pam ti interprocesoru prov d j c seznamy po adavk rozd len ho paketu a jsou p°ed v ny hlavn mu procesoru. Je tud umo n n velmi velk² po et p°enos paket pro podporu etn²ch u ivatelsk²ch ·loh a implementace velk ho po tu kan l s p° m²m p° stupem do pam ti p°i zamezen pot°eby rozhodov n mezi kan ly na stran procesoru sign l nebo hlavn ho procesoru.\

Description

Počítačový systém s více médii
Oblast techniky
Vynález se týká obecně počítačových systémů s procesory' signálů a s řízením přímého přístupu do paměti a podrobněji se týká dynamických požadavků zpracování signálů souběžných úloh v trvalém reálném čase společně prováděných v počítačových systémech s více médii.
Dosavadní stav techniky
Procesory signálů jsou dobře známé součásti v četných v současnosti dostupných počítačových systémech. Specializované procesory číslicových signálů (DSP) jsou komerčně dostupné od množství výrobců a používají se pro vysoce rychlé interativní provádění algoritmů užívaných pro filtraci číslicových signálů, rozpoznávání řeči nebo systému řeči, řízení servomechanizmů, vyvíjení kódované řeči, vyvíjení vzorkovaného hi-fi zvuku a hudby kompaktních disků, funkce modulace a demodulace modemových dat, kódovací a dekódovací funkce vysílání faksimilních dat, funkce zhuštění a zobrazení na displeji barevných a černobílých obrazoxých dat, funkce zpracování pohybu video a přeměnu nebo kódování protokolu dat, opravy chy b nebo podobné funkce. Ve skutečnosti jsou navrhované seznamy použití procesorů číslicových signálů pro vysoce rychlé opakované provádění takových algoritmů jako Fourierova transformace atd. na vysoce rychlých proudech vzorků číslicových analogových signálů v průmyslu velmi rozšířeny.
Zvláště výhodná architektura procesoru signálů je známá z patentového spisu Spojených států amerických 4 794 517 uděleného přihlašovateli předložené přihlášky vynálezu. Za zmíněného patentového spisu je možno poznat stavbu a použití procesorů číslicových signálů. Odborníkům školeným v oboru je však zřejmé, že zmíněná architektura procesoru signálů je pouze jedna z mnohých, které jsou dostupné na trhu. Kromě toho se aplikace procesorů číslicových signálů množí geometrickou řadou, zejména v rostoucí oblasti tak zvaných počítačových systémů s více médii. V takových systémech může uživatel žádat současné provádění četných funkcí jako je kódování řeči pro vysílání, pohyb video, vysílání a příjem modemu nebo reprodukce pozadí CD hudby jako příkladů několika audiovizuálních aplikací nebo aplikací s více médii. Tyto aplikace mohou být prováděny na typickém hlavním systému jako je některý' počítač IBM Osobní Systém/2 nebo některý z množství podobných dostupných počítačových systémů pro souběžné úlohy, které se v současnosti běžně prodávají.
V takových systémech svíce médii se úlohy zpracování signálů obvykle přenášejí s přímým přístupem do paměti (DMA) do specializovaného vysoce rychlého procesoru číslicových signálů. Nicméně, jak roste rychlost a kapacita pamětí procesorů, i samotné procesory číslicových signálů mohou provádět uživatelské úlohy, jak bude vysvětleno dále. V takovém systému by vskutku mohla být funkce přímého přístupu do paměti prováděna procesorem číslicových signálů. Je-li požadován pouze malý počet kanálů s přímým přístupem do paměti, může řídicí jednotka s přímým přístupem do paměti dovolit procesoru signálů a hlavnímu procesoru obsluhovat jeden nebo několik přístrojů technických prostředků. Nicméně když hlavní procesor je jediný určen pro souběžné úlohy a existuje velké množství vstupních a výstupních přístrojů, opatření i malého počtu kanálů s přímým přístupem do paměti mezi hlavním procesorem pro souběžné úlohy a pomocným procesorem číslicových signálů se může stát úzkým profilem, který je nepřekonatelný když prostředek s přímým přístupem do paměti je současně sdílen všemi činnými vstupními a výstupními přístroji a rozličnými souvislostmi provádění úloh, které jsou v běhu.
Uvažujme typické prostředí s více médii, které může obsahovat četné vzorky hi-fi audiosignálu pracovávané s použitím nezávislých tabulek hlavní paměti audiovzorků a množství řídicích tabulek paměti a energie a obálek délky uložených v paměti, a je zde systém vyžadující zajištění více než sta oddělených kanálů s přímým přístupem do paměti v časovém úseku kratším než
- 1 CZ 290716 B6 jedna milisekunda. Při šestnácti hi-fístereofonních kanálech audiosignálu vyžaduje každý audiokanál přenos 88 200 bytů vzorku za 1 sekundu. V tak krátkém čase je možné seznat, že 100 kanálů s přímým přístupem do paměti vyžaduje 100 000 transakcí bloků za 1 sekundu, přičemž každý blok má svůj vlastní jediný zdroj a adresu určení a délku přenosu bloku. Při použití obvyklého přístroje s přímým přístupem do paměti by systémový procesor jako procesor číslicových signálů měl být přerušen pro přenos nových dat pro provedení požadovaných operací průměrně vždy po každých 10 mikrosekundách. Pro provedení každého přenosu by bylo nutné více strojových cyklů a systém by se brzy stal neschopným činnosti, protože žádný zdroj procesoru by nebyl schopný provádět úlohu zpracování aktuálního signálu přídavně k úlohám nutným pro řízení přímého přístupu do paměti.
Přídavně k typickým audioaplikacím se mohou provádět jiné hlavní úlohy, které vyžadují komunikaci mezi procesorem číslicových signálů a hlavním procesorem zatímco audiosignály jsou „přehrávány“. Příkladem může být pohyb obrazových dat fakcimilního modemu do nebo z paměti systému hlavního počítače ve spojení s „přehráváním“ audiohudby, řeči nebo pozadí. Přídavně může probíhat poloha rozpoznávání řeči, která vyžaduje pohyb šablon řeči z a do paměti hlavního systému do paměti procesoru signálů pro účely přizpůsobení a potom zpětný zápis rozlišitelných jednotek rozpoznávání řeči když byly rozpoznány. Také může být prováděna funkce syntézy řeči s výtahem fonémových dat ze systémové paměti zatímco může být prováděno počítačem podporované užití displeje, při kterém procesor signálů musí otáčet třírozměrným objektem nalezeným ve vyrovnávací paměti stínítka, což vyžaduje četné složité interační výpočty. Důsledkem je možnost potřeby velmi velkého počtu účinných kanálů s přímým přístupem do paměti ve složitém multiprocesoru a prostředí souběžných úloh prováděných procesorem signálů.
Jsou známé vícenásobné čipové řídicí jednotky s přímým přístupem do paměti, jako je ona popsaná a znázorněná v patentovém spisu Spojených států amerických 4 8312 523. Takové přístroje pracují jako periferní řídicí jednotky a jsou navrženy pro připojení pevného počtu, v daném případě čtyř fyzických periferních přístrojů k systémové sběrnici. Fyzické přístroje nejsou přizpůsobeny procesům souběžných úloh, které vyžadují vzorky signálů zpracované v trvalém reálném čase ke provádění procesů úloh, které vyžaduje uživatel. Čtyři fyzické periferní přístroje představují mez přibližně osmi logických kanálů s přímým přístupem do paměti a ve zmíněném patentovém spisu nejsou přístroje provozovány v pevném časovém úseku, protože jsou obsluhovány cyklicky a jeden přístroj může potřebovat nezávisle dlouhý čas pro dokončení své činnosti, tudíž potlačí schopnost jiného přístroje pracujícího v reálném čase dokončit svou činnost v pevném časovém úseku.
Mechanismus sdílení kanálu s přímým přístupem do paměti je popsán v časopisu IBM Technical Disclosure Bulletin, Sv. 30, č. 7, prosinec 1987, str. 369 a 370. Nicméně popsaný mechanismus vyžaduje vstupní a výstupní přístroj technických prostředků, kteiý může být dynamicky přeřazován, je zřejmé, že tento mechanismus představuje pouze programový prostředek, který dynamicky přiřazuje malý počet kanálů technických prostředků s přímým přístupem do paměti pro dotazování vnějších přístrojů technických prostředků umožňujících sdílení kanálů s přímým přístupem do paměti. Není zde deterministická informace o délce, počtu nebo časovém úseku, ve kterém může být povoleno provedení služby pro jakékoli požadavky a nejsou dány žádné podrobnosti, jak může přístroj technických prostředků vytvořit takový požadavek. Znázorněný systém není přirozený systém reálného času, to znamená, že žádané úlohy, jejichž vzorky signálů mají být zpracovány a vydány, nejsou zpracovávány během přesných a opakovaných časových úseků, jako CD systém reprodukce hudby s 88 200 byty informacemi za 1 sekundu, které mají být přeneseny, zpracovány a zpracované signály mají být přeneseny zpět pro použití v požadované úloze.
Patentový spis Spojených států amerických 4 807 121 znázorňuje periferní systém rozhraní mající vstupní a výstupní procesor připojený ke čtyřem multiplexním jednotkám, kde každá taková jednotka tvoří rozhraní až pro čtyři řídicí jednotky. Vstupní a výstupní procesor má kanál
-2CZ 290716 B6 s přímým přístupem do paměti, který přijímá multiplexovaná sériová data z multiplexorů. Data se přenášejí mezi vstupním a výstupním procesorem a některou řídicí jednotkou plněním ukládací oblasti ve vyrovnávací paměti z místní paměti vstupního a výstupního procesoru v sériovém tvaru přes kanál s přímým přístupem do paměti. Je zajištěn pouze jeden kanál a multiplexní schéma dovoluje jeho využití. Skupiny dat jsou přenášeny ze řídicí jednotky do multiplexoru na bázi časových poloh a z ukládací oblasti multiplexoru do paměti v sériovém tvaru. Nicméně není zde žádný údaj, že tento systém má nějaký prostředek pro splnění dynamického požadavku činnosti v trvalém reálném čase daného aplikačními úlohami zmíněného typu probíhajícími souběžně.
Na základě výše uvedených obtíží dosavadního stavu techniky je úkolem předloženého vynálezu vytvořit účinný počítačový systém s více médii a s mechanismem přenosu dat pro provádění operací v trvalém reálném čase v souběžných úlohách ve hlavním procesoru.
Podstata vynálezu
Vyřešení zmíněných úkolů je provedeno v přednostním provedení vynálezu přivedením požadavků úloh do procesoru signálů z hlavního procesoru, analýzou převedených požadavků úloh a vytvoření seznamu požadavků přenosu paketů v rozdělené řadě v paměti, provedením přístupu k rozdělené řadě řídicí jednotkou s přímým přístupem do paměti interprocesoru a přenosem nutných vzorků signálu dat do nebo z procesoru číslicových signálů přes mechanismus přímého přístupu do paměti během pevného minimálního předepsaného časového úseku. Seznamy požadavků přenosu paketů dat jsou provedeny procesorem číslicových signálů ve formě řídicích paketů s přímým přístupem do paměti pro toto provedení.
Každý požadavek paketu obsahuje více slov řídicí informace a adresu zdroje a adresu určení pro přenos vzorků dat. Jedna adresa je příslušná adresa systémové paměti, která bude obsahovat nebo přijme data nebo vzorky procesu. Druhá adresa je příslušná místní instrukce procesoru číslicových signálů nebo adresa paměti dat do nebo ze které budou psány nebo čteny vzorky prvotního signálu nebo vzorky zpracovaného signálu. Řídicí informace obsažené v paketech obsahuje určitý počet bitů dat nebo instrukce, které představují délku přemisťovaného bloku dat a směr přemístění, tj. zdali má informace jít do nebo z procesoru číslicových signálů. Seznam paketů s přímým přístupem do paměti vytvořený operačním systémem procesoru číslicových signálů se udržuje v datové paměti procesoru číslicových signálů a je k němu postupně vytvářen přístup a provádění řídicí jednotkou technických prostředků s přímým přístupem do paměti připojenou ke sběrnicím procesoru číslicových signálů a sběrnicím hlavního procesoru. Procesor s přímým přístupem do paměti přistupuje a zpracovává celý obsah jednoho oddílu v rozděleném seznamu požadavků paketů v pravidelných časových úsecích, které jsou vztaženy k maximálnímu požadavku určité možné zvolené uživatelské úlohy prováděné ve hlavním procesoru. Například pro zajištění zpracování číslicového vzorku hudby pro audiopřehrávání ze stereofonních CD disků musí do procesoru signálů být posláno 88 200 16-bitových vzorků, zpracováno a posláno do číslicově analogového převodníku nebo do hlavního procesoru na pravidelné periodické bázi během každé sekundy.
Podle dalšího provedení předloženého vynálezu je každý z požadavků přenosu dat s přímým přístupem do paměti zajištěn druhým procesorem číslicových signálů DSP. Pole v uvedeném stavu určují paměť, zdrojové a cílové adresy, směr přenosu, počet jednotek dat, které mají být přeneseny, a operační indikátory řízení, jakož i konec indikátoru požadavku.
Podle dalšího provedení vynálezu je vytvořena řídicí jednotka DMA/IO vstupu a výstupu s přímým přístupem do paměti interprocesoru pro řízení přenosu dat mezi prvním procesorem číslicových signálů DP a druhým procesorem číslicových signálů DSP. Datové a adresové
-3 CZ 290716 B6 sběrnice propojují řídicí jednotku DMA/IO vstupu a výstupu s přímým přístupem do paměti s prvním procesorem číslicových signálů DP a druhým procesorem číslicových signálů DSP.
Podle dalšího provedení vynálezu provádí řídicí jednotka DMA/IO vstupu a výstupu s přímým 5 přístupem do paměti interprocesoru přenos dat mezi prvním procesorem číslicových signálů DP a druhým procesorem číslicových signálů DSP přístupem k rozdělené frontě a řízením přenosu dat v souhlasu s poli specifikujícími data v uvedených požadavcích.
Podle dalšího provedení vynálezu druhý procesor číslicových signálů DSP vytváří část fronty 10 a ukládá požadavky přenosu dat řídicí jednotky DMA/IO vstupu a výstupu s přímým přístupem do paměti interprocesoru do ní během pravidelných časových intervalů, během kterých řídicí jednotka DMA/IO vstupu a výstupu s přímým přístupem do paměti interprocesoru provádí přenosy dat na základě požadavků přenosu dat z jiné části fronty.
Podle dalšího provedení vynálezu je vytvořen prostředek pro odhad požadavku zdroje zpracování signálu druhého procesoru číslicových signálů DSP nutného pro podporu každého programu uživatelových úloh jeho volbou uživatelem. Odhad obsahuje určení požadavku přenosu maxima dat programu zvoleného uživatelem během určeného časového intervalu, maximum žádané rychlosti provádění a maximum velikosti paměti požadované druhým procesorem číslicových 20 signálů DSP.
Podle dalšího provedení vynálezu řídicí jednotka DMA/IO vstupu a výstupu s přímým přístupem do paměti interprocesoru obsahuje vyrovnávací paměť a provádí požadavky přenosu dat přístupem ke zdrojové adrese paměti, přenosem dat z ní do vyrovnávací paměti, přístupem 25 k adrese určení paměti a přenosem dat do ní z vyrovnávací paměti.
Dále je jako řešení shora popsaných problémů navržen způsob řízení činnosti počítačového systému s noha médii pro zajištění efektivních datových přenosů, majícího první procesor číslicových signálů DP, hlavní procesor, pro provádění programů uživatelských úloh a druhý 30 procesor číslicových signálů DSP pro provádění požadavků zpracování číslicových signálů v podporovaném provádění programů uživatelských úloh v prvním procesoru číslicových signálů DP. Navržený způsob obsahuje kroky:
určení 3, 6 (Obr. 6) celkového požadavku zdroje druhého procesoru číslicových signálů DSP pro podporu provádění jakéhokoli aktivního uživatelem zvoleného programu úkolu;
porovnání 3, 6, (Obr. 6) celkového požadavku zdroje druhého procesoru číslicových signálů DSP s maximální kapacitou zdroje druhého procesoru číslicových signálů DSP;
potlačení 4, (Obr. 6) provádění programu uživatelem zvoleného úkolu v prvním procesoru číslicových signálů DP, jestliže požadavek zdroje programu úkolu způsobuje, že celkový požadavek zdroje druhého procesoru číslicových signálů DSP přesahuje maximální dostupnou 40 kapacitu zdroje druhého procesoru číslicových signálů DSP;
vytvoření 3, (Obr. 1), odezvou na příjem požadavků o zpracování číslicových signálů u druhého procesoru číslicových signálů DSP, žádostí o přenos dat rozdělené fronty s přímým přístupem do paměti; a vložení dělicích znaků do fronty v pravidelných časových intervalech.
Podle dalšího provedení vynálezu způsob dále obsahuje krok přístupu k datům, která mají být přenesena do prvního procesoru číslicových signálů DP nebo do druhého procesoru číslicových signálů DSP. V dalším kroku jsou data přesunuta do vyrovnávací paměti. V následujícím kroku je proveden přístup do paměti prvního procesoru číslicových signálů DP nebo druhého procesoru 50 číslicových signálů DSP, kde jsou data, která mají být zapsána a poté je proveden přenos dat do paměti prvního procesoru číslicových signálů DP nebo druhého procesoru číslicových signálů DSP.
-4CZ 290716 B6
Podle dalšího provedení vynálezu způsob dále obsahuje krok provedení požadavků přenosu dat do části fronty v časovém intervalu, ve kterém druhý procesor číslicových signálů DSP vytváří jinou část fronty.
Přehled obrázků na výkresech
Vynález je znázorněn na výkresech, kde obr. 1 znázorňuje ve schematickém tvaru přednostní provedení s operačním tokem dat do a ze hlavního procesoru a procesoru číslicových signálů přes řídicí jednotku s přímým přístupem do paměti meziprocesoru, který je propojen k potřebným sběrnicím systémových adres a dat ve hlavním systému a v systému procesoru číslicových signálů, obr. 2 znázorňuje schematicky propojení mezi procesorem číslicových signálů a systémem hlavního počítače přes ovládač sběrnice s přímým přístupem do paměti a řídicí jednotku interprocesoru, obr. 3 znázorňuje schematicky tok dat ve programovatelném tvaru z ovladače vstupní a výstupní sběrnice interprocesoru s přímým přístupem do paměti, řídicí jednotky a rozhodovacího řadiče podle vynálezu, obr. 4 znázorňuje podrobně formát a obsah požadavků paketu s přímým přístupem do paměti vytvořeného procesoru číslicových signálů, a co může znamenat kódování těchto požadavků, obr. 5 znázorňuje uspořádání obr. 5A a 5B znázorňující tok dat a z vyrovnávací paměti paketu a registrů pro tok dat a řízení v interprocesoru s přímým přístupem do paměti, obr. 6 znázorňuje schematicky tok u hlavního procesoru, který vyvíjí seznamy nebo požadavky zpracování úkolů procesorem číslicových signálů, obr. 7 znázorňuje uspořádání obr. 7A a 7B, které znázorňuje schematický tok operací v řídicí jednotce s přímým přístupem do paměti interprocesoru a rozhodovacím řadičem když zpracovává seznamy požadavků paketů s přímým přístupem do paměti vytvářené v procesoru číslicových signálů, obr. 8 znázorňuje manipulační program technických prostředků s přímým přístupem do paměti pro přednostní provedení vynálezu, obr. 9 znázorňuje uspořádání obr. 9A a 9B, které znázorňuje přenosový proces s přímým přístupem do paměti prováděný rozhodovacím řadičem a řídicí jednotkou interprocesoru s přímým přístupem do paměti a obr. 10 znázorňuje vývojové schéma vysoké úrovně procesoru konstrukce seznamu paketů v procesoru číslicových signálů.
Příklad provedení vynálezu
Bude uveden úplný popis přednostního provedení vynálezu s ohledem na jeho vyobrazení na výkresech. V úvodu se nicméně pokládá za žádoucí vysvětlit závažnost vytyčeného problému a dále vysvětlit účinnost a zlepšení získané použitím systému a mechanismu řídicí jednotky paketů s přímým přístupem do paměti podle předloženého vynálezu.
Řízení toku dat do a z podsystému procesoru číslicových signálů by mohlo, jak bylo výše poznamenáno, způsobit potenciálně jak bylo výše poznamenáno, způsobit potenciálně vysoké řízení procesoru číslicových signálů. Jako příklad můžeme uvažovat komerčně běžný počítač, jako je Motorola 68 030, což je obecně dostupný procesor tvořící jádro mnohých osobních počítačů. Typickým procesorem číslicových signálů by mohlo být procesor Motorola 56 000 osobního počítače, který může být implementován na rovinné desce procesoru. Je zde cesta přímého přístupu do paměti mezi 56 000 a 68 030; nicméně technické prostředky s přímým přístupem do paměti pouze odlehčují hlavní procesor 68 030 a nečiní nic pro zlepšení funkce procesoru číslicových signálů 56 000. Pro každé slovo, které musí být přemístěno mezi 68 030 a 56 000 je zde krátké přerušení k 68 030. Během přerušení je sběrnice hlavního procesoru přidělena přístroji s přímým přístupem do paměti, který takto přenese slovo dat nebo vzorek signálu. Nicméně když je slovo jednou shromážděno procesorem číslicových signálů, procesor číslicových signálů musí současně být přerušen. Procesor číslicových signálů musí zastavit svou činnost a přemístit slovo dat do své paměti přes manipulační program přerušení.
Odhad počtu cyklů procesoru číslicových signálů pro vykonání tohoto je asi 10. Je zde přibližně ztráta jednoho cyklu následkem trojfázového zřetězení v 56 000; dva nebo tři další cykly
-5CZ 290716 B6 procesoru jsou nutné pro uschování obsahu několika registrů, několik dalších cyklů procesoru je nutné pro ustavení ukazatele indexu pro paměť procesoru číslicových signálů a pro řízení indexu čítače modulu. Konečně několik dalších cyklů je třeba pro obnovu stavu stroje procesoru číslicových signálů a pro návrat do úlohy, která byla přerušena. To všechno činí celkem asi 10 cyklů požadovaných pro přemístění pouze jednoho slova dat nebo vzorku do nebo z procesoru číslicových signálů. Tento procesor číslicových signálů je typu popsaného v patentovém spisu Spojených států amerických 4 794 517, který má také architekturu trojfázového zřetězení procesoru číslicových signálů.
Předložený vynález vytváří zlepšený systém svíce médii používající paketový stroj spřímým přístupem do paměti, to je programovaný mechanismus pro zajištění přenosu dat mnohem účinnějším způsobem. Přenosy s přímým přístupem do paměti začínají požadavky na programové prostředky provedenými procesorem číslicových signálů, nikoliv mechanismem s přímým přístupem do paměti. Mechanismus s přímým přístupem do paměti, což je řídicí jednotka a rozhodovací řadič, dává zaručenou službu z procesoru číslicových signálů uvnitř časových oken, která se opakují a mají délku podle nejvíce žádané úlohy, která má být prováděna v menu souběžných úloh hlavního procesoru. Tak například časové okno 726 mikrosekund je schopné přijímat 32-bitové vzorky (celé slovo) nutné pro zpracování typických 88 200 číslicových stereo audiovzorků pro přehrávání průměrně každých 726 mikrosekund. Při typické rychlosti provozu procesoru číslicových signálů může být více než 100 takových 32-bitových paketů zpracováno během časového úseku 726 mikrosekund. To by zajistilo kapacitu pro více než 100 jednotlivých transakcí nebo komunikačních kanálů pro tok dat mezi úlohami v multiprocesním hlavním systému a operace prováděné v subsystému procesoru číslicových signálů.
Když řídicí jednotka s přímým přístupem do paměti čte požadavek přenosu paketu umístěného v rozdělené službu žádající úlohou procesoru číslicových signálů při provádění, rozhodovací řadič a řídicí jednotka se rozhodne pro sběrnici hlavního systému, například IBM PS/2 mikrokanálu nebo podobnou hlavní sběrnici a když je přístup ke sběrnici povolen hlavním systémem k řídicí jednotce s přímým přístupem do paměti a rozhodovacímu řadiči pro požadavek umístěný procesorem číslicových signálů, až 16 bytů dat (v závislosti na velikosti vyrovnávací paměti) může být přeneseno do vyrovnávací paměti typu FIFO „první zařazen první vybrán“ registru v řídicí jednotce s přímým přístupem do paměti. Když jsou byty jednou ve FIFO, rozhodovací řadič a řídicí jednotka s přímým přístupem do paměti rozhodne pro místní datovou sběrnici procesoru číslicových signálů a když je povoleno, jedno 16-bitové slovo je převedeno a potom je potlačen požadavek sběrnice. Toto slovo je potom převedeno do paměti procesoru číslicových signálů a procesor číslicových signálů bude zastaven po dobu jednoho cyklu sběrnice. Proces tudíž pro každé převedené slovo spotřebuje jeden cyklus procesoru číslicových signálů. Řídicí jednotka s přímým přístupem do paměti a rozhodovací řadič budou pokračovat v rozhodování pro místní sběrnici procesoru číslicových signálů až do vyprázdnění celého obsahu FIFO uvnitř řídicí jednotky s přímým přístupem do paměti. Řídicí jednotka s přímým přístupem do paměti potom provede nový požadavek ke sběrnicím hlavního systému pro převod dalších dat.
Budiž poznamenáno, že proces pro rozhodování buď pro systémovou sběrnici, nebo sběrnici procesoru číslicových signálů se nejúčinněji provádí zavedenými programovými technickými prostředky a procesy jako jsou ony implementované v rozhodovacím řadiči s přímým přístupem do paměti a v řídicí jednotce. Schopnost zpracování seznamu paketů řídicí jednotkou s přímým přístupem do paměti dovoluje účinné použití sběrnice hlavního systému a sběrnice procesoru číslicových signálů. Přihlédneme-li k návrhu dosavadního stavu techniky popsanému výše, je zřejmé, že tímto návrhem se ušetří průměrně devět z deseti cyklů procesoru číslicových signálů.
Tak například vrátíme-li se kvýše uvedené úloze zpracování hi-fi stereosignálu nutného ke provádění stereofonní CD hudby, je třeba přehrát standardních 88 200 16-bitových číslicových vzorků každou sekundu. To vyžaduje převedení 88 200 slov dat každou sekundu mezi procesorem hlavního systému, který bude číst CD disk, přenos přečtených vzorků do procesoru číslicových signálů, příjem zpracovaných audiovzorků z procesoru číslicových signálů a jejich
-6CZ 290716 B6 rekonstrukci na analogové integrované zvukové segmenty v počtu 88 200 za sekundu. Ve stroji a systému dosavadního stavu techniky uvedených výše by samotná tato operace vyžadovala 88 200 slov za sekundu při 10 cyklech a jedno slovo nebo při 88 200 cyklech za sekundu prováděcí schopnosti procesoru číslicových signálů. Ve přednostním provedení předloženého vynálezu se žádá pouze 88 200 cyklů procesoru číslicových signálů, neboli jedna desetina počtu cyklů použitých v dosavadním stavu techniky.
Přihlédneme ke příkladu rozhodovacího řadiče s přímým přístupem do paměti, řídicí jednotky a používaného systému hlavního procesoru a budeme předpokládat, že současně běží úloha rozpoznávání řeči a poloha hi-fi stereo CD audipřehrávání podle volby uživatele na hlavním procesoru, a že tyto úlohy vyžadují pro jejich provádění zařízení procesoru číslicových signálů. Úloha rozpoznávání řeči bude vyžadovat přibližně dva kanály s přímým přístupem do paměti pro provoz, jeden vstupní a jeden výstupní, každý s maximální velikostí asi 256 slov na kanál. Úloha CD hudby bude vyžadovat jeden kanál s přímým přístupem do paměti a s maximální velikostí asi 64 slov pro kanál. Vždy když běží úloha CD audio a úlohy zpracování signálů na vzorcích běží v procesoru číslicových signálů, procesor číslicových signálů bude potřebovat přenášet 64 slov dat z paměti hlavního procesoru systému do paměti procesoru číslicových signálů. Pro vykonání těchto činností procesor číslicových signálů vyvolá svou operační služební rutinu pro požadavek přímého přístupu do paměti vždy když běží. Při každém zavolání zajistí následující adresu systémového procesoru, aby byla přístupná, a následující adresu vnitřní paměti a začátek čítání, kde má být uloženo 64 slov, která mají být vyvolána. Vždy když běží úloha rozpoznávání řeči v procesoru číslicových signálů, vyvolá dvakrát servisní rutinu žádosti přímého přístupu do paměti procesoru číslicových signálů. Každý požadavek bude mít jedinou systémovou adresu u hlavního systému, ze které se má vybrat nebo do které má být uložena informace, a jedinou adresu paměti procesoru číslicových signálů, kde mají být uloženy vzorky nebo odkud mají být vyvolány. Procesor číslicových signálů uloží dvě šablony rozpoznávání vždy když jeho iterativní úloha běží v procesoru číslicových signálů. Každá šablona bude mít délku asi 256 slov.
Tři požadavky přímého přístupu do paměti representované jediným požadavkem pro úlohu CD a dvěma požadavky pro úlohu rozpoznávání řeči budou umístěny v segmentované řadě procesorem číslicových signálů když se objeví. Například úloha rozpoznávání řeči může začít a umístit svůj první požadavek a potom může být přerušena zatímco úloha CD v procesoru číslicových signálů převzala řízení a umístila svůj požadavek přímého přístupu do paměti. Po vydání požadavku úlohy CD může být úloha rozpoznávání řeči znovu spuštěna a umístí svůj druhý požadavek přímého přístupu do paměti. Jestliže byly pouze tyto tři požadavky umístěny během jednoho intervalu 726 mikrosekund, během kterého je procesorem číslicových signálů vytvořena rozdělena řada, nebudou provedeny řídicí jednotkou s přímým přístupem do paměti během času, kdy byly umístěny v řadě. Při následujícím přerušení hodin o kmitočtu 1378 Hz (1/726 mikrosekundy) bude další skupina paketů požadavku přímého přístupu do paměti, která byla umístěna během předchozích 726 mikrosekund, zpřístupněna a provedena řídicí jednotkou s přímým přístupem do paměti a rozhodovacím řadičem.
V tomto příkladu řídicí jednotka s přímým přístupem do paměti a rozhodovací řadič nejprve najde požadavek paketu, který žádá, aby bylo provedeno 256 slov pro úlohu rozpoznávání řeči. Převede označená řídicí slova z požadavku paketu ke zjištění kolik slov má být převedeno a přenese řídicí hranice adresované modulu. Potom přečte adresu paměti hlavního systému a adresu paměti procesoru číslicových signálů a rozhodne pro sběrnici hlavní paměti. Když bylo jednou získáno povolení ke sběrnici hlavní paměti, řídicí jednotka s přímým přístupem do paměti a procesor přenesou určitý počet bytů, v tomto provedení 16 bytů, dat zpaměti procesoru hlavního systému do jeho hlavní vyrovnávací paměti. Potom rozhodne pro sběrnici procesoru číslicových signálů a vždy když dostane povolení, zapíše další slovo do paměti procesoru číslicových signálů podle počáteční adresy paměti procesoru číslicových signálů čtené z požadavku řízení paketů s přímým přístupem do paměti. Po zapsání všech 16 bytů se vrátí pro nové povolení sběrnice paměti hlavního systému. Proces bude pokračovat pokud není převedeno všech 256 slov. Potom stroj přímého přístupu do paměti přečte další paket v seznamu požadavků
-7CZ 290716 B6 přenesu paketů s přímým přístupem do paměti. Podle tohoto příkladu to bude paket CD úlohy. Pro tento paket má být převedeno 64 slov při použití stejné operace jaká byla výše popsána. Když bylo převedeno všech 64 slov, rozhodovací řadič s přímým přístupem do paměti a řídicí jednotka přistoupí k dalšímu požadavku přenosu paketu, což bude druhý paket pro úlohu rozpoznávání řeči a po jeho zpracování stejným způsobem nezjistí žádné další pakety a vstoupí do „stavu čekání“ dokud neuplyne 726 mikrosekund časového okna. Jestliže přišlo více požadavků paketů s přímým přístupem do paměti umístěných v rozdělené řadě vytvořené procesorem číslicových signálů během běžných 726 mikrosekund okna, nebudou zpracovány než nastane následující okno.
S přihlédnutím k obr. 1 může být celkový operační tok tohoto typu procesu vysvětlen, přičemž se začne v bloku 1 obr. 1. Uživatel hlavního osobního počítače odstartuje operace vyvoláním nebo výběrem požadavků aplikačního programu pro provádění na osobním počítači, což nutně zavede úlohu zpracování číslicových signálů pro jejich provádění. Příkladem může být hi-fi audiopřehrávání, rozpoznávání řeči, přenos dat modemu a funkce faksimilních dat, pohyb video, syntéza řeči nebo jiné z množství aplikací z oblasti více médií, které jsou odborníkům dobře známé.
Hlavní osobní počítač si vyžádá úlohy procesoru číslicových signálů, které mají být prováděny vysíláním identifikace úloh požadovaných k operačnímu systému procesoru číslicových signálů. To nastane v bloku 2 obr. 1.
Ve bloku 3 operační systém procesoru číslicových signálů vytvoří seznamy rozdělených paketů z aktivních požadavků úlohy umístěním nějakého konce k rozdělení požadavků v opakovaných časových intervalech. Obr. 10 znázorňuje tok procesu na vysoké úrovni pro vytváření operace seznamu paketů procesoru číslicových signálů. V jednom přednostním provedení popsaném výše se tyto opakované časové intervaly „konec seznamu“ vyskytují vždy po 726 mikrosekundách.
Proces číslicových signálů bude dávkovat nebo taktovat řídicí jednotku s přímým přístupem do paměti interprocesoru, jak ukazuje blok 4 při hodinovém kmitočtu 726 mikrosekund a bude pokračovat ve vytváření seznamu požadavků rozdělených paketů ke provádění nějakých aktivních úloh, které mohou běžet v procesoru číslicových signálů nebo které jsou vyžadovány novými požadavky uživatele přicházejícími z osobního počítače, jak je patrno z bloku H.
V bloku 5 řídicí jednotka s přímým přístupem do paměti interprocesoru přijímá dávkovaný hodinový signál začínající časovým intervalem 726 mikrosekund z procesoru číslicových signálů, jak je znázorněno. V bloku 6 řídicí jednotka s přímým přístupem do paměti interprocesoru začíná číst seznam paketů z oddílu seznamu paketů požadavků přímého přístupu do paměti vytvořeného procesorem číslicových signálů. Řídicí jednotka s přímým přístupem do paměti rozhodne pro systém nebo data procesoru číslicových signálů nebo sběrnice paměti vhodné pro požadovaný přenos paketů, jak je znázorněno v obr. 7, příjme povolení pro přístup ke vhodné sběrnici, jak je znázorněno v bloku 8, a potom převede určitý počet paketů do nebo z vyrovnávací paměti s přímým přístupem do paměti v bloku 9 a znovu rozhodne pro přístup k systému nebo sběrnicím procesoru číslicových signálů, jak je znázorněno vazbou mezi blokem 9 a blokem 7, dokud nejsou všechny přenosy úplné, jak je znázorněno v bloku 10.
Jak je zřejmé z předešlého popisu toku vzhledem k obr. 1, některé řízení hlavním systémem, nebo procesorem číslicových signálů, jestliže má dostatečnou kapacitu, nebo pomocným procesorem, je-li žádáno musí být prováděno tak, že požadavky úloh procesoru číslicových signálů mohou být vesměs prováděny během minimálního časového úseku, například 726 mikrosekund, nebo by jinak byl důsledek ten, že žádná další úloha vyžadovaná uživatelem by nemohla být splněna v trvalém reálném čase. Pro splnění zmíněného požadavku je ve přednostním provedení implementovaného schéma zdroje řízení a přidělování procesoru číslicových signálů ve hlavním procesoru. Funkce řízení a přidělování je schematicky znázorněna v obr. 6 a může být prováděna procesorem číslicových signálů nebo je-li žádáno, pomocným procesorem, a je dále popsána.
-8CZ 290716 B6
Funkce řízení a přidělování zdroje zachovává cestu celkového zatížení, které je přivedeno procesorem číslicových signálů úlohami zadanými uživatelem. Zatížení je měřeno výrazy celkové dosažitelné šířky pásma přenosu bytů s přímým přístupem do paměti, délky seznamu paketů a dosažitelného výkonu nebo rychlosti zdroje procesoru číslicových signálů měřeného v cyklech provádění procesoru číslicových signálů měřeno v cyklech provádění procesoru číslicových signálů v milionech instrukcí za sekundu (MIPS). Funkce řízení a přidělování zajišťuje, že dostatečný zdroj procesoru signálů bude k dispozici v každém intervalu 726 mikrosekund pro všechny vyžadované úlohy procesoru číslicových signálů, aby bylo zaručeno, že požadavek přímého přístupu do paměti v reálném čase může být splněn pro každou úlohu procesoru číslicových signálů.
Celkový dostupný zdroj je závislý na implementaci částečného systému, to je na rychlosti procesoru číslicových signálů v milionech instrukcí za sekundu, schopnosti přenosu šířky pásma mechanismu s přímým přístupem do paměti a délce oddílu v seznamu požadavků přenosu paketů vytvářeného procesorem číslicových signálů. Zatímco všechny tyto veličiny mohou být podle implementace proměnlivé, když byly jednou implementovány, jsou pro daný systém stálé. Šířka pásma přímého přístupu do paměti je vázána, to je omezena menší ze šířek pásma sběrnice hlavního procesoru, časem instrukčního cyklu procesoru číslicových signálů nebo šířkou pásma mechanismu technických prostředků s přímým přístupem do paměti. Délka seznamu paketů je vázána, jak bylo uvedeno výše, velikostí dostupného uložení dat procesoru číslicových signálů a rychlostí hodin instrukcí procesoru číslicových signálů.
Za účelem implementace funkce řízení a přidělení zdrojů se žádá, aby každá uživatelská úloha u hlavního systému obsahovala oznámení nebo deklaraci celkového zdroje úlohy procesoru číslicových signálů požadované ve výrazech maximální šířky pásma přímého přístupu do paměti, délky a milionů signálů za sekundu procesoru číslicových signálů, které budou spotřebovány při maximu vyvolanou úlohou. Jestliže jsou žádány úlohy procesoru číslicových signálů uživateli u hlavního systému, funkce řízení a přidělení zdrojů v obr. 6 přiděluje deklarované požadavky zdrojů požadovaným úlohám procesoru číslicových signálů v procesoru číslicových signálů. Pokud mohou být požadavky na zdroje úloh procesoru číslicových signálů splněny v rámci omezení systému, úloha procesoru číslicových signálů bude zavedena do procesoru číslicových signálů. To je provedeno hlavním systémem, který umístí požadavek úlohy procesoru číslicových signálů do operačního systému procesoru číslicových signálů. Nejsou-li k dispozici dostatečné zdroje, požadavek úlohy procesoru číslicových signálů umístěný uživatelem bude odmítnut a bude vydána příslušná zpráva chyby uživatele.
V obr. 6 začala operace uživatele požadující úlohu na jeho osobním počítači: například rozpoznávání řeči. Bude vyvolán program rozpoznávání řeči ve hlavním osobním počítači a bude obsahovat vhodné parametry pro požadavky, které umístí na šířce pásma na výrazech maximálního počtu slov na časový interval okna přímého přístupu do paměti maxima milionů instrukcí za sekundu procesoru číslicových signálů, které jsou žádány, a maxima velikosti paměti procesoru číslicových signálů, které může vyvolat, jak je patrno z bloku 1 v obr. 6. Dostupné maximum zdroje procesoru číslicových signálů je také systému známo, neb bylo zavedeno uživatelem nebo zakódovanými (neznázoměnými) registry dotazovacích technických prostředků systému přítomných v řídicí jednotce s přímým přístupem do paměti a rozhodovacího řadiče a v procesoru číslicových signálů. To je znázorněno v bloku 2.
V bloku 3 je vytvořen součet všech požadavků uživatelské úlohy, to je celkových požadavků přímého přístupu do paměti, sloučením požadavků pro všechny přítomné a některé nové požadované úlohy. To je srovnáno s maximem celkové schopnosti přenosu slov s přímým přístupem do paměti a celkovým zdrojem procesoru číslicových signálů v bloku 3. Jestliže celkový požadavek přenosu slov přesahuje dostupný zdroj, úloha není zavedena, jak je znázorněno v bloku 4, a je oznámen návrat na volbu úlohy uživatelem v bloku 5. Není-li celkový požadavek přímého přístupu do paměti úlohy uživatele překročen, systém postoupí do bloku 6,
-9CZ 290716 B6 kde je součet všech zdrojů provádění instrukcí procesorem číslicových signálů pro aktivní úlohu uživatele srovnán s maximálními dostupnými miliony instrukcí za sekundu procesoru číslicových signálů. Jestliže celkové miliony instrukcí za sekundu procesoru číslicových signálů nejsou překročeny, systém postoupí ke bloku 7, kde je proveden součet všech požadavků paměti procesoru číslicových signálů pro všechny úlohy uživatele a srovnán s maximální možnou velikostí datové paměti procesoru číslicových signálů.
Jestliže maximum není překročeno, řídicí procesor pracovní zátěže procesoru číslicových signálů (který by mohl být umístěn v procesoru číslicových signálů nebo v nějakém pomocném procesoru, dle žádosti), který provádí řízení zdrojů a přidělení ve hlavním osobním počítači, postoupí ke bloku 8, kde zavede úlohu sdělením operačnímu systému procesoru číslicových signálů, aby vybavil začátek nové úlohy zvolené uživatelem a potom rutina končí ve bloku 9.
Jak bylo uvedeno výše, seznamy požadavků přenosu paketů dat s přímým přístupem do paměti jsou vytvářeny v rozdělném tvaru v paměti procesoru číslicových signálů operačním systémem procesoru číslicových signálů. Když jsou požadavky úloh procesoru číslicových signálů přeneseny do operačního systému procesoru číslicových signálů, vytvoří seznam požadavků přenosu paketů dat s přímým přístupem do paměti nutný pro provádění požadované úlohy. Formát požadavků paketů je znázorněn v obr. 4.
V obr. 4 je pět slov požadavků paketů s přímým přístupem do paměti obsahujících dvě řídicí slova uložená v řídicích registrech 1 a 2, dvě slova adresy paměti hlavního systému (tvořící spodní adresu a horní adresu) a jedno slovo adresy paměti procesoru číslicových signálů, které představuje umístění, kde počet slov přenesených do nebo z paměti začíná. Kódování specifických řídicích slov pro řídicí registry je znázorněno v obr. 4. Tato řídicí slova jsou použita rozhodovacím řadičem s přímým přístupem do paměti a řídicí jednotkou interprocesoru, jak bude podrobněji popsáno dále.
Operační systém procesoru číslicových signálů vytvoří v paměti seznamy požadavků přenosu paketů s přímým přístupem do paměti. Adresování je takové, že paměť pracuje jako kruhová vyrovnávací paměť uvnitř procesoru číslicových signálů. Seznam požadavků paketů je rozdělený seznam, takže obsahuje skupinu jednoho nebo několika individuálních požadavků přenosu paketů s přímým přístupem do paměti a koncový znak „Stav čekání“ nebo „Konec seznamu“. Konec seznamu v paměti procesoru číslicových signálů obsahuje ukazatel zpětného skoku na začátek, takže „vyrovnávací paměť“ bude bezkončitě probíhána. Dostupná paměť procesoru číslicových signálů pro sestavení vyrovnávací paměti musí být dostatečně velká, aby obsahovala alespoň dva úplné seznamy požadavků paketů v každém okamžiku. To je nutné, protože technické prostředky řídicí jednotky s přímým přístupem do paměti budou zpracovávat obsah jednoho seznamu požadavků zatímco operační systém procesoru číslicových signálů je činný při vytváření obsahu dalšího oddílu seznamu. Operační systém procesoru číslicových signálů vytváří seznamy požadavků paketů s přímým přístupem do paměti (viz obr. 10), pro přenos dat připojenými požadavky paketů po jednom ke běžným obsahům seznamu paketů jako aktivní úlohy v procesoru číslicových signálů umístí požadavky přímého přístupu do paměti buď k zavedení nových vzorků signálu pro zpracování, nebo pro přenos zpracovávaných vzorků zpět k požadované úloze uživatele jak je vhodné.
Nějaká daná úloha prováděná v procesoru číslicových signálů vyžaduje přenos paketů s přímým přístupem do paměti prvním uložením do interně specifikovaných registrů procesoru číslicových signálů se žádanou zdrojovou adresou, adresou určení a nějakou řídicí informací, která je nutná, a za druhé vyvoláním operačního systému, který připojí tento požadavek k seznamu běžně vytvářenému v rozdělených seznamech. Úlohy procesoru číslových signálů mohou zahrnovat požadavky přenosu paketů ve kterémkoli čase. Takové požadavky mohou být asynchronní vzhledem ke provádění seznamů rozhodovacího řadiče s přímým přístupem do paměti a řídicí jednotky vedeného v řídicím stroji přímého přístupu do paměti. Provádění seznamu paketů řídicím strojem přímého přístupu do paměti se provádí ve přesných časových intervalech
-10CZ 290716 B6 operačním systémem procesoru číslicových signálů, který umístí „Paket čekání nebo „Znak konce seznamu“ jako znak na konci oddílu v seznamu paketů, který se běžně vytváří. Ve přednostním provedení jsou tyto znaky předem zapsány do řady v paměti, takže se vyskytují v pravidelných intervalech jak je řada čtena přístrojem přímého přístupu do paměti. Ve přesně periodických časech procesoru číslicových signálů oznamuje řídicí jednotce s přímým přístupem do paměti, aby pokračovala ve provádění seznamu požadavků přenosu paketů, který má následně být zpracován. Paket čekání bude sloužit jako prostředek nebo jako znak zastavení technických prostředků s přímým přístupem do paměti když dokončil zpracování běžného seznamu. Jak úlohy v procesoru číslicových signálů pokračují, prováděním požadavků přenosu paketů dat s přímým přístupem do paměti, začne operační systém naplňovat další oddíly v seznamu paketů. Takové procesory jako Motorola 56 000 jsou v průmyslu dobře známé a schopnost jejich operačního systému vytvářet takové seznamy v paměti je dobře známa odborníkům a nevyžaduje dalšího podrobného vysvětlování.
V obr. 2 jsou znázorněny celkové fyzické uspořádání a tok dat paketů informací z typického hlavního systému, jako je IBM PS/2 nebo Motorola 68 030 uvedený výše, přes příslušné sběrnice dat a adres příslušného hlavního systému k řídicí jednotce s přímým přístupem do paměti a rozhodovacímu řadiči interprocesoru, jako je řídicí jednotka s přímým přístupem do paměti a programovatelný mikrokanál Intel 82 325. Rozhraní z rozhodovacího řadiče s přímým přístupem do paměti a řídicí jednotky interprocesoru do typického procesoru číslicových signálů, jako je uvedeno v patentovém spisu Spojených států amerických 4 794 517 společnosti IBM, což je trojfázový zřetězený procesor číslicových signálů nebo Motorola 56 000 popsaný výše, jsou také znázorněny. Pakety dat jsou převáděny do a z paměti hlavního systému do vyrovnávací paměti uvnitř rozhodovacího řadiče s přímým přístupem do paměti a řídicí jednotky a do a z vyrovnávací paměti v řídicí jednotce s přímým přístupem do paměti přes sběrnice paměti do paměti procesoru číslicových signálů pro data nebo instrukce.
Pro tyto účely může být použita programovatelná řídicí jednotka a rozhodovací řadič ovládače sběrnice s přímým přístupem do paměti dostupné ve formě čipu Intel 82 325. Ten může být označen jako technický prostředek „ovládač sběrnice“, který provádí aktuální přenos požadovaných paketů dat mezi datovou pamětí hlavního osobního počítače a pamětí instrukcí nebo dat procesoru číslicových signálů. Řídicí jednotka ovladače sběrnice může být rozdělena ve dvě hlavní funkční složky: procesor seznamu paketů a manipulační program převádění. Procesor seznamu paketů přijímá „startovní“ dávkovači signál z operačního systému procesoru číslicových signálů na začátku jednoho intervalu například 726 mikrosekund. Začíná číst rozdělení ze seznamu paketů vytvořeného v paměti procesoru číslicových signálů vytvářeného v paměti procesoru číslicových signálů z adresy, kde naposled nalezl požadavek paketu čekání, který je ohraničením oddílu nebo znakem. Informace řízení a adresy v požadavku paketu s přímým přístupem do paměti zpaměti procesoru číslicových signálů je zpracována a zavedena k mechanismu manipulačního programu přenosu s přímým přístupem do paměti, který provádí specifikovaný přenos s přímým přístupem do paměti.
Informace řízení a adresy v seznamu požadavků paketů je zpracována a přenesena do manipulačního programu mechanismu přímého přístupu do paměti, který provádí specifikovaný přenos s přímým přístupem do paměti jako v jakémkoli normálním řídicím přístroji hlavní sběrnice. Proces pokračuje opakováním požadavku paketu dokud opět nenarazí na „čekací paket“. To zastaví technický prostředek hlavní sběrnice s přímým přístupem do paměti a ukončí zpracování oddílu seznamu požadavku paketů.
Vraťme se kvýše uvedenému příkladu uživatele, který si přeje na svém osobním počítači provádět funkci rozpoznávání řeči a funkci přehrávání hi-fi CD hudby použitím procesoru číslicových signálů. Uživatel nejprve bude požadovat rozpoznávání řeči a funkci hi-fi volbou například vhodných obrázků přes myš a funkci hi-fi volbou například vhodných obrázků přes myš nebo kurzor nebo jiný prostředek na svém osobním počítači. Tato volba vydá požadavek zavedení příslušných úloh procesoru číslicových signálů. Požadavek prochází procesorem
-11 CZ 290716 B6 znázorněným v obr. 6, aby se nejprve zjistilo, zda jsou dostupné vhodné velikosti zdroje procesoru číslicových signálů a šířky pásma s přímým přístupem do paměti. Dříve než jsou tyto požadované úlohy skutečně zavedeny, jsou vyvolány řízení zdroje a funkce přidělení (u hlavního osobního počítače ve přednostním provedení) pro ověření, že existuje dostatečný zdroj pro uspokojení požadavků úlohy procesoru číslicových signálů, které budou deklarovány vyvoláním požadovaných úloh uživatelem. Jestliže existuje dostatečný zdroj, jak je znázorněno v obr. 6, budou úlohy zavedeny a funkce začnou operace v procesoru číslicových signálů. Jinak bude vyvinuta odpovídající zpráva chyby uživatelským osobním počítačem pro sdělení uživateli, že požadovaná úloha nemůže být zavedena.
V tomto popisu se předpokládá, že operační systém procesoru číslicových signálů již byl inicializován a že před přijetím jakýchkoli nových požadavků funkcí procesoru číslicových signálů byly na sběrnicích umístěny požadavky přenosu s přímým přístupem do paměti a znaky pro jakékoli předem požadované funkce ve vyrovnávací paměti seznamu paketů a byly inicializovány nebo taktovány technické prostředky řídicí jednotky s přímým přístupem do paměti v každém časovém intervalu, jako je předpokládaných 726 mikrosekund. Za předpokladu, že nebyly požadovány žádné předešlé úlohy, bude tento příklad předpokládat, že úloha rozpoznávání řeči deklaruje požadavek dvou kanálů s přímým přístupem do paměti a šířku pásma mající vrcholovou hodnotu 256 slov na kanál a že úloha hi-fi deklaruje jeden kaná s přímým přístupem do paměti a šířku pásma mající vrcholovou hodnotu 64 slov pro jejich požadavky. Vždy když úloha CD běží v procesoru číslicových signálů, bude žádat dalších 64 slov dat z paměti procesoru hlavního systému ve formě vzorků číslicového signálu původně čtených z CD disku. Tyto musí být přeneseny z paměti hlavního systému k paměti procesoru číslicových signálů do vyrovnávací kruhové paměti „seznamu paketů“ pro provádění. Aby se to provedlo, procesor číslicových signálů zavolá služební rutinu svého operačního systému pro umístění požadavku přímého přístupu do paměti, a to se bude provádět pokaždé když úloha poběží, to znamená, že vždy musí být vzorek 64 slov zpracován. Při každém volání procesor číslicových signálů zajistí zapsání další adresy paměti procesoru hlavního systému nebo čtení z a do další adresy vyrovnávací paměti procesoru číslicových signálů při které začíná čítání 64 slov.
Kromě toho vždy když běží úloha rozpoznávání řeči v procesoru číslicových signálů, zavolá službu požadavku přímého přístupu do paměti operačního systému procesoru číslicových signálů. Každý požadavek bude mít jedinou systémovou adresu a jedinou adresu vyrovnávací paměti procesoru číslicových signálů pro vydání dvou rozpoznávacích šablon z hlavního systému vždy když běží. Každá šablona bude mít jedinou systémovou adresu a jedinou adresu vyrovnávací paměti procesoru číslicových signálů pro vydání dvou rozpoznávacích šablon z hlavního systému vždy když běží. Každá šablona bude mít délku 256 slov v největším počtu programů rozpoznávání řeči, ve všech budou zapsány tři požadavky přímého přístupu do paměti postupně do seznamu požadavků paketů s přímým přístupem do paměti operačním systémem procesoru číslicových signálů jak se vyskytují.
Požadavky přenosu paketů s přímým přístupem do paměti budou prováděny technickými prostředky řídicí jednotky s přímým přístupem do paměti a rozhodovacím řadičem během postupných 726 mikrosekund následujících po umístění rozdělovacího znaku. Znak je stav čekání nebo konec seznamu v segmentu seznamu požadavků přenosu s přímým přístupem do paměti vytvářeného procesorem číslicových signálů, na začátku této další části periody operační systém procesoru číslicových signálů umístí požadavek paketu stavu čekání jako ukončovací znak v oddílu seznamu paketů, který právě vytvořil a odstartuje technický prostředek s přímým přístupem do paměti hlavní sběrnice hodinovým signálem nebo dávkovacím příkazem.
Technický prostředek s přímým přístupem do paměti hlavní sběrnice přistoupí do paměti procesoru číslicových signálů, nalezne paket, který požaduje přemístění 256 slov pro úlohu rozpoznávání řeči, zavede řídicí slova přítomná v požadavku paketu, aby se zjistilo, kolik slov musí být přemístěno a jaké jsou hranice řízení adresování modulu. Potom se přečte paměť procesoru hlavního osobního počítače a adresy paměti lokálního procesoru číslicových signálů
- 12CZ 290716 B6 z požadavku přenosu paketů s přímým přístupem do paměti. Potom se rozhodně o přístupu buď do mikrokanálu osobního počítače, nebo jiné hlavní sběrnice a když bude povolen přístup ke sběrnici, bude přenesen určitý počet (16 bytů) dat zpaměti hlavního procesoru do vyrovnávací paměti v technickém prostředku s přímým přístupem do paměti. Řídicí jednotka s přímým přístupem do paměti potom rozhodne pro sběrnici paměti procesoru číslicových signálů a vždy když dostane povolení, zapíše další slovo do paměti procesoru číslicových signálů podle adresy paměti procesoru číslicových signálů, kterou čte ze seznamu požadavků paketů s přímým přístupem do paměti. Proces pokračuje jak bylo popsáno výše dokud nebyly všechny potřebné pakety s přímým přístupem do paměti zpracovány. I když bylo více požadavků paketů s přímým přístupem do paměti umístěno operačním systémem procesoru číslicových signálů během běžných 726 mikrosekund, nebyly zpracovány a nebudou před začátkem dalšího časového intervalu. Proces pokračuje periodicky dokud všechny úlohy procesoru číslicových signálů nejsou případně ukončeny uživatelem ve hlavním systému.
V tomto návrhu budiž uvedeno, že seznam požadavků přenosu paketů s přímým přístupem do paměti spolu s procesorem číslicových signálů a s přidělením šířky pásma s přímým přístupem do paměti a řídicím procesorem (vedeným ve hlavním osobním počítači v tomto provedení) zajišťuje provádění a pohyb všech požadavků přenosu datových paketů s přímým přístupem do paměti během dvojnásobku základního hodinového intervalu ke procesoru s přímým přístupem do paměti. Takto budou nevyřízené požadavky s přímým přístupem do paměti v rozděleném seznamu vytvořeném operačním systémem procesoru číslicových signálů v paměti procesoru číslicových signálů v jednom intervalu zpřístupněny a čteny strojem přímého přístupu do paměti a provedeny během následujícího časového intervalu 726 mikrosekund ve příkladu uvedeném výše. Jestliže vzorky měly být vzaty z paměti hlavního osobního počítače a zavedeny do paměti procesoru číslicových signálů, stane se to během časového intervalu 726 mikrosekund. Během následujícího časového intervalu procesor číslicových signálů začne zpracovávat vzorky dat a vytvářet nové požadavky paketů s přímým přístupem do paměti pro zavedení zpracovaných vzorků zpět do hlavního systému. Tyto požadavky budou umístěny do oddílu seznamu požadavků s přímým přístupem do paměti následujícího za právě prováděným řídicí jednotkou a rozhodovacím řadičem s přímým přístupem do paměti. Takto se v dalším následujícím časovém intervalu „dokončené vzorky“ stanou dostupnými pro přenos s přímým přístupem do paměti z procesoru číslicových signálů zpět do procesoru hlavního systému s celkovým časovým zpožděním zpracování pouze dvou intervalů přímého přístupu do paměti.
Stejná operační rychlost bude dosažena pro všechny nevyřízené požadavky úloh za předpokladu, že celkový zdroj procesoru číslicových signálů požadovaný úlohami a celková šířka páska s přímým přístupem do paměti nebyly překročeny. To je zajištěno přidělením a řídicím mechanismem pracujícím v systému hlavního osobního počítače. To znamená, že „tvrdé“ úlohy v reálném čase běží v procesoru číslicových signálů mohou být zajištěny vydáním dostatečných dat nebo odváděním zpracovaných dat pro vyhovění požadavků jakýchkoli úloh požadovaných uživatelem. Protože pro všechny úlohy, které mají běžet ve hlavním systému, se vyžaduje napřed specifikace maximálního počtu slov, který má být přenesen požadavkem paketů s maximálního požadovaného počtu milionů instrukcí za sekundu u procesoru číslicových signálů, přidělovací jednotka zdrojů ve hlavním osobním počítači bude přesně znát, jak dlouhý může být seznam požadavků přenosu s přímým přístupem do paměti ve kterémkoli okamžiku a když je nebezpečí překročení schopnosti, není dovoleno vyvolání jakýchkoli nových úloh.
Řídicí jednotka a rozhodovací řadič s přímým přístupem do paměti tedy vždy zpracovává požadavky přenosu paketů s přímým přístupem do paměti v procesoru číslicových signálů, který byly umístěny polohami během předešlých časových intervalů. A zatímco stroj přímého přístupu do paměti pracuje na svém rozdělení běžného seznamu požadavků s přímým přístupem do paměti, jsou nové požadavky přenosu paketů s přímým přístupem do paměti umístěny do dalšího následujícího rozdělení řady požadavků paketů s přímým přístupem do paměti v paměti procesoru číslicových signálů pro přístup mechanismem přímého přístupu do paměti a prováděním v nejbližším časovém intervalu. Tento návrh zajišťuje jednoduchou migrační cestu
-13CZ 290716 B6 ke mnohonásobným procesorům číslicových signálů v systému. Každý procesor číslicových signálů by měl svůj vlastní technický prostředek provádění přenosu paketů s přímým přístupem do paměti působící jako ovladač sběrnice pro sběrnici procesoru číslicových signálů nebo sběrnice hlavního osobního počítače. Navíc, jestliže všechny procesor}’ číslicových signálů sdílejí jedny a tytéž hodiny časového zdroje přerušení jako stroj přímého přístupu do paměti, potom by paměť hlavního systému mohla zajišťovat jednoduchý prostředek nebo vyrovnávací paměť pro data mezi procesory číslicových signálů.
Je tedy zřejmé, že řídicí jednotka a rozhodovací řadič s přímým přístupem do paměti pro provádění požadavků paketů přestavuje solidní řešení problému zacházení s velkým množstvím komunikačních kanálů nebo požadavků mezi vlastním procesorem a procesorem číslicových signálů nebo mezi množství procesorů číslicových signálů a prováděním úloh ve všech různých procesorech. Při pokusu o implementaci více než 100 kanálů s přímým přístupem do paměti při pouhém použití technických prostředků, jako použitím 100 jednotlivých přístrojů technických prostředků s přímým přístupem do paměti by mělo za následek nákladný systém, který by téměř nebyl schopný rozhodování a řízení. Řídicí jednotka, rozhodovací řadič a procesor seznamů vyloučí požadavek rozhodování mezi 100 kanály s přímým přístupem do paměti, protože jsou časově multiplexovány, tím, že budou všechny obslouženy během cyklického časového intervalu pro zpracování sekvenčním způsobem individuálním rozhodováním o sběrnici, povoleními a přenosem řetězců dat, která jsou zajištěna pro přivádění ve předepsaném časovém intervalu.
Jak je zřejmé z předešlého popisu, řídicí jednotka a rozhodovací řadič ovladače sběrnice vstupu a výstupu s přímým přístupem do paměti je základním prvkem systému znázorněného v obr. 2.
V obr. 3 je znázorněn celkový tok dat a hlavní řízení technických prostředků takové řídicí jednotky a rozhodovacího řadiče. Taková řídicí jednotka může být koupena na trhu navíc dostatečnou schopnost technických prostředků a programového vybavení pro provádění operací znázorněných v obr. 3 a může to být Intel Model 82 325 jako programovatelná řídicí jednotka a rozhodovací řadič ovladače sběrnice. Řídicí jednotka a rozhodovací řadič ovladače vstupní a výstupní sběrnice s přímým přístupem do paměti (nebo krátce „ovládač sběrnice“) používá čtyři řídicí jednotky technických prostředků znázorněných v obr. 3. Jsou to řídicí jednotka 10 paketů, manipulační a řídicí jednotka 11 přímého přístupu do paměti, řídicí jednotka a rozhodovací řadič 13 místního procesoru číslicových signálů s přímým přístupem do paměti a rozhodovací řadič 12 hlavního systému s přímým přístupem do paměti.
V obr. 3 řídicí jednotka 10 paketů čte slova řízení paketů z datové paměti procesorů číslicových signálů z rozděleného seznamu požadavků zanesených tam operačním systémem procesoru číslicových signálů. Po čtení pěti řídicích slov, jak je znázorněno v obr. 4, pro daný požadavek paketu spustí řídicí jednotka 10 paketů manipulační a řídicí jednotku 11 s přímým přístupem do paměti.
Manipulační a řídicí jednotka 11 s přímým přístupem do paměti rozdělí čítání bytů paketu oznámené v řídicích slovech paketu s přímým přístupem do paměti do nějakého počtu řetězců dat. V závislosti na směru přenosu, označeném směrem bitu přenosu v požadavku paketu s přímým přístupem do paměti manipulační a řídicí jednotka 11 opakovaně inicializuje buď sběrnici hlavního systému, řídicí jednotku a rozhodovací řadič 12 ovladače sběrnice, nebo řídicí jednotku a rozhodovací řadič 13 ovladače sběrnice procesoru číslicových signálů pro provedení rozhodnutí pro příslušné sběrnice a přenos vhodné délky řetězce dat do nebo z počátečních adres v obr. 3. V obr. 5 je registr 14 vytvořen z několika segmentů, jak je znázorněno, a je to ukazatel paketů s přímým přístupem do paměti. Je to 16-bitový registr, který může být čten pouze procesorem číslicových signálů a obsahuje 12nejméně významných bitů ukazatele k seznamu požadavků paketů s přímým přístupem do paměti v datové paměti procesoru číslicových signálů. Registr je aktualizován technickými prostředky a tři bity nejvyššího řádu budou nulové. Tři bity nejnižšího řádu a bit 15 neexistují jako takové a jsou čteny jako nulové vdané implementaci. Data v datové paměti, která budou přiváděna do tohoto registru, jsou uložena jako bytová adresa. Registr 19 je složen z několika částí a obsahuje adresu paměti systému nebo hlavního systému. Je
- 14CZ 290716 B6 to 32-bitový registr, který není možno číst nebo zapisovat do něho buď procesorem číslicových signálů, nebo procesorem systému pro hlavní systém. Obsahuje adresu k paměti hlavního systému nebo prostoru vstupu a výstupu, který bude použit pro přenos paketů. Nižších 24 bitů tohoto registru 19 se samočinně zvyšuje pro přenosy paměti procesoru hlavního systému. Volba paměti nebo prostoru vstupu a výstupu je označena bitem systémové paměti vstupu a výstupu. Adresa uložená v tomto registruje bytová adresa.
Registr 18 je adresa paměti procesoru číslicových signálů a je to 16-bitový samočinně se zvyšující registr, který není možno číst nebo do něho psát procesorem číslicových signálů nebo systémem hlavního osobního počítače. Obsahuje adresu paměti dat nebo instrukcí procesoru číslicových signálů použitých pro přenos paketů. Jsou užity bity řízení modulu pro řízení přírůstku tohoto registru. Data v datové paměti, která budou zaváděna do registru, jsou uložena jako slovo nebo instrukční adresa s pouze nižšími 15 bity použitými pro tvorbu adresy k datové paměti.
Manipulační jednotka 11 s přímým přístupem do paměti v obr. 3 je inicializována startovním signálem s přímým přístupem do paměti ze řídicí jednotky 10 paketů, jak je znázorněno v obr. 3. Manipulační jednotka 11 nejprve změní čítání paketů přijaté ze řídicí jednotky 10 paketů na čítání bytu paketů. Funkce manipulační jednotky 11 s přímým přístupem do paměti spočívá v rozdělení čítání bytu paketů v čítání řetězců protože vnitřní vyrovnávací paměť řídicího mechanismu s přímým přístupem do paměti obsahuje v daném provedení dvě paměti s přímým přístupem s 18 osmibitovými byty, takže velikost řetězců je omezena na 32 byty v nějakém čase. Jestliže bit bytu nebo slova ze řídicích registrů ukazuje bytový modus, data v datové paměti nebudou zhušťována. Pouze byt nižšího řádu datové paměti je využit pro operace ovládače sběrnice. Za těchto podmínek je použita normální velikost řetězce 16 bitů.
Přenosy s přímým přístupem do paměti se provádějí s použitím čítání řetězce čítání řetězce je rovné délce řetězce vyjma případu kdy zbývající nebo počáteční čítání paketu je menší než délka řetězce. Čítání bytu paketu je opakovaně rozděleno na řetězce až do vyčerpání.
V obr. 8 je počáteční čítání bytu zavedeno do akumulátoru 35. Manipulační jednotka 11 technických prostředků s přímým přístupem do paměti obsahuje technické prostředky znázorněné v obr. 8. Délka řetězce je založena na hodnotě bitu bytu nebo slova obsaženého v řídicí informaci v požadavku přenosu s přímým přístupem do paměti. Je-li znaménkový bit nulový, znamená to, že hodnota v akumulátoru 35 je větší než délka řetězce. Délka řetězce se předem zvolí podle použitého systému, jak bylo popsáno výše. Čítání bytů se zavede do systému a do čítače s přímým přístupem do paměti procesoru číslicových signálů a manipulační jednotka 11 s přímým přístupem do paměti hlídá směrové bity.
Jestliže směrové bity čtené ve bloku 29 v obr. 7 oznamují čtení zpaměti hlavního systému, manipulační jednotka 11 sepne řízení multiplexoru vstupních dat s portem systémových dat, jak je patrno na výstupu bloku 11 v obr. 3. Řízení systémové vyrovnávací paměti bude také zvoleno a manipulační jednotka 11 s přímým přístupem do paměti spustí hlavní řídicí jednotku 12 systému. Hlavní řídicí jednotka 12 systému bude pracovat k naplnění vyrovnávací paměti 14 vnitřní paměti s přímým přístupem do paměti a bude interpretovat operaci jako čtení z paměti hlavního systému k vyrovnávací paměti. Po napsání dat k vyrovnávací paměti 14 hlavní řídicí jednotka 12 systému oznámí dokončení přenosu zpět manipulační jednotce 11 s přímým přístupem do paměti, jak je patrno z čáry signálu v obr. 3.
Po přijetí dokončovacího signálu manipulační jednotka 11 s přímým přístupem do paměti sepne řízení vyrovnávací paměti k řídicí jednotce 13 s přímým přístupem do paměti procesoru číslicových signálů. Manipulační jednotka 11 s přímým přístupem do paměti odstartuje řídicí jednotku 13 s přímým přístupem do paměti procesoru číslicových signálů, která bude provádět přenos dat z vyrovnávací paměti 14 k paměti procesoru číslicových signálů a po dokončení oznámí zpět manipulační jednotce 11 s přímým přístupem do paměti, že dokončila přenos.
-15CZ 290716 B6
Jestliže manipulační jednotka 11 s přímým přístupem do paměti zjistila zápis do systémové paměti jako směr přenosu, manipulační jednotka 11 s přímým přístupem do paměti sepne řízení multiplexoru vstupních dat k datovému portu s přímým přístupem do paměti procesoru číslicových signálů a řízení vy rovnávací paměti s přímým přístupem do paměti procesoru číslicových signálů bude vybráno pro vyrovnávací paměť 14 pro řídicí jednotku 13 s přímým přístupem do paměti procesoru číslicový ch signálů. Manipulační jednotka 11 s přímým přístupem do paměti potom odstartuje řídicí jednotku 13 s přímým přístupem do paměti procesoru číslicových signálů, která bude interpretovat operaci jako čtení z paměti procesoru číslicových signálů do vyrovnávací paměti J_4. Řídicí jednotka 13 bude pokračovat v plnění vyrovnávací paměti 14 a po načtení dat do vyrovnávací paměti 14 oznámí zpět dokončení přenosu manipulační jednotce IJ. Když tato zjistí, že operace s přímým přístupem do paměti procesoru číslicových signálů byla dokončena, manipulační jednotka 11 sepne řízení vyrovnávací paměti ke straně systému, provede inicializaci řídicí jednotky 12 ovládače sběrnice hlavního systému a přenese data z vyrovnávací paměti 14 do paměti hlavního systému. Po dokončení řídicí jednotka 12 oznámí tuto skutečnost zpět do manipulační jednotky 11 s přímým přístupem do paměti.
Po přenosu prvního řetězce manipulační jednotka 11 naplní akumulátor 35 v obr. 8 zbývajícím čítáním bytů. Je-li opět znaménkový bit nulový, čítání řetězce se nastaví rovné délce řetězce a toto množství dat se přenese operací s přímým přístupem do paměti. Je-li však znaménkový bit rovný 1, čítání v akumulátoru 35 bude nižší než je délka řetězce v registru 36 řetězce. Multiplexor 37 dvě ku jedné potom vybere obsah akumulátoru 35 jako konečný a poslední přenos s přímým přístupem do paměti. Jednička pro znaménkový bit je brána jako záporné číslo a nula pro tento bit je brána jako kladné číslo nebo jako nula. Detekce nuly je důležitá, protože oznamuje, že nulové čítání by nemohlo být provedeno. Po vyčerpání čítání bytů paketů manipulační jednotka 11 odpoví řídicí jednotce 10 paketů v obr. 3 oznámením o dokončení.
Rozhodovací řadič a řídicí jednotka 13 s přímým přístupem do paměti v obr. 3 procesoru číslicových signálů je součástí výše uvedené programovatelné řídicí jednotky vstupu a výstupu s přímým přístupem do paměti Intel 82325. Využívá čítač adres procesoru číslicových signálů s čítáním modulu jakož i obsahu čítače bytů naplněného čítáním řetězce, jak je znázorněno výstupy bloků 14 a 15 směrovanými do bloku 13 v obr. 3. Řídicí jednotka 10 paketů plní čítač adres ve 13 a manipulační jednotka 11 s přímým přístupem do paměti plní čítač bitů a nuluje adresu vnitřní vyrovnávací paměti při inicializaci startu operací s přímým přístupem do paměti procesoru číslicových signálů. Manipulační jednotka 11 s přímým přístupem do paměti také nastavuje cesty dat vyrovnávací paměti s přímým přístupem a řídí před startem řídicí jednotku 13 s přímým přístupem procesoru číslicových signálů.
Čítač čítání bytů s přímým přístupem do paměti procesoru číslicových signálů čítá po jednom nebo po dvou když operace ovladače sběrnice zavede ukládání dat. Čítač bytů čítá po jedné v modu bytů a po dvou v modu slov. Čítač bytů čítá po čtyřech když operace působí uložení instrukce, jak je patrno z bloku 38 v obr. 5. Po přijetí startovacího signálu řídicí jednotka 13 s přímým přístupem do paměti procesoru číslicových signálů pracuje tak, že buď čte data z procesoru číslicových signálů a ukládá je do vnitřní vyrovnávací paměti 14, nebo je čte z vnitřní vyrovnávací paměti 14 a ukládá je do procesoru číslicových signálů a nebo čte vyrovnávací paměť a ukládá ji do paměti instrukcí procesoru číslicových signálů v závislosti na informaci směrových bitů 01 a 02, jak je znázorněno v obr. 4.
Řídicí jednotka a rozhodovací řadič 12 ovládače sběrnice hlavního systému v obr. 3 je také částí čipu Intel 82 325. Tato řídicí jednotka ovládá dvousměmý pohyb dat mezi sběrnicemi hlavního osobního počítače a vyrovnávací paměti 14 vnitřní paměti s přímým přístupem v obr. 3. Tato řídicí jednotka 12 využívá sekvenční obvod osmibodového greyova kódu, který je taktován po 30 nanosekundách a dává cykly řetězců o délce 240 nanosekund. Řídicí jednotka obsahuje logiku pro rozhodování pro sběrnici hlavního systému, srovnání bytů, řízení dat, funkce krokování
-16CZ 290716 B6 a udržování pro modul adresování paměti a logiku zhušťování vnitřní vyrovnávací paměti. „Krokováním“ se rozumí přírůstek adresy skákající ze startovní adresy v paměti na následující startovní adresu. „Udržováním” se rozumí počet slov (adres) od nějaké počáteční adresy, které mají být v každém čase čteny. ..Skokem“ se rozumí počet slov (adres) nečtených, to znamená počet slov, u ktetych „krokování“ překračuje hodnoty „udržování“. Řídicí jednotka 12 je připojena k řídicí jednotce 10 paketů a k manipulační jednotce 11 s přímým přístupem do paměti, jak je znázorněno v obr. 3. Připojení k řídicí jednotce 10 paketů je jednoduché připojení řídicím slovem a parametry řídicího slova ze řídicího slova v obr. 4 jsou přeneseny do ovladače sběrnice hlavního systému a rozhodovacího řadiče. Obsahuje směrovací bity, indikátor slova bytu, homí a spodní adresy systému atd., jak je znázorněno v obr. 3. Směrové bity informují řídicí jednotku 12 zda se budou provádět operace čtení nebo zápisu v paměti hlavního systému. Systémový bit informuje řídicí jednotku 12 zda se má číst nebo psát buď do paměti hlavního osobního počítače, nebo do jejího prostoru pro vstup a výstup. Horní a spodní systémová adresa spolu spojeny specifikují startovní adresy použité řídicí jednotkou 12 pro operace ovladače sběrnice. Čítač systémových adres je schopný zvyšování přes 20 bitů, takže všechny operace jsou uspořádány v rozsahu 1 megabytu. Bity krokování/udržování a povolení vložené do řídicí jednotky 12 ze řídicí jednotky 10 paketů dovolují zvyšování adres hlavního systému pro umožnění kroků, to znamená provádět adresování modulu nebo bloků paměti když je dovoleno. Hodnoty krokování a udržování jsou bytové hodnoty zadané do řídicí jednotky 12 řídicí jednotkou 10 paketů. Hodnota „udržování“ je inklusivní v hodnotě „krokování“ podle obecné formule „udržování plus skok je rovno krokování“, jak bylo uvedeno výše.
Manipulační jednotka 11 s přímým přístupem do paměti inicializuje start operací v systému řídicí jednotky a rozhodovacího řadiče 12 ovladače sběrnice. Po inicializaci má řídicí jednotka 12 úplné řízení sběrnice vyrovnávací paměti 14 vnitřní paměti s přímým přístupem, pro kterou zajišťuje adresy vyrovnávací paměti a signály povolení zápisu a přijímá nebo získává data vyrovnávací paměti. Čítání řetězců a čítání parametrů nových paketů se převádí manipulační jednotkou 11 s přímým přístupem do paměti do řídicí jednotky 12.
Celková operace řídicí jednotky 10 paketů začíná signálem z procesoru číslicových signálů uvedených dříve jako „dávkovači“ řízení. Začínaje v obr. 9 bude tok operací v řídicí jednotce 10 paketů v obr. 3 podrobně popsán. Řídicí jednotka 10 paketů začíná dávkovacím signálem z procesoru číslicových signálů. Ve bloku 40 přistupuje do datové paměti procesoru číslicových signálů, kde je uložen seznam paketů s přímým přístupem do paměti a čte čítač cyklů. Získá první startovní polohu ukazatele paketu s přímým přístupem do paměti ve bloku 41 z procesoru číslicových signálů a potom čte datovou paměť procesoru číslicových signálů a čítač cyklů ve bloku 42. Ve bloku 43 je ukazatel zvýšen a ve bloku 44 je provedena zkouška, aby se zjistilo, zda byl dosažen konec seznamu paketů v seznamu požadavků paketů s přímým přístupem do paměti v procesoru číslicových signálů. Nebyl-li konec dosažen, řídicí jednotka přečte směrové bity ve bloku 45 a když jsou oba nulové, značí to, že byl dosažen paket „modul čekání“, zvýší se čtyřikrát ukazatel paketů ve bloku 46 a následuje návrat ke bloku 40 a čeká se na nový dávkovači signál.
Nebyly-li zjištěny žádné bity „modu čekání“, pokračuje operace do bloku 48, kde se čte řídicí registr, jak je označeno ukazatelem paketů. Ve bloku 49 je ukazatel zvýšen a provede se zkouška bitů vysokého řádu, aby se zjistilo, zda jsou větší než nula. Jsou-li větší než nula, neprovede se ve bloku 51 žádné vložení parametrů udržování a krokování. Jsou-li však bity 11-15 nulové, vloží se hodnoty pro udržování a krokování do adres bitů obsažených v bitech 11-15 z registrů 1 a 2 řídicího slova, jak je podrobně ukázáno v obr. 4.
Ve bloku 53 se do bitů 08-23 registru adres systému vloží data, která jsou označena ukazatelem, který se zvýší ve bloku 56, kde se do specifikovaného registru adres vloží data označená ukazatelem, který se potom zvýší ve bloku 58.
-17CZ 290716 B6
Ve bloku 58 se adresa procesoru číslových signálů uloží, když je provedena adresa slova a přenos ve bloku 60 z nebo do adresy procesoru číslicových signálů oznámená inicializací manipulační jednotky 11 s přímým přístupem do paměti z obr. 3. Operace pokračuje zpět do bloku 42 pro načtení další adresy datové paměti procesoru číslicových signálů, atd. Opět se provedou zkoušky na konec seznamu ve bloku 44 a když byl dosažen konec seznamu, v bloku 47 se vloží adresa ukazatele s přímým přístupem do paměti se startovní polohou ukazatele paketů, takže řídicí jednotka 10 paketů se vrátí zpět k dalšímu rozdělení segmentovaného seznamu požadavků s přímým přístupem do paměti vytvořeného procesorem číslicových signálů.
Ze předešlého popisu je zřejmé, že popsaný systém je celkový počítačový systém obsahující podsystém s přímým přístupem do paměti a hlavní počítač ke přímému přístupu do paměti a přímý přístup do paměti ke množině procesorů číslicových signálů podsystémů, které jsou jedinečně vhodné pro požadavky aplikací souběžných úloh v trvalém reálném čase jako jsou úloha převáděné v počítačovém systému s více médii. Prvky celkového počítačového systému svíce médii obsahují dobře známé a komerčně dostupné součástky jako procesory číslicových signálů, čipy rozhodovacích řadičů a řídicích jednotek s přímým přístupem do paměti a jednotek vstupu a výstupu, a počítače hlavního systému výše popsané a znázorněné.
Uspořádání systému a podsystému a prostředky řízení a komunikace mezi podsystémy a jednotlivými procesory zajišťuje jedinečné výhody předloženého vynálezu, přičemž odborníkovi bude zřejmé, že jsou možné četné odchylky ve struktuře technických prostředků i ve struktuře programového vybavení systému i podsystémů aniž by se vybočilo z rámce způsobu činnosti funkčního uspořádání systému. Tak například ačkoliv běžně dosažitelná rychlost procesoru číslicových signálů a kapacita paměti jsou výborné, budou brzy dosažitelné značně rychlejší procesory s větší pamětí, načež bude přeložení funkce manipulování se zdrojem od zpracování dat ke procesoru číslicových signálů praktické, nebo, naopak, přeložení řízení požadavků zdroje procesoru číslicových signálů může být předáno pomocnému procesoru ve stejném systému jako zpracování dat a procesor číslicových signálů nebo může procesor číslicových signálů mít takovou rychlost a kapacitu paměti, že je schopen nejen provádět úlohy procesoru číslicových signálů, avšak řídit přidělování vlastního zdroje a aktuálně provádět uživatelské úlohy místo zpracování dat, vše bez vybočení z rámce myšlenky předloženého vynálezu. Také přímý přístup do paměti může být účelně nahrazen když procesor číslicových signálů dostane přímé provádění programů uživatelských úloh, takže řídicí jednotka vstupu a výstupu s přímým přístupem do paměti interprocesoru nebude požadována pokud operační systém procesoru číslicových signálů může řídit všechny příděly zdroje zpracování signálu procesoru číslicových signálů se řízenými seznamy úloh, stejně jako řídicí jednotka vstupu a výstupu s přímým přístupem do paměti a seznamy paketů procesoru číslicových signálů jsou ve přednostním provedení řízeny. Tak například požadavky seznamu paketů procesoru číslicových signálů by mohly být zpracovány a řízeny samotným procesorem číslicových signálů, jako by mohl počáteční úkol přidělení zdroje, je-li k dispozici dostatečně rychlý procesor číslicových signálů a je dostupná kapacita hlavní paměti. Krátce řečeno, vynález uvažuje provádění uživatelských úloh, přidělování zdroje, vytváření seznamů přenosů dat, provádění úloh zpracování signálů pro uživatelské úlohy a celkové nahrazení funkce přímého přístupu do paměti použití jednoho samotného procesoru číslicových signálů když jsou dosažitelné vyšší rychlosti provádění a/nebo větší kapacita pamětí v takových procesorech číslicových signálů.

Claims (10)

1. Počítačový systém s více médii pro zajištění efektivních datových přenosů, zahrnující:
první procesor číslicových signálů (DP, hlavní procesor) pro provádění programů uživatelských úloh, který umísťuje požadavky zpracování číslicových signálů na systém v podporovaném provádění uvedených uživatelských úloh;
druhý procesor číslicových signálů (DSP) pro provádění uvedených požadavků zpracování číslicových signálů podporování provádění programů uživatelských úloh prvním procesorem (DP);
prostředek, reagující na přijetí požadavku zpracování číslicových signálů uvedených druhým procesorem číslicových signálů (DSP), pro přizpůsobení uvedeného druhého procesoru číslicových signálů (DSP) pro vytvoření rozdělené fronty požadavků přenosu dat s přímým přístupem do paměti pro přenos dat do nebo z uvedeného druhého procesoru číslicových signálů (DSP) s podporou uvedeného požadavku na zpracování uvedeného číslicového signálu; přičemž uvedený systém vyznačující se tím, že obsahuje prostředek pro přizpůsobení uvedeného prvního procesoru číslicových signálů (DP) pro předání uvedenému druhému procesoru číslicových signálů (DSP) pouze těch požadavků zpracování číslicových signálů, jejichž požadavky zdroje zpracování kombinovaného signálu nepřesahují dostupnou kapacitu zdroje zpracování signálu druhého procesoru číslicových signálů (DSP); a uvedená rozdělená fronta obsahuje znaky rozdělení v pravidelných časových intervalech zavedené uvedeným druhým procesorem číslicových signálů (DSP).
2. Počítačový systém podle nároku 1, vyznačující se tím, že každý z uvedených požadavků přenosu dat s přímým přístupem do paměti je zajištěn uvedeným druhým procesorem číslicových signálů (DSP) s poli specifikujícími paměť, zdrojové a cílové adresy, směr přenosu, počet jednotek dat, které mají být přeneseny, a operační indikátory řízení, jakož i konec indikátoru požadavku.
3. Počítačový systém podle nároku 1 nebo 2, vyznačující se tím, že dále obsahuje: řídicí jednotku (DMA/IO) vstupu a výstupu s přímým přístupem do paměti inteprocesoru pro řízení přenosu dat mezi uvedeným prvním procesorem číslicových signálů (DP) a uvedeným druhým procesorem číslicových signálů (DSP); a datové a adresové sběrnice propojující uvedenou řídicí jednotku (DMA/IO) vstupu a výstupu s přímým přístupem do paměti s uvedeným prvním procesorem číslicových signálů (DP) a druhým procesorem číslicových signálů (DSP).
4. Počítačový systém podle nároků 2 a 3, vyznačující se tím, že uvedená řídicí jednotka (DMA/IO) vstupu a výstupu s přímým přístupem do paměti interprocesoru provádí přenos dat mezi uvedeným prvním procesorem číslicových signálů (DP) a druhým procesorem číslicových signálů (DSP) přístupem k uvedené rozdělené frontě a řízením přenosu dat v souhlasu s uvedenými poli specifikujícími data v uvedených požadavcích.
5. Počítačový systém podle nároku 3 nebo 4, vyznačující se tím, že uvedený druhý procesor číslicových signálů (DSP) vytváří část uvedené fronty a ukládá požadavky přenosu dat uvedená řídicí jednotka (DMA/IO) vstupu a výstupu s přímým přístupem do paměti interprocesoru do ní během pravidelných časových intervalů, během kterých uvedená řídicí jednotka (DMA/IO) vstupu a výstupu s přímým přístupem do paměti interprocesoru provádí přenosy dat na základě požadavků přenosu dat z jiné části uvedené fronty.
- 19CZ 290716 B6
6. Počítačový systém podle alespoň jednoho z nároků 1 až 5, vyznačující se tím, že dále obsahuje prostředek pro odhad požadavku zdroje zpracování signálu druhého procesoru číslicových signálů (DSP) nutného pro podporu každého programu uživatelových úloh jeho volbou uživatelem, kde uvedený odhad obsahuje požadavek přenosu maxima dat programu zvoleného uživatelem během určeného časového intervalu, maximum žádané rychlosti provádění a maximum velikosti paměti požadované druhým procesorem číslicových signálů (DSP).
7. Počítačový systém podle nároku 4, vyznačující se tím, že uvedená řídicí jednotka (DMA/IO) vstupu a výstupu s přímým přístupem do paměti interprocesoru obsahuje vyrovnávací paměť a provádí požadavky přenosu dat přístupem ke zdrojové adrese paměti, přenosem dat z ní do vyrovnávací paměti, přístupem k adrese určení paměti a přenosem dat do ní z vyrovnávací paměti.
8. Způsob řízení činnosti počítačového systému s více médii pro zajištění efektivních datových přenosů, majícího první procesor číslicových signálů (DP, hlavní procesor) pro provádění programů uživatelských úloh a druhý procesor číslicových signálů (DSP) pro provádění požadavků zpracování číslicových signálů v podporovaném provádění uvedených programů uživatelských úloh v uvedeném prvním procesoru číslicových signálů (DP), vyznačující se tí m , že obsahuje kroky:
určení ((3, (6), Obr. 6) celkového požadavku zdroje druhého procesoru číslicových signálů (DSP) pro podporu provádění jakékoli aktivní uživatelem zvolené programové úlohy;
porovnání ((3), (6) Obr. 6) uvedeného celkového požadavku zdroje druhého procesoru číslicových signálů (DSP) s maximální kapacitou zdroje druhého procesoru číslicových signálů (DSP);
potlačení ((4), Obr. 6) provádění uvedeného programu uživatelem zvoleného úkolu v prvním procesoru číslicových signálů (DP) jestliže požadavek zdroje uvedeného programu úkolu způsobuje, že celkový požadavek zdroje druhého procesoru číslicových signálů (DSP) přesahuje uvedenou maximální dostupnou kapacitu zdroje druhého procesoru číslicových signálů (DSP);
vytvoření ((3, Obr. 1), odezvou na příjem požadavků o zpracování číslicových signálů u druhého procesoru číslicových signálů (DSP), žádostí o přenos dat rozdělené fronty s přímým přístupem do paměti; a vložení dělicích znaků do uvedené fronty v pravidelných časových intervalech.
9. Způsob podle nároku 8, vy značu j í cí se tí m , že dále obsahuje kroky:
přístup k uvedeným datům, která mají být přenesena do prvního procesoru číslicových signálů (DP) nebo do uvedeného druhého procesoru číslicových signálů (DSP);
přenos uvedených dat do vyrovnávací paměti;
přístup do uvedené paměti uvedeného prvního procesoru číslicových signálů (DP) nebo uvedeného druhého procesoru číslicových signálů (DSP), kde jsou data, která mají být zapsána; a přenos uvedených dat do uvedené paměti uvedeného prvního procesoru číslicových signálů (DP) nebo uvedeného druhého procesoru číslicových signálů (DSP).
10. Způsob podle nároku 8 nebo 9, vy z n ač u j í c í se tím, že dále obsahuje krok provedení požadavků přenosu uvedených dat do části uvedené fronty v časovém intervalu, ve kterém uvedený druhý procesor číslicových signálů (DSP) vytváří jinou část uvedené fronty.
CZ1994549A 1991-09-18 1992-08-26 Počítačový systém s více médii CZ290716B6 (cs)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US76153491A 1991-09-18 1991-09-18

Publications (2)

Publication Number Publication Date
CZ9400549A3 CZ9400549A3 (cs) 2002-05-15
CZ290716B6 true CZ290716B6 (cs) 2002-10-16

Family

ID=25062507

Family Applications (1)

Application Number Title Priority Date Filing Date
CZ1994549A CZ290716B6 (cs) 1991-09-18 1992-08-26 Počítačový systém s více médii

Country Status (15)

Country Link
US (3) US5404522A (cs)
EP (1) EP0604471B1 (cs)
JP (1) JPH0827782B2 (cs)
KR (1) KR970000910B1 (cs)
CN (1) CN1026733C (cs)
AT (1) ATE149259T1 (cs)
BR (1) BR9203427A (cs)
CA (1) CA2069711C (cs)
CZ (1) CZ290716B6 (cs)
DE (1) DE69217664T2 (cs)
HU (1) HU219533B (cs)
PH (1) PH31674A (cs)
PL (1) PL170083B1 (cs)
SK (1) SK31194A3 (cs)
WO (1) WO1993006553A1 (cs)

Families Citing this family (122)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5440740A (en) * 1992-10-13 1995-08-08 Chen; Fetchi System and method for managing devices on multiple digital signal processors
US6026443A (en) * 1992-12-22 2000-02-15 Sun Microsystems, Inc. Multi-virtual DMA channels, multi-bandwidth groups, host based cellification and reassembly, and asynchronous transfer mode network interface
US5828856A (en) * 1994-01-28 1998-10-27 Apple Computer, Inc. Dual bus concurrent multi-channel direct memory access controller and method
US5655151A (en) * 1994-01-28 1997-08-05 Apple Computer, Inc. DMA controller having a plurality of DMA channels each having multiple register sets storing different information controlling respective data transfer
US5805927A (en) * 1994-01-28 1998-09-08 Apple Computer, Inc. Direct memory access channel architecture and method for reception of network information
AU2192295A (en) * 1994-03-30 1995-10-23 Apple Computer, Inc. Streaming storage system and streaming data buffer
DE4428068A1 (de) * 1994-08-09 1996-02-15 Sel Alcatel Ag Telekommunikationsendgerät
TW270193B (cs) * 1994-08-10 1996-02-11 Ibm
US5634076A (en) * 1994-10-04 1997-05-27 Analog Devices, Inc. DMA controller responsive to transition of a request signal between first state and second state and maintaining of second state for controlling data transfer
US5685005A (en) * 1994-10-04 1997-11-04 Analog Devices, Inc. Digital signal processor configured for multiprocessing
US5634099A (en) * 1994-12-09 1997-05-27 International Business Machines Corporation Direct memory access unit for transferring data between processor memories in multiprocessing systems
US5864712A (en) * 1995-03-17 1999-01-26 Lsi Logic Corporation Method and apparatus for controlling (N+I) I/O channels with (N) data managers in a homogenous software programmable environment
DE69614291T2 (de) * 1995-03-17 2001-12-06 Lsi Logic Corp., Fort Collins (n+i) Ein/Ausgabekanälesteuerung, mit (n) Datenverwaltern, in einer homogenen Software-Programmierbetriebsumgebung
US5774745A (en) * 1995-03-31 1998-06-30 Cirrus Logic, Inc. Method and apparatus for writing and reading entries in an event status queue of a host memory
US5659749A (en) * 1995-05-08 1997-08-19 National Instruments Corporation System and method for performing efficient hardware context switching in an instrumentation system
EP0834136B1 (en) * 1995-06-07 1999-08-11 Advanced Micro Devices, Inc. Computer system having a dedicated multimedia engine including multimedia memory
US5870622A (en) * 1995-06-07 1999-02-09 Advanced Micro Devices, Inc. Computer system and method for transferring commands and data to a dedicated multimedia engine
WO1997006490A1 (en) * 1995-08-09 1997-02-20 Cirrus Logic, Inc. Parasitic personal computer interface
US5692211A (en) * 1995-09-11 1997-11-25 Advanced Micro Devices, Inc. Computer system and method having a dedicated multimedia engine and including separate command and data paths
US5784592A (en) * 1995-09-11 1998-07-21 Advanced Micro Devices, Inc. Computer system which includes a local expansion bus and a dedicated real-time bus for increased multimedia performance
US5917502A (en) * 1995-12-06 1999-06-29 Intergraph Corporation Peer-to-peer parallel processing graphics accelerator
US5748921A (en) * 1995-12-11 1998-05-05 Advanced Micro Devices, Inc. Computer system including a plurality of multimedia devices each having a high-speed memory data channel for accessing system memory
US5761532A (en) * 1995-12-29 1998-06-02 Intel Corporation Direct memory access controller with interface configured to generate wait states
US5954811A (en) * 1996-01-25 1999-09-21 Analog Devices, Inc. Digital signal processor architecture
US5896543A (en) * 1996-01-25 1999-04-20 Analog Devices, Inc. Digital signal processor architecture
JPH09212461A (ja) * 1996-01-29 1997-08-15 Internatl Business Mach Corp <Ibm> データ転送制御方法
US6115767A (en) * 1996-03-04 2000-09-05 Matsushita Electric Industrial Co., Ltd. Apparatus and method of partially transferring data through bus and bus master control device
US5987590A (en) * 1996-04-02 1999-11-16 Texas Instruments Incorporated PC circuits, systems and methods
US5894554A (en) * 1996-04-23 1999-04-13 Infospinner, Inc. System for managing dynamic web page generation requests by intercepting request at web server and routing to page server thereby releasing web server to process other requests
US6006286A (en) * 1996-04-26 1999-12-21 Texas Instruments Incorporated System for controlling data packet transfers by associating plurality of data packet transfer control instructions in packet control list including plurality of related logical functions
EP0804008B1 (en) * 1996-04-26 2006-11-15 Texas Instruments Incorporated Apparatus for data packet transfer control
US5898892A (en) * 1996-05-17 1999-04-27 Advanced Micro Devices, Inc. Computer system with a data cache for providing real-time multimedia data to a multimedia engine
US5805838A (en) * 1996-05-31 1998-09-08 Sun Microsystems, Inc. Fast arbiter with decision storage
US6832380B1 (en) * 1996-06-28 2004-12-14 Tarantella, Inc. Client-server application partitioning with metering technique for distributed computing
US5898895A (en) * 1996-10-10 1999-04-27 Unisys Corporation System and method for controlling data transmission rates between circuits in different clock domains via selectable acknowledge signal timing
US5926649A (en) * 1996-10-23 1999-07-20 Industrial Technology Research Institute Media server for storage and retrieval of voluminous multimedia data
US6076127A (en) * 1996-11-06 2000-06-13 International Business Machines Corporation Configuration of a single point bus arbitration scheme using on-chip arbiters
US6055619A (en) * 1997-02-07 2000-04-25 Cirrus Logic, Inc. Circuits, system, and methods for processing multiple data streams
US6259957B1 (en) 1997-04-04 2001-07-10 Cirrus Logic, Inc. Circuits and methods for implementing audio Codecs and systems using the same
JPH10328163A (ja) 1997-05-28 1998-12-15 Siemens Ag 核スピン断層撮影装置のためのパルスシーケンスの制御方法及び装置
US6539415B1 (en) * 1997-09-24 2003-03-25 Sony Corporation Method and apparatus for the allocation of audio/video tasks in a network system
US6002882A (en) * 1997-11-03 1999-12-14 Analog Devices, Inc. Bidirectional communication port for digital signal processor
US5938744A (en) * 1997-11-04 1999-08-17 Aiwa/Raid Technlogy, Method for managing multiple DMA queues by a single controller
US6061779A (en) * 1998-01-16 2000-05-09 Analog Devices, Inc. Digital signal processor having data alignment buffer for performing unaligned data accesses
EP0936813A1 (en) 1998-02-16 1999-08-18 CANAL+ Société Anonyme Processing of digital picture data in a decoder
US6253237B1 (en) * 1998-05-20 2001-06-26 Audible, Inc. Personalized time-shifted programming
US6418459B1 (en) * 1998-06-09 2002-07-09 Advanced Micro Devices, Inc. Isochronous task scheduling structure for a non-real-time operating system
US6704763B1 (en) 1998-06-09 2004-03-09 Advanced Micro Devices, Inc. Hardware enforcement mechanism for an isochronous task scheduler
US6421702B1 (en) * 1998-06-09 2002-07-16 Advanced Micro Devices, Inc. Interrupt driven isochronous task scheduler system
US6502123B1 (en) 1998-06-09 2002-12-31 Advanced Micro Devices, Inc. Isochronous system using certified drivers to ensure system stability
US7616200B1 (en) 1998-06-12 2009-11-10 3Dlabs Inc. Ltd. System for reducing aliasing on a display device
US6378017B1 (en) * 1998-07-08 2002-04-23 Nms Communications Corporation Processor interconnection
WO2000004527A1 (en) * 1998-07-17 2000-01-27 Intergraph Corporation Apparatus and method of directing graphical data to a display device
WO2000004496A1 (en) 1998-07-17 2000-01-27 Intergraph Corporation Graphics processor with texture memory allocation system
WO2000004528A1 (en) 1998-07-17 2000-01-27 Intergraph Corporation System for displaying a television signal on a computer monitor
WO2000004482A2 (en) 1998-07-17 2000-01-27 Intergraph Corporation Multi-processor graphics accelerator
US6188410B1 (en) 1998-07-17 2001-02-13 3Dlabs Inc. Ltd. System for processing vertices from a graphics request stream
WO2000004484A2 (en) 1998-07-17 2000-01-27 Intergraph Corporation Wide instruction word graphics processor
WO2000004443A1 (en) 1998-07-17 2000-01-27 Intergraph Corporation Byte reordering apparatus and method
WO2000004494A1 (en) 1998-07-17 2000-01-27 Intergraph Corporation Graphics processing system with multiple strip breakers
WO2000004436A1 (en) 1998-07-17 2000-01-27 Intergraph Corporation Graphics processing with transcendental function generator
US6415345B1 (en) * 1998-08-03 2002-07-02 Ati Technologies Bus mastering interface control system for transferring multistream data over a host bus
US6219725B1 (en) * 1998-08-28 2001-04-17 Hewlett-Packard Company Method and apparatus for performing direct memory access transfers involving non-sequentially-addressable memory locations
US6233639B1 (en) 1999-01-04 2001-05-15 International Business Machines Corporation Memory card utilizing two wire bus
US6674440B1 (en) 1999-04-05 2004-01-06 3Dlabs, Inc., Inc. Ltd. Graphics processor for stereoscopically displaying a graphical image
GB9909196D0 (en) * 1999-04-21 1999-06-16 Texas Instruments Ltd Transfer controller with hub and ports architecture
EP1059781B1 (de) 1999-05-06 2007-09-05 Siemens Aktiengesellschaft Kommunikationseinrichtung mit Mitteln zur Echtzeitverarbeitung von zu übertragenden Nutzdaten
NO993483L (no) 1999-07-15 2001-01-16 Ericsson Telefon Ab L M Fremgangsmåte og anordning for effektiv overföring av datapakker
US6892339B1 (en) * 1999-09-20 2005-05-10 Freescale Semiconductor, Inc. Discrete multi-tone (DMT) system and method that communicates a data pump data stream between a general purpose CPU and a DSP via a buffering scheme
US6421744B1 (en) * 1999-10-25 2002-07-16 Motorola, Inc. Direct memory access controller and method therefor
US6985964B1 (en) * 1999-12-22 2006-01-10 Cisco Technology, Inc. Network processor system including a central processor and at least one peripheral processor
US7661107B1 (en) 2000-01-18 2010-02-09 Advanced Micro Devices, Inc. Method and apparatus for dynamic allocation of processing resources
US6925641B1 (en) * 2000-02-04 2005-08-02 Xronix Communications, Inc. Real time DSP load management system
US6757904B1 (en) * 2000-03-10 2004-06-29 Microsoft Corporation Flexible interface for communicating between operating systems
US6615173B1 (en) * 2000-08-28 2003-09-02 International Business Machines Corporation Real time audio transmission system supporting asynchronous input from a text-to-speech (TTS) engine
JP4915631B2 (ja) * 2000-09-06 2012-04-11 エスティー‐エリクソン、ソシエテ、アノニム プロセッサ間通信システム
WO2002033504A2 (en) * 2000-10-02 2002-04-25 Altera Corporation Programmable logic integrated circuit devices including dedicated processor components
US6721826B2 (en) * 2001-09-25 2004-04-13 Lsi Logic Corporation Buffer partitioning for managing multiple data streams
MXPA04003127A (es) * 2001-10-10 2005-01-25 Gartner Inc Sistema y metodo para asignar una medida metrica de motor a un sistema de computacion.
US7234144B2 (en) * 2002-01-04 2007-06-19 Microsoft Corporation Methods and system for managing computational resources of a coprocessor in a computing system
EP1351514A3 (en) * 2002-04-01 2005-07-20 Broadcom Corporation Memory acces engine having multi-level command structure
US7302503B2 (en) * 2002-04-01 2007-11-27 Broadcom Corporation Memory access engine having multi-level command structure
US7426182B1 (en) * 2002-08-28 2008-09-16 Cisco Technology, Inc. Method of managing signal processing resources
WO2005015386A1 (ja) * 2003-08-07 2005-02-17 Matsushita Electric Industrial Co., Ltd. プロセッサ集積回路及びプロセッサ集積回路を用いた製品開発方法
US20050038946A1 (en) * 2003-08-12 2005-02-17 Tadpole Computer, Inc. System and method using a high speed interface in a system having co-processors
US7895411B2 (en) * 2003-10-02 2011-02-22 Nvidia Corporation Physics processing unit
US7739479B2 (en) * 2003-10-02 2010-06-15 Nvidia Corporation Method for providing physics simulation data
US20050086040A1 (en) * 2003-10-02 2005-04-21 Curtis Davis System incorporating physics processing unit
JP2005128963A (ja) * 2003-10-27 2005-05-19 Toshiba Information Systems (Japan) Corp 記憶制御装置及びdma転送が可能な制御システム
US7188195B2 (en) * 2003-11-14 2007-03-06 Hewlett-Packard Development Company, L.P. DMA slot allocation
US7240135B2 (en) * 2004-03-05 2007-07-03 International Business Machines Corporation Method of balancing work load with prioritized tasks across a multitude of communication ports
US20050251644A1 (en) * 2004-05-06 2005-11-10 Monier Maher Physics processing unit instruction set architecture
US7457484B2 (en) * 2004-06-23 2008-11-25 Creative Technology Ltd Method and device to process digital media streams
US20060026308A1 (en) * 2004-07-29 2006-02-02 International Business Machines Corporation DMAC issue mechanism via streaming ID method
JP4585809B2 (ja) * 2004-08-02 2010-11-24 株式会社リコー 画像処理制御装置
US20060075157A1 (en) * 2004-09-28 2006-04-06 Paul Marchal Programmable memory interfacing device for use in active memory management
EP1647894A3 (en) 2004-10-12 2007-11-21 NEC Electronics Corporation Information processing apparatus with parallel DMA processes
US8079036B2 (en) * 2004-11-10 2011-12-13 Microsoft Corporation Method and system for structured DMA transactions
US7369502B2 (en) * 2004-12-02 2008-05-06 Cisco Technology, Inc. Intelligent provisioning of DSP channels for codec changes
US7774584B2 (en) * 2005-03-30 2010-08-10 Freescale Semiconductor, Inc. Discrete multi-tone (DMT) system and method that communicates a data pump data stream between a general purpose CPU and a DSP via a buffering scheme
US7697536B2 (en) * 2005-04-01 2010-04-13 International Business Machines Corporation Network communications for operating system partitions
US7620746B2 (en) * 2005-09-29 2009-11-17 Apple Inc. Functional DMA performing operation on DMA data and writing result of operation
US7496695B2 (en) * 2005-09-29 2009-02-24 P.A. Semi, Inc. Unified DMA
JP2007156824A (ja) * 2005-12-05 2007-06-21 Nec Electronics Corp プロセッサシステム、タスク制御方法
US7415449B2 (en) * 2006-01-30 2008-08-19 Xerox Corporation Solution recommendation based on incomplete data sets
US20090222270A2 (en) * 2006-02-14 2009-09-03 Ivc Inc. Voice command interface device
US8069279B2 (en) 2007-03-05 2011-11-29 Apple Inc. Data flow control within and between DMA channels
GB2459331B (en) * 2008-04-24 2012-02-15 Icera Inc Direct Memory Access (DMA) via a serial link
US8526460B2 (en) * 2008-10-01 2013-09-03 Harris Corporation Systems and methods for scheduling asynchronous tasks to residual channel space
US8181184B2 (en) * 2008-10-17 2012-05-15 Harris Corporation System and method for scheduling tasks in processing frames
US8719463B2 (en) * 2010-11-16 2014-05-06 Taiwan Semiconductor Manufacturing Company, Ltd. Processor with tightly coupled smart memory unit
US8843714B1 (en) * 2011-03-30 2014-09-23 Emc Corporation Write pacing simulation tool
US9553590B1 (en) 2012-10-29 2017-01-24 Altera Corporation Configuring programmable integrated circuit device resources as processing elements
CN103955408B (zh) * 2014-04-24 2018-11-16 深圳中微电科技有限公司 Mvp处理器中有dma参与的线程管理方法及装置
US10452392B1 (en) 2015-01-20 2019-10-22 Altera Corporation Configuring programmable integrated circuit device resources as processors
US10110233B2 (en) 2016-06-23 2018-10-23 Altera Corporation Methods for specifying processor architectures for programmable integrated circuits
US10805424B2 (en) 2017-06-29 2020-10-13 Bank Of America Corporation System for sending digital requests for resource transfers
CN111093109B (zh) * 2018-10-24 2022-07-29 杭州海康威视数字技术股份有限公司 媒体数据播放处理方法、媒体播放设备
CN112328520B (zh) * 2020-09-30 2022-02-11 郑州信大捷安信息技术股份有限公司 一种pcie设备、基于pcie设备的数据传输方法和系统
CN112328519B (zh) * 2020-09-30 2022-02-18 郑州信大捷安信息技术股份有限公司 一种pcie设备、基于sr-iov的数据包有序传输方法和系统
US20220029936A1 (en) * 2021-06-01 2022-01-27 Fujitsu Limited Packet transmission device and packet transmission method
CN117215664B (zh) * 2023-08-21 2024-06-11 白盒子(上海)微电子科技有限公司 一种片上系统多核dsp快速启动方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS603216B2 (ja) * 1977-12-26 1985-01-26 富士通株式会社 デ−タ処理システム運転制御方式
US4485438A (en) * 1982-06-28 1984-11-27 Myrmo Erik R High transfer rate between multi-processor units
JPS63153643A (ja) * 1986-12-17 1988-06-27 Mitsubishi Electric Corp ジヨブの選択制御方式
CA1279393C (en) * 1987-01-23 1991-01-22 A. David Milton Digital signal processing system
US5195092A (en) * 1987-08-04 1993-03-16 Telaction Corporation Interactive multimedia presentation & communication system
JPH065524B2 (ja) * 1987-11-18 1994-01-19 インターナショナル・ビジネス・マシーンズ・コーポレーション 記憶装置管理方法
US4930069A (en) * 1987-11-18 1990-05-29 International Business Machines Corporation Mechanism and method for transferring data between bus units having varying master and slave DMA capabilities
US5142672A (en) * 1987-12-15 1992-08-25 Advanced Micro Devices, Inc. Data transfer controller incorporating direct memory access channels and address mapped input/output windows
JPH01291545A (ja) * 1988-05-18 1989-11-24 Fujitsu Ltd マルチメディア多重化装置
US5003465A (en) * 1988-06-27 1991-03-26 International Business Machines Corp. Method and apparatus for increasing system throughput via an input/output bus and enhancing address capability of a computer system during DMA read/write operations between a common memory and an input/output device
US4935868A (en) * 1988-11-28 1990-06-19 Ncr Corporation Multiple port bus interface controller with slave bus
JPH02170644A (ja) * 1988-12-22 1990-07-02 Nec Corp マルチメディア通信システムの優先送信方法
US5377332A (en) * 1989-10-02 1994-12-27 Data General Corporation Bus arbitration algorithm and apparatus
US5247626A (en) * 1990-05-29 1993-09-21 Advanced Micro Devices, Inc. Fddi controller having flexible buffer management
US5303369A (en) * 1990-08-31 1994-04-12 Texas Instruments Incorporated Scheduling system for multiprocessor operating system
US5165021A (en) * 1991-01-18 1992-11-17 Racal-Datacom, Inc. Transmit queue with loadsheding
US5226041A (en) * 1991-02-21 1993-07-06 International Business Machines Corporation Method for efficiently simulating the dynamic behavior of a data communications network

Also Published As

Publication number Publication date
CZ9400549A3 (cs) 2002-05-15
US5724583A (en) 1998-03-03
HU219533B (hu) 2001-05-28
DE69217664T2 (de) 1997-09-11
HUT68084A (en) 1995-05-29
CA2069711C (en) 1999-11-30
US5404522A (en) 1995-04-04
WO1993006553A1 (en) 1993-04-01
DE69217664D1 (de) 1997-04-03
HU9400792D0 (en) 1994-07-28
BR9203427A (pt) 1993-04-20
JPH0827782B2 (ja) 1996-03-21
EP0604471A1 (en) 1994-07-06
EP0604471B1 (en) 1997-02-26
SK31194A3 (en) 1994-07-06
KR970000910B1 (ko) 1997-01-21
US5724587A (en) 1998-03-03
CA2069711A1 (en) 1993-03-19
CN1070751A (zh) 1993-04-07
JPH05204828A (ja) 1993-08-13
PH31674A (en) 1999-01-18
CN1026733C (zh) 1994-11-23
ATE149259T1 (de) 1997-03-15
KR930006550A (ko) 1993-04-21
PL170083B1 (pl) 1996-10-31

Similar Documents

Publication Publication Date Title
CZ290716B6 (cs) Počítačový systém s více médii
EP0732659B1 (en) Controlling (n+i) I/O channels with (n) data managers in a homogeneous software programming environment
JP3273202B2 (ja) 複数のデータチャネルを介してデータを転送する方法及びその回路アーキテクチャ
JP3271125B2 (ja) データを転送する方法と装置及びデータ転送をインタリーブする装置
US5649230A (en) System for transferring data using value in hardware FIFO&#39;S unused data start pointer to update virtual FIFO&#39;S start address pointer for fast context switching
EP0241129B1 (en) Addressing arrangement for a RAM buffer controller
US5864712A (en) Method and apparatus for controlling (N+I) I/O channels with (N) data managers in a homogenous software programmable environment
US6115761A (en) First-In-First-Out (FIFO) memories having dual descriptors and credit passing for efficient access in a multi-processor system environment
JPH071495B2 (ja) データ処理システム
JPH02284252A (ja) インテリジェント入出力プロセッサおよびデータ処理装置
JPS59501802A (ja) マルチプロセッサシステムにおけるプロセス間呼出しの方法と装置
JP2001142842A (ja) Dmaハンドシェークプロトコル
US4470115A (en) Input/output method
US6598097B1 (en) Method and system for performing DMA transfers using operating system allocated I/O buffers
KR20000016944A (ko) 로컬메모리에서패킷화된동작정보의기억을통한입출력성능을증가시키기위한시스템
US7979660B2 (en) Paging memory contents between a plurality of compute nodes in a parallel computer
CN117312202B (zh) 片上系统和用于片上系统的数据传输方法
JPH0246967B2 (cs)
Bogaerts et al. Experience with a virtual memory based data acquisition system at CERN
JPH1063517A (ja) リアルタイム情報処理方法およびその装置

Legal Events

Date Code Title Description
MM4A Patent lapsed due to non-payment of fee

Effective date: 20060826