Computer

« Older   Newer »
  Share  
§Davide_96§
view post Posted on 7/7/2009, 12:23     +1   -1




Un computer, dal latino computare (calcolare) attraverso l'inglese, to compute (calcolare), anche detto calcolatore, elaboratore, oppure ordinatore, è un dispositivo fisico che implementa il funzionamento di una macchina di Turing.

Questa definizione, sebbene rigorosa, non dice molto su quello che in pratica un computer è o può fare: eseguire operazioni logiche, come calcoli numerici. Dalla nascita della struttura più elementare, in seguito si sono sviluppati molti tipi diversi di computer, costruiti e specializzati per vari compiti. Essi vanno da macchine che riempiono intere sale, capaci di qualunque tipo di elaborazione, a circuiti integrati grandi pochi millimetri che controllano minirobot e orologi da polso. Ma a prescindere da quanto siano grandi e da che cosa facciano, possiedono tutti quattro cose: (almeno) una unità centrale di elaborazione o CPU, (almeno) una memoria, e almeno un dispositivo di ingresso/uscita, nonchè un canale perché possano dialogare tra loro, in accordo all'architettura di von Neumann.

Hardware e software

Un computer nasce per eseguire programmi: un computer senza un programma da eseguire è inutile. Il programma di gran lunga più importante per un computer, se previsto nell'architettura generale, è il sistema operativo, che si occupa di gestire la macchina, le sue risorse, le altre applicazioni che vi sono eseguite. Fornisce all'utente un'interfaccia per inserire ed eseguire gli altri programmi. Queste parti immateriali vengono comunemente chiamate software, in contrapposizione all'hardware che è la parte fisica, nel senso di materiale e tangibile, degli elaboratori.

Premessa sintetica

La macchina di Turing in oggetto è un meccanismo, formale, ma potenzialmente realizzabile concretamente, che costituisce un modello di calcolo; è retta da regole elementari di natura molto semplice. Ha potere computazionale massimo, ed è equivalente a ogni altro modello di calcolo molto più complesso.

Di conseguenza si è consolidata la convinzione, accettata e attualmente non dimostrabile, che per ogni problema calcolabile ne esista una in grado di risolverlo (congettura di Church-Turing).

Le prime macchine praticamente costruite per effettuare operazioni di calcolo, tali che ad una variabile di ingresso (input) dell'utente producessero un corrispondente risultato (output) come effetto di un processo sui dati immessi, determinato da una regola logica, risalgono al 150 a.C. e sono i primi planetari e successivamente alcuni strumenti per il calcolo di posizione ed ora per usi marinareschi. Erano macchine dedicate a uno scopo specifico. Precedente a queste, nella gestione delle operazioni numeriche abbiamo l'abaco, non universalmente considerato un calcolatore in quanto non in grado di effettuare il riporto, funzione che arriverà solo nel corso del 1600 con la macchina calcolatrice di Wilhelm Schickard. Il completamento degli elementi essenziali di un calcolatore si ha infine nel 1833 quando Charles Babbage progettò la Macchina analitica, meccanica e alimentata a vapore, che costituisce il primo vero calcolatore programmabile, e non dedicato, della storia. Fu il primo esempio di macchina con input, output, una unità di memoria, ed un'unità di calcolo con registro di accumulo dei dati e sistema di collegamento tra il tutto. Nel 1842 la contessa di Lovelace, Ada Byron, ne scrisse i primi programmi. A lei è dedicato il linguaggio di programmazione Ada, standard del Dipartimento della Difesa statunitense. Attualmente i calcolatori sono di tipo elettronico, ed il primo a funzionare, denominato Z1 e capostipite di una serie ad esso successiva, si deve al tedesco Konrad Zuse.

Tipi di computer

I computer possono essere idealmente divisi in alcune categorie molto generali, a seconda delle loro caratteristiche salienti, dell'uso che in generale se ne fa, del software e dei sistemi operativi che fanno girare e dell'epoca in cui sono comparse. Le definizioni nel tempo sono molto cambiate e i confini non sono mai così netti.

Mainframe

Negli anni 40 i computer occupavano stanze intere, l'energia richiesta per il funzionamento ed il raffreddamento era elevata e, naturalmente, erano costosissimi; per questo motivo li si tendeva a sfruttare il più possibile e, quindi, l'utilizzo era suddiviso generalmente fra un numero di utenti piuttosto grande.

