Sorta di appendice al post di ieri, volevo presentare alcuni stralci interessanti di uno studio/presentazione curato nel 1994 da Michael Culbert, allora System Architect di Apple (Informazioni e PDF).
Il documento illustra il percorso di design dell’architettura hardware e software e dimostra come uno dei fondamentali punti di convergenza sia proprio il risparmio energetico. Vengono spiegati i compromessi e le soluzioni adottati per raggiungere un equilibrio prestazionale che offra da una parte un’interfaccia sempre responsiva e pronta all’uso, dall’altra una serie di accorgimenti per ottenere bassi consumi quindi grande autonomia quindi grande affidabilità del dispositivo portatile (specie se consideriamo le forti garanzie di persistenza dei dati archiviati).
L’Abstract e l’Introduzione riassumono con efficacia:
Abstract
Il primo prodotto della linea Newton opera in un ambito estremamente limitato per quanto concerne prestazioni, costo, dissipazione del calore, consumo energetico, scalabilità, dimensioni e peso. Questa presentazione offre una panoramica dell’hardware di sistema del Newton MessagePad e si incentra sulle tecniche e i compromessi utilizzati per superare tali limiti. In particolare verrà trattata la migrazione sinergica di funzioni dall’hardware verso il software e viceversa.
Introduzione
La linea di prodotti Newton ha un obiettivo di primaria importanza: offrire all’utente un’interfaccia uomo-macchina fluida e semplice. Nessun utente del Newton dovrebbe rendersi conto di star utilizzando un computer. Gli utenti dovrebbero poter usare il Newton come fosse un foglio di carta. A mano a mano che la loro familiarità con il Newton aumenta, nuove e potenti applicazioni si renderanno visibili. Per conseguire questo obiettivo occorre considerare svariate scelte di design cruciali, non ultime quelle che riguardano dimensioni, peso, costo e consumo energetico. Il presente studio tratta specificamente il consumo energetico di hardware e software dell’attuale linea di Newton MessagePad.
Occorre notare che, essendo il documento del 1994, i MessagePad a cui Culbert si riferisce sono i primi che vennero prodotti fra il 1993 e il 1994, quindi l’Original MessagePad, il MessagePad 100, il 110 e forse anche il 120. Tutti erano dotati di processore ARM 610 RISC a 20 MHz. I MessagePad 2000 e 2100, introdotti nel 1996 e 1997, e con processore StrongARM SA-110 RISC a 162 MHz erano tutt’altra cosa dal punto di vista prestazionale e di consumo energetico, ma è lecito supporre che le premesse di design e le ottimizzazioni siano dello stesso tipo, seppur a un livello superiore.
Il processore
Nelle primissime fasi del processo di design fu chiaro da subito che occorrevano prestazioni paragonabili a quelle di un processore Intel 486 per poter fornire un’esperienza utente fluida e reattiva, visto l’ambiente software che avevamo iniziato a creare. Vennero valutati più di una dozzina di processori, […] ma soltanto uno — lo ARM3 di Acorn Computers Limited (Regno Unito) — rispondeva a tutte le esigenze. Lo ARM3, tuttavia, non era un candidato perfetto: il processore non aveva una memory management unit (MMU) integrale e Acorn non aveva le risorse per svilupparne una. Apple si presentò ad Acorn e, in congiunzione con VLSI Technology Incorporated, fondò una nuova azienda chiamata Advanced Risc Machines, Limited (Regno Unito). Lo scopo di questa compagnia era fornire risorse di sviluppo per mantenere l’architettura ARM aggiornata e competitiva in questo nuovo scenario di mercato.
[…]
Il sistema energetico
La scelta del voltaggio per l’alimentazione di un dispositivo di questo genere presenta una serie di compromessi importanti dal punto di vista dei costi, delle prestazioni e del consumo. […]
La scelta di uno schema a 5V ha avuto un impatto considerevole nella scelta delle batterie da impiegare. Per ottenere un’alimentazione a basso costo avevamo bisogno di un minimo di 4 celle. L’idea originaria di utilizzare pile AA non era più compatibile con il design fisico del prodotto. Dovevamo decidere fra aumentare le dimensioni del prodotto o ridurre ancora una volta l’autonomia delle batterie. L’utilizzo di pile NiCad di dimensioni AAA poteva continuare a soddisfare uno dei nostri obiettivi primari, ossia quello di fornire all’utente medio almeno una settimana d’uso continuato del prodotto; pertanto per il primo Newton vennero scelte batterie AAA.
La progettazione dell’alimentazione era complicata perché i carichi nel sistema variavano da un minimo di circa 10 mA quando il sistema era in stand-by, a un massimo di circa 400 mA nella situazione di maggior carico. Inoltre il carico poteva cambiare in modo praticamente istantaneo da uno stato inattivo di 10 mA a uno stato attivo di circa 180 mA. Il compito era progettare un convertitore a basso costo che potesse rivelarsi efficace in entrambi i casi. Siamo riusciti a ottenere un 85% circa di efficienza nello stato inattivo (10 mA) e più del 90% di efficienza nello stato attivo (180 mA). […]
Come si può vedere, dietro alla catena di scelte e di compromessi vi è una considerazione di costi e risparmi, ma si cerca di non limitare eccessivamente l’efficienza e le prestazioni del dispositivo. In casi come questo la scelta non è tanto un bivio fra una soluzione A e una soluzione B, ma la creazione di una soluzione C che bilanci A e B (batterie più piccole in modo da rientrare nelle dimensioni pensate per il dispositivo, ma sufficientemente potenti da non offrire prestazioni degradate).
Risparmi energetici e l’interfaccia utente
Il display a cristalli liquidi (LCD), la tavoletta digitalizzatrice, e l’hardware per l’output audio compongono ciò che Apple definisce lo hardware dell’interfaccia utente. Questi elementi vengono scelti con cura e implementati in modo da fornire bassi consumi e facilità d’uso. L’interfaccia utente è il punto in cui si può maggiormente notare l’attenta interrelazione fra hardware e software in questo prodotto.
Quando la tavoletta digitalizzatrice è in uso, il sistema operativo effettua una scansione costante alla ricerca di coordinate sulla tavoletta, con una frequenza di circa 80 punti al secondo. La validità di un punto specifico viene determinata dinamicamente attraverso un metodo proprietario. Tale valutazione automatica evita che siano inviate coordinate errate (causate da più di un punto di contatto sulla superficie dello schermo durante la scrittura) ai livelli più alti del sistema per l’elaborazione. Anche l’area digitalizzata viene controllata costantemente. Se la penna passa in una zona dello schermo che non richiede un controllo preciso delle coordinate, la frequenza di campionamento della tavoletta viene rallentata a circa 10 punti al secondo. Tali aree dello schermo sono dinamiche e vengono definite automaticamente dall’architettura di visualizzazione del Newton. Ciò permette a chi sviluppa le applicazioni di avvantaggiarsi automaticamente di questo metodo di risparmio energia senza nemmeno conoscerne l’esistenza. I risparmi energetici derivati dall’impiego di tali tecniche sono significativi. La circuiteria della tavoletta consuma in media circa 17 mA e il 10% della CPU ARM quando è al massimo dell’attività. […]
Anche lo stesso display LCD è un elemento importante nell’ottica dei risparmi energetici del MessagePad. In un classico sistema LCD, vi è un controller LCD che utilizza una propria RAM oppure accede alla memoria di sistema principale. Il controller LCD poi guida un orologio ad alta frequenza e un flusso di dati ai driver di righe e colonne sul display LCD. Questo porta a un sistema LCD che può consumare più di 100 mW solo per visualizzare un’immagine statica. Nel MessagePad, i frame buffer LCD sono integrati nei driver di righe e colonne del display LCD. […] Il risultato finale è un pannello LCD che consuma meno di 5 mW per visualizzare un’immagine statica. […]
Per finire, un altro elemento di design essenziale per la realizzazione di un dispositivo portatile di questo tipo: l’archiviazione e la conservazione dei dati. Quando ci si trova in movimento bisogna poter spegnere o mettere in stop il dispositivo in ogni momento, oppure considerare imprevisti come l’esaurimento delle batterie e la conseguente interruzione di un lavoro senza temere per l’integrità delle informazioni se il dispositivo si spegne prima che sia possibile salvare i progressi.
Robusta archiviazione dei dati
Anche la robustezza del sistema è un elemento di cruciale importanza in un dispositivo in cui si archiviano dati sensibili. L’utente può, ovviamente, togliere e sostituire le batterie dal sistema in qualunque momento. Il sistema deve essere in grado di ripristinarsi dopo un tale evento senza perdita alcuna di informazioni personali.
È pertanto necessaria la creazione di un database che possa sopportare l’interruzione delle operazioni in qualsiasi momento senza subire danni. Il MessagePad incorpora un completo database transazionale e orientato agli oggetti. Con tale sistema è impossibile perdere dati archiviati nell’object store permanente, a meno che non venga rimossa anche la batteria di backup della memoria.
A chi conosce l’inglese suggerisco la lettura integrale del documento originale, che è scritto in un linguaggio tecnico ma non eccessivamente astruso. È impressionante notare il diagramma di flusso delle scelte di design che hanno contribuito alla formazione di un prodotto, il Newton, che ha avuto sì poca fortuna commerciale, ma che è e rimane una lezione fondamentale di progettazione hardware/software per un dispositivo portatile.