Informacja jest miarą niepewności pewnego zdarzenia C. Shannon i(a)=logb(1/P(A)) = -logb(P(a))

Komputer - urządzenie, które oblicza, zazwyczaj realizowane jako programowalna maszyna elektroniczna.

FUNKCJE KOMPUTERA

- przenoszenie danych

- przetwarzanie danych zewnętrznych

- przechowywanie danych

- przetwarzanie danych wewnętrznych

- przenoszenie danych

- przechowywanie danych

ARCHITEKTURA KOMPUTERA - odnosi się do tych atrybutów systemu, które są widzialne dla programisty. Atrybuty te mają istotny wpływ na wykonanie programu.

ORGANIZACJA KOMPUTERA - odnosi się do jednostek "operacyjnych" i ich połączeń, które stanowią realizacje specyfiki typu architektury.

ARCHITEKTURA VON NEUMANNA - Pamięć(dane + program) <-> Jednostka arytmetyczna (<-> I/O) <-> Jednostka sterująca <-> Pamięć

ARCHITEKTURA HARWARDZKA - program <- Pamięć -> dane

Tryby adresowania

- implikowane (operand jak i miejsce przeznaczenia są określone przez dany rozkaz)

- natychmiastowe (argument pobierany bezpośrednio z rozkazu mov ax, 20)

- bezpośrednie (adres operandu znajduje się bezpośrednio w rozkazie mov ax, [40])

- względne (adresowania pamięci względem adresu aktualnie wykonywanej instrukcji w pamięci programu)

- pośrednie (odwołujemy się do jednego z rejestrów roboczych procesora lub do komórki pamięci mov ax, [cx])

- rejestrowe (operandy znajdują się w rejestrach mov ax, bx)

Rejestry PIC16F84A

- status(rejestr statusu, flag procesora)

- porta/b(reprezentacja stanów linii portu)

- trisa/b(konfiguracja wejść, wyjść na porcie)

- pcl(młodsze 8 bitów licznika programu)

- pclath(starsza część licznika programu)

- tmr0(rejestr Timera0)

CYKLE

- dekodowanie instrukcji(Program Counter->szyna, PC++)

- pobieranie argumentów(odczyt FLASH)

- wykonywanie(wypełnianie Instruction Reg(szyna danych - pobieranie komendy))

- zapis wyników(zmiany Instruction Reg i Program Counter zależnie od danych(skok))

SPARC(okna rejestrow - efektywna metoda przekazywania paramertow do procedur)

MIPS(Potok - więcej niż jedna instrukcja, wiele jednostek funkcjonalnych)

POWERPC(podział funkcji - kontrola, liczby zmiennoprzecinkowe, staloprzecinkowe - pracują niezaleznie)

RISC

- rozbudowana hierarchia pamięci

- duza czesc zadan pozostawiona kompilatorowi do zaplanowania

- mikroprogram praktycznie nie stosowany

- głęboki potok w ukladzie sterujacym

- wiekszosc instrukcji operuje na rejestrach

- proste instrukcje i niewiele trybów adresowania

TRYBY PRACY x86

- rzeczywisty - zgodny z najstarszym 8086

- chroniony - tryb przeznaczony do pracy wielozadaniowej pod kontrola Systemu Operacyjnego

- wirtualny - wersja trybu chronionego do wykonywania programów w trybie rzeczywistym

- SMM - tryb zarządzania sprzętem przez system operacyjny.

Typy zależności poziomu instrukcji(ograniczenie poziomu równoległości)

- true dependency(RAW B = A, C = B)

- anti-dependency(WAR A = B, B = 7)

- output dependency(WAW A = 9, A = 8)

KOD HORYZONTALNY

długa szyna sterująca kodowana długimi instrukcjami

KOD WERTYKALNY

krotka szyna sterująca z użyciem multipleksera

VLIW - długie słowo instrukcji(dzielone na jednostki funkcjonalne), równoległości wyszukiwane przez kompilator

superskalarna(dekodowanie, wykonywanie, zapisywanie rożnych instrukcji jednocześnie)

EPIC(słowo składające się z instrukcji i zależności miedzy nimi)

Prawo Amdahla - przyspieszenie forma ciężka(S = 1/(suma(Pk/Sk)), forma oryginalna(S = N/(a+(N-1)a))

RAID

0 - dane rozwalone po dyskach

1 - te same dane zapisane na kilku dyskach

2 - małe paski danych (1 bajt) + kod Hamminga na kilku dyskach

3 - ^ ale jeden dysk na kod Hamminga

4 - duże paski, dyski niezależne, kod H na osobnym dysku

5 - ^ ale wszystko pomieszane

Taksonomia Flynna(SISD, SIMD, MISD, MIMD)

Single Instruction Single Data

Multiple Instruction Multiple Data

Cechy systemu symetrycznego wieloprocesorowego(SMP)

- szybkosc(jesli czesc algorytmu moze byc wykonana rownolegle)

- dostepnosc(wszystkie procesory wykonuja te same funkcje uszkodzenie nie zatrzymuje systemu)

- skalownosc(uzytkownik moze zwiekszyc wydajnosc dodajac kolejne procesory, firmy moga oferowac cala game rozwiazan)

- wspolna szyna(szybkosc ograniczona przez czas cyklu szyny, kazdy procesor powinien posiadac wlasny cache, wspolny cache prowadzi do problemow ze spojnoscia danych)