I mainframe oggi sono dei computer non molto più grandi del PC di casa ma, nonostante le dimensioni, questi computer sono molto potenti e possono sopportare centinaia di terminali e utenti connessi. Questi sistemi sono molto onerosi sia in termini di investimento iniziale che di costi di gestione. Pertanto vengono utilizzati nelle grandi aziende, nelle banche, in società di assicurazioni, nella pubblica amministrazione ed in altre strutture che hanno bisogno di una potenza di elaborazione molto elevata per gestire i terminali che gli utenti usano per lavorare.

Minicomputer

In un secondo tempo, negli anni sessanta, in particolare da Digital e da HP, vennero introdotti elaboratori dal costo abbastanza ridotto da poter essere comprati anche da piccole aziende o da singoli dipartimenti di ricerca e di dimensioni paragonabili ad un armadio. Questo permise un utilizzo più flessibile e quindi le prime sperimentazioni in campo informatico. Per distinguerli dai mainframe venne coniato il termine minicomputer.

Microcomputer

All'inizio degli anni settanta l'introduzione del primo microprocessore, l'Intel 4004, rese disponibili computer dal prezzo abbastanza ridotto da poter essere acquistati anche da una singola persona. La prima generazione di questi dispositivi era destinata soprattutto agli appassionati, perché di difficile utilizzo. I personal computer possono essere considerati microcomputer.

Home computer

La seconda generazione di microcomputer, che prende il nome popolare di home computer, fece il suo ingresso nel mercato nella seconda metà degli anni Settanta e divenne comune nel corso degli anni Ottanta, per estinguersi entro i primi anni Novanta con l'ascesa dei personal computer.

Gli home computer, macchine a costo contenuto e di utilizzo prevalentemente domestico, contribuirono largamente a diffondere a livello popolare l'uso del computer e all'alfabetizzazione informatica di vasti strati di popolazione (specie giovanile) nei paesi sviluppati.

Basati su processori a 8 bit e costruttivamente molto semplici, erano dotati di interfacce esclusivamente testuali e come memorie di massa sfruttavano, almeno inizialmente, le cassette audio. Erano utilizzati prevalentemente come console per videogiochi, oppure per i primi approcci con la programmazione.

Con oltre dieci milioni di macchine vendute, il più rappresentativo computer di questa categoria fu il Commodore 64. Anche lo ZX Spectrum della Sinclair ebbe buona diffusione.

Personal computer

Per Personal Computer si intende un microcomputer economico destinato, prevalentemente, a un utilizzo personale da parte di un singolo individuo. Si distingue da un Home computer principalmente perché si prestano - grazie alle maggiori risorse hardware e software a disposizione - a utilizzi maggiormente produttivi rispetto a questi ultimi, destinati a un utilizzo ludico o didattico. Dato che la definizione di Personal Computer nacque con la diffusione dei computer PC IBM, oggi per Personal Computer (PC) spesso si intende un computer da essi derivato, ma inizialmente il termine andrebbe riferito a macchine con sistemi operativi e tipi di microprocessori del tutto diversi, quali la prime versioni dell'Apple (Apple I e soprattutto l'Apple II).

Altre categorie

* I supercomputer: dotati di elevatissima capacità elaborativa e distinti dai mainframe perché solitamente destinati ad una singola applicazione come previsioni meteorologiche o simulazioni.
* I microcontroller: elaboratori completi totalmente contenuti in singoli circuiti integrati.
* I sistemi barebone: personal computer preassemblati, costituiti di solito da case e scheda madre, pronti per ulteriori personalizzazioni da parte di rivenditori o utenti finali.
* I computer palmari: computer di ridotte dimensioni, tali da essere portati sul palmo di una mano.

Costituenti tipo di un calcolatore elettronico personale
Un computer, come premesso, non è altro che l'implementazione fisica, pratica, di una macchina di Turing, secondo l'architettura ideata da Von Neumann.

Componentistica (hardware)

La macchina in primo luogo viene alimentata elettricamente da un'unità, interna od esterna che fornirà al sistema le tensioni necessarie alle sue diverse componenti, nei termini della potenza e stabilità richieste.

Dal punto di vista pratico e costruttivo tutti i computer di questa categoria, hanno almeno:

1. una CPU,
2. una certa quantità di memoria di lavoro, generalmente volatile ma piuttosto veloce, attualmente RAM,
3. una certa quantità di memoria non volatile. Quest'ultima è suddivisa in:
1. una piccola parte (ROM, PROM, EPROM, EEPROM o Flash) in cui è scritto il primo programma da eseguire all'avvio del computer stesso (firmware). Esempi sono Open Firmware e BIOS, che assolvono comunque anche ad altre funzioni di base, oltre a queste. A seconda dei casi, questo primo programma potrà essere l'unico che la macchina eseguirà oppure servirà a fare da trampolino di lancio per caricare il sistema operativo vero e proprio dalla memoria di massa in memoria di lavoro, o un ulteriore e intermedio programma in grado di decidere quale particolare sistema operativo selezionare: in questo caso si parla di loader.
2. una memoria di massa, più capiente ma con velocità d'accesso più lenta.

