término |
definición |
|
empezar lección
|
|
Magistrala adresowa to jednokierunkowa ścieżka, którą CPU wskazuje fizyczny adres komórki pamięci lub urządzenia do odczytu/zapisu. Jej szerokość (liczba bitów) ściśle definiuje maksymalną ilość obsługiwanej pamięci RAM (przestrzeń adresową)
|
|
|
|
empezar lección
|
|
DMA (Direct Memory Access – bezpośredni dostęp do pamięci). Układ sprzętowy przejmujący transfer danych RAM<->Urządzenie. CPU tylko zleca adresy/rozmiar i wraca do obliczeń. DMA kopiuje w tle, odciążając procesor. Koniec pracy zgłasza przerwaniem (IRQ)
|
|
|
|
empezar lección
|
|
Metoda transferu, gdzie CPU osobiście przesyła każdy bajt między urządzeniem a RAM przez swoje rejestry. Angażuje pełną moc CPU w transport, blokując inne obliczenia. Wolniejsze i mniej wydajne niż DMA.
|
|
|
|
empezar lección
|
|
ALU (Arithmetic Logic Unit). Serce obliczeniowe. Wykonuje: 1. Arytmetykę (+,-,*,/). 2. Logikę (AND, OR, XOR). 3. Przesunięcia bitowe (szybkie mnożenie/dzielenie). Pobiera dane z rejestrów, wynik zwraca tamże. Ustawia flagi stanu (np. Zero, Overflow).
|
|
|
|
empezar lección
|
|
CU (Control Unit – Jednostka Sterująca). Dyrygent procesora. Nie liczy, lecz zarządza. 1. Pobiera instrukcje. 2. Dekoduje je (tłumaczy bity na sygnały elektryczne). 3. Steruje przepływem danych między ALU, rejestrami i pamięcią, dyktując im co mają robić
|
|
|
|
empezar lección
|
|
Praca CPU to 4 kroki powtarzane miliardy razy: 1. Fetch (pobranie instrukcji z RAM/Cache wg licznika PC). 2. Decode (zrozumienie rozkazu przez CU). 3. Execute (wykonanie operacji przez ALU). 4. Store (zapis wyniku do rejestru lub pamięci RAM).
|
|
|
Architektura von Neumanna vs Harvard empezar lección
|
|
Von Neumann: Wspólna pamięć/szyna dla danych i kodu. Wada: Bottleneck (kolejkowanie dostępu, nie można pobrać kodu i danych naraz) Harvard: Fizyczne rozdzielenie pamięci i szyn kodu oraz danych. Zaleta: Jednoczesny odczyt, wyższa wydajność (stswn w L1)
|
|
|
ISA(zestaw instrukcji): CISC vs RISC empezar lección
|
|
CISC (np. x86): Złożone instrukcje robiące wiele naraz, krótki kod, trudny hardware. RISC (np. ARM): Proste, atomowe instrukcje, jeden cykl zegara, łatwy hardware, dłuższy kod. RISC jest idealny do przetwarzania potokowego i oszczędzania energii.
|
|
|
|
empezar lección
|
|
Bity w rejestrze statusu (np. EFLAGS/CPSR) modyfikowane przez ALU. Opisują wynik operacji: Z (Zero – wynik=0), N (Ujemny), C (Przeniesienie – unsigned), V (Przepełnienie – signed). To na ich podstawie CPU realizuje instrukcje warunkowe (IF/JUMP)
|
|
|
|
empezar lección
|
|
Cel: Zwiększenie wydajności (IPC) bez podnoszenia taktowania zegara. Metody: 1. Pipelining (równoległość etapów). 2. Superskalar (wiele jednostek wykonawczych). 3. Out-of-Order (zmiana kolejności). 4. Branch Prediction (przewidywanie skoków).
|
|
|
|
empezar lección
|
|
Bufor SRAM niwelujący różnicę prędkości między CPU a wolnym RAM. Działa w oparciu o zasady lokalności (czasowej i przestrzennej). Przechowuje kopie danych, by CPU nie czekało na RAM. Hierarchia L1/L2/L3 balansuje pojemność i szybkość.
|
|
|
|
empezar lección
|
|
Podział (Split L1i/L1d) to cecha architektury Harwardzkiej – umożliwia równoległy dostęp do kodu i danych. Cache wspólne to cecha Von Neumanna – kod i dane są razem (ryzyko korków). Nowoczesne CPU to hybrydy: L1 jest Harwardzkie, a RAM Von Neumanna
|
|
|
|
empezar lección
|
|
Większa i wolniejsza od L1, zazwyczaj dedykowana dla konkretnego rdzenia. Jest Zunifikowana (Unified) – przechowuje kod i dane razem. Pełni funkcję bufora dla L1, obsługując jego chybienia (Misses) i redukując ruch do wolniejszych pamięci.
|
|
|
|
empezar lección
|
|
Największa i najwolniejsza warstwa SRAM. Współdzielona (Shared) przez wszystkie rdzenie. Umożliwia rdzeniom wymianę danych bez angażowania RAM. Działa jako ostatnia linia obrony przed wolną pamięcią operacyjną (DRAM).
|
|
|
|
empezar lección
|
|
Aby przesłać dane, DMA musi przejąć kontrolę nad magistralą systemową. CPU odłącza się (stan Hi-Z) i oddaje sterowanie. Wtedy to DMA generuje adresy i sygnały sterujące (R/W) dla pamięci. CPU w tym czasie korzysta tylko z Cache lub czeka
|
|
|
|
empezar lección
|
|
. Burst Mode: Przesyła cały blok danych naraz. Najszybszy, ale blokuje CPU na dłużej (CPU czeka na zwrot magistrali). 2. Cycle Stealing: Przesyła po 1 bajcie, na zmianę z pracą CPU. Wolniejszy transfer, ale pozwala CPU działać płynniej w tle.
|
|
|
|
empezar lección
|
|
CPU ustawia rejestry kontrolera: 1. Adres Źródłowy (skąd). 2. Adres Docelowy (dokąd). 3. Licznik Danych (ile bajtów). 4. Rejestr Kontrolny (kierunek R/W, tryb). Gdy licznik dojdzie do 0, DMA kończy pracę i wysyła przerwanie do CPU.
|
|
|
|
empezar lección
|
|
Najszybsza i najmniejsza pamięć wbudowana w rdzeń procesora. Służą jako "stanowisko robocze" dla ALU – przechowują operandy i wyniki bieżących obliczeń. Znajdują się na szczycie hierarchii pamięci, eliminując opóźnienia dostępu do RAM
|
|
|
GPR General Purpose Registers empezar lección
|
|
Zbiór rejestrów na dane tymczasowe, zmienne programu i wyniki obliczeń. Nie mają sztywnej funkcji sprzętowej – to kompilator decyduje, co w nich trzymać, by unikać wolnego dostępu do RAM.
|
|
|
|
empezar lección
|
|
Rejestr specjalny przechowujący ADRES komórki pamięci z następną instrukcją do wykonania. Jest automatycznie inkrementowany po pobraniu rozkazu. Wykonanie skoku w programie polega na wpisaniu nowego adresu do PC.
|
|
|
SP (Stack Pointer – Wskaźnik Stosu). empezar lección
|
|
Rejestr przechowujący aktualny adres szczytu stosu w pamięci RAM. Umożliwia operacje PUSH/POP. Jest kluczowy dla mechanizmu funkcji – wskazuje, gdzie zapisano zmienne lokalne i adres powrotu. Zmienia się dynamicznie.
|
|
|
Rejestr Flag (Status Register) empezar lección
|
|
Zbiór bitów opisujących wynik ostatniej operacji ALU. Najważniejsze flagi: Z (Zero), N (Ujemny), V (Przepełnienie). To na ich podstawie procesor podejmuje decyzje sterujące (instrukcje warunkowe typu Jump if Zero).
|
|
|
|
empezar lección
|
|
Rejestr specyficzny dla architektury ARM (RISC). Przechowuje adres powrotu z wywoływanej funkcji. Pozwala uniknąć powolnego zapisu adresu na stos w RAM przy prostych wywołaniach podprogramów, zwiększając wydajność systemu.
|
|
|
|
empezar lección
|
|
R0-R12: Dane ogólne. R13 (SP): Stos. R14 (LR): Link Register – unikalny dla ARM, przechowuje adres powrotu z funkcji (zamiast stosu), co przyspiesza wywołania. R15 (PC): Licznik rozkazów dostępny jako zwykły rejestr (można go modyfikować).
|
|
|
Rejestry Bankowane (Shadow Registers) empezar lección
|
|
Mechanizm ARM. W trybach uprzywilejowanych (np. przerwanie FIQ) procesor fizycznie podmienia część rejestrów (np. R8-R14) na ich "cienie". Pozwala to obsłużyć przerwanie bez konieczności zapisywania stanu programu na stos (szybkość).
|
|
|
Adresacja (Tryby adresowania). empezar lección
|
|
Metoda określania przez CPU, gdzie fizycznie znajduje się operand (dana) potrzebny do instrukcji. Typy: Natychmiastowy (dana w kodzie), Bezpośredni (podany adres RAM), Rejestrowy (w rejestrze), Pośredni (adres jest w rejestrze).
|
|
|
JUMP vs RJUMP. JUMP (Bezwzględny) empezar lección
|
|
Wpisuje do PC konkretny adres docelowy. Pozwala skoczyć gdziekolwiek w pamięci. RJUMP (Względny): Dodaje do obecnego PC przesunięcie (offset), np. "skocz 5 bajtów dalej". Pozwala na relokację kodu i zajmuje mniej miejsca.
|
|
|
|
empezar lección
|
|
Adres bieżącej instrukcji znajduje się w rejestrze PC (Program Counter). Same instrukcje leżą w Pamięci Programu (Flash/RAM). Adresy powrotu z funkcji są odkładane na Stos (Stack Pointer wskazuje gdzie) lub do rejestru LR (ARM).
|
|
|
|
empezar lección
|
|
Stos to obszar RAM typu LIFO na zmienne lokalne i adresy powrotu. Stack Pointer (SP) to rejestr CPU wskazujący zawsze aktualny szczyt stosu. Operacja PUSH zmniejsza SP i zapisuje daną; POP odczytuje daną i zwiększa SP (zwalnia miejsce).
|
|
|
Kontroler Przerwań (Interrupt Controller) empezar lección
|
|
Układ sprzętowy pośredniczący między urządzeniami a CPU. Eliminuje konieczność ciągłego odpytywania sprzętu (Polling). Zbiera sygnały IRQ i zgłasza je procesorowi tylko wtedy, gdy faktycznie zaszło zdarzenie.
|
|
|
Tablica Wektorów Przerwań empezar lección
|
|
ecjalny obszar pamięci zawierający adresy procedur obsługi (ISR) dla poszczególnych zdarzeń. Gdy wystąpi przerwanie, CPU (wspierane przez kontroler) pobiera stamtąd adres skoku, by wiedzieć, jaki kod wykonać dla danego urządzenia.
|
|
|
Ramka Stosu (Stack Frame) empezar lección
|
|
ymczasowy obszar na stosie przydzielany dla pojedynczego wywołania funkcji. Przechowuje: adres powrotu, argumenty funkcji i zmienne lokalne. Po zakończeniu funkcji ramka jest usuwana (zwijana) przez przesunięcie wskaźnika SP.
|
|
|
|
empezar lección
|
|
Układ zarządzający sygnałami od sprzętu (mysz, dysk). Decyduje o priorytetach (ustala kolejność obsługi zdarzeń). W razie potrzeby wysyła sygnał do CPU, by tymczasowo wstrzymał obecne zadanie i obsłużył pilne zgłoszenie zewnętrzne.
|
|
|
|
empezar lección
|
|
są cyfrowymi układami umożliwiającymi szeregowe lub równoległe wpisywanie, odczytywanie i przesuwanie informacji
|
|
|
|
empezar lección
|
|
Konwersja równ.-szer. Sterowany sygnałem LOAD/SHIFT. W trybie LOAD dane równoległe są wpisywane w 1 cyklu (przez MUX-y). W trybie SHIFT dane są wysuwane bit po bicie na wyjście szeregowe. Pełny odczyt zajmuje $N$ cykli zegara.
|
|
|
|
empezar lección
|
|
Serial-in-Par. Konwersja szer.-równ. Wpisanie słowa N-bitowego trwa N cykli zegara. W wersji podstawowej wyjścia zmieniają się co takt (przesuwanie). W wersji magistralowej (z Latchem) stabilne dane pojawiają się na wyjściu dopiero po sygnale zatrzasku
|
|
|
|
empezar lección
|
|
Pamięć wskaźnikowana przez rejestr SP. Klczwa dla pdprgrmow. CALL: Odkłada na stos Adres Powrotu (z licznika PC) i skacze do fnkcj. W fnkcj: Stos przchwuje zmienne lokalne i kopię rjstrow (kontekst). RET: Zdejmuje adr ze stosu do PC, wrcjc do miejsca wyw.
|
|
|
|
empezar lección
|
|
System liczb ze znakiem, gdzie MSB ma wagę ujemną (-2^{N-1}). Pozwala zastąpić odejmowanie dodawaniem liczby przeciwnej ($A-B \rightarrow A + \bar{B} + 1$). Eliminuje podwójne zero. Zakres niesymetryczny (o jedną liczbę ujemną więcej, np. -128 do +127).
|
|
|
|
empezar lección
|
|
MSB to bit znaku (0=+, 1=-), reszta to wartość bezwzględna. System intuicyjny, ale nieefektywny: posiada podwójne zero (+0 i -0) oraz wymaga skomplikowanych układów arytmetycznych (osobne dodawanie i odejmowanie).
|
|
|
|
empezar lección
|
|
Wartość rzeczywista = Wartość binarna - Przesunięcie (Bias). Główna zaleta: monotoniczność (zachowuje porządek rosnący od 00...0 do 11...1), co ułatwia sortowanie i porównywanie. Stosowany w wykładnikach liczb zmiennoprzecinkowych (IEEE 754)
|
|
|
|
empezar lección
|
|
Każda cyfra dziesiętna (0-9) kodowana na 4 bitach (np. 92 = 1001 0010). Zalety: Brak błędów zaokrągleń (kluczowe w finansach), łatwa konwersja na wyświetlacze. Wady: Marnuje pamięć (stany 10-15 zabronione), wolniejsza arytmetyka
|
|
|
|
empezar lección
|
|
Kod niewagowy, w którym dwie kolejne liczby różnią się stanem tylko jednego bitu Cel: Eliminuje stany nieustalone (glitch) przy odczycie z czujników mechanicznych/optycznych Konwersja: Gray = Bin OR (Bin >> 1). Używany w enkoderach i Mapach Karnaugha
|
|
|
|
empezar lección
|
|
Układ posiadający dwa stany stabilne (0 i 1), w których może trwać dowolnie długo bez sygnału wejściowego. Służy do pamiętania 1 bitu informacji. Dzieli się na zatrzaski (Latch) i przerzutniki (Flip-Flop)
|
|
|
|
empezar lección
|
|
Element pamięci sterowany POZIOMEM zegara/zezwoleń. Gdy aktywny (np. CLK=1): Jest "przezroczysty" – wyjście śledzi zmiany wejścia na bieżąco. Gdy nieaktywny (np. CLK=0): Pamięta ostatni stan. Wrażliwy na hazardy (zakłócenia).
|
|
|
|
empezar lección
|
|
Element pamięci sterowany ZBOCZEM zegara. Wpisuje daną tylko w momencie przełączenia zegara (np. z 0 na 1). Przez resztę czasu wejście jest odcięte (izolowane). Podstawa układów synchronicznych (np. liczników, procesorów).
|
|
|
Przerzutnik SR (Set-Reset) empezar lección
|
|
Najprostsza komórka pamięci. Zastosowanie: Proste układy sterowania (Włącz/Wyłącz), eliminacja drgań styków. Cecha: Posiada stan zabroniony (1,1), co ogranicza jego użycie w złożonych systemach.
|
|
|
Przerzutnik D (Data/Delay) empezar lección
|
|
Najważniejszy układ pamiętający. Zastosowanie: Rejestry procesora, pamięć operacyjna, przesuwanie danych (SIPO/PISO). Cecha: Przepisuje wejście na wyjście przy zboczu zegara. Idealny do przechowywania danych (1 bit).
|
|
|
Przerzutnik JK (Uniwersalny) empezar lección
|
|
Rozbudowany SR bez stanu zabronionego. Zastosowanie: Budowa liczników uniwersalnych. Cecha: Tryb Toggle (J=1, K=1) – zmienia stan na przeciwny przy każdym zegarze. Używany do "przełączania" i dzielenia częstotliwości.
|
|
|
|
empezar lección
|
|
Uproszczony JK (zwarte wejścia). Zastosowanie: Liczniki binarne, dzielniki częstotliwości. Cecha: Gdy T=1, wyjście zmienia stan na przeciwny przy każdym takcie zegara (częstotliwość wyjściowa = połowa wejściowej).
|
|
|
|
empezar lección
|
|
D-Latch: Sterowany POZIOMEM. Jest "przezroczysty" – gdy zegar aktywny, wyjście ciągle zmienia się wraz z wejściem. Prosty, szybki, ale niestabilny w pętlach. Flip-Flop: Sterowany ZBOCZEM. Pobiera daną tylko w momencie zmiany zegara. Stabilny i precyzyjny.
|
|
|
Zastosowanie w Licznikach empezar lección
|
|
Wymagają pętli zwrotnej (wyjście wpływa na wejście). Werdykt: Do liczników nadaje się tylko Flip-Flop. Zmiana następuje raz na cykl. Latch: Powoduje "wyścig" (oscylacje) i niekontrolowane zliczanie, dlatego nie stosuje się go samodzielnie w licznikach.
|
|
|
|
empezar lección
|
|
Stan chwiejnej równowagi w zakresie zabronionym napięć o nieokreślonym czasie trwania. Przyczyna: Naruszenie $t_{setup}$ lub $t_{hold}$ (zmiana danych w oknie zbocza zegara). Skutek: Losowy stan końcowy, wydłużona propagacja i błędy synchronizacji.
|
|
|
Parametry Dynamiczne przerzutników empezar lección
|
|
t_ (Ustalania): Czas, gdy dane muszą być stabilne PRZED zboczem zegara. t_(Podtrzymania): Czas, gdy dane muszą być stabilne PO zboczu zegara. t_ (Propagacji): Opóźnienie reakcji wyjścia na zmianę wejścia/zegara.
|
|
|
|
empezar lección
|
|
czas propagacji-Opóźnienie między zmianą wejścia (50%) a reakcją wyjścia (50%), t_narastania_opadania = 10-90% pobór mocy-moc statyczna~0 (dynamiczny pobór zależy od częstotliwości przełączeń) poziomy napięć-0=(0-0.8V),1=<2.2;5V)
|
|
|
|
empezar lección
|
|
Szybka transmisja danych przy użyciu różnicowych sygnałów o niskiej amplitudzie (ok. 350 mV). Umożliwia szybkie, energooszczędne i odporne na zakłócenia przesyłanie informacji
|
|
|
|
empezar lección
|
|
ekranach LCD, systemach wbudowanych/FPGA, kamerach i systemach wizyjnych oraz w połączeniach płytowych (backplane) w serwerach i telekomunikacji
|
|
|
|
empezar lección
|
|
Synteza: Proces zamiany opisu logicznego (np. tabeli prawdy) na schemat bramek. Minimalizacja: Redukcja liczby bramek/wejść w celu obniżenia kosztów i opóźnień. Metody: Algebra Boole'a, Siatki Karnaugha (dla małej liczby zmiennych)
|
|
|
|
empezar lección
|
|
Niepożądana, chwilowa zmiana stanu wyjścia ("szpilka"/glitch) mimo poprawnych stanów logicznych na początku i końcu. Przyczyna: Różne czasy propagacji sygnału przez różne ścieżki w układzie kombinacyjnym (wyścig sygnałów).
|
|
|
|
empezar lección
|
|
Statyczny: Powinien być stały stan (np. 1), a pojawia się krótka szpilka (1->0->1). Dynamiczny: Przy zmianie stanu (np. 0->1) wyjście oscyluje wielokrotnie (0->1->0->1). Występuje w układach wielopoziomowych.
|
|
|
|
empezar lección
|
|
Multiplekser (MUX): Przełącznik cyfrowy. Wybiera jedno z N wejść danych i przesyła na wyjście (sterowane adresem). Demultiplekser (DEMUX): Rozdzielacz. Przesyła sygnał z jednego wejścia na jedno z N wyjść.
|
|
|
|
empezar lección
|
|
Dekoder: Zamienia kod binarny ($n$ bitów) na kod "1 z N" N_wyj.Np. aktywuje konkretną linię pamięci na podstawie adresu. Koder: Odwrotność. Zamienia sygnał "1 z N" (np. naciśnięty klawisz) na kod binarny. Priorytetowy koder obsługuje jednoczesne sygnały.
|
|
|
|
empezar lección
|
|
Półsumator (Half Adder): Dodaje dwa bity (A, B). Wynik: Suma (S) i Przeniesienie (C). Nie uwzględnia przeniesienia z poprzedniej pozycji. Pełny Sumator (Full Adder): Dodaje trzy bity (A, B, $C_{in}$). Podstawa budowy wielobitowych układów dodających.
|
|
|
|
empezar lección
|
|
● PROM (programowane jednorazowo u użytkownika) ● EPROM (Erasable PROM – możliwa ale uciążliwa wielokrotna programowalność ● EEPROM (Electrically Erasable and Programmable ROM) ● Flash (błyskawiczne EEPROM)
|
|
|
RAM (Random Access Memory), Ulotne empezar lección
|
|
Statyczne (SRAM) ● Dynamiczne (DRAM)
|
|
|
|
empezar lección
|
|
Zapis: Wysokie napięcie wymusza tunelowanie elektronów przez cienki tlenek (8-10nm) na bramkę swobodną. Odczyt: Sprawdzenie czy tranzystor przewodzi. Prąd płynie (brak ładunku) $\rightarrow$ Logiczna 1. Zatkany (ładunek uwięziony) $\rightarrow$ Logiczne 0
|
|
|
Pamięć EEPROM (Charakterystyka) empezar lección
|
|
Pamięć nieulotna ROM, kasowalna i programowalna elektrycznie. Cechy: Zachowuje dane po odłączeniu zasilania. Wyróżnia się możliwością kasowania i zapisu pojedynczych bajtów (byte-erasable), co daje precyzyjną kontrolę nad danymi.
|
|
|
Pamięć Flash (Charakterystyka) empezar lección
|
|
Pamięć półprzewodnikowa, nieulotna, stanowiąca rozwinięcie EEPROM. Cechy: Bardzo szybkie kasowanie, ale realizowane całymi blokami, a nie pojedynczymi bajtami. Tylko jeden tranzystor na bit (w EEPROM były dwa), co pozwala na ogromne upakowanie danych.
|
|
|
Pamięć NOR FLASH – Mechanizm działania empezar lección
|
|
Zapis: Przez wstrzykiwanie gorących nośników (HCI). Wymaga dużego prądu (mała sprawność). Odczyt: Równoległy. Każda komórka ma własny styk z linią bitu. Pozostałe linie są zerowane. Daje to pełny Random Access (losowy dostęp) jak w RAM.
|
|
|
Napięcia przy zapisie NOR (Hot Carriers) empezar lección
|
|
Napięcie: Word Line (Bramka): B. wysokie (~12V). Przyciąga elektrony do góry. Bit Line (Dren): Wysokie (~6V). Rozpędza elektrony w kanale. Źródło: Masa (0V). Te elektrony ("gorące") w pobliżu drenu przeskakują barierę tlenku dzięki przyciąganiu bramki.
|
|
|
Lokalizacja: Bramka Swobodna empezar lección
|
|
Odizolowana warstwa polikrzemu umieszczona wewnątrz tlenku, nad kanałem tranzystora. Zasada: Otaczający dielektryk działa jak "szczelne ściany". Uwięzione elektrony zmieniają napięcie progowe tranzystora (zapisują bit).
|
|
|
|
empezar lección
|
|
Fastes i najdroższa pamięć półprzewodnikowa. Zast: Cache procesora (L1/L2/L3) rejestry szybkie bufory. Cechy: Pamięć statyczna–nie wymaga odświeżania(dane trwają dopóki jest zasilanie). Mała gęstość upakowania (aż 6 trnzstrw/bit), zajmuje dużo miejsca.
|
|
|
|
empezar lección
|
|
Sterownik wymusza na liniach npBl=1 iBl=0(do zapisu 1). Aktwcja: Włączenie linii słowa 1 otwiera tranzystory dostępowe. Silny sygnał z linii bitowych wdziera się do środka i wymusza zmianę stanu słabszych inwrt. Zatrzask: 0 odcina komórkę, kończąc zapis.
|
|
|
|
empezar lección
|
|
Obie linie ($BL$ i $\overline{BL}$) są ładowane do stanu wysokiego "1". Włączenie $WL=1$. Komórka łączy się z liniami. Ta strona komórki, która trzyma "0", zaczyna lekko rozładowywać swoją linię bitową. Wzmacniacz wykrywa, na której linii spadło napięcie.
|
|
|
|
empezar lección
|
|
Dwa inwertery w pętli tworzą sprzężenie zwrotne. Działanie: W spoczynku ($WL=0$) wyjścia inwerterów wzajemnie się podtrzymują, ciągle regenerując napięcie. Efekt: Pamięć jest statyczna – nie wymaga odświeżania (jak DRAM), dopóki jest zasilanie.
|
|
|
|
empezar lección
|
|
Zasada: Ładowanie kondensatora. Linia Bitu: Podajemy napięcie (Wysokie='1', Niskie='0'). Linia Adresowa: Otwiera tranzystor. Transfer: Prąd płynie i ładuje kondensator do zadanego poziomu. Koniec: Tranzystor się zamyka, więżąc ładunek.
|
|
|
|
empezar lección
|
|
Typ: Odczyt jest niszczący. Otwarcie: Tranzystor łączy kondensator z linią. Detekcja: Ładunek wylewa się na linię, zmieniając jej napięcie (wykrywa to wzmacniacz). Regeneracja: Układ musi natychmiast wpisać daną z powrotem.
|
|
|
|
empezar lección
|
|
Główna pamięć RAM (duża pojemność). Przewaga nad SRAM: Znacznie tańsza i gęściej upakowana (1 tranzystor/bit vs 6 w SRAM). Wada: Wolniejsza. Wymaga cyklicznego odświeżania (kondensator traci ładunek), co komplikuje sterowanie i zużywa energię.
|
|
|
Rozdzielczość i Błąd Kwantyzacji empezar lección
|
|
Rozdzielczość: Liczba poziomów ($2^N$). Krok = 1 LSB. Błąd kwantyzacji: Wynika z zaokrąglenia do wartości cyfrowej. Max $\pm 0,5$ LSB. SNR: Błąd ten to szum. Wzór: $\text{SNR [dB]} \approx 6,02 \cdot N + 1,76$ (+1 bit daje zysk ok. 6 dB).
|
|
|
Błędy Liniowe (Offset i Gain) empezar lección
|
|
Offset (Przesunięcie): Stały błąd addytywny (przesunięcie wykresu). Dla wejścia 0, wyjście $\neq$ 0. Łatwa korekcja. Gain (Wzmocnienie): Błąd nachylenia charakterystyki (multiplikatywny). Błąd rośnie wraz z amplitudą sygnału.
|
|
|
Nieliniowość Różniczkowa (DNL) empezar lección
|
|
Definicja: Różnica między rzeczywistą a idealną szerokością jednego kroku (1 LSB). Krytyczny błąd: Jeśli DNL < -1 LSB, przetwornik gubi kody (ADC) lub staje się niemonotoniczny (DAC – wyjście spada mimo wzrostu wejścia).
|
|
|
Nieliniowość Całkowa (INL) empezar lección
|
|
Definicja: Maksymalne odchylenie rzeczywistej krzywej od idealnej linii prostej. Cechy: Jest sumą (całką) wszystkich błędów DNL. Opisuje nieliniowość ("krzywiznę") układu. Trudna do usunięcia kalibracją.
|
|
|
|
empezar lección
|
|
Sprzętowy kontroler w rdzeniu. Zarządza wszystkimi przerwaniami. Funkcje: Decyduje, co procesor ma obsłużyć teraz, a co później. Pozwala na maskowanie (wyłączanie) przerwań i nadawanie im priorytetów.
|
|
|
NVIC – Zagnieżdżanie (Nesting) empezar lección
|
|
Jeśli nadejdzie przerwanie o wyższym priorytecie niż aktualnie obsługiwane, procesor przerywa obecne ("zagnieżdża" je) i obsługuje to ważniejsze. Po jego zakończeniu wraca do poprzedniego.
|
|
|
Tablica Wektorów Przerwań empezar lección
|
|
Lista adresów w pamięci (zwykle początek Flash). Działanie: Przypisuje każdemu źródłu przerwania adres konkretnej funkcji (ISR). Gdy wystąpi zdarzenie, CPU pobiera stąd adres skoku. Zawiera też wskaźnik stosu.
|
|
|
ISR (Interrupt Service Routine) empezar lección
|
|
Funkcja C typu void, uruchamiana sprzętowo po wystąpieniu przerwania. Zasada: Musi być maksymalnie krótka (np. tylko ustawienie flagi). Nie przyjmuje argumentów ani nic nie zwraca.
|
|
|
ISR – Kontekst (Stacking) empezar lección
|
|
utomatyzacja: Przed wejściem do ISR sprzęt sam odkłada kluczowe rejestry (R0-R3, PC, LR) na stos. Cel: Po zakończeniu przerwania procesor zdejmuje je ze stosu i wraca do programu głównego dokładnie tam, gdzie przerwał.
|
|
|
|
empezar lección
|
|
Kluczowy krok: Wewnątrz funkcji ISR trzeba programowo skasować flagę w urządzeniu, które wywołało przerwanie. Ryzyko: Jeśli tego nie zrobisz, kontroler uzna przerwanie za wciąż aktywne i wpadniesz w nieskończoną pętlę wywołań.
|
|
|
|
empezar lección
|
|
W ARM im niższy numer, tym wyższy priorytet. Podział: Pre-emption Priority: Decyduje, czy przerwanie może przerwać inne, aktualnie trwające (wywłaszczanie). Sub-priority: Decyduje tylko o kolejności obsługi, gdy przerwania w tej samej chwili.
|
|
|
Stos w Przerwaniach (Stack Frame) empezar lección
|
|
Przy wejściu do ISR procesor sam odkłada na stos tzw. ramkę stosu: rejestry R0-R3, R12, LR, PC, xPSR. Umożliwia pisanie funkcji ISR w C jak zwykłych funkcji. Przrwnia zawsze korzystają ze stosu głównego (MSP) nawet jeśli program używał procesowego (PSP)
|
|
|
|
empezar lección
|
|
Definicja: Programowe blokowanie przerwań (np. w sekcjach krytycznych). Rejestry: PRIMASK: Wyłącza wszystkie przerwania (oprócz NMI i HardFault). To "atomowy hamulec". BASEPRI: Wyłącza tylko przerwania o priorytecie niższym niż ustawiony próg
|
|
|
Wyjątki a Przerwania (Różnice) empezar lección
|
|
Wyjątki (Exceptions): Zdarzenia systemowe generowane przez rdzeń CPU (np. Reset, HardFault, SysTick, błąd dzielenia przez zero). Przerwania (Interrupts): Sygnały pochodzące z peryferiów (Timer, UART, GPIO). NVIC obsługuje jedne i drugie.
|
|
|