TMP

 0    91 Datenblatt    kacperkamin
mp3 downloaden Drucken spielen überprüfen
 
Frage język polski Antworten język polski
Magistrala Adresowa
Lernen beginnen
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
Lernen beginnen
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
Lernen beginnen
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
Lernen beginnen
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
Lernen beginnen
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
Lernen beginnen
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
Lernen beginnen
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
Lernen beginnen
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
Lernen beginnen
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.
Lernen beginnen
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
Lernen beginnen
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
Lernen beginnen
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
Lernen beginnen
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
Lernen beginnen
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
Lernen beginnen
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
Lernen beginnen
. 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
Lernen beginnen
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
Lernen beginnen
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
Lernen beginnen
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)
Lernen beginnen
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).
Lernen beginnen
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)
Lernen beginnen
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)
Lernen beginnen
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).
Lernen beginnen
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)
Lernen beginnen
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).
Lernen beginnen
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)
Lernen beginnen
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
Lernen beginnen
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
Lernen beginnen
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)
Lernen beginnen
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ń
Lernen beginnen
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)
Lernen beginnen
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ń
Lernen beginnen
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
Lernen beginnen
są cyfrowymi układami umożliwiającymi szeregowe lub równoległe wpisywanie, odczytywanie i przesuwanie informacji
PISO
Lernen beginnen
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
Lernen beginnen
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
Lernen beginnen
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
Lernen beginnen
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ł
Lernen beginnen
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
Lernen beginnen
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
Lernen beginnen
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
Lernen beginnen
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
Lernen beginnen
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)
Lernen beginnen
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)
Lernen beginnen
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)
Lernen beginnen
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)
Lernen beginnen
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)
Lernen beginnen
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)
Lernen beginnen
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
Lernen beginnen
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
Lernen beginnen
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
Lernen beginnen
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
Lernen beginnen
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
Lernen beginnen
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
Lernen beginnen
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
Lernen beginnen
ekranach LCD, systemach wbudowanych/FPGA, kamerach i systemach wizyjnych oraz w połączeniach płytowych (backplane) w serwerach i telekomunikacji
Synteza i Minimalizacja
Lernen beginnen
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
Lernen beginnen
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
Lernen beginnen
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
Lernen beginnen
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
Lernen beginnen
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)
Lernen beginnen
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
Lernen beginnen
● 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
Lernen beginnen
Statyczne (SRAM) ● Dynamiczne (DRAM)
EEPROM - Zapis i Odczyt
Lernen beginnen
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)
Lernen beginnen
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)
Lernen beginnen
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
Lernen beginnen
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)
Lernen beginnen
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
Lernen beginnen
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)
Lernen beginnen
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
Lernen beginnen
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
Lernen beginnen
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
Lernen beginnen
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
Lernen beginnen
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
Lernen beginnen
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)
Lernen beginnen
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
Lernen beginnen
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)
Lernen beginnen
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)
Lernen beginnen
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)
Lernen beginnen
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)
Lernen beginnen
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)
Lernen beginnen
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ń
Lernen beginnen
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)
Lernen beginnen
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)
Lernen beginnen
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
Lernen beginnen
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ń
Lernen beginnen
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)
Lernen beginnen
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ń
Lernen beginnen
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)
Lernen beginnen
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.

Sie müssen eingeloggt sein, um einen Kommentar zu schreiben.