Sunteți pe pagina 1din 40

Arhitecturi de sisteme incorporate

Microcontrolere si sisteme
integrate
Alt fel de sisteme incorporate: COTS, multi-core,
circuite numerice complexe, SOC, ASSP, ASIC, SiP,
SoM
Controlere incorporate, arhitecturi hardware si software
Funcții si subsisteme, COM, ETX, PC-104

1
Sisteme incorporate si controlere: soluţia
COTS
Sisteme incorporate construite însă cu un hardware(HW)
de uz general (General purpose hardware), si/sau cu
extrem de puțin hardware dedicat(proiectat si fabricat
numai pentru o aplicație anume).
– Efortul de proiectare HW este minimizat pentru lansarea rapidă
pe piaţă
– Suportul hardware de dezvoltare este si el cumpărat:
minimizare a timpului de apariție pe piața (Time to Market)
– Efortul este orientat spre dezvoltarea funcţiilor în SW, cele care
diferențiază produsul de altele similare
– Hardware: COTS – Components Of The Shelf sau Commercial
Off-The-Shelf, componente care deja există, comercial, la “raft”
• In scopul reducerii costurilor au la baza adaptari ale arhitecturilor de calcul
de uz general - PC
– Software: si aici există COTS – sisteme de operare, biblioteci,
module deja existente pe piață, dezvoltate pentru alte aplicații,
dar care pot fi cumpărate si (re)utilizate
– Vezi http://en.wikipedia.org/wiki/Commercial_off-the-shelf

2
Nivelul hardware: microprocesoare / unități
centrale multi-core
• Actualmente aplicațiile de uz general ale microprocesoarelor multi-core sunt:
calculatoare desktop (PC), stații de lucru, servere, calculatoare centrale (mainframes)
si supercalculatoare.
• Si aplicațiile de tip sistem incorporat utilizează unități centrale multi-core,
existând de exemplu si procesoare numerice de semnal (DSP) multi-core.
• Un core este un ansamblu de circuite (o unitate de calcul- CPU), capabile să execute
programe in mod autonom. Toate funcționalitățile necesare execuției unui program la
nivel de CPU sunt prezente intr-un core: registre, unitate aritmetico –logica, numărător
program, unitate de control, sistem de ceas. Memoriile de tip cache sunt definite pentru
fiecare core sau sunt partajate intre ele.
• Un microprocesor multi-core are cel puțin 2 core - 2 unități de calcul- implementate
pe același microcircuit (die). Există si implementări multi-core in care mai multe
microcircuite (die), fiecare o unitate de calcul, sunt încapsulate in aceiași
capsulă(package).
• https://en.wikipedia.org/wiki/Multi-core_processor

Quad-core
AMD Opteron

