TMP

 0    91 schede    kacperkamin
Scarica mp3 Stampa Gioca Testa il tuo livello
 
Domanda język polski Risposta język polski
Magistrala Adresowa
inizia ad imparare
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ą)
DMA
inizia ad imparare
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)
PIO
inizia ad imparare
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.
ALU
inizia ad imparare
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).
CU
inizia ad imparare
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ć
Cykl rozkazowy
inizia ad imparare
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
inizia ad imparare
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
inizia ad imparare
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.
Flagi stanu
inizia ad imparare
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)
Optymalizacja CPU.
inizia ad imparare
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).
Cache
inizia ad imparare
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ść.
Cache L1
inizia ad imparare
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
Cache L2
inizia ad imparare
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.
Cache L3
inizia ad imparare
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).
DMA jako Bus Master
inizia ad imparare
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
Tryby pracy DMA
inizia ad imparare
. 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.
Programowanie DMA
inizia ad imparare
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.
Rejestry CPU
inizia ad imparare
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
inizia ad imparare
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.
PC (Program Counter)
inizia ad imparare
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).
inizia ad imparare
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)
inizia ad imparare
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).
LR (Link Register)
inizia ad imparare
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.
Rejestry ARM (R0-R15).
inizia ad imparare
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)
inizia ad imparare
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).
inizia ad imparare
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)
inizia ad imparare
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.
Adresy instrukcji
inizia ad imparare
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).
Stos (Stack) i SP
inizia ad imparare
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)
inizia ad imparare
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ń
inizia ad imparare
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)
inizia ad imparare
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.
Kontroler Przerwań
inizia ad imparare
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.
Rejestry przesuwne
inizia ad imparare
są cyfrowymi układami umożliwiającymi szeregowe lub równoległe wpisywanie, odczytywanie i przesuwanie informacji
PISO
inizia ad imparare
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.
SIPO
inizia ad imparare
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
Stos i Podprogramy
inizia ad imparare
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.
U2
inizia ad imparare
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).
Znak-Moduł
inizia ad imparare
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).
Kod z przesunięciem
inizia ad imparare
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)
BCD
inizia ad imparare
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
Kod Graya
inizia ad imparare
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
Element bistabilny
inizia ad imparare
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)
Zatrzask (Latch)
inizia ad imparare
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).
Przerzutnik (Flip-Flop)
inizia ad imparare
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)
inizia ad imparare
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)
inizia ad imparare
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)
inizia ad imparare
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.
Przerzutnik T (Toggle)
inizia ad imparare
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).
D-Latch vs D Flip-Flop
inizia ad imparare
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
inizia ad imparare
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.
Zjawisko Metastabilności
inizia ad imparare
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
inizia ad imparare
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.
parametry bramek CMOS
inizia ad imparare
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)
LVDS
inizia ad imparare
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
Zastosowania LVDS
inizia ad imparare
ekranach LCD, systemach wbudowanych/FPGA, kamerach i systemach wizyjnych oraz w połączeniach płytowych (backplane) w serwerach i telekomunikacji
Synteza i Minimalizacja
inizia ad imparare
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)
Hazard
inizia ad imparare
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).
Rodzaje Hazardów
inizia ad imparare
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.
MUX i DEMUX
inizia ad imparare
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ść.
Koder i Dekoder
inizia ad imparare
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.
Sumatory (Half vs Full)
inizia ad imparare
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.
Nieulotne pamięci
inizia ad imparare
● 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
inizia ad imparare
Statyczne (SRAM) ● Dynamiczne (DRAM)
EEPROM - Zapis i Odczyt
inizia ad imparare
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)
inizia ad imparare
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)
inizia ad imparare
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
inizia ad imparare
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)
inizia ad imparare
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
inizia ad imparare
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).
SRAM (Static RAM)
inizia ad imparare
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.
SRAM – Procedura Zapisu
inizia ad imparare
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.
SRAM – Procedura Odczytu
inizia ad imparare
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.
SRAM – Rola Inwerterów
inizia ad imparare
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.
DRAM – Zapis
inizia ad imparare
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.
DRAM – Odczyt
inizia ad imparare
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.
DRAM (Charakterystyka)
inizia ad imparare
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
inizia ad imparare
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)
inizia ad imparare
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)
inizia ad imparare
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)
inizia ad imparare
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ą.
NVIC (Definicja)
inizia ad imparare
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)
inizia ad imparare
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ń
inizia ad imparare
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)
inizia ad imparare
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)
inizia ad imparare
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ł.
ISR – Kasowanie Flagi
inizia ad imparare
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ń.
Priorytety Przerwań
inizia ad imparare
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)
inizia ad imparare
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)
Maskowanie Przerwań
inizia ad imparare
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)
inizia ad imparare
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.

Devi essere accedere per pubblicare un commento.