Scheda Madre

In genere questi tre componenti, escludendo solitamente la parte di memoria di massa, si trovano fisicamente insieme nello stesso circuito integrato o sulla stessa scheda elettronica, che in questo caso viene detta scheda madre o mainboard, o eventualmente in schede figlie, direttamente inserite e spesso anche alimentate elettricamente dalla scheda madre.

Importante ricordare che, attualmente, vi è una piccola quantità di memoria detta Cache all'interno della CPU; questo perché la velocità del Bus di collegamento fra CPU e memoria è troppo bassa, quindi si avrebbe che in questi casi la CPU è "frenata" dal collo di bottiglia della RAM, ciò non avviene naturalmente se si ha una piccola quantità di memoria all'interno della CPU stessa, nella quale vengono caricate le informazioni che vengono elaborate più spesso.

Oltre ad eseguire programmi, un computer deve anche poter comunicare con l'esterno: per questo sono sempre presenti anche un certo numero di interfacce verso vari dispositivi. Quasi sempre, tranne i casi di microcontrollori molto semplici, è prevista la possibilità di collegare una tastiera e un dispositivo di visualizzazione (monitor, stampante, display). Inoltre in genere un computer fa uso di memorie di massa per registrare i dati e i programmi liberando la memoria RAM, e quasi sempre è possibile collegare ad esso periferiche esterne e schede di espansione.

Una delle schede di espansione più importanti è la scheda video. Questa scheda si occupa di gestire tutte le immagini e di visualizzarle sul video/display.

CPU

La CPU, sigla di Central Processing Unit, è uno dei componenti della macchina di Von Neumann, il più diffuso modello teorico di computer. Essa ha il compito di elaborare le informazioni provenienti dalla memoria, decodificando ed eseguendo le istruzioni operative in codice macchina, e quindi specifiche per quella CPU. La sua conformazione, detta architettura, è stata soggetta ad una evoluzione nel tempo, integrando progressivamente quantità sempre maggiori di transistor, arricchendosi di memoria interna detta cache di primo livello, aumentando la dimensione del bus dati e integrando più di una struttura esecutiva delle istruzioni, detta pipeline, aumentando quindi il grado di parallelismo. Nelle ultime versioni, si hanno più CPU che coesistono nello stesso circuito integrato, detto quindi dual core o quad core a seconda che ospiti due o quattro processori.

Memorie

Ricordando nuovamente che una parte di memoria, per motivi architetturali attualmente ormai risiede all'interno della CPU, possiamo schematizzare:

* la memoria di lavoro o memoria principale, adesso generalmente RAM, è sì molto veloce, ma ha un problema: è volatile, cioè allo spegnimento della macchina il suo contenuto viene perso. Le tecnologie attuali in ogni caso prevedono già in itinere memorie di lavoro permanenti.

* Per questo ed altri motivi ad essa si affianca, sempre, un altro tipo di memoria, molto più lenta ma capace di mantenere i dati che vi vengono scritti per un tempo indefinito: questa viene detta memoria di massa o memoria d'immagazzinamento secondario ed è costituita in genere da dischi o nastri magnetici (esistono tuttavia dischi a stato solido, questi dischi sono anche detti SSD - questi supporti sono molto simili alle memory card, hanno velocità di lettura più elevate rispetto ai dischi magnetici, ma sono molto costosi). In casi di applicativi che richiedono poca memoria vengono utilizzate le NOVRAM, particolari RAM non volatili, se si vuole la scrittura e riscrittura dei dati, le ROM se il programma non deve essere cambiato, o al massimo cambiato molto raramente (ROM cancellabili tramite raggi UV o tensioni predefinite). In genere, i dati vengono scritti su queste memorie sotto forma di file: il modo in cui i file sono organizzati e catalogati si chiama file system

Bus di sistema


Il computer non potrebbe funzionare senza il bus di sistema. Questo è infatti il collegamento fra le varie componenti di un computer: CPU, chipset, scheda video, varie periferiche e componenti del computer. Esistono 3 tipi fondamentali di bus che, assieme, formano il bus di sistema:

