Sunteți pe pagina 1din 24

ARHITECTURA

SISTEMELOR DE
CALCUL - CURS C

SISTEME INTEGRATE

Alexandru Radovici
CUPRINS
• ce este un sistem integrat

• hardware

• software

• limbaje programare

.
SISTEME INTEGRATE
• Calculatoare folosite pentru
• Automatizari
• Industrie
• Control de sisteme
• Doua tipuri
• Microcontroller
• Calculator

.
MOTO

We choose to go to the moon

John F. Kennedy

.
APOLLO GUIDANCE COMPUTER
• 2,048 MHz
• 4096 B RAM
• ~ 70 KB ROM
• Interfata - DSKY

.
APOLLO GUIDANCE COMPUTER
AGC-DSKY

.
CALCULATOARE VS MICROCONTROLERE

Sisteme simple Procesor normal


Control de hardware Viteza mare
Viteza mica Memorie multa
Memorie limitata GPIO
GPIO Ruleaza un Sistem de operare
PWM
ADC
Ruleaza un singur program

.
TIPURI DE PROCESOARE

Calculatoare Microcontrollere

ARM AVR
• 32 biti - v6, v7 • ATmega
• Attiny
• 64 biti - v8
PIC
MIPS
• PIC8
• In routere • PIC16
x86 • PIC32
• Atom ARM
• Quark • ARM Cortex M0, M3,
M4
RISC-V
RISC-V

.
SYSTEM ON A CHIP

.
SYSTEM ON A CHIP
Raspberry Pi

.
ARTHITECURI DE PROCESOARE

Von Neuman Harvard

.
DIFERENTE

Floating Point Unit


• Soft Float - compilatorul simuleaza instructiunile folosind
numere intregi
• Hard Float – compilatoprul genereaza instructiuni pentru FPU
• executate de sistemul de operare daca nu exista FPU pe
sistem

Multi producatori
• Procesorul ARM poate fi foarte diferit in functie de producator
• Poate sau nu sa aiba predictive branch-ing
• Raspberry Pi nu este afectat de Metdown si Spectre

.
CALCULATOARE

Beaglebone AI
Raspberry Pi $150
de la $35 Beaglebone Black 1.5 GHz Dual Core
1200 MHz QuadCore $45 ARMv8
ARMv8 1 GHz ARM, GPU PowerVR GPU
VideoCore GPU 512 MB RAM 1 GB RAM
1-8 GB RAM 4 GB Flash 16 GB Flash
Compute Module 2 x ARM Cortex M4 MCU

.
MICROCONTROLERE

Arduino UNO Adafruit CLUE MicroBit v2


$25 $39 $15
ATmega328 nRF52840 Cortex M4 nRF52833 Cortex M4
2 KB RAM 256 KB RAM 128 KB RAM
32 KB Flash 1 MB Flash 512 KB Flash
2 MB Flash Storage BLE
BLE

.
LIMBAJE DE PROGRAMARE
Calculatoare

• C/C++
• doar pentru eficienta foarte mare
• Python
• AI
• Go
• Eficienta buna

.
LIMBAJE DE PROGRAMARE
Microcontrolere

• C/C++ (Arduino)
• MicroPython (CircuitPython)
• Rust
• corelib
• Rust Embedded Group
• Tock
• Static TypeScript
• Subset al TypeScript compilat

.
SISTEME DE OPERARE
• Linux
• Raspbian
• Debian
• Android
• Ubuntu Core
• Yocto
• FreeRTOS
• Real Time
• Un singur fisier
• Zephyr Project
• Proiect inceput de Intel (dezvoltat si in Romania)
• Fratele mic al lui Linux
• RIOT
• Proiect Academic
• Foarte efficient
• Tock
• Scris in Rust
• Sistemul si aplicatiile sunt compilate separat

.
SISTEME IN TIMP REAL (RTOS)
• Pot garanta ca o actiune se termina intr-un timp t

• Daca t -> 0, sistem low latency

.
YOCTO
• Sistem de creat distributii de Linux
• Utilizat pentru dispozitive

.
ZEPHYR

.
TOCK

.
APOLLO GUIDANCE COMPUTER

Overload
• Sistemul prioritize task-uri

Erori de folosire
• Sistemul era conceput sa
reziste la erori de folosire

Margaret Hamilton
.
PRIORITATI

Functionalitate
• Programul trebuie sa functioneze
• Design-ul Uului nu conteaza

Toleranta la erori
• Functional Safety
• In orice conditii, sistemul trebuie sa mearga
• In caz de eroare, trebuie sa fie predictibil ce se intampla
• Compilatoare certificate
• Military, Medical, Aerospace
TLA+ (PlusCal)
• Modelare matematica a programelor
• A descoperit bug-uri in procesorul de pe Xbox

.
INTREBARI

alexandru.radovici@upb.ro

S-ar putea să vă placă și