Sería bastante difícil diseñar un microcontrolador moderno desde el nivel de transistor. Los transistores se utilizan para hacer puertas lógicas , como los bloques de construcción de nivel más bajo. La puerta más simple es la puerta NO, que invierte el nivel de entrada: un 0 lógico se convierte en un 1, y viceversa. La puerta NO está construida con 2 transistores:
Eltransistorsuperiorconducesisuentrada(elpuntopequeño)esbaja,eltransistorinferior(sinpunto)sisuentradaesalta.Entonces,siaplicaunaentradaalta,eltransistorinferiorconduce,actuandocomouninterruptor,ycambialasalidaQaVss(eseessu-),onivelbajo.Hemosinvertidolaentrada.Otraspuertassebasaneneso.TomelapuertaNAND,porejemplo.Tienedosomásentradas,ylasalidaesbajasitodaslasentradassonaltas.Entodoslosdemáscasoslaentradaesalta.
Esta es una compuerta NAND de 2 entradas, aún se puede ver algo del inversor en ella. Si ambas entradas son altas, los transistores inferiores conducen y la salida se hace baja a través de su conexión con Vss. Si alguna de las entradas es baja, al menos uno de los conductores de los transistores superiores y la salida se hará alto a través de su conexión con Vdd (que es su +). Tenemos una puerta de trabajo NAND. Y así continúa, podemos construir una compuerta XOR usando 4 compuertas NAND, y otra lógica más compleja se construye a partir de una combinación de bloques de construcción. Necesita un bloque de construcción para crear una función de registro: una parte que puede mantener su estado, como una memoria.
Si una instrucción quiere leer de la RAM, primero está el decodificador de instrucciones. A través de una combinación de puertas, obtiene una serie de señales que necesita para ejecutar la instrucción. Uno de ellos será pasar la dirección RAM para que se lea en el bus de dirección. (Los buses son canales de señales, un bus de dirección para un controlador de 8 bits puede tener, por ejemplo, 16 cables paralelos. Los buses son una forma de organizar las cosas. Sin ellos, el diseño del controlador sería muy ineficaz). Otra señal activará el RD línea (para "lectura"), que indica a la memoria RAM que debe colocar los datos en la base de datos. Otra señal más encerrará esos datos en un registro.
Una cosa importante es el tiempo. No puede bloquear los datos si no le ha dado a la RAM el tiempo para colocarla en el bus. Todo hecho por la misma lógica, a partir de bloques de construcción que a su vez se construyen a partir de transistores.
"los transistores aumentan de algún modo la velocidad de cálculo"
No hay nada más que transistores y sus conexiones. Los transistores por sí mismos no aumentarán la velocidad. Lo que sí es cierto, sin embargo, es que las mejoras tecnológicas permiten transistores más rápidos y transistores más rápidos significa una computación más rápida. Algunas de estas mejoras son pasos tecnológicos únicos, que solo puede realizar una vez. Pero la escala es otro factor, y han repetido eso desde que se diseñaron los primeros circuitos integrados. Hace 40 años, un IC normalmente tendría un tamaño de función de 5 a 8 \ $ \ mu \ $ m. Hoy podemos producir hasta 22nm de tamaño de la característica. (El ADN tiene un diámetro de 15 nm). Con un tamaño de característica más pequeño, las propiedades físicas del transistor cambian lo que le permite cambiar más rápido. Moore vio en esta escala continua una tendencia, que se conoció como la Ley de Moore. Esto no puede durar para siempre sin tener que dar un salto en la tecnología utilizada. En los años 80 se temía que la tecnología utilizada en ese momento tendría sus límites entre 200 y 300 nm, ya que el proceso litográfico puede no funcionar en longitudes de onda por debajo de la luz visible. Pero la litografía sigue siendo la tecnología utilizada por los steppers de hoy.