Ciao ragazzi, ho qualche domanda da fare.
1- E' vero che il computer/ macchina capisce solo il codice 0011010 etc.?
Come fa a comprendere codici complessi avendo a disposizione solo quei numeri?
2-Come fa il processore a "calcolare?, perché pensandoci è strano. Tipo ogni segnale elettrico da un valore?
Spero che abbiate capito.
Grazie
Salve
@saimon_,
in realtà il PC è un sistema in grado di elaborare segnali digitali attraverso dei conduttori metallici :sisi:
Nel caso delle applicazioni elettroniche un segnale è una serie di segni che trasporta informazione :sisi:
Pensa, ad esempio, ai segnali stradali: essi sono composti da segni grafici; nel caso dei segnali elettrici questi "segni" non sono altro che i valori di grandezze elettriche (tensioni e correnti), assunti nel tempo :D
Ora, un segnale digitale (o numerico) è un segnale in cui vengono definiti un certo numero di "livelli" di valori della grandezza elettrica, all'interno dei quali l'informazione associata non cambia significato :sisi:
Se i livelli sono soltanto due (basso/alto, LOW/HIGH, L/H) il segnale si chiama binario.
Generalmente un segnale digitale ha una forma rettangolare, dovuta al fatto che i circuiti elettronici digitali si comportano come interruttori che "commutano" su valori alti e bassi delle tensioni in uscita :sisi:
Torniamo ora, per un momento, al concetto di informazione: essa rappresenta, da un punto di vista qualitativo, tutto ciò che contribuisce ad abbassare il nostro livello di incertezza riguardo ad un evento fisico :asd:
Per poter definire l'informazione da un punto di vista quantitativo occorre effettuare una misura e quindi dobbiamo determinare l'unità di misura in modo da confrontare l'informazione contenuta nel segnale con l'unità di misura.
Il bit è l'unità di misura dell'informazione, intesa come l'informazione che elimina l'incertezza di un evento che ha due valori possibili, ma equiprobabili (cioè che hanno la stessa probabilità di verificarsi).
Un segnale binario è quindi in grado di trasportare una quantità di informazione pari a 1 bit :sisi:
Ora, un sistema digitale come il PC deve essere in grado di "codificare" le informazioni (che sono numeri o lettere alfabetiche o di altro tipo) da elaborare. Ma cos'è la codifica ? :look:
Pensa al codice Morse usato nella telegrafia: ad ogni lettera corrisponde una serie di punti e di linee.
Codificare un'informazione significa, dunque, far corrispondere a ciascun elemento di un insieme una combinazione di simboli.
Facendo un esempio, con 4 bit (utilizzando solo i due simboli 0 e 1) si possono ottenere 2^4=16 combinazioni e quindi codificare 16 numeri decimali.
Un sistema digitale deve altresì prendere delle decisioni "logiche", cioè di tipo "vero" (true) e "falso" (false), in base al verificarsi o meno di certi eventi (o se preferisci in base al valore, alto o basso, dei segnali coinvolti).
Ecco che, per poter fare ciò, ci viene in aiuto l'algebra di Boole, dal nome del matematico inglese George Boole che sviluppò la logica matematica che rappresenta il supporto teorico all'analisi e alla sintesi di un sistema digitale.
A partire dalla logica delle proposizioni (cioè da quelle frasi che possono essere solo vere o false) Boole individuò tre operatori logici, che permettono poi di "concatenare" altre proposizioni logiche per costruirne di più complesse: il NOT (la negazione), l'OR (la somma logica) e l'AND (il prodotto logico).
Ti faccio un esempio: se ti dico "oggi piove", tale frase può essere vera o falsa, se ti dico "ho la febbre", anche questa frase può essere vera o falsa.
Se però ti dico "oggi piove o ho la febbre" (mettendo la congiunzione o), capirai che è sufficiente che una sola delle due parti sia vera perché l'intera frase risulti vera.
Bene, questi operatori dell'algebra booleana sono stati implementati sotto forma elettronica e prendono il nome di "porte logiche": le porte logiche fondamentali (AND, OR e NOT) ricevono in ingresso i segnali digitali (tensioni alte o basse) e restituiscono in uscita il valore di tensione associato al risultato dell'operazione logica.
In sintesi, le porte logiche costituiscono gli elementi di base per costruire "reti" logiche più complesse e, in definitiva, l'intero sistema digitale.
Se, ad esempio, vuoi selezionare un segnale all'interno di un gruppo di segnali si utilizza il Multiplexer, se desideri codificare da decimale a binario si usa l'Encoder (e viceversa il Decoder), per le operazioni aritmetiche su numeri binari si usano i sommatori, i sottrattori, i comparatori, la ALU e così via, tutti questi circuiti integrati sono composti da migliaia di porte logiche (in definitiva da milioni di transistor e di diodi integrati nei chip, in base alla scala di integrazione utilizzata) :sisi:
Non mi dilungo oltre perché, nonostante la sintesi utilizzata (questo sarebbe il programma del corso di Cibernetica all'Università), ritengo di aver illustrato a sufficienza le questioni poste dall'apertore del thread.
Per qualsiasi altra questione inerente al tema in oggetto rimango a disposizione di tutti :)
Buona lettura ;)
P.S. Consiglio anche di leggere la guida di
@Blume. qui:
https://forum.tomshw.it/threads/approccio-allelettronica-digitale.389539/post-3853127;)
I miei interventi iniziano da qui (e seguenti):
https://forum.tomshw.it/threads/approccio-allelettronica-digitale.389539/post-4755129:)
--- i due messaggi sono stati uniti ---
Altri miei interventi qui:
https://forum.tomshw.it/threads/struttura-di-un-ic.244846/post-2462348 (IC monolitici e ibridi)
https://forum.tomshw.it/threads/struttura-di-un-ic.244846/post-2466012 (reti combinatorie, reti sequenziali e ALU)
https://forum.tomshw.it/threads/struttura-di-un-ic.244846/post-2479505 (scale di integrazione)
https://forum.tomshw.it/threads/struttura-di-un-ic.244846/post-2494293 (porta OR in logica DL)
Ciao … ;)