недеља, 25. децембар 2011.

Stack memorija i stack pointer


Kada se javi interapt sadrzaj programskog brojaca treba negde zapamtiti da bi se nakon obrade interapta program mogao da nastavi tacno od mesta gde je i prekinut. Pamcenje se vrsi u memoriji koja se zove Stack memorija ili magacinska memorija. U jeziku C svaki poziv funkcije znaci njenu aktivaciju na Stacku.
U najvecem broju slucajeva jedan deo operativne memorije  jedan deo operativne memorije odvaja se za stack. Sastavni deo stack memorije je stack pointer. Stack pointer je registar cija je uloga da pokazuje na prvu praznu lokaciju u stack memoriji odnosno da sadrzi adresu prve prazne lokacije u stack memoriji.
U procesu inicijalizacije sistema nakon dovodjenja napona napajanja sadrzaj stack pokazivaca se podesava na vrednost adrese prve lokacije onog dela memorije koja je odredjena da bude stack.
Za stack su vezane dve operacije:
        1. Smestanje podataka na stack.
        2. Uzimanje podataka sa stacka.
Kada se podatak smesta na stack upisuje se na adresu na koju pokazuje stack pokazivac ( prva prazna lokacija ). Potom se stack pointer dekrementira da bi pokazao ponovo na prvu praznu lokaciju. Za upisanih n podataka stack pointer bi pokazivao prema isprekidanoj liniji. Najvisa popunjena lokacija u stack memoriji zove se vrh stack-a (top).
Proces ocitavanja podataka zapocinje inkrementiranjem sadrzaja stack pokazivaca da bi pokazao na vrh stack-a , taj podatak se ocita i nakon toga se smatra da je ta lokacija prazna ( Stack pointer pokazuje na prvu praznu lokaciju).
Ocigledno je da se poslednji upisan podatak ocitava prvi pa se zato kaze da stacka spada u grupu LIFO memorija ( LIFO - Last in first out).
Kod ovakve stack memorije nema pomeranja podataka u memorijskim lokacijama vec se samo menja sadrzaj stack pointera. U nekim slucajevima stack memorija se pravi od niza registara kod kojih je sadrzaj pri ocitavanju i upisivanju pomera od registra ka registru bez adrese stack memorije.
Ako se uzastopno na stack upisuje veliki broj podataka, a slabo ili nikako ne vrsi ocitavanje postoji mogucnost da se prekoraci kapacitet memorije koja je dodeljena stack memoriji odnosno da se javi neispravan rad sistema - Stack Overflow.

ATX Napajanje


Uvodjenjem PC-a pod oznakom AT (Advanced Tehnology) uveden je oblik izvora za napajanje AT. 1995. godine uveden je od strane Intel-a ATX standard (AT Extended).
ATX izvor ima konektor od 20 pinova za napajanje maticne ploce. Za napajanje periferija koriste se konektori sa 4 pina. Konektor oznacen sa AUX nosi napajanje od 3,3V i 5V za one procesore kojima je standard napajanja preko konektora sa 20 pinova bilo nedovoljno.
ATX je ostao ne izmenjen sve do 2000. godine kada su uvedeni procesori koji su zahtevali snazan izvor za napajanje. Za ovakve procesore uveden je dodatni konektor sa 4 pin-a koji je nosio napajanje 12V pa se ovakvi oblici izvora zovu ATX 12V. Kasnije verzije ovog standarda izbacili su liniju sa -5V koja je bila potrebna samo za zastarele ISA kartice. Projektanti sistema su ustanovili da je mnogo pogodnije vecinu sistema napajati sa 12V umesto sa 3,3 i 5V.
Zbog ovakvih zakljucaka 2003 godine uveden je standard ATX 12V 2.0 koji je u principu izazvao drasticne izmene u dizajnu sistema. Konektor za  maticnu plocu prosiren je na 24 pin-a. Dodatna 4 pina nose napone 3,3 i 5V umesto pomocnog konektora sa oznakom AUX koji je izbacen. Ovaj standard zahteva uvodjenje konektora za napajanje SATA.
Novije verzije ovog istog standarda (v.2.1) iz marta 2005. uveli su konektore za napajanje PCI-e grafickih kartica koje zahtevaju 75W. Verzija 2.2 uvela je konektor sa 8 pinova za napajanje mocnih grafickih kartica sa snagom od 150W.
ATX izvori spadaju u one koji se softverski iskljucuju i ukljucuju. Zica zelene boje nosi signal power on. Ako je ova nozica vezana za masu izvor se ukljucuje, ako lebdi izvor je ukljucen.

