Digital logik

Transistorer förvandlade elektronikvärlden och hade en enorm inverkan på datordesign. Transistorer gjorda av halvledare ersatte vakuumrör vid konstruktion av datorer. Med transistorer kunde datorer nu utföra samma funktioner med mindre kraft och utrymme. Från ENIAC tiden till nu har transistorer minskat till bokstavligen mikroskopiska proportioner. Ta till exempel datorchip som sitter i datorer, mobiltelefoner och all annan modern elektronik. På chippen trängs miljarder transistorer i nanometers storlek.

I årtionden har antalet små transistorer som trängs i integrerade kretsar har fördubblats vartannat år. Det fenomenet – som blev känt som Moores lag – innebar fler transistorer snabbare och kraftfullare datorer. Men under de senaste åren har utvecklingen bromsats av fysikens lagar och datorer kommer att stanna på sin nuvarande nivå tills ett substitut kan hittas.

Mukesh Khare håller inte med. Khare, som är ansvarig för all halvledarforskning på IBM, tror att fysikens utmaningar kan övervinnas. I fall man vill läsa den tekniska artikeln surf IBMS sajt: How to squeeze billions of transistors onto a computer chip

Grindar

Transistorer är ett datorsystems grundstenar, och en transistor kan användas för att avgöra om en ledning ska vara strömförande eller inte. Det gör att man med hjälp av transistorer kan bygga grindar som ger olika utsignaler baserat på de signaler man skickar in. Detta är kända som logiska operationer och de kan beskrivas matematiskt.

AND (OCH)

En OCH-grind ger en etta som utsignal när båda insignalerna är ettor, det motsvarar i logiken att båda invärdena är sanna så utsignalen blir sant. När man jämför varje bitposition och får man ett resultat kallas detta bitvis eller på engelska Bitwise. Men istället att se talet bit per bit kan se det hela, alla ettor och nollor. Detta kallas bitsträng och då kan man jämföra en bitsträng med en annan. Om en bitsträng har ettor och nollor och inte alla nollor ger detta en etta, men om alla bitar är nollor ger som utvärde noll.

Bitwise eller bitvis Logisk AND Logisk AND
A och B skilda från 0, ger 1 A eller B är 0, ger 0
A 1 1 0 0 0 1 0 1 A 0 0 1 1 1 0 1 0 A 1 1 1 1 1 1 1 1
B 1 0 0 0 1 1 1 0 B 1 1 1 0 0 0 0 1 B 0 0 0 0 0 0 0 0
Ut 1 0 0 0 0 1 0 0 Ut 0 0 0 0 0 0 0 1 Ut 0 0 0 0 0 0 0 0

OR (ELLER)

En ELLER-grind ger en etta som utsignal så länge något av invärdena är inte lika med noll. Två bitar som den ena är en nolla och den andra en ett ger som utvärde en etta. Precis som OCH-grindar när man jämför bit per bit i binära talet får man ett resultat som också kallas bitvis. När man jämför bitsträng och varken A eller B är lika med noll kommer alltid att resultera i utvärde en etta. Men om A och B är lika med noll, då blir utvärde noll.

Bitwise eller bitvis Logisk OR Logisk OR
A och B skilda från 0, ger 1 A eller B är 0, ger 0
A 1 0 0 1 1 1 0 0 A 1 0 0 0 1 0 0 1 A 0 0 0 0 0 0 0 0
B 1 1 0 1 0 0 1 0 B 0 1 1 0 0 1 0 0 B 0 0 0 1 1 1 0 0
Ut 1 1 0 1 1 1 1 0 Ut 0 0 0 0 0 0 0 1 Ut 0 0 0 0 0 0 0 0

XOR (ANTINGEN ELLER)

En XOR-grind (Exclusive OR) ger en etta som utsignal så länge bitarna är inte båda lika. 

Bitwise eller bitvis Logisk XOR Logisk XOR
A och B skilda från 0, ger 0 A eller B är 0, ger 1
A 1 1 0 0 0 1 0 1 A 1 1 1 0 0 1 1 1 A 0 0 0 0 0 0 0 0
B 1 1 1 0 0 0 1 0 B 1 0 1 0 1 0 1 0 B 1 1 0 0 1 1 0 0
Ut 0 0 1 0 0 1 1 1 Ut 0 0 0 0 0 0 0 0 Ut 0 0 0 0 0 0 0 1