* Bus indirizzi
* Bus dati
* Bus controlli

Le periferiche esterne possono essere collegate al bus di sistema mediante le interfacce fornite dal costruttore (nel caso di componenti di facile integrazione), o mediante interfacce proprietarie nel caso di componenti particolari o non integrati nel proprio sistema (scheda madre). Questi componenti sono detti schede di espansione e si collegano direttamente in alloggiamenti (slot) della scheda madre appositamente progettati. Questi slot dialogano, grazie all'interfaccia del chipset, con tutto il resto del sistema.

Alcuni tipi di interfacce a "Slot":

* ISA
* EISA
* VESA
* PDS
* PCI
* PCI Express
* PCI X
* AGP (per le schede grafiche)
* VMEbus
* S-100
* Zorro
* NuBus
* MBus
* SBus

Porta parallela (Centronics)

Interfacce generiche
Porta seriale
Porte PS2

Esistono un certo numero di interfacce generiche, adatte a molti scopi, che in genere i costruttori hanno cura di implementare sempre nei computer che producono, per aumentarne la versatilità. In genere le specifiche per queste interfacce sono standard pubblici, stabilite da enti come l'IEEE o l'ISO. Interfacce:

* RS232 (interfaccia seriale)
* RS432
* Centronics (interfaccia parallela)
* IEEE 488
* SHUGART (per floppy disk)
* ADB per tastiere e mouse e simili dispositivi di controllo
* IDE (per il disco rigido)
* EIDE (per dischi rigidi e ottici)
* SCSI (disco rigido, CD-ROM, scanner e altri)
* SATA (per dischi rigidi e ottici)
* SATA2 (più veloce del SATA)
* IEEE 1394 o Firewire esterno espandibile, capace di fornire alimentazione ai dispositivi, in diverse tipologie, (periferiche esterne come dischi rigidi e ottici, scanner, videocamere e fotocamere digitali)
* PS/2 (tastiera e mouse)
* USB (Universal Serial Bus, o bus seriale universale in italiano, esterno espandibile, in diverse tipologie, capace di fornire alimentazione ai dispositivi tastiera e mouse, fotocamere digitali, ecc.)
* ATA

Attualmente si stanno abbandonando i lettori per dischetti (floppy) e le interfacce Centronics (in special modo sui laptop) e allo stesso tempo si stanno installando lettori di smartcard.

Note tecniche

Questa descrizione è da riferirsi solamente alla scheda di sistema di alcuni personal computer da tavolo, principalmente i maggiormente diffusi. Tutti i dispositivi diversi, tipo i computer mobili come i carputer, palmtop, Smartphone, Netbook, UMPC, console per videogiochi e tutti gli altri dispositivi informatici alternativi, possono presentare un'architettura interna anche notevolmente differente. I computer portatili, ad esempio, per esigenze di spazio possono integrare il chipset in altri componenti (o viceversa). Le console per videogiochi sono sprovviste di BIOS (una serie di sub-routine necessarie per l'avvio sono memorizzate ed automaticamente eseguite direttamente da un unico integrato).

Inoltre alcuni computer di vecchia generazione (e tutte le console per videogiochi, anche le più moderne) integrano la CPU direttamente saldate sulla scheda madre e quindi non rimovibile. Altri dispositivi invece (come supercomputer, workstation e server) possono integrare sulla scheda madre due o più socket per l'installazione di più CPU (per sistemi multiprocessore) oppure più schede madri per ottenere configurazioni avanzate basate su sistemi con centinaia o anche migliaia di CPU che funzionano in contemporanea.

Nel 1995, nel campo dei sistemi basati su processori IBM/Motorola, schede madri della classe Tsunami, progettate per i processori PowerPC 604 e successivi erano dotate di slot per daughtercard o scheda figlia, a singolo o multiplo processore essendone anch'esse sprovviste.

Ugualmente, alcune schede madri della metà degli anni novanta, progettate per i processori Pentium II e per i primi processori Pentium III (con core non Coppermine) erano appositamente sprovviste di socket e montavano invece uno slot denominato Slot 1 simile ai normali slot d'espansione PCI per alloggiare una scheda elettronica contenente 2 o più integrati, che insieme costituivano la CPU del Computer.

Oggi con la tecnologia dual core e la più recente multi core è invece possibile integrare direttamente all'interno di un unico processore due (per il dual core) o più (per il multi core) core logici nello stesso package, capaci di aumentare la potenza di calcolo senza aumentare la frequenza di funzionamento del processore.

image
 
Top
0 replies since 7/7/2009, 12:23   50 views
  Share