Paralelni Prenos


Kod paralelnog prenosa koristi se veci broj vodova. U jednom trenutku prenosi se n bit-a. Prenos unutar procesora je paralelan. Dobra osobina paralelnog prenosa je na pocetku razvoja bio prenos velikog broja bit-a po jedinici radnog takta,. Losa osobina je u startu bila visoka cena kablova, zauzimanje prostora na stampanoj vezi i ometanje cirkulacije vazduha za hladjenje. Konektori na trakastim kablovima imaju veliki broj pinova i skupi su. Sasvim je logicno da se povecanje brzine prenosa moze ostvariti povecanjem radnog takta, ovo je tacno do izvesne granice radne ucestanosti kada se javljaju ne prenosivi tehnicki problemi. *Kasnjenje ivica signala * Preslusavanje.
Pretpostavimo da se na mestu predaje na sve prenose kabla jednovremeno dovedu prednje ivice signala. Na mestu prijema moze da se ustanovi da su prednje ivice signala medjusobno pomerene. Ako je radna ucestanost visoka pomeranje ivica signala ne dozvoljava prvailnu detekciju nivoa. Do kasnjenja ivica dolazi zbog parazitivnih kapacitivnosti trakastog kabla i parazitnih kapacitivnosti u odnosu na masu. Oko provodnika sa strujom stvara se magnetno polje koje ce u vodovima koji se paralelno pruzaju indukovati EMS na osnovu faradejevog zakona elektromagnetne indukcije. Ova pojava se zove preslusavanje koje je vece ukoliko je radna ucestanost visa e = - /\fi/ /\t

UPS


Nestanak napajanja dovodi do nelegalnog izlaska iz aplikativnog softvera i OS-a sto moze da izazove ostecenje datoteka i eventualni kvar sistema. UPS sluzi da obezbedi napajanje racunaru baer onoliko remena koje je potrebno da se zatvore programi i legalno izadje iz OS-a. UPS obezbedjuje elektricnu energiju za rad racunara iz akumulatora koji su ugradjeni u njegovo kuciste.
Vreme koje UPS moze da napaja racunar iz akumulatora zove se vreme autonomije. Vreme se izracunava u A/h. Ako se kaze 45 A/h to znaci rad od 45h po 1A. Mada kapacitet akumulatora zavisi od rezima praznjenja.
Kad postoji mrezni napon prekidac je u polozaju 1 i PC se napaja direktno iz distributivne mreze. Ponekad UPS za ublazavanje varijacija mreznog napona UPS ima u sebi ugradjentzv. korektor napona ciji je zadatak relativna stabilizacija mreznog napona za logiku UPS-a. U periodu kad postoji mrezni napon akumulator se puni preko punjaca. Kada nestane mrezni napon prekidac se prebacuje iz polozaja 1 u polozaj 2 i racunar se napaja iz akumulatora preko invertera.

RISC i CISC Arhitektura


