240 likes | 488 Views
Bloková štruktúra mikropočítača Intel 8051. ROM. RAM. Styková jednotka. Magnet. pamäť. adresová zbernica. dátová zbernica. riadiaca zbernica. Vstupná jednotka. Výstupná jednotka. Hodiny. Bloková schéma. CPU. CPU.
E N D
ROM RAM Styková jednotka Magnet. pamäť adresová zbernica dátová zbernica riadiaca zbernica Vstupná jednotka Výstupná jednotka Hodiny Bloková schéma CPU
CPU • CPU (central processor unit) – centrálna procesorová jednotka slúži na vykonávanie inštrukcií a riadi činnosť počítača • CPU=ALJ + RJ • CPU potrebuje k svojej činnosti tzv. hodiny, ktoré udávajú taktovaciu frekvenciu, teda počet impulzov za sekundu, počas ktorých dokáže CPU vykonať práve jednu operáciu
Pamäte • Mikropočítač Intel 8051 má dva typy pamätí: • ROM – read only memory, nazýva sa tiež riadiaca pamäť a obsahuje inštrukcie, ktoré má vykonať procesor • RAM – random access memory, nazýva sa tiež pamäť dát a obsahuje dáta, ktoré vstupujú do výpočtu, resp. z neho vystupujú
RAM • Pamäť RAM sa skladá z registrov - t.j. voľných pamäťových miest. Keďže procesor je 8-bitový, aj jeho registre sú 8-bitové. Pamäť RAM uchováva dáta privedené do procesora cez I/O linky alebo porty a dáta vypočítané procesorom. Na to slúži časť pamäte RAM označená ako FREE RAM. • Druhá časť označená ako SFR (Special Function register - špeciálne funkčné registre) obsahuje takisto 8-bitové registre, ale ich obsah, ktorý takisto užívateľ programovo napĺňa, priamo vplýva na chovanie sa procesora a nastavuje sa nimi režim činnosti mikroprocesora. SFR špeciálne funkčné registre 128 byteov FREE RAM 128 byteov
SFR Oblasť SFR obsahuje 128 jedno- byteových registrov napríklad: P1 a P3 vstupno-výstupné registre, v ktorých je uložené slovo na Vstupe do mikropočítača, resp. do nich ukladáme slovo, ktoré chceme preniesť na výstup ACC – akumulátor PSW – stavové slovo
FREE RAM • Najčastejšie registre používané na uchovávanie dát sú registre R0 až R7. Táto sústava 8 registrov tvorí tzv. banku registrov. Užívateľ má k dispozícii 4 takéto banky registrov. Súčasne môže pracovať len s jednou bankou - ak chce načítať, alebo zapísať údaje do inej banky registrov, musí sa do nej prepnúť vhodným nastavením špeciálneho funkčného registra PSW. • Nad bankami registrov je bitovo adresovateľná oblasť - túto teda môžeme pristupovať k dátam priamo po jednotlivých bitoch. Nad bitovo adresovateľnou oblasťou je ďalšia voľná oblasť, adresovaná však už len po bytoch.
Vstupno-výstupné jednotky • Realizujú styk počítača s okolím • Vstupná jednotka slúži na načítanie informácií z okolia počítača, je akýmisi „očami a ušami“ počítača • Výstupná jednotka poskytuje informácie z počítača do okolia, je akýmisi „ústami“ počítača • V/V jednotky komunikujú so svojim okolím prostredníctvom elektrických signálov
Porty • Ako vstupno-výstupné jednotky slúžia v ČP 8051 takzvané porty • 8051 má 4 porty (P0 až P3) • Na porty je možné zapisovať údaje alebo z nich môžeme údaje čítať • Údaje, ktoré chceme zapísať/čítať zapisujeme/čítame do/z RAM (oblasť SFR), kde má každý port vyhradené svoje miesto o veľkosti 1B
Styková jednotka a magnetická pamäť • Magnetická pamäť je prídavná pamäť, ktorá sa dá pripojiť ako ďalšia RAM v prípade, že základná RAM nepostačuje k riadnemu chodu programu • Styková jednotka slúži na styk počítača s magnetickou pamäťou
Zbernice • Sú to paralelne vedené vodiče, po ktorých sa vysiela binárny kód ku rôznym častiam počítača • Podľa toho, aké signály sa vysielajú po zbernici, rozlišujeme zbernice na: • Dátovú – prenášajú sa po nej dáta • Adresovú – prenášajú sa po nej adresy • Riadaciu – prenášajú sa po nej riadiace signály
Dátová zbernica • Po tejto zbernici sa prenášajú dáta k rôznym zariadeniam počítača napríklad medzi pamäťou a procesorom • Podľa šírky zbernice sa počítače delia na 8,16,32,64 bitové • Počítač Intel 8051 má 8 bitovú dátovú zbernicu a preto ho zaradzujeme medzi 8 bitové počítače
Adresová zbernica • Vysielajú sa po nej adresy zariadení a adresy pamäťových buniek v RAM pamäti • V počítači Intel 8051 je 16 bitová adresová zbernica, ktorá dokáže „zaadresovať“ 216=65535 pamäťových buniek
Riadiaca zbernica • Slúži na prenos riadiacich signálov medzi zariadeniami počítača • Vysiela napríklad signály, ktoré sprístupňujú pamäť pre čítanie resp. zapisovanie alebo napr. prenos kódu inštrukcie z pamäte do inštrukčného registra
Porty P0-P3 • P0 - P3 sú tvorené špeciálnym zapojením registrov, ktoré umožňuje využívať porty oboma smermi. • Aby sme mohli prečítať vstupujúci údaj z pinu daného portu, musíme najprv na port vyslať logickú "1". Pri reštarte počítača sa tento stav nastavuje automaticky.
Pin EA (External Access) • Má význam len pre I8051 a ovplyvňuje používanie CODE memory (ROM) v ktorej sa nachádza programový kód. • V prípade že EA = 0 tak sa program vykonáva iba z vonkajšej CODE pamäti. • Ak sa EA = 1 potom sa kombinuje vnútorná pamäť pre kód od adresy 0-0FFFH a externá pamäť 1000H-FFFFH. • Do prekrytej externej pamäte (internou pamäťou) sa pristupuje cez rozdielne inštrukcie.
ALE, PSEN*, RD*, RW* • ALE - Adress Low Enable • Pretože nižších 8 bitov adresovej zbernice sa musí deliť o port P0 s dátovou zbernicou, rieši sa to v priebehu inštrukčného cyklu tak, že najprv sa na porte objaví adresa a jej prítomnosť signalizuje signál ALE. • Ten sa využíva na zápis adresy do pomocných externých registrov. • Po odovzdaní adresy signál ALE sa vracia na pôvodnú hodnotu "1" a port P0 je uvoľnený pre dátovú zbernicu. • PSEN*,RD*,WR* • Sú riadiace signály, ktoré sú generované pri vykonávaní inštrukcií MOV, MOVX a MOVC. • Spolu s Adresnou a Dátovou zbernicou (Porty P0 a P1) a so signálom ALE sa podieľajú na komunikácii s externou ROM pamäťou (PSEN* - čítanie) a s externou RAM pamäťou (RD*- čítanie, WR*- zápis). • Hviezdička (*) znamená, že signál je aktívny, ak je na príslušnom pine logická 0
Ostatné piny • INT0*, INT1* - obsluha externých prerušení • RXD, TXD – pin pre prijímanie a vysielanie údajov pri sériovej komunikácii dvoch zariadení • T0,T1 umožňujú riadiť vnútorné časovače pre synchronizáciu toku dát • VCC, GND – pin pre napájanie mikropočítača (VCC) a pre uzemnenie mikropočítača (GND)
Inštrukčný cyklus • Je to postupnosť krokov, počas ktorých procesor vyberie inštrukciu, dekóduje inštrukciu, spracuje inštrukciu a uloží výsledky vykonania inštrukcie • Po ukončení IC sa programové počítadlo zvýši o požadovanú hodnotu, najčastejšie o 1
Fázy inštrukčného cyklu • F (Fetch) – fáza výberu inštrukcie • D (Decode) – fáza dekódovania inštrukcie • O (Operate) – fáza výberu operandu • E (Execute) – fáza vykonania inštrukcie • S (Store) – fáza uloženia výsledku
Vývojový diagram IC ŠTART Vyslanie adresy inštrukcie Vykonanie inštrukcie Uloženie výsledku Prenos inštrukcie z ROM do dekódera Výber operandov Dekódovanie operačného kódu Inštrukcie Nastavenie novej hodnoty PC