3
Nivelul hardware: microprocesoare
multi-core
• Un microprocesor multi-core este un exemplu de multiprelucrare
(multiprocessing) realizat la nivelul unei singure capsule de circuit.
• Comunicarea intre-core este esențială in paralelizarea execuției, si se face prin
intermediul de mesaje sau prin partajare de memorie, existând diverse topologii
de interconectare a lor. Ele pot fi cuplate strâns (tightly) – la nivel de magistrale
procesor sau slab (loosely)- utilizând o legătură seriala de mare viteza, gen
Gigabit Ethernet.
• Exista multi-core omogene – toate core-urile sunt identice (exemplu majoritatea
multi-core de la Intel si AMD) si multi-core eterogene unde există cel puțin două
tipuri de core (exemplu Xilinx Zynq UltraScale+ MPSoC are, pe lângă circuitul
FPGA, un quad-core ARM Cortex-A53 si un dual-core ARM Cortex-R5).
• Îmbunătățirea performantelor prin utilizarea de unități centrale multi-core depinde
foarte mult de algoritmii software utilizați si de implementarea lor.
• Utilizarea eficienta a unităților centrale multi-core, nu este posibilă decât cu un
suport adecvat din partea unui sistem de operare
• Utilizarea unităților centrale multi-core mai pune probleme legate de
predictibilitate a timpului de răspuns (mai ales pentru sistemele incorporate) si de
securitate care trebuie gestionate corespunzător
• Primul procesor multi-core a fost introdus de IBM in 2001, POWER4, fiind urmat
de Sun si HP.
• Intel si AMD introduc variantele lor începând cu 2005.
4
Nivelul hardware: microprocesoare
multi-core
• Unitățile de prelucrare grafică (GPU- Graphic Processing Unit) sunt un
caz particular de procesoare numerice de semnal, cu utilizarea de unități
centrale specializate de tip multi-core (pană la x1000 de core!) cu
aplicații nu numai de prelucrare grafică ci si de inteligență artificială,
care va fi prezentat separat.
• Multicore CPU state of the art -2021 (CPU- actorii principali):
AMD
• Ryzen, dual, quad, 6, 8, 12, 16, 24, 32, 64-core desktop processors.
• Epyc, 8, 16, 24, 32, 64-core server processors.
IBM
• POWER8, a 12-core PowerPC processor, 2013
• z14, 10-core z/Architecture, 2017
• POWER9 12, 24 cores 2017
• POWER10, 15, 30 cores 2021
INTEL
• Familia Core i3, Core i5, Core i7 si Core i9 : dual, quad, 6, 8, 10, 12, 16,
18-core desktop processors
• Xeon dual, quad, 6, 8, 10, 12, 14, 15, 16, 18, 22 , 24, 32, 48. 56 core
server processors
• Xeon Phi 57- 61, 64-72 – Intel x86 manycores 5
Nivelul hardware: circuite numerice
complexe
• La baza realizării sistemelor de calcul actuale si deci si a sistemelor
incorporate stau circuite integrate numerice, cu structură complexă si o
funcționalitate (cel puțin potențial) foarte complexă, ele fiind pe scurt:
– Microprocesoarele si microcontrolerele multi-core (cu una sau mai multe unități centrale-
CPU cores)
– Circuitele FPGA (Field Programmable Gate Arrays), care fac parte din categoria
circuitelor logice programabile
– Circuitele de tip ASIC (Application-Specific Integrated Circuit).
– Circuite de tip ASSP (Application Specific Standard Product)
– Circuitele de tip SoC (System on Chip)
• Astfel de circuite sunt cele care ating astăzi o complexitate echivalentă de
peste 100 de milioane de porți
• Există si legături si zone de suprapunere intre categoriile de circuite
menționate mai sus : FPGA, ASIC, ASSP si SoC
• In 1979 a apărut cartea Introduction to VLSI Systems, scrisă de
Carver Mead (cel care a încetățenit termenul de legea lui Moore..) si Lynn
Conway, bazata pe materialul unui curs omonim de la MIT
(Massachusetts Institute of Technology)
• Momentul respectiv este descris in industria circuitelor integrate numerice
complexe ca fiind revoluția Mead & Conway (Mead & Conway revolution),
revoluție care a dus la modificarea radicală a modului in care se predă si
se învață in universități această meserie, a modului cum funcționează
actualmente aceasta industrie, bazată in mare parte pe utilizarea unor
unelte software care permit automatizarea procesului de proiectare si
producție
6
Circuite numerice complexe: despre o revoluție si
despre altele..
• Revoluția Mead & Conway a permis o organizare mult mai
eficientă a activității, si funcție de competente astfel că astăzi
există mai multe categorii de actori/firme/companii in domeniu:
– Fabless – principalele activități sunt cele de proiectare si vânzare a
circuitelor, nu au capacitate de producție sau capacitatea este
nesemnificativă, alții se ocupă de producție aceasta fiind sub-
contractata; exemple Qualcomm, Apple, AMD, NVidia
– Fab sau Foundry sau Pure-Play Semiconductor Foundry –
principala activitate este cea de producție a circuitelor (ca sub-
contractant), capacitatea de proiectare a lor este nesemnificativă;
exemple: TSMC (Taiwan Semiconductor Manufacturing Company),
GlobalFoundries, UMC (United Microelectronics Corporation)
– Integrated device manufacturer (cu fabricație integrată) – care are
capacitatea de a proiecta, a fabrica si de a vinde circuitele fabricate;
exemple: Intel, Texas Instruments, NXP, STMicroelectronics
• Distincția intre cele 3 categorii are însă tendința de a deveni mai
vagă, apărând numeroase suprapuneri de activități
• Ca să avem o idee de importanța domeniului Foundry, firma
TSMC (principala activitate localizată in Taiwan) a fost fondata in
1987 si are (cca. 2017) o cifră de afaceri de cca. 1000 de
miliarde USD, cu cca 50 000 de angajați, la o capitalizare
bursiera de cca 70 de miliarde USD
– GDP-ul Romaniei in 2017 este estimat, in cele 2 variante de calcul, la
cca 200 de miliarde USD sau 500 de miliarde USD 
7
Circuite numerice complexe – scară/densitate de
integrare, ce înseamnă …xum, x nm?
• Este o măsură de performanță a procesului de fabricație (CMOS),
măsura care descrie dimensiunea caracteristică (feature width)
minimă optenabilă pentru componentele majore ale microcircuitului
– Vorbim deci de un proces (tehnologic) caracterizat de o anumită dimensiune
minimă a tranzistorului (care nu include detalii cum ar fi grosimea izolatorului de
grila)
– Dimensiunea minimă are legătura cu lungimea de undă a luminii care poate fi
utilizata in procesul fotolitografic!
• Cu cât dimensiunea este mai mică cu atât numărul de “tranzistoare” pe
unitatea de suprafață si respectiv pe întregul microcircuit este mai mare
• 10 µm – 1971, Intel 4004, câteva mii de tranzistoare, procesul era de fapt
PMOS
• 6 µm – 1974, Intel 8080
• 3 µm – 1977, Intel 8086 folosea un proces de 3.2 µm
• 1.5 µm – 1982
• 1 µm – 1985 , Intel 80386
• 800 nm – 1989, Intel 80486
• 600 nm – 1994, Intel Pentium, IBM/Motorola Power PC601
• 350 nm – 1995
• 250 nm – 1997, Intel Pentium II si III, ca lungime de unda suntem deja in Ultra
Violet!
• 180 nm – 1999, Intel Celeron 8
Circuite numerice complexe – scară/densitate de
integrare, ce înseamnă … x nm?

