De ce microcontrolerele pe 8 biţi sunt aici pentru a rămâne

17 IUNIE 2009

Există un motiv simplu pentru care microcontrolerul pe 8-biţi continuă să sfideze aşteptările şi să menţină o creştere impresionantă. Costul este rege. Dacă este posibilă rezolvarea unei probleme folosind un microcontroler pe 8-biţi, acesta va costa mai puţin decât rezolvarea aceleiaşi probleme folosind un microcontroler pe 32-biţi.
Piaţa controlului embedded este foarte diversificată. Există aplicaţii care necesită microcontrolere pe 32-biţi. De obicei acestea sunt uşor de identificat. Un procedeu empiric bun este acela că dacă un sistem necesită manipularea datelor pe 32-biţi, atunci un CPU pe 32-biţi este o cale bună de adresare a acestuia. Powertrain, imprimante, VOIP şi PDA-urile sunt exemple bune despre unde este mai eficientă operarea de date pe 32-biţi. Totuşi, marea majoritate de sisteme embedded nu au nevoie să opereze decât pe date de 8-biţi. Acest lucru se întâmplă deoarece sistemul de control se va interfaţa cu intrări cum sunt întrerupătoare, senzori, tastaturi şi sisteme de comunicaţie serială relativ lente. Pe partea de ieşire, se găsesc de obicei actuatori simpli (motoare şi bobine), LED-uri şi alte indicatoare. Problema poate fi rezolvată destul de bine cu o soluţie pe 8-biţi.
Nu este eficientă rezolvarea unei probleme de 8-biţi cu o soluţie pe 32-biţi. Este mult mai scump şi inutil să se procedeze aşa. CPU-urile pe 32-biţi au o lungime a instrucţiunilor care este mai mare decât instrucţiunea pe 8-biţi. În realitate, mărimea codului necesară pentru implementarea unui algoritm pentru un sistem de control embedded pe un CPU de 32-biţi va fi de aproximativ de patru ori mai mare decât aceea a unui CPU de 8-biţi. Acest lucru a fost demonstrat de nenumărate ori pe standuri de testare. Chiar şi în modurile de operare cel mai eficiente “lungimea instrucţiunii pe 16-biţi”, un CPU de 32-biţi va genera un cod semnificativ mai mare. Concluzia este că dacă implementarea unui algoritm ar ocupa 16KB de cod pe un dispozitiv de 8-biţi, atunci implementarea unui algoritm echivalent pe un dispozitiv de 32-biţi probabil va ocupa 64KB de cod. Realitatea e, că este mai ieftin să se cumpere un MCU cu 16KB decât un microcontroler cu 64KB (în mare parte suprafaţa semiconductorului va fi ocupată de memorie).
Să nu se înţeleagă greşit – dacă algoritmul este intensiv matematic pentru 32-biţi, atunci un CPU de 32-biţi îl va implementa mai eficient decât unul de 8-biţi. Problema este aceea că un CPU de 32-biţi este o soluţie fantastică pentru operarea de date de 32-biţi, dar implică un cost semnificativ dacă se doreşte rezolvarea unei probleme de 8-biţi cu o soluţie de 32-biţi.
Un alt dezavantaj al utilizării soluţiilor pe 32-biţi când acestea nu sunt necesare este acela că acestea vor consuma mai multă energie. Pentru a explica mai simplu, când ariile cu 32 de tranzistoare sunt comutate, va necesita mai mult curent decât atunci când comută ariile a 8 tranzistoare. De obicei semnificativ mai mult curent. La inspecţie, datele pentru microcontrolerele de 32-biţi vor confirma un consum de putere mai ridicat pentru toate modurile de operare (Stop, Run, Wait etc.) decât pentru un microcontroler de 8-biţi. De aceea sistemele embedded care utilizează baterii nu înclină să folosească CPU-uri de 32-biţi – decât dacă acestea trebuie reîncărcate des, precum este cazul unui telefon mobil, PDA etc.
Un alt motiv pentru care piaţa de 8-biţi continuă să se extindă este acela că furnizorii de MCU-uri de 8-biţi nu stau degeaba. A existat o cantitate enormă de inovaţie în piaţa de 8-biţi în anii trecuţi. Original, Intel 8051 opera la 1MHz şi avea un etaj de divizare cu 12 între ceasul magistralei şi ceasul instrucţiunilor. Există acum 8051-uri care vor lucra la 100MHz fără etaj de divizare – o îmbunătăţire de viteză de 1200 de ori.
Lungimea instrucţiunilor este de asemenea mai mică de câteva cicluri – majoritatea sunt numai de 1 sau 2 cicluri. Acest lucru oferă o performanţă îmbunătăţită. În termeni de performanţă a CPU-urilor, nu este exagerat să se presupună că există o suprapunere semnificativă între performanţa celui mai rapid MCU pe 8-biţi şi un MCU tipic pe 32-biţi.
În afara eficienţei dimensiunii codului şi îmbunătăţirii semnificative a performanţei, MCU-ul pe 8-biţi are şi un alt atu. Este foarte uşor de utilizat. Instrumentele de dezvoltare sunt mature, bine înţelese şi cu cost scăzut. Există mult cod moştenit care este larg disponibil. O estimare sugerează că ar exista peste 300 de milioane de ore de timp de dezvoltare investite numai în scrierea de coduri pentru 8051. Nu trebuie subestimată valoarea unei calităţi cunoscute. Îndeplinirea sarcinii cu o soluţie care nu este numai cea mai eficientă, dar şi cea cu cel mai mic risc este un argument convingător.
Recapitulând, MCU-urile pe 8-biţi vor fi mereu mai potrivite pentru majoritatea aplicaţiilor de control embedded. O potrivire mai bună înseamnă o soluţie cu cost mai scăzut. Dacă se compară o soluţie de 32-biţi cu o soluţie de 8-biţi, să nu se cadă în capcana de a considera dimensiunea memoriei echivalentă. Trebuie să se cântărească faptul că CPU-ul de 32-biţi va necesita aproximativ de patru ori mai multă memorie pentru a stoca codul mai mare care îi este necesar.
De aceea MCU-urile de 8-bit sunt aici pentru a rămâne.

Comentarii

silver20 spune:

aveti mare dreptate cu acest articol si argumentele aduse in privinta microcontroller-elor mai putin performnate care de ani de zile isi fac treaba daca sunt programate corespunzator.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile necesare sunt marcate *

  • Folosim datele dumneavoastră cu caracter personal NUMAI pentru a răspunde comentariilor/solicitărilor dumneavoastră.
  • Pentru a primi raspunsuri adecvate solicitărilor dumneavoastră, este posibil să transferăm adresa de email și numele dumneavoastră către autorul articolului.
  • Pentru mai multe informații privind politica noastră de confidențialitate și de prelucrare a datelor cu caracter personal, accesați link-ul Politica de prelucrare a datelor (GDPR) si Cookie-uri.
  • Dacă aveți întrebări sau nelămuriri cu privire la modul în care noi prelucrăm datele dumneavoastră cu caracter personal, puteți contacta responsabilul nostru cu protecția datelor la adresa de email: gdpr@esp2000.ro
  • Abonați-vă la newsletter-ul revistei noastre