Technika cyfrowa - zajmuje się budową, właściwościami i działaniem układów elektronicznych które powodują wytwarzanie lub modulację sygnałów cyfrowych
Sygnał cyfrowy - sygnał, którego dziedzina i zbiór wartości są dyskretne. Jego odpowiednikiem o ciągłej dziedzinie jest sygnał analogowy.
Zalety systemów cyfrowych:
- dowolnie duża dokładność przetwarzania
- znacznie większa niż w sygnałach ciągłych odporność na zakłócenia i ogólna niezawodność urządzeń
- łatwa realizacja zapamiętywania danych i dowolnie długi okres przechowywania
- możliwość dokładnego cyfrowego przedstawienia informacji wyjściowych za pomocą wskaźników cyfrowych oraz wydruków
- mały koszt urządzeń realizujących złożone i dokładne przetwarzanie
- podatność na adaptacje (modyfikację) struktury układu do nowych potrzeb, bez ingerencji w tzw. „okablowanie” bądź obwód drukowany
- możliwość programowego wyboru parametrów pracy
- możliwość programowania algorytmów pracy i elastycznego dostosowania do własnych potrzeb
Wady systemów cyfrowych:
- wyższy koszt urządzeń przy przetwarzaniu z niewielką dokładnością
- dłuższy czas wykonywania złożonych informacji
ISA - instruction set architecture - architektura listy rozkazów. Opisuje budowę i współdziałanie poszczególnych elementów systemu komputerowego widzianego przez programistę stosującego język maszynowy.
W skład ISA wchodzą:
1. Modele pamięci
- rozmiar jednostki alokacji
- zasady stosowanych wyrównań
- jedno lub wielowymiarowość pamięci
2. Rejestry
- rejestry ogólnego przeznaczenia, ich liczba, stopień, uniwersalności
- rejestry ogólnego przeznaczenia zmiennoprzecinkowe
- rejestry specjalizowane
3. Typy danych
- liczbowe
+ całkowite
+ zmiennoprzecinkowe
+ BCD (binary code decimental)
- nieliczbowe
+ znaki
+ łańcuchy znaków
+ zmienne logiczne
+ pola bitowe
4. Formaty instrukcji
- stałej zmiennej długości
- liczba operandów, w tym liczba dopuszczalnych argumentów w pamięci operacyjnej
- zasady stosowania przedrostków
- położenie, długość i sposób kodowania poszczególnych pól instrukcji - kodu operacji, adresów argumentów.
5. Typy instrukcji
- architektura Load/Store, czy argumenty dla operacji ALU mogą znajdować się w pamięci operacyjnej
- przesyłania danych
- arytmetyczne
- logiczne
- przesunięć arytmetycznych, logicznych, cyklicznych
- skoki bezwarunkowe(jump), warunkowe (branch), pętle (loop), wywołania procedur (call, ret)
6. Tryby adresowania argumentów
- natychmiastowy
- bezpośrednie (podajemy adres argumentu)
+ pamięciowe
+ adresowe
- pośrednie (podajemy adres adresu argumentu)
+ pamięciowe
+ rejestrowe
- z przesunięciem
- stosowe
7. Konwencja korzystania z usług systemowych
Cykl rozkazowy:
- faza pobrania rozkazu
- faza wykonania rozkazu
Architektury:
- stosowa
- akumulatorowa
- rejestr - pamięć
- rejestr - rejestr
- pamięć - pamięć
Kryteria oceny typów ISA:
- statyczny rozmiar programu (instrukcje i dane)
- ilość danych przesłanych z pamięci przez magistralę danych do procesora (memory traffic)
- szybkość wykonywania programu (opóźnienia wynikające z kontaktów z pamięcią)
Liczby całkowite są reprezentowane w komputerze za pomocą U2
Błąd maksymalny w liczbach zmiennoprzecinkowych jest zmienny (chodzi o zaokrąglenia liczb i to, że np. odległość między 1/8 i ¼ jest mniejsza niż między ¼ a ½)
Sposoby sterowania:
1. Sposób sprzętowy/sterowanie sprzętowe
- stosunkowo szybkie
- stosunkowo trudne do realizacji
- dla dużych list rozkazów olbrzymie duże
2. Sterowanie mikroprogramowane
Mikroprogramowanie - technika projektowania i realizacji sterowania w kompie w której poszczególne rozkazy są wykonywane jako mikroprogramy złożone z poleceń nazwanych mikrooperacjami , zapamiętywanych w pamięci sterowania. Każdy mikrorozkaz może się składać z jednej lub wielu mikrooperacji.
Realizacja obsługi przerwań, rodzaje przerwań:
1. Pułapki - gdy odpowiednia instrukcja pułapki jest umieszczona w kodzie programu. Jest świadomie umieszczona w kodzie przez programistę
2. Wyjątki - mają związek z instrukcją programu, ale nie są reakcją na działanie programisty. Nie są realizowane na życzenie programisty, wykonywane podczas napotkania specjalnych okoliczności (np. dzielenie przez 0)
3. Przerwania o charakterze sprzętowym - związane z zewnętrznymi rzeczami (np. klik klawisza, nie wiem jak to nazwać ;P ), niezależne od woli programisty.
Pamięci:
- rejestry
- cache (kieszeń, pamięć buforowa)
- pamięć główna (operacyjna)
- secondary storage (dyski)
- offline storage (tape)
Im typ pamięci jest wyżej tym jest szybszy i droższy
Komórka pamięci operacyjnej
1. DRAM (Dynamic Random Access Memory)
- jeden tranzystor, kondensator
- zachodzi odświeżanie
- dłuższe czasy dostępu
- odczyt jest niszczący
- tańsza, prostsza w budowie
2. SRAM (Static Random Access Memory)
- przerzutnik zbudowany z kilku tranzystorów
- szybka
- nie wymaga odświeżania
- droga