Fon­da­men­tal­men­te, l’ela­bo­ra­zio­ne dei dati da parte del computer o dell’essere umano si svolge sempre con la stessa sequenza: input, processo, output (IPO). Per questo motivo nell’ambito dell’ela­bo­ra­zio­ne au­to­ma­ti­ca dei dati il modello IPO è ap­pli­ca­bi­le a livello uni­ver­sa­le. Descrive anche come fun­zio­na­no e come lavorano i computer.

Il modello IPO: la base dell’ela­bo­ra­zio­ne dei dati

L’acronimo “IPO” è ricavato dalle prime lettere delle parole inglesi Input, Process e Output. Il si­gni­fi­ca­to è quasi au­toe­spli­ca­ti­vo:

  1. I dati vengono in­tro­dot­ti tramite appositi di­spo­si­ti­vi di input in unità di ela­bo­ra­zio­ne come i computer.
  2. Dopodiché vengono elaborati secondo regole pre­de­fi­ni­te.
  3. Infine, sono vi­sua­liz­za­ti o re­sti­tui­ti all’utente finale tramite diversi di­spo­si­ti­vi di vi­sua­liz­za­zio­ne o di output.

Il modello IPO descrive quindi il processo di base dell’ela­bo­ra­zio­ne dei dati ed è un im­por­tan­te schema fon­da­men­ta­le dell’EAD. Non fa dif­fe­ren­za se i dati sono inseriti ed elaborati da un computer o da un essere umano: l’im­por­tan­te è che la sequenza di ela­bo­ra­zio­ne resti la stessa. La de­scri­zio­ne dei sistemi secondo il modello IPO può riferirsi all’intero sistema o solo a parti di esso. Un esempio pratico: un computer riceve un input globale per poi ela­bo­rar­lo e re­sti­tuir­lo in de­ter­mi­na­ti settori parziali del sistema.

Perché è im­por­tan­te il modello IPO?

Si potrebbe pensare che ciò che descrive il modello IPO è un’ovvietà. Ma in realtà dal punto di vista dello sviluppo dell’hardware e del software rap­pre­sen­ta una guida im­por­tan­te. Solo quando le strutture di base dell’ela­bo­ra­zio­ne dei dati cor­ri­spon­do­no al modello IPO si può pre­sup­por­re che il processo input e output fun­zio­ne­rà come de­si­de­ra­to, senza errori.

Di seguito spie­ghia­mo l’im­por­tan­za del modello IPO per lo sviluppo di hardware e software.

Hardware

Nello sviluppo hardware deve essere chiaro quali tipi di segnali di ingresso devono essere elaborati dalle unità fisiche. Da questo dipendono, infatti, i di­spo­si­ti­vi at­tra­ver­so cui devono essere inseriti i dati. Le unità ne­ces­sa­rie sono definite in base alla modalità di ela­bo­ra­zio­ne. Le azioni da eseguire dopo l’input de­ter­mi­na­no i di­spo­si­ti­vi da usare per rap­pre­sen­ta­re e re­sti­tui­re l’output.

Software

Anche lo sviluppo software viene eseguito secondo il modello IPO. I programmi devono essere svi­lup­pa­ti sin dall’inizio tenendo conto dei dati di input per com­pren­de­re come usarli. Ad esempio, per programmi di testo o di sistema, l’input, l’ela­bo­ra­zio­ne dei dati e l’output sono diversi da un programma di pro­get­ta­zio­ne o da un lettore mul­ti­me­dia­le. A seconda del comando di input, in de­ter­mi­na­te cir­co­stan­ze, potrebbe essere ne­ces­sa­rio con­trol­la­re altri di­spo­si­ti­vi di output o unità. Quindi, anche i paradigmi di pro­gram­ma­zio­ne e gli algoritmi uti­liz­za­ti nello sviluppo del software dipendono dal modello IPO.

Come funziona il modello input output (IPO)

A livello generale e uni­ver­sa­le, la sequenza e il processo di ela­bo­ra­zio­ne dei dati in base al modello IPO sono i seguenti:

Input (“I”)

L’input dei dati rap­pre­sen­ta un comando o un’istru­zio­ne al di­spo­si­ti­vo o al sistema. A seconda delle esigenze, i dati possono essere inseriti tramite diversi di­spo­si­ti­vi di input, tra cui:

  • Tastiera del computer
  • Mouse
  • Microfono
  • Schermo touch
  • Touchpad
  • Scanner
  • Webcam
  • Controllo ottico
  • Tastiera su schermo
  • Con­trol­ler da gioco/joystick

Tramite i di­spo­si­ti­vi di input, i comandi e i dati vengono inseriti in forme e modi diversi, ad esempio cifre, clic, simboli, tasti di scelta rapida di Windows, comandi vocali, comandi touch, dati visivi o scansioni di documenti. A seconda del di­spo­si­ti­vo e del programma con cui lavori, i dati vengono elaborati in modo diverso.

Processo (“P”)