• 130 nm – 2001
• 90 nm – 2004, Intel Pentium 4, Elpida SDRAM DDR2, deja
încep sa fie folosite tehnologii speciale de fotolitografie
• 65 nm – 2006, Intel Xeon, un tranzistor are deja dimensiuni
de x100 de atomi, izolator de grila 1.2nm!
• 45 nm – 2008, Intel Atom, TI OMAP 3 si 4, IBM POWER 7,
Intel Core i7
• 32 nm – 2010, Samsung SDRAM DDR4
• 22 nm – 2012, Micron NAND FLASH, IBM POWER8
• 14 nm – 2014, Apple A9, IBM POWER9
• 10 nm – 2017, “10 nm class” înseamnă circuite intre
10nm si 20nm; IBM POWER 10, Apple A11 - are 2
4.3
miliarde de tranzistoare pe un die de 87.66 mm
• 7 nm – ~2019
• 5 nm – ~2021
• Vezi
https://en.wikipedia.org/wiki/Semiconductor_device_fabricatio
n
9
Circuite numerice complexe: ASIC
• ASIC (Application-Specific Integrated Circuit).
• ASIC este un circuit integrat numeric complex dedicat implementării unei
aplicații particulare, mai degrabă decât unei utilizări generale.
– De exemplu circuitele de memorie sunt circuite numerice destinate unei utilizări
generale, in multe aplicații
• Un circuit ASIC este proiectat de o anumită companie (care poate fi si una
fabless – adică să nu aibă si producție de circuite) şi este de regulă produs
pentru un singur beneficiar (client) de către un fabricant de circuite
integrate numerice.
• Exista ASIC:
– Full-custom – totul este particularizat
– Semi-custom- parțial particularizat, bazate pe celule standard (standard-cells), sau pe
arii de porți (gate arrays), sau programabile (folosesc circuite logice programabile,
inclusiv FPGA!)
• Un circuit ASIC prezintă la un moment dat multe asemănări cu un circuit
FPGA, dar, spre deosebire de FPGA, circuitele ASIC:
– Sunt mai rapide
– Consuma mai puțin
– Pot costa mai puțin
– Pot face mai multe
– Sunt mai dificil de “copiat” (reverse engineering)
• Una din aplicațiile circuitelor FPGA este de realiza si valida prototipuri pentru
viitoarele circuite ASIC

