C'è un nome per "chip da cui si può costruire una CPU"?


9

Ad alcune persone piace costruire CPU "homebrew" con circuiti integrati più semplici.

C'è un nome per "chip da cui si può costruire una CPU, se ne hai abbastanza"? C'è un nome per gli altri chip, "chip da cui non si può costruire una CPU, non importa quanti di questi si abbiano"?

Si può costruire una CPU con quantità sufficientemente grandi di chip mux 4: 1 (i multiplexer sono il Nuke tattico di Logic Design ). Si può costruire una CPU da quantità (un po 'più grandi) di porte NAND da 2 pollici. O da cancelli NOR 2-in. O da alcuni (forse uno) CPLD o FPGA.

Però,

Non è possibile creare una CPU da porte XOR 2-in da sole. Non si può costruire una CPU interamente solo dalla logica di resistenza a diodo . Non si può costruire una CPU interamente solo da flip-flop di tipo D.

Esiste un termine o una frase per distinguere queste due categorie di chip che è meno imbarazzante di "chip da cui si può costruire una CPU"?


6
Un problema che ho con questa domanda (il che significa che forse puoi migliorarla o che mi manca qualcosa) è che stai diventando vago sul modo in cui valuta di essere in grado di "costruire una CPU" . È una domanda di progettazione (logica) o una domanda di famiglia IC? Stai chiedendo di determinare i requisiti logici per progettare il computer completo Turing?
mctylr,

1
@mctylr: Sì - Come si chiama il tipo di chip, come il mux 4: 1, che consente di progettare un computer completo di Turing da quel chip? Sospetto che ogni famiglia di IC abbia un IC dal quale (in numero sufficiente) si può costruire un computer completo di Turing; e ha qualche altro IC che, da solo, è inadeguato per costruire un computer completo di Turing. Quale terminologia posso usare per distinguere il primo tipo di chip dal secondo tipo di chip?
David


@reemrevnivek: Pensavo che il "diodo" avesse a che fare con la "logica del resistore a diodo".
davidcary,

Risposte:


16

Devi essere in grado di fare NOT e uno di AND e OR. Usando le leggi di Demorgan, una di queste funzioni può essere trasformata nell'altra e quindi in tutte le altre funzioni logiche.

Questo è noto come completezza funzionale o adeguatezza espressiva. I componenti o le funzioni che creano tale sistema sono noti come funzioni di Sheffer (dopo Henry Sheffer, che ha pubblicato una prova sull'argomento) o solo operatori sufficienti.

Inoltre è interessante il fatto che è possibile combinare un quartetto di porte NAND per creare un flip flop di tipo D, e da lì una cella di memoria, che è anche necessaria per creare completezza di Turing.

L'articolo di ProofWiki sull'argomento è una buona lettura.


Una persona nella pagina di discussione sulla completezza funzionale di Wikipedia afferma che le porte di Fredkin non sono complete dal punto di vista funzionale (poiché se si applicano tutti e 0 gli ingressi a una o più porte di Fredkin cablate in una disposizione concepibile, non si potrà mai ottenere un 1 in qualsiasi uscita), eppure altri sostengono che puoi costruire una CPU completamente fuori dai cancelli di Fredkin. Quindi un cancello Fredkin in realtà è "funzionalmente completo", o sto cercando una categoria più ampia che includa "funzionalmente completo" e anche i cancelli di Fredkin?
davidcary,

@ David - Questo è un po 'fuori tema, ma se leggi l'articolo sui cancelli di Fredkin, scoprirai che il cancello di Fredkin ha la proprietà di scambiare gli ultimi due bit se il primo bit è 1, ed è anche reversibile. Se si consente a 1 e 0 di essere hardcoded, è facile ottenere qualsiasi altra funzione logica con alcune porte Fredkin. Tuttavia, se si consente l'hard-coding, non è più reversibile e quindi non è un gate Fredkin adeguato (secondo alcuni). La reversibilità è una categoria indipendente dalla completezza funzionale e penso che la completezza funzionale sia sufficiente per il tuo problema.
Kevin Vermeer,

Se applichi tutti gli 0 ingressi a uno o più mux 4: 1 cablati in qualsiasi disposizione immaginabile, non potrai mai ottenere un 1 in nessuna uscita. Quindi un chip mux in realtà è "funzionalmente completo", anche se non è mai menzionato in quella pagina ProofWiki altrimenti eccellente, o sto cercando una categoria più ampia che includa "funzionalmente completo" e anche chip mux 4: 1?
davidcary,

@David - Il mux 4: 1 è un dispositivo specializzato trovato in elettronica. Nel campo dell'elettronica, siamo raramente, se mai, interessati a assemblare un computer interamente da un tipo di IC, e nel campo dell'informatica teorica (il dominio di ProofWiki e il termine "completezza funzionale"), i mux e altri circuiti integrati specializzati sono assemblati da porte logiche standard. In questa terra di nessuno, penso che tu possa definire i tuoi termini.
Kevin Vermeer,

@reemrevnivek: Durante la produzione di un prodotto, spesso si risparmia tempo, denaro e spazio di archiviazione per utilizzare alcuni tipi di componenti generici che posso acquistare in blocco da diversi produttori, piuttosto che "ottimizzare" separatamente ogni parte e utilizzare componenti super-specializzati che sono utili solo in un unico posto in un prodotto e il cui produttore probabilmente lo dichiarerà "non più raccomandato per nuovi progetti" tra un paio d'anni. ps: hai mai sentito parlare del Cray-1 o dell'Apollo Guidance Module? Tutto tranne la memoria interamente da un tipo di IC.
David

5

L'insieme di "chip da cui è possibile costruire un computer" può essere assemblato in macchine complete Turing . Il resto non può.

Tutte le porte logiche possono essere assemblate da gruppi di sole porte NAND o NOR. Se il tuo IC in questione può agire come uno di questi, può essere trasformato in una macchina di Turing.

Non conosco un termine specifico per descrivere un tale insieme.

Queste domande possono anche aiutare:

/programming/4908893/what-logic-gates-are-required-for-turing-completeness

/programming/7284/what-is-turing-complete


1
Eccellente. Quindi l'unico tipo di chip è "un chip che può agire come un gate NAND, o agire come un gate NOR, o entrambi", e l'altro tipo di chip è "un chip che non può agire come un gate NAND, né può agire come un cancello NOR ". Concettualmente molto più semplice. Probabilmente è adeguato, ma speravo in una frase che mi fosse leggermente più facile.
David

2

Sono d'accordo con l'opinione che i multiplexer 4: 1 sono meravigliosi. Un paio di anni fa, ho implementato un controller di memoria a commutazione di banco 8K per un Atari 2600 utilizzando un singolo circuito 74x153 / 74xx253 e un circuito di de-glitching RC. Il controller deve fornire sia un'uscita che è l'inverso dell'ingresso A12, sia deve bloccare A6 quando A11 è alto e A12 basso. "Back in the day" (primi anni '80), le cartucce a commutazione di banca usavano silicone personalizzato o tre chip TTL; utilizzando un 74xx153 standard, tuttavia (che era disponibile allora) il lavoro può essere svolto in un unico chip.

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.