Základy informatiky a webového vývoja tvoria pilier pre každého študenta, ktorý sa chce orientovať v modernom digitálnom svete. Tento komplexný sprievodca vám poskytne ucelený prehľad kľúčových konceptov, od hardvéru procesorov až po tvorbu dynamických webových aplikácií. Pripravte sa na podrobný rozbor, ktorý vám pomôže nielen pochopiť, ale aj uspieť pri skúškach, ako je maturita z informatiky.
ARM Cortex-M3: Srdce mnohých zariadení a jeho architektúra
Procesor ARM Cortex-M3 je dôležitým stavebným kameňom v mnohých mikroelektronických aplikáciách. Pochopenie jeho architektúry je kľúčové pre efektívne programovanie a návrh systémov.
Základné charakteristiky ARM Cortex-M3
ARM Cortex-M3 je 32-bitový procesor. To znamená, že pracuje s 32-bitovými dátami, jeho registre majú šírku 32 bitov a aritmeticko-logická jednotka (ALU) spracováva 32-bitové operácie. Vďaka tomu dokáže adresovať veľký pamäťový priestor.
Adresná zbernica a pamäťový priestor
Procesor disponuje 32-bitovou adresnou zbernicou. Dôsledkom je schopnosť adresovať 2^32 adries, pričom jedna adresa predstavuje 1 Byte. Celkovo tak môže adresovať až 4 GB pamäte.
Harvardská architektúra
ARM Cortex-M3 využíva Harvardskú architektúru. To znamená, že má oddelenú pamäť pre program (kód) a dáta, a taktiež oddelené zbernice (I-code bus, D-code bus). Táto koncepcia umožňuje paralelné načítavanie inštrukcií a prácu s dátami, čo vedie k vyššiemu výkonu oproti Von Neumannovej architektúre.
Inštrukcie a ich spracovanie
Inštrukcia je základný príkaz procesoru, ktorý určuje, akú operáciu má vykonať, nad akými operandmi a kam uložiť výsledok. V Cortex-M3 sú používané Thumb-2 inštrukcie, ktoré môžu byť 16- alebo 32-bitové. Procesor využíva trojstupňové pipeline spracovanie:
- Fetch: Načítanie inštrukcie.
- Decode: Dekódovanie inštrukcie.
- Execute: Vykonanie inštrukcie.
Výhodou pipeline je, že viac operácií prebieha súčasne v jednom hodinovom cykle, čo značne zvyšuje výkon procesora.
Operačné módy a správa zásobníkov
ARM Cortex-M3 pracuje v dvoch operačných módoch:
- Thread mode: Vykonáva bežný program.
- Handler mode: Obsluhuje prerušenia a výnimky.
Po resete procesor začína v Thread mode (privilegovaný režim). Čo sa týka prístupu k pamäti, procesor môže pracovať v privilegovanom alebo neprivilegovanom režime. Pre správu pamäte má dva zásobníky:
- MSP (Main Stack Pointer): Hlavný zásobník, používaný v privilegovanom režime.
- PSP (Process Stack Pointer): Procesný zásobník, používaný v neprivilegovanom režime.
Po resete procesor pracuje v Thread mode, v privilegovanom režime a používa MSP.
Prerušenia, výnimky a systémový časovač (SysTick)
Prerušenie je požiadavka (zvyčajne od periférie), aby procesor prerušil aktuálny program, vykonal obslužný podprogram (ISR) a následne pokračoval v pôvodnom programe. Prerušovací systém je súbor zdrojov prerušení, ich priorít a spôsobu ich spracovania, ktorý v Cortex-M3 riadi NVIC (Nested Vectored Interrupt Controller).
Rozdiel medzi výnimkou a prerušením spočíva v ich pôvode:
- Výnimka (Exception): Vzniká vo vnútri jadra procesora (napr. reset, NMI, HardFault, SysTick).
- Prerušenie (Interrupt): Vzniká z externého zdroja (periférie, napr. UART, timer, ADC).
SysTick je 24-bitový systémový časovač integrovaný v jadre Cortex-M3. Počíta smerom nadol a po dosiahnutí nuly sa znovu načíta a môže vyvolať prerušenie. Používa sa na časovanie a pre systémový tik v operačných systémoch reálneho času (RTOS). Má tri registre: Control, Reload, Current.
BusMatrix: Dátová križovatka
BusMatrix je systém zberníc (AHB), ktorý prepája CPU, pamäť a periférie. Funguje ako
Kartičky
Ťukni na otočenie · Potiahni na navigáciu