L’ela­bo­ra­zio­ne e il calcolo dei dati inseriti sono eseguiti in apposite unità. Tra le più im­por­tan­ti figurano il pro­ces­so­re (CPU), la RAM e la scheda grafica (GPU). Decisiva per l’ela­bo­ra­zio­ne è la coppia formata da pro­ces­so­re e RAM, che calcola l’output e traduce il comando di input, mentre in parallelo salva i dati e li rende di­spo­ni­bi­li nella cache.

Per il sal­va­tag­gio si usano dischi rigidi, RAM, spazi di ar­chi­via­zio­ne cloud, DVD e chiavette USB. Occorre tuttavia tenere presente che una memoria non può essere con­si­de­ra­ta come un’unità di ela­bo­ra­zio­ne, bensì assume una posizione separata nella sequenza IPO. I di­spo­si­ti­vi di output comandati e i dati elaborati sono de­ter­mi­na­ti dall’algoritmo.

Output (“O”)

Per re­sti­tui­re i dati elaborati come de­si­de­ra­to, i computer e i di­spo­si­ti­vi elet­tro­ni­ci di­spon­go­no di apposite unità di output. Sono preposte a vi­sua­liz­za­re i dati elaborati, ad esempio, su un monitor/schermo o ri­pro­dur­li tramite al­to­par­lan­ti, stampanti, pro­iet­to­ri o cuffie. Secondo il modello IPO anche il movimento del puntatore del mouse sul monitor è un output, così come la vi­sua­liz­za­zio­ne delle lettere digitate o la stampa di un documento.

Dove trova ap­pli­ca­zio­ne il modello IPO?

Essendo valido a livello uni­ver­sa­le, fon­da­men­tal­men­te il modello IPO può essere trasposto in qualsiasi si­tua­zio­ne in cui i segnali in ingresso devono produrre risultati. Il migliore esempio è co­sti­tui­to dai “di­spo­si­ti­vi di input” del corpo umano: occhi, orecchie, naso, bocca o pelle. Per­ce­pia­mo i segnali esterni sia pas­si­va­men­te, tramite gli odori, i rumori e l’ambiente visibile, sia at­ti­va­men­te, leggendo, guardando un film, ascol­tan­do musica o gustando i nostri piatti preferiti. At­tra­ver­so i sensi e le unità di ela­bo­ra­zio­ne come il cervello, gli organi, le ossa, i muscoli e i tendini, ela­bo­ria­mo i segnali (immagini, colori, gusti, si­gni­fi­ca­ti, odori o con­ver­sa­zio­ni) e pro­du­cia­mo risultati.

Per lo sviluppo di hardware e software ef­fi­cien­te, il modello IPO svolge un ruolo decisivo so­prat­tut­to dal punto di vista della ricerca guasti e dell’ot­ti­miz­za­zio­ne delle pre­sta­zio­ni. Prevede test per rilevare se un segnale di input non produce l’output de­si­de­ra­to. Permette così di iden­ti­fi­ca­re ed eliminare errori o in­com­pa­ti­bi­li­tà nei di­spo­si­ti­vi di input o di output e difetti delle unità di ela­bo­ra­zio­ne. In questo modo è possibile, ad esempio, anche de­ter­mi­na­re se l’ela­bo­ra­zio­ne dei dati nei pro­ces­so­ri deve avvenire in parallelo su più core con il mul­ti­th­rea­ding o l’hyper-threading e quali settori del kernel sono usati.

Il modello IPO: esempi di ela­bo­ra­zio­ne dati

Troviamo esempi del principio di fun­zio­na­men­to del modello IPO ogni volta che vengono inseriti dati in un PC, smart­pho­ne, tablet, stampante, scanner o di­spo­si­ti­vo Bluetooth. Digitando ad esempio una parola con la tastiera, at­tra­ver­so le unità di ela­bo­ra­zio­ne come la CPU, la RAM e i programmi di ela­bo­ra­zio­ne testi, i segnali della tastiera vengono vi­sua­liz­za­ti sullo schermo come parola. Invece, facendo clic sul link di un video, il browser apre il relativo sito internet, i di­spo­si­ti­vi audio del computer avviano la ri­pro­du­zio­ne del sonoro e il video viene vi­sua­liz­za­to sul monitor.

Lo stesso succede quando ef­fet­tuia­mo im­po­sta­zio­ni in una stampante come formato, colori e numero di copie, avviamo il processo di stampa e alla fine teniamo in mano il documento stampato. In linea di principio ogni macchina che svolge una de­ter­mi­na­ta funzione applica quindi il modello IPO. Può trattarsi di un bancomat per prelevare contanti o vi­sua­liz­za­re la si­tua­zio­ne del conto, di uno scanner per acquisire documenti, di una console di gioco con schermo e con­trol­ler collegati o di un impianto audio con al­to­par­lan­ti.

Con­clu­sio­ne

Il modello IPO rap­pre­sen­ta una guida im­por­tan­te per garantire un’ela­bo­ra­zio­ne dei dati ef­fi­cien­te e senza lacune.Aiuta a prevenire errori tra input e output o, se presenti, a iden­ti­fi­car­li, con­sen­ten­do di or­ga­niz­za­re i processi di ela­bo­ra­zio­ne dei dati nel modo più con­ti­nua­ti­vo possibile e ri­spar­mian­do risorse.

Vai al menu prin­ci­pa­le