Documente Academic
Documente Profesional
Documente Cultură
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
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
.
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
.
DIFERENTE
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
.
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
.
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