10
Circuite numerice complexe: ASIC
• Utilizatorul/clientul este cel care stabilește/definește
specificațiile (incluzând performanțele dorite) după care
circuitul va fi proiectat si apoi realizat
– Exemple tipice:
• Circuite utilizate in comunicațiile de date, cum ar fi un switch/router Ethernet proiectat
pentru un anumit client (sa zicem CISCO..) ca să îndeplinească anumite cerințe de
performanta si consum
• O bună parte din circuitele utilizate in telefoanele sau ceasurile Apple..
• Ca o alternativă la utilizarea GPU (Graphical Processing Unit) există acum si circuite
ASIC realizate pentru minarea de criptovalută (cryptocurrency mining ASIC), de
exemplu un ASIC Bitcoin Miner folosește mai multe astfel de circuite

11
Circuite numerice complexe : ASSP
• ASSP (Application Specific Standard Product) este tot un circuit integrat similar
ASIC prin faptul ca e dedicat unei anume categorii de aplicații, dar este destinat
mai multor utilizatori/aplicații (de aici şi "standard"), nu numai unui singur client
• Reprezintă de fapt o etapă intermediară intre ASIC si circuitele standardizate
(cum ar fi seriile standardizate 74 sau mai degrabă circuitele de memorie)
• Circuitele de tip ASSP sunt destinate mai multor clienți pentru că sunt de uz
general, dar aplicația este una specifică.
• Exemple tipice:
– controlere Ethernet (MAC si PHT), controlere/module Bluetooth, controlere sisteme de
afișare grafice de tip LCD, controlere de tip on-screen display(OSD), controlere/module
USB

12
Circuite numerice complexe: SoC
• Un circuit ASIC poate include, de exemplu, un microprocesor de 32
de biți împreună cu memorie şi periferice complexe (video,
comunicații, sunet, etc.), deci practic aproape un PC complet..
• Atunci avem de a face cu un SoC (System on Chip) prin care se
înțelege un sistem de calcul realizat pe un singur microcircuit.
– Un SoC propriu-zis include in mod obligatoriu un procesor, o unitate centrala
de natura unui microprocesor sau microcontroler
• ASIC/ASSP + Procesor=SoC
• ASIC/ASSP - Procesor=non-SoC
• Există însă si circuite MPSoC (Multiprocessor SoC) care înglobează
mai multe unități centrale (multi-core)
• Tehnologia digitală si tehnica de calcul contemporană incluzând
sistemele de calcul din categoria “la purtător” (wearable
computers) sau IoT (Internet of the Things) se bazează masiv pe
conceptul SoC! Apple
A4=ASIC + Procesor=SoC

Raspberry Pi este bazat pe un


SoC de la Broadcom
13
Circuite numerice complexe: SoC
• SoC este în realitate o noțiune mai largă, ținând cont că, pe același
microcircuit (pastila de Si) sau nu, se pot integra si senzori de tip
MEMS - Micro-Electro-Mechanical Systems (bazați pe micro sau
nano tehnologii mecanice) cum ar fi accelerometre si/sau
giroscoape (gyro)
– Eventual SoC-ul este asociat si cu o încapsulare de tip SiP (System in a
Package)
– Circuite ASIC/SoC găsim si in: smartphones, tablets, wearable devices
• Circuitele FPGA complexe sunt si pot fi utilizate pentru a realiza
prototipuri parțiale sau totale pentru circuite de tip ASIC/SOC
• Mai mult, exista si SoC FPGA, PSoC FPGA, MSoC FPGA= unul
sau mai multe core-uri ARM + FPGA; exemplu Intel FPGA (Altera)
SOC sau Xilinx Zynq 7000

Inside Apple Watch


14
Sisteme incorporate si SoC (System on Chip)
• Actualmente conceptul de sistem incorporat este din ce in
ce mai strâns legat de cel de SOC
• Un SoC este un circuit integrat monolitic complex care
înglobează (aproape) toate funcțiile si sub-sistemele
unui sistem de calcul complet si complex sau a unui
sistem electronic specific, pe un singur microcircuit (cip)
– Funcții diverse si complexe, numerice, analogice, de semnal mixt
sau de radiofrecvență au fost implementate pe un singur
microcircuit
• Ca grad de integrare s-ar putea spune că este
următorul pas după microcontroler
• De fapt termenul este mai mult o hiperbolă indicând o
direcție tehnică si nu neapărat o realitate: creșterea
gradului de integrare cu scopul micșorării costurilor de
producție si al miniaturizării sistemelor
• http://en.wikipedia.org/wiki/System_on_a_chip
15
SoC - System On a Chip
Au făcut posibila realizarea de
sisteme/controlere incorporate la un raport
performanță – preț foarte bun!

