Návrat na detail prednášky / Stiahnuť prednášku / Univerzita Konštantína Filozofa / Fakulta prírodných vied / Logické systémy počítačov
lekcia 4 (lekcia_4.doc)
Pojem logického systému a logického obvodu
Na začiatku si opíšeme základné vlastnosti dynamických systémov, ktoré nazývame logické systémy. Základnými veličinami logického obvodu vo všeobecnosti sú jeho vstupné, výstupné a ak sa jedná o sekvenčný obvod aj vnútorné veličiny. Uvedené veličiny sa nazývajú vstupné, výstupné a vnútorné premenné obvodu. Logické obvody pracujú na základe dvojhodnotovej logiky, kde jednotlivé premenné môžu nadobúdať jednu z dvoch logických hodnôt označovaných 0 a 1. Každá premenná logického obvodu reprezentuje v danom časovom okamžiku (takte) hodnotu 0 alebo 1. Systém má n vstupných veličín x1, ..., xn
ktoré menia svoju hodnotu v čase nezávisle od systému. Zmeny týchto veličín sa vytvárajú okolím systému. Systém má okrem toho aj m výstupných veličín y1, ..., ym, ktorých hodnoty funkčne závisia od hodnôt vstupných veličín. Vzťahy medzi hodnotami vstupných a výstupných veličín sa vo všeobecnosti sprostredkúvajú určitými vnútornými veličinami systému z1, …, zk. Tieto veličiny nazývame stavové. Spomenuté veličiny systému budeme nazývať vstupné, výstupné alebo stavové premenné. Vstupné a výstupné premenné nazývame často iba vstupy a výstupy systému. Vo všetkých ďalších častiach sa budeme zaujímať o systémy, ktorých jednotlivé premenné nadobúdajú iba dve hodnoty. Tieto hodnoty označujeme symbolmi 0 a 1 a nazývame ich logické alebo boolovské hodnoty, prípadne signály. V literatúre sa možno stretnúť aj s iným označením týchto hodnôt. Používa sa napr. označenie L, H, čo sú začiatočné písmená anglických slov „low“, „high“. Príslušné premenné systému nazývame potom dvojhodnotové alebo boolovské premenné. Opísaný logický systém z obr. (hore) je dynamický, pracujúci v čase. Hodnoty stavových a výstupných premenných systému sa menia v závislosti od hodnôt alebo zmien hodnôt vstupných premenných v čase. Pri opise systému v čase budeme používať iba diskrétny čas. Diskrétny čas definujeme ako postupnosť diskrétnych bodov t0<t1<t2<… v časovom kontinuu. Pri danom systéme je charakteristické, že v každom bode ti diskrétneho času systém „pozoruje“ určitý vstupný vektor, nachádza sa v určitom stave a generuje určitý výstupný vektor. Pri opise vzťahov medzi hodnotami vstupných, stavových a výstupných premenných v bodoch diskrétneho času, nie sú obyčajne významné absolútne hodnoty t0, t1, t2, … ale poradie týchto bodov. Z tohto dôvodu body diskrétneho času opisujeme pomocou celých alebo prirodzených čísel. Čísla sa priraďujú bodom v poradí narastania hodnôt napr. takto: fi→i
Pri takejto konvencii čas vystupuje ako diskrétna premenná r, ktorá nadobúda hodnotu z príslušnej množiny čísel. V príklade na obr. (hore) nadobúda z hodnoty 0, 1, 2, 3. Body diskrétneho času sú určené obyčajne zmenami hodnôt premenných. V jednej triede systémov, ktoré nazývame synchrónne, sú body diskrétneho času určené významnými (alebo charakteristickými) zmenami hodnoty osobitej dvoj hodnotovej premennej. Túto premennú nazývame synchronizačná alebo hodinová premenná (alebo skrátene hodiny). Na obr.
je príklad spôsobu určenia bodov diskrétneho času zmenami 0 → 1 synchronizačnej premennej h. Významnou zmenou hodnoty synchronizačnej premennej je v tomto prípade zmena 0 → 1. V obr. (hore) vychádzame z určitej idealizácie skutočného časového priebehu synchronizačnej premennej. Zmeny považujeme za okamžité, t. j. za body nespojitosti. Takúto idealizáciu budeme často používať aj pri opise časových priebehov ostatných premenných. Požadovaný časový priebeh synchronizačnej premennej generuje špeciálne zariadenie v okolí systému, ktoré nazývame generátor hodín. Synchronizačnú premennú obyčajne nepovažujeme za vstupnú premennú systému. Pre daný logický systém sú charakteristické určité (časovo invariantné) vzťahy medzi hodnotami vstupných a výstupných premenných v bodoch diskrétneho času. Súbor všetkých týchto vzťahov nazývame správanie systému. V uvedenej koncepcii sa logické systémy chápu ako číslicové systémy, pri ktorých sa zaujímame iba o vzťah medzi logickými premennými.
Rozdelenie logických systémov
Kombinačné a sekvenčné (systémy) obvody
Podľa správania logické systémy rozdeľujeme na dve triedy: kombinačné a sekvenčné systémy. Toto rozdelenie prenášame aj na logické obvody a hovoríme o kombinačných alebo sekvenčných logických obvodoch.
Kombinačný logický systém (obvod)
má správanie, ktoré možno opísať funkciou f: X→Y, kde X je množina vstupných a Y množina výstupných vektorov.
Funkcia f priraďuje každému vstupnému vektoru x↑X určitý výstupný vektor y=f(x). Pri kombinačných systémoch (obvodoch) teda výstupný vektor závisí iba od vstupného vektora v danom čase. Funkcia f sa nazývame funkcia kombinačného obvodu.
Sekvenčné logické systémy (obvody)
sú charakteristické tým, že výstupný vektor závisí nielen od vstupného vektora v niektorom bode diskrétneho času, ale aj od postupnosti (sekvencie) vstupných vektorov v predchádzajúcich bodoch diskrétneho času. Teda v závislosti od predchádzajúcich vstupných vektorov môže sekvenčný systém v danom čase pri určitom vstupnom vektore generovať rôzne výstupné vektory. Takto sa môže správať systém iba vtedy, ak je schopný „pamätať“ si, čo sa odohralo na jeho vstupoch v minulosti a podľa toho reagovať na súčasný vstupný vektor.
Správanie sekvenčného systému možno vo všeobecnosti opísať pomocou funkcie F:
Fs:X*→Y*
kde X* a Y* sú (nekonečné) množiny všetkých postupností s konečnou dĺžkou, zostavené zo vstupných vektorov množiny A alebo z výstupných vektorov množiny U. Postupnosti s konečnou dĺžkou množiny X* a Y* nazývame vstupné a výstupné slová. Z hľadiska definovania časových intervalov (taktov) sa sekvenčné obvody delia na synchrónne a asynchrónne. Ak je diskrétny čas definovaný špeciálnym synchronizačným signálom, z čoho vyplýva, že signály na vstupoch automatu sú akceptované len v časových intervaloch vymedzených synchronizačnými impulzmi a prechodové deje, t.j. zmeny vnútorných a výstupných signálov, prebiehajú v ostatnom čase, takýto obvod sa nazýva synchrónny sekvenčný obvod.
Pri asynchrónnych sekvenčných obvodoch je diskrétny čas definovaný pomocou zmien vstupných alebo výstupných premenných a signály na vstupe automatu sa uplatňujú počas celej doby svojho trvania.
Systémy s pevnou a programovanou funkciou
Podľa spôsobu realizácie funkcií rozdeľujeme logické systémy (obvody) na systémy s pevnou a programovanou funkciou (logikou).
Systémy s pevnou funkciou sa vyznačujú tým, že ich požadované správanie (funkcia) sa dosahuje zostavením vhodnej, pre túto funkciu špecifickej štruktúry. Funkciu systému určuje jednoznačne jeho štruktúra. Zmena funkcie vyžaduje zmenu štruktúry systému.
Systémy s programovanou funkciou sa vyznačujú tým, že ich funkcia je určená programom uloženým v osobitnom pamäťovom podsystéme a tým, že zmena funkcie sa dosahuje zmenou programu (nie štruktúry). Program obsahuje postupnosť explicitných príkazov zakódovaných v booleovských vektoroch. Tieto zakódované príkazy sa nazývajú (strojové) inštrukcie. Systém s programovateľnou funkciou je charakterizovaný určitou množinou inštrukcií – inštrukčným súborom. Inštrukcia je uložená na jednom alebo systematickým spôsobom aj na viacerých pamäťových miestach pamäťového systému. Jedno pamäťové miesto uchováva boolovský vektor s určitou dĺžkou a je špecifikované určitým číslom – adresou. Uchovávaný vektor (obsah miesta) nazývame obyčajne „slovo“. Systém s programovanou funkciou má štruktúru, ktorá je univerzálna vzťahom na vytváranie rôznych funkcií v danej triede funkcií. Typická štruktúra logického systému s programovateľnou funkciou je na obr.
V štruktúre sa nachádza procesor PR, pamäť P a vstupno-výstupný systém V/V. Pamäť P má charakter pamäti s ľubovolným výberom, t. j. pamäti RAM (Random Access Memory). Úlohou procesora je interpretovať program uložený v pamäti. Interpretáciu chápeme ako proces, pri ktorom PR postupne vyberá inštrukcie z P a vykonáva ich.
Pri návrhu logických obvodov (čo predstavuje jednu z najvýznamnejších úloh pri práci s logickými systémami) sa stretávame s riešením analýza a syntézy obvodov.
Analýzu logických obvodov predstavuje riešenie tejto úlohy: Určená je štruktúra (sieť) logického obvodu. Treba nájsť a opísať jeho správanie. Štruktúra aj správanie obvodu sa opisujú vybranými alebo zadanými matematickými prostriedkami. táto úloha má jednoznačné riešenie. Ak sieť má väčšie množstvo logických obvodov s väčšou zložitosťou, úlohu možno riešiť na počítači.
Syntézu logických obvodov predstavuje riešenie tejto úlohy: Verbálnym spôsobom alebo pomocou formálnych matematických prostriedkov je určené správanie logického obvodu, zadané sú prvky štruktúry a ďalšie parametre, ktoré sa týkajú prevádzky technologickej realizácie obvodu. Treba zostaviť štruktúru systému, obsahujúcu iba zadané prvky, ktorá má požadované správanie a parametre.
Syntéza nie je vo všeobecnosti jednoznačná. Obyčajne existuje veľké množstvo rozličných riešení, ktoré vyhovujú požiadavkám a hľadá sa optimálne riešenie podľa zadaných kriteriálnych funkcií. Potom hovoríme o optimálnej syntéze.
32