Segunda generación (1957-1964): transistores.
Esta generación surge cuando se sustituyen las válvulas de vacío por los transistores. Las válvulas ocupaban un gran volumen y necesitaban una gran cantidad de energía. Además liberaban una cantidad exorbitante de calor, lo que implicaba la necesidad de unas instalaciones muy complejas y que estuviesen reguladas en humedad y temperatura. A todo esto hay que añadir que el tiempo de vida de los triodos era muy limitado, lo cual provocaba con gran frecuencia averías. Los transistores introducen una gran diferencia en prestaciones: tamaño minúsculo, menor coste, menor consumo eléctrico (generando así también menos calor) y vida útil prácticamente ilimitada.
La velocidad de ejecución de la CPU se incrementó enormemente, hasta alcanzar 200.000 operaciones por segundo. La disminución de tamaño de los módulos permitió introducir unidades lógicas y aritméticas y unidades de control más complejas. Por otra parte, el tamaño de la memoria principal de ferritas creció de 2 Kpalabras a 32 Kpalabras, y el tiempo de aproximación cayó de 30 ms a 1,4 ms.
Durante este periodo también tiene lugar la ampliación de las memorias internas, la generalización del concepto de arquitectura modificable y el uso de periféricos de gran masa de memoria como los tambores y discos magnéticos. Aparecen los lenguajes ensambladores que traducen las instrucciones del código máquina, llegando a generar ya lenguajes de alto nivel como Fortran, Lisp, Cobol y Algol.
El incremento de la complejidad de las unidades de control, permitió introducir una de las innovaciones arquitectónicas que posteriormente se ha utilizado en gran escala: la segmentación de operaciones. Con esta técnica, la decodificación de una instrucción se solapa con la búsqueda de la instrucción siguiente y con la ejecución de la anterior. Entre las innovaciones arquitectónicas más importantes de esta generación puede destacarse la utilización de memoria virtual, para facilitar la tarea del programador a la hora de escribir programas demasiado largos para residir completamente en memoria principal.
En esta generación aparecen los primeros ordenadores comerciales, los cuales ya tenían una programación previa que serían los sistemas operativos. Interpretaban instrucciones en lenguaje de programación, permitiendo así a los programadores escribir sus programas en esos lenguajes, para que luego el ordenador los tradujera al lenguaje máquina.
Las primeras computadoras construidas completamente a base de transistores fueron introducidas por las compañías NCR (NCR 304, en 1957) y RCA (RCA 501, en 1958). Sin embargo, IBM creó los modelos más populares, logrando una cuota de mercado del 70% en la década de los 60. El primer modelo de IBM que empleaba transistores fue el IBM 7090, creado a finales de 1958.