CISC - Complex Instruction Set Computer. Svaki procesor ima odredjeni broj instrukcija koje moze da izvrsi, taj broj instrukcija zove se set instrukcija. Prvi kompjuteri su se programirali u ASM. Mnogo je bilo jednostavnije napraviti komplikovan hardver nego dobar prevodilac. Zato su se instrukcije pravile za sadrzaj koji je ukazivao na operaciju, operand i memorijsku lokaciju gde ce se sacuvati rezultati. Cilj je bio smanjenje i pojednostavljenje programa i sto manji broj obracanja memoriji. Instrukcije su bile veoma duge i bilo ih je mnogo. Kod jezika viseg nivoa zadrzao se ovaj pristup resavanja softverskih problema na hardwerski nacin. Ovakvim kompjuterima dat je naziv CISC - kompjuter sa slozenim setom instrukcija.
RISC - Reduced Instruction Set Computer. Napredak tehnologije je omogucio da se kompleksne instrukcije mogu da razlooze na veci broj jednostavnijih, a da se efikasnost programa poveca. Instrukcije su postale fiksne duzine sa jednostavnim dekodiranjem. RISC kompjuteri koriste veliki broj registara opste namene. Obracanje memorije samo sa 2 instrukcije.

North i South bridge


Kod ove arhitekture skupa cipova postoje 2 cipa:
            1. Chip koji se vezuje neposredno na procesor - severni most (North Bridge).
            2. Chip koji sluzi za povezivanje sa periferijama sistema - juzni most (South Bridge).
Odavde se vidi da je uloga skupa cipova povezivanje procesora sa ostatkom sistema. Nazivi Severni i Juzni most poticu od njihovog polozaja na blok semi PC-a. Severni most je posle procesora najbrzi chip u sistemu, vezuje se na tzv. ceonu magistralu procesora (FSB - Front Side Bus).
Savremeni sistemi imaju radni takt ceone magistrale od 1333Mhz. Visoka radna ucestanost severnog mosta izaziva velike prekidacke gubitke, pa ovaj cip mora da se hladi.
Severni most upravlja radom memorije i izvesnim brojem magistrala koje sluze za umetanje periferija (PCI-e). U nekim slucajevima u South Bridge integrisana je i grafika.
Juzni most sluzi za upravljanje periferijama: HDD, USB, Mrezna kartica, periferije na PCI-e magistrali i u nekim slucajevima veza sa tzv Super I/O cipom. Zadatak super I/O chipa je povezivanje sa sporim periferijama, pre svega tastaturom i misem.

Cache memorija


Registri opste namene su se koristili kao operandi instrukcija. Program mora da se nalazi kao niz instr. u operativnoj memoriji. Da bi se ubrzao proces obrade prilikom ciklusa izvlacenja instrukcije i time prevazisli problemi koji poticu od spore dinamicke memorije, na plocici procesora se pravi mala brza prihvatna memorija statickog tipa (Cache memorija). Velicina ove memorije je tipicno 256kb, a moze biti i nekoliko MB.
Posebnim algoritmima predvidjanja, deo programa iz operativne memorije prenosi se u Cache memoriju. Procesor umesto da se obraca operativnoj memoriji u cilju izvlacenja instrukcija obraca se cache memoriji cija je brzina ravna brzini rada procesora. Idealno bi bilo da procesor uvek nadje u cache memoriji instrukciju koja mu treba. U stvarnosti ovo se ne desava uvek. Da bi se verovatnoca pronalaska instrukcije u cache memoriji povecala koriste se algoritmi predvidjanja koji na bazi izvrsavanja tekuceg dela programa zakljucuju koji deo programa ce procesoru trebati u buducnosti i onda ga automatski donose iz operativne memorije.
Cache memorija se pravi u nivoima:
            *Nivo L1 je majmanjeg kapaciteta i u principu najbrza, ravna brzini procesora.
            *Nivo L2 je veceg kapaciteta i u nekim slucajevima zbog toga sporija u odnosu na L1 (vece memorije su sporije jer imaju vece latentno vreme).
            *Nivo L3 je jos veceg kapaciteta. Broj nivoa zavisi od proizvodjaca i tipa procesora.
Procesor prvo trazi instrukciju u memoriji L1, a ako je ne nadje trazi u sledecem nivou. Kod procesora sa vise jezgara po pravilu svako jezgro ima svoju cache memoriju. Jezgra cache memorije viseg nivoa mogu da se dele.