C'è qualcosa di più basso del livello di bit di 1 e 0?


8

Quando apprendiamo l'architettura dei computer e come funziona, si pensa che la lingua più bassa che possiamo capire che la macchina capisce sia binaria come 1 e 0. E tutto ciò che inseriamo dovrà essere trasformato / convertito in binario, ma essendo numeri binariciò non significherebbe che avremmo bisogno di un altro interprete / compilatore per trasformare il binario in un vero linguaggio macchina? Sappiamo tutti dall'elettronica che un computer è principalmente composto da CPU che è un circuito integrato che è quindi composto da transistor ecc. E l'unica cosa che questi strumenti comprendono è l'elettricità, quindi l'elettricità sarà il linguaggio più basso comprensibile per un computer. Quindi la mia preoccupazione è che i binari 1s & 0s o 1s & 0s sono usati solo per rappresentare l'assenza e / o la presenza di elettricità? Supponendo che sia solo una rappresentazione dell'assenza o della presenza di elettricità, non ci sarebbe un altro linguaggio intermedio o addirittura inferiore tra i comandi che immettiamo e binario, in modo che i circuiti possano sapere dove inviare la corrente e dove no?


2
Voglio solo commentare la tua "assenza di elettricità" | "L'assenza di un segnale non dovrebbe mai essere usata come segnale." - Julian Bigelow, 1947. "
Dylan Meeus,

2
In un certo senso, suppongo che la risposta alla tua domanda sia che esiste una sorta di "linguaggio" sottostante nella fisica dell'elettricità su cui si basano i circuiti. Fondamentalmente, la natura è come una macchina di Turing e la disposizione di fili e componenti è come il nastro di input. Per arrivare da una prospettiva diversa: i computer lavorano manipolando segnali analogici (variando continuamente nel tempo, nello spazio, nella grandezza, ecc.) E interpretandolo come approssimativamente digitale (variando discretamente, come numeri interi, nel tempo, nello spazio e nella grandezza). Hai ragione sul fatto che 0 e 1 significano solo diverse quantità di elettricità.
Patrick87,

1
Solo per chiarire lo Yuran, lo hai al contrario quando dici che usiamo 0 e 1 per rappresentare l'elettricità. Usiamo l'elettricità per rappresentare 0 e 1 secondi.
jmite,

Ecco la tesi di master di Claude Shannon , MIT 1937: cs.virginia.edu/~evans/greatworks/shannon38.pdf . Spiega come i circuiti di algebra e relè booleani possono essere usati come modelli l'uno dell'altro.
Wandering Logic,

1
C'è, ma non è l'argomento di questo sito. Potresti voler porre le tue domande su come costruire effettivamente processori dal filo all'ingegneria elettrica .
Raffaello

Risposte:


8

I computer digitali funzionano in modo tale che (quasi) in un dato momento, qualsiasi filo porti (approssimativamente) una delle due possibili tensioni, una che significa 0 e l'altro significa 1. Le tensioni dipendono dalla convenzione in uso. In questo senso, il calcolo digitale funziona con0s e 1S. Tuttavia, anche i computer digitali si interfacciano con dispositivi analogici, come l'archiviazione fisica e le reti. Il modo in cui i dati vengono codificati nelle reti può essere leggermente diverso, poiché è possibile codificare più bit contemporaneamente, a seconda della codifica.

Vorrei spiegare le mie qualifiche nella prima frase sopra. "Quasi" si riferisce al fatto che quando i fili passano da0 per 1o viceversa, ci saranno tensioni intermedie. Questi interruttori sono sincronizzati su tutti i fili in modo che ogni volta che i fili vengono "letti", l'interruttore (se presente) si è già verificato. "Approssimativamente" si riferisce al fatto che le tensioni non sono esatte. Esistono due piccole gamme di tensioni che corrispondono0 e 1. I dispositivi dovrebbero essere in grado di "leggere" i bit in questi intervalli, ma di solito "scriverli" in modo più restrittivo.


3

