¿Cómo funciona una CPU?

5

En términos generales, soy curioso en cuanto a cuáles son los procesos físicos detrás del funcionamiento de una CPU. Entiendo que la razón por la que las computadoras usan el binario es porque significa que los datos pueden almacenarse magnéticamente por dirección, o eléctricamente por carga / descarga.

Por ejemplo, si tengo dos bytes 01110000 y 00001111, ¿qué sucede eléctricamente cuando, digamos, el segundo se resta del primero?

(Entiendo que una respuesta completamente detallada sería un secreto de empresa, pero lo pregunto por curiosidad y no por nada específico de un fabricante determinado).

    
pregunta cm007

5 respuestas

9

Una respuesta detallada no es tanto un secreto de la empresa, sino el tema de varios semestres en una universidad. No espere obtener una respuesta completa aquí.

Uno de los mejores libros sobre el tema es este: enlace

También hay numerosos libros sobre diseño de lógica digital que sería bueno leer también.

    
respondido por el user3624
7
Los

bytes se manipulan en una CPU utilizando una ALU (unidad de lógica aritmética) , que normalmente puede realizar ambas operaciones aritméticas (por ejemplo, las operaciones de agregar) y las operaciones lógicas (y, o, no, xor) entre dos operandos, que se pueden obtener de la memoria, los registros o la memoria y un registro, según la arquitectura de la computadora.

La resta generalmente se realiza mediante la suma utilizando aritmética de complemento de dos .

Puede que estés interesado en el libro Code, por Charles Petzold , que habla de ALU y mucho más. en su libro de alta calificación que describe cómo funcionan los interiores de las computadoras a partir de conceptos básicos.

    
respondido por el tcrosley
4

Hiciste una pregunta simple pero la respuesta a "¿Cómo funciona una CPU?" Puede llenar libros. Sí, el procesador moderno usa binario para representar números internamente, y eso es porque es más fácil tener y detectar un voltaje que sea alto o bajo que varios niveles intermedios.

La forma en que se agregan los números binarios no es un secreto. El bloque de construcción básico es un circuito lógico de hardware llamado medio sumador . Estos se encadenan para agregar cualquier número de bits y para lidiar con los acarreos a partir de la adición de bits de orden inferior. La mitad de los agregadores y la forma en que se encadenan para formar sumadores de múltiples bits completos están bien cubiertos, así que no intentaré explicar los detalles aquí. Creo que con los términos de búsqueda "medio sumador" y "sumador binario" encontrará fácilmente más de lo que siempre quiso saber sobre ellos.

En la práctica, muchos sumadores son más complicados que un grupo de medios sumadores encadenados. Esto es solo para aumentar la velocidad. Una vez que haya buscado un sumador binario, verá que la información pasa del bit bajo al bit siguiente al siguiente, etc. Para una amplia adición, esto requiere tiempo. Hay varios esquemas para hacer que esto suceda más rápido a expensas de más puertas. El término de búsqueda "lookahead carry" debería significar más de lo que quiere saber sobre esto.

Esperemos que esto te ayude a empezar. Haga preguntas más específicas si desea saber más después de leer un poco.

Añadido:

Solo para ver qué hay ahí, ingresé "medio sumador" y "sumador binario" en Google. Muchos éxitos de aspecto relevante. Aquí hay uno que parece explicarlo bastante bien. Estoy seguro de que hay otros. Este fue el primero en el que hice clic, pero se ve lo suficientemente bien:

www.play-hookey.com/digital/adder.html

    
respondido por el Olin Lathrop
2

Para comprender cómo realiza la ALU la adición y otras operaciones, puede consultar curso Nand2tetris - capítulo 2 . Proporcionan una implementación ALU simple (tabla de verdad y sugerencias para construirla usted mismo).

    
respondido por el Eugen
0

En realidad depende mucho de la arquitectura. Sólo puedo enseñarte Von Neumann. Primero tiene una unidad lógica aritmética o ALU, algo de memoria (registros y RAM), otro tipo de memoria de programa (ROM) y cosas de E / S. Es posible que también tenga un CU, pero no lo encuentro útil a menos que esté usando el conjunto de instrucciones CISC. La ALU es lo que hace todo el procesamiento real, ALU engloba CADA UNA FUNCIÓN booleana que posiblemente puedas imaginar. Luego, estos resultados se almacenan en registros o RAM (depende de lo que se quiera hacer). Los registros se usan comúnmente para ingresar un componente específico como la ALU o para enviar. La RAM es una memoria que se puede usar para guardar cosas y luego escupir solo 1 a la vez. Entonces la ROM es los programas. Que son solo un puñado de pulsos eléctricos que mandan componentes. Hacer cosas más simples que las matemáticas de 1er grado. Así que sí. Es una descripción general rápida de cómo funcionan las CPU :) Además, si desea obtener más información, le sugiero un libro llamado Elements Of Computing Systems, creado por Noam Nisan y Shimon Shocken. Gran libro :)

    
respondido por el Jesse Carter

Lea otras preguntas en las etiquetas