Un exemplu, cam vechi, este Intel Atom


CE4100 un SoC descris ca un media
processor: pentru set-top box, DVD players
si HD media players, dar nu numai !

Alt exemplu, tot cam vechi, este AMD


GEODE LX, un SoC descris ca având
ca țintă reducerea puterii consumate
si a prețului de cost
• proiectul One Laptop per Child
a folosit Geode LX ! 16
SOC - System On a Chip
• Rockchip RK3288 - primul SoC care a avut ca unitate
centrala un quad-core ARM Cortex-A17
• Procesor grafic 3D GPU
• Primul SoC cu un decodificator video 4kx2k
• Si multe, multe altele..
• Utilizat la realizarea unui Chromebit (Asus Chromebit – un
stick PC), aflați si singuri ce este un Chromebit daca nu știți..

17
SOC - System On a Chip
..un exemplu si mai nou
Succesul sistemelor Raspberry PI este indisolubil legat de
circuitele SoC ale firmei Broadcom
• Raspberry Pi 4 Model B SoC BCM2711
• Raspberry Pi 3+ BCM2837B0
• Raspberry Pi 3 BCM2837
• Raspberry Pi 2 BCM2836
• Raspberry Pi 1 BCM2835

18
SoC - System On a Chip
..un exemplu încă si mai nou

Noua generație Intel Atom, cu accentul pus pe conectivitate19la


costuri redus!
Sisteme incorporate si SiP (System-in-a -
Package)
• Reprezintă un ansamblu de circuite integrate , mai mult sau mai puțin
complexe, toate încapsulate într-o singură capsulă (package) de tip
“purtător de cipuri” (chip carrier) – el ar putea fi descris ca un cip format
din mai multe cipuri
• Un SiP este realizat in ideea de a implementa cât mai multe dintre
funcțiile unui sistem electronic complex, si in particular ale unui sistem
incorporat
• Circuitele integrate componente sunt la nivel de die (pastilele de siliciu) si
sunt conectate intre ele printr-un substrat comun sau cu ajutorul unor fire
in interiorul capsulei
• Soluțiile de tip SiP presupun stăpânirea si utilizarea unor tehnologii
complexe de încapsulare (flip chip, wire bonding, wafer-level packaging)
• SiP face posibila si eliminarea unor constrângeri legate de dimensiuni si
de realizarea unor cablaje imprimate pentru circuite de mare viteza, lucru
care înseamnă până la urma reducerea costurilor de producție

Circuitele SAMA5D2 SiP de la


Microchip incorporează un procesor de
32 de biti ARM Cortex A5 si o memorie
SDRAM DDR2 (de până la 1Gbit),
împreună cu multe periferice destinate 20
conectivității, toate într-o capsulă BGA
Sisteme incorporate si SOM (System-On-a -
Module)
• Reprezintă un ansamblu de circuite integrate, mai mult sau mai puțin
complexe, asamblate , împreună cu alte componente ale sistemului, pe un
cablaj imprimat miniaturizat care este încapsulat într-o capsula (package)
asemănătoare celei pentru circuite integrate monolitice
• Si un SOM este realizat in ideea de a include cât mai multe (daca se
poate chiar toate) dintre funcțiile unui sistem electronic complex, si in
particular ale unui sistem incorporat
• Un astfle de SOM poate fi reutilizat cu ușurință in mai multe proiecte de tip
sistem incorporat ducând la reducerea costurilor de producție – vezi si
Beaglebone!

Circuitele Microchip
ATSAMA5D27 SOM1 sunt
21
realizate in tehnologia SOM
Arhitectura hardware clasica pentru un sistem
incorporat: funcții si subsisteme, implementarea cu
MCU Funcțiile si
Microcontroler (MCU) subsistemele
sunt realizate
Temporizare/ de perifericele
Memorie
numărare
Intrări Ieşiri microcontrolerului
numerice numerice
Sistem
Senzori/ întreruperi Elemente
traductoare de execuţie
CAN CNA
Intrari Sisteme CPU Iesiri

comunicaţie
analogice analogice

Interfaţa Dispozitive Sisteme


Om diagnoza si auxiliare:
Maşina testare alimentare,
răcire
Mediul
exterior: proces, 22
instalaţie
Arhitectura hardware clasica pentru un sistem incorporat:
funcții si subsisteme, implementarea cu un controler si
componente COTS Funcțiile si
subsistemele
Sisteme sunt realizate
Controler auxiliare:
de module (plăci)
alimentare,
Temporizare/ răcire
conectate cu ajutorul
numărare Memorie unor magistrale
Intrări Ieşiri externe (de tip fund
numerice numerice de sertar-backplane)
Sistem
Senzori/ întreruperi
Elemente
traductoare CAN CNA de execuţie
Intrari Sisteme CPU Iesiri

comunicaţie
analogice analogice

Interfaţa Dispozitive
Om diagnoza si
Chiar si unitatea
Maşina testare
centrală CPU este tot
Mediul un modul
exterior: proces,
instalaţie
23
Arhitecturi software clasice: o comparație
sisteme incorporate cu un sistem de calcul de uz
general (PC)
Aplicaţii sau
Aplicaţii
aplicaţie

Middleware: Middleware:
biblioteci, API .. biblioteci, API, BSP..

Sistem de operare: Sistem de operare:


Windows, Linux, un RTOS, Linux sau Windows
MacOS embedded
Firmware si
Firmware: Firmware: aplicaţie
BIOS, drivere,.. Bootloader, BSP
Start_up

Hardware Hardware
Hardware

PC/SCUG SI complex/ controler SI simplu


Sisteme de Calcul de Uz General Sisteme incorporate 24
Controlere: arhitectura software
• In mod tipic aplicațiile de tip sistem incorporat sunt dezvoltate pentru astfel de
controlere si utilizează un sistem de operare (clasic-Linux, Windows sau de
timp real-VxWorks, QNX, etc)
• Unitățile centrale din această categorie sunt livrate si împreună cu cea
ce se numește un pachet software suport BSP - Board Support
Package, esențial pentru utilizarea acestor module
• Un BSP reprezintă un pachet software suport pentru o anumită
“placă”/CPU, pentru un anumit sistem de operare (de ex. Linux,
Windows, VxWorks, etc.)
• El asigură încărcarea sistemului de operare precum si driverele necesare
pentru utilizarea unei game largi de periferice/interfețe
• De exemplu fac parte din BSP:
– Bootloader-ul, responsabil cu încărcarea si lansarea in execuție a sistemului de
operare
– Porțiunile de cod care realizează diverse inițializări ale perifericelor, memoriei, etc
– Vezi si http://en.wikipedia.org/wiki/Board_support_package (un articol incomplet..)

25
Ce ar trebui să însemne firmware?
• Un program, tipic de dimensiuni relativ mici(denumit uneori si
micro program – a nu îl confunda cu microprogramarea!), cu
funcţii de control direct al hardware-ului, care este
instalat/programat in faza de producţie/fabricaţie intr-o
memorie de tip nevolatil (ROM, PROM, EPROM, EEPROM,
FLASH) a unui dispozitiv informatic.
• Acest micro program cuprinde un ansamblu ordonat de
instrucţiuni si date memorate de o manieră care se doreşte, din
punct de vedere funcţional, cât mai independentă de arhitectura
memoriei sistemului de calcul
• Tipic, actualizarea lui se face mai rar, si este mai complicată
procedural decât actualizarea unei aplicații software obișnuite
• Un exemplu de firmware este si ROM BIOS-ul întâlnit la
calculatoarele personale (SCUG)
• Mai există si termenul de middleware, un program care
furnizează servicii aplicațiilor, servicii care, din diverse motive,
nu sunt oferite de sistemul de operare; in general el este
orientat pe comunicații si operații de intrare - ieșire
26
Controlerele – un altfel de sisteme
incorporate ..
• Majoritatea controlerelor realizează diverse sarcini care presupun interacțiunea
în timp real cu mediul înconjurător.
• Termenul mai corect si complet ar fi controlere industriale
• Implementarea lor se face ca sisteme de calcul de sine stătătoare bazate tipic pe
procesoare de 32 de biți, cu capacități de extindere limitate, fiind de regulă
orientate pe o anumită aplicație de control.
• O caracteristică, des întâlnită la aceste sisteme, este absența unui sistem
extern de stocare a informației de tip hard disk electromecanic (HDD
clasic).
– Această caracteristică provine de regulă, de la anumite cerințe legate de mediul de utilizare al
controlerului (șocuri şi vibrații excesive, praf, condiții extreme de temperatură): fără piese in
mișcare
– Fără piese in mișcare înseamnă si fără ventilator de răcire – fanless, răcirea circuitelor
făcând-se prin convecție naturala, folosind doar radiatoare!
• Se utilizează un tip special de hard disk numit generic Flash Disk, fără piese în
mișcare, realizat pe baza tehnologiei NAND FLASH .
• Majoritatea utilizează, memorate pe Flash Disk alaturi de aplicatie, mai mult
sau mai puţin vizibil pentru utilizator, sisteme de operare:
– variante speciale (zise embedded - incorporate) ale sistemelor de operare
cunoscute, utilizabile pentru astfel de cazuri, cum ar fi ROM-DOS, Windows CE,
variante de Embedded Windows actualmente devenit Windows IoT, Embedded
Linux, etc. sau
– sisteme de operare in timp real (RTOS): VxWorks, QNX, eCOS, etc. 27
NAND FLASH (Disk) – SSD si restul..

SSD, e.MMC, UFS =?


Puteți găsi si singuri
răspunsul..
Nu toate sunt însă
adecvate pentru 28
aplicații industriale!
O paranteza: NAND FLASH vs. NOR
FLASH
• Tehnologia NAND FLASH este o tehnologie de acces
la memorie de tip secvențial, care a fost destinată
încă de la început înlocuirii hard-diskurilor (HDD)
clasice
• Un NAND FLASH este utilizat prin intermediul unui
sistem de fișiere!
• Un NAND FLASH nu poate fi utilizat direct ca o
memorie de program nevolatilă, pentru nici un sistem
de calcul, deoarece aceasta utilizare ar presupune un
acces aleator la informația din memorie
• Singurele circuite FLASH care pot fi utilizate in acest
scop, ca memorie de program, sunt cele in
tehnologia numită NOR FLASH, la care accesul la
citire e similar circuitelor RAM

29
Controlere
• În situaţia în care programul trebuie să aibă un suport nevolatil
(ROM, EPROM sau FLASH) dar viteza de execuţie este critică,
codul respectiv poate fi copiat într-o memorie RAM dedicată, cu
un timp de acces oricum mai mic decât cel al suportului nevolatil.
• Variabilele sau subrutinele utilizate mai des ( cum ar fi rutinele de
tratare a întreruperilor şi stivele lor aferente) pot fi plasate
permanent în memoria cache internă, ducând la un spor de
performanţă remarcabil.
• Tipic, sistemele de tip controler au necesităţi de memorie mai mici
ca alte aplicaţii, iar aplicaţiile în sine pot avea o componentă
importantă scrisă în limbaj de asamblare, putând interacţiona direct
cu dispozitivele I/O şi memoria.
• Perifericele dedicate (sisteme de conversie analog - numerică sau
numeric analogică, intrări/ ieşiri numerice, sisteme de temporizare-
numărare, etc.) sunt conectate prin intermediul unor magistrale de
sistem.
• Variantele de magistrale utilizate sunt alese funcţie de viteza de
transfer necesară: ISA mai rar (sau mai des in varianta PC-104)
precum şi PCI (sau varianta PC-104 Plus)

30
Controlere: nu arată ca un PC..

Si variante care se conectează intr-un


“fund de sertar” activ (active backplane)
http://en.wikipedia.org/wiki/Backplane

Exista variante de
sine stătătoare..

31
Controlere: COM
• Conceptul COM (Computer On Module): un sistem de calcul pe un singur
modul (placă): unitate centrală, controlere de memorie, interfață video si
interfețe de comunicație
– http://en.wikipedia.org/wiki/Computer-on-module
• A devenit posibil, la un pret accesibil, datorită dezvoltării explozive a
tehnologiilor SOC (Sistem On a Chip)
• Denumiri/concepte alternative/similare: SBC (Single Board Computer), SOM
(System On Module)
• Pe o singură placă, pe lângă CPU va exista memorie (SDRAM, FLASH)
precum si setul specific de periferice pentru un SCUG (de fapt o bună parte
din ele si pentru un desktop PC)
– Periferice specifice unui controler, cum sistemele de conversie analog-numerice
sau numeric-analogice sunt disponibile ca module separate
• In mod tipic modulul se utilizează pe o placă “purtătoare” (carrier board,
base board) care permite accesul la resursele periferice si acces la
magistrale de sistem(conectori, socluri, etc.)
• Utilizarea lor oferă soluţii compacte dimensional pentru implementarea
hardware/software a unui sistem incorporat
– O cerinţă (constrângere) suplimentară des întâlnită in industrie: sistemul trebuie să
fie unul fără ventilator (fan-less), deci fără piese in mișcare, răcirea se realizează
doar prin convecţie naturală (doar cu ajutorul unui radiator)
32
Controlere: COM, ETX, factori de
forma
• ETX (Embedded Technology eXtended), este un
factor de forma standardizat compact (95 x 125 mm)
utilizat la realizarea COM
– http://en.wikipedia.org/wiki/ETX_%28form_factor%29
• Există si ETX Express de fapt, mai corect COM
Express, pentru că nu are nici o legătură cu ETX
• Factorii de formă pentru COM Express sunt:
– 110mm ×155mm (extins),
– 95 mm × 125 mm (baza) si
– 95 mm x 95 mm (compact)

33
Controlere: COM, ETX, exemple

34
Controlere, factor de formă ultra-
compact: nano-ETX, DIMM-PC
Nano-ETX (55mm x 84mm)

Exemplu de “placă
purtătoare” (carrier board)

DIMM-PC (68mm x 40mm)


Utilizează acelaşi conector ca
un modul de memorie DIMM
35
36
Controlere: PISA (PCISA)
Fundul de sertar ( passive backplane)
Este o construcţie pasivă:
- doar conectori ISA si PCI
- capacitori si rezistori

In afară de module, din care cel


puţin un CPU, mai avem nevoie si
de o sursă de alimentare

Module de tip unitate centrală (CPU) care se montează


37
in fundul de sertar
Controlere: PC-104
• Magistrala PC/104 reprezintă o modificare, a factor de formă, a vechii
magistrale sincrone ISA (Industry Standard Architecture) IBM, fiind
destinată de regulă unor aplicaţii din domeniul industrial.
• PC/104 are câteva de semnale suplimentare şi diferă esenţial de ISA
din punct de vedere mecanic, având un factor de forma foarte
compact, pentru a permite interconectarea prin suprapunere (stacking)
a mai multor module PC/104
• Practic, conectorii sunt astfel realizați, pe partea cu piesele (component
side) si respectiv pe cea cu sudurile (solder side), încât plăcile se “înfig”
una in alta
• Din modulele conectate prin suprapunere cel puţin unul conţine o
unitate centrală (este modul de tip CPU).
• Astfel pentru magistrala PC/104 există două tipuri de module: CPU şi
respectiv alte module (diverse categorii de periferice, controlere,
memorie, etc).
• Semnalele sunt grupate în conectori astfel încât să se poată realiza
complet o interfaţă de 8 biţi folosind numai un conector (numit şi XT)
sau o interfaţă completă de 16 biţi folosind ambii conectori (cel de-al
doilea conector mai este numit şi AT)
• Evident, o astfel de stivă (stack) PC-104 mai trebuie si alimentată!
• OBS PC-104 Plus (+) utilizează o adaptare a magistralei PCI 38
Controlere: PC-104, PC-104+

O stivă
PC-104
PC-104 stack

PC-104+ (PCI)
120pini

In stivă există cel puţin


PC-104 (ISA) un modul CPU
104 pini
Cei 2 conectori: XT si AT 39
Controlere: PC-104, PC-104+
http://en.wikipedia.org/wiki/PC/104

PC-104

PC-104+

40
Aici, la “baza” stivei este o sursa de alimentare

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