la domanda non è esattamente chiara e presenta alcune idee sbagliate o un'applicazione errata della terminologia (ad esempio "linguaggio inferiore") ma interpretandola in un modo più generale / metaforico / analogico / sciolto, :

  • un caso di studio interessante qui è il flip flop logico (vedi anche Come capire il Latch SR ) che, poiché ha un ciclo di feedback, non può davvero essere analizzato logicamente in termini di 0 e 1 e deve essere analizzato più come un dispositivo analogico
  • il tempismo del circuito è cruciale per comprendere la natura dinamica del flip flop. un modo particolarmente utile per capirlo è un diagramma tensione / tempo.
  • "sotto" 0 e 1 di circuiti logici sono tensioni analogiche continue / non discrete, e si può dire che l'elettronica binaria "controlla" strettamente i segnali analogici in confini fortemente vincolati.
  • ci sono casi in cui questo "si rompe", ad esempio su un chip IC , l'elettronica di cancelli difettosi o disegni marginali può causare il fallimento del chip e cadere dalla "busta" binaria.
  • un altro componente di base dell'elettronica non binaria è il rumore . gran parte della progettazione di circuiti integrati può essere considerata come controllo / riduzione al minimo. infatti l'elettronica binaria può essere vista come un mezzo per eliminare il rumore dai circuiti per ottenere segnali "silenziosi".

1
Le infradito possono essere analizzate logicamente - i valori dei fili alla volta t+1 dipendono dai loro valori al momento t e il valore dell'input o degli input alla volta t.
Yuval Filmus,

sì, ma in contrasto i circuiti senza feedback possono essere analizzati senza il concetto di tempo e la "logica" in matematica non ha un concetto fondamentale di tempo (in forte contrasto con CS / EE esattamente come nell'esempio). inoltre, collegare l'output all'ingresso della stessa porta non ha molto senso puramente "logicamente" senza il concetto di tempo e una direzione di corrente!
vzn

1
I programmi vengono regolarmente analizzati con il concetto di tempo. Ogni volta che si hanno variabili mutabili, è necessario tenerne conto.
Yuval Filmus,

giusto, certo. questo è il concetto completo di Turing o EE di "logica". i sistemi logici matematici precedenti / più limitati, ad esempio la logica proposizionale o l'algebra booleana (che altrimenti circuiti di modelli di grandi dimensioni) non hanno il concetto di tempo. tra l'altro i circuiti integrati difettosi sono una parte inevitabile del processo di fabbricazione e i chip "passati / verificati" sono chiamati rendimento .
vzn

1

Stai ponendo diverse cose in una domanda. Forse è una buona idea districare il problema da soli. Stai parlando di fisica, definizione del settore e architettura software / computer.

che la lingua più bassa che possiamo capire che la macchina capisce è binaria come 1 e 0. E tutto ciò che inseriremo dovrà essere trasformato / convertito in binario.

Facciamo prima questa parte. I computer moderni si basano su circuiti elettrici. Ad esempio, la maggior parte dei processori ARM può funzionare a 5 volt. A causa del modo in cui il processore ARM è incorporato nel tessuto, il processore comprende un segnale di ~ 0 volt come 0 bit e ~ 5 volt come 1 bit. È la definizione scelta da qualcuno.

ma essere numeri binari non significherebbe che avremmo bisogno di un altro interprete / compilatore per trasformare il binario in un vero linguaggio macchina?

Non capisco completamente cosa stai chiedendo qui. Ma supponiamo che tu stia guardando dal punto di vista del software. Quindi, il programma alla fine verrà trasformato in linee effettive di bit e in una linea di bit che indicano alla CPU cosa fare con i bit. Questi vengono immessi nella CPU (unità di elaborazione) e in base all'architettura del processore verrà eseguita un'azione sui dati.

Sappiamo tutti dall'elettronica che un computer è principalmente composto da CPU che è un circuito integrato che è quindi composto da transistor ecc. E l'unica cosa che questi strumenti comprendono è l'elettricità, quindi l'elettricità sarà il linguaggio più basso comprensibile per un computer. Quindi la mia preoccupazione è che i binari 1s & 0s o 1s & 0s sono usati solo per rappresentare l'assenza e / o la presenza di elettricità?

Come ho già detto un po 'sopra, è il modo in cui i computer sono costruiti. È possibile eseguire il processore su altre tensioni ma non funzionerà (credo). Perché una particolare definizione è fatta a quale tensione un bit è 0 o 1.

Supponendo che sia solo una rappresentazione dell'assenza o della presenza di elettricità, non ci sarebbe un altro linguaggio intermedio o addirittura inferiore tra i comandi che immettiamo e binario, in modo che i circuiti possano sapere dove inviare la corrente e dove no?

Sì, sostanzialmente segnali analogici. Ma tieni presente che la maggior parte delle volte vengono convertiti da un ADC (convertitore digitale analogico) in un valore in bit che rappresenta una tensione predefinita su quella linea.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.