Logo Studenta

¿Cómo hace matemáticas una CPU?

💡 1 Respuesta

User badge image

Todos los Apuntes

Hay varias formas de responder esta pregunta, te podría hablar de la ALU, que se encarga de realizar las sumas entre dos bits, también podría hablarte de cómo funcionan estos y aquellos circuitos… Pero como supongo que quieres ahorrarte un semestre de ver elementos de computadores, solo necesitas saber dos cosas:

  • Una tarea compleja puede descomponerse en tareas simples.
  • Siempre habrán límites (de memoria o tiempo) que el computador no podrá manejar.

Mejor que cualquier explicación que yo pudiera darte, este video ilustra como fue el inicio de las calculadoras mecánicas de una forma intuitiva:

Así que me centraré mejor en el segundo punto, hay varias formas de resolver un problema, varias secuencias de pasos ordenadas (finitas, para los que les gustan las tildes sobre las i-es), a cada una de estas recetas de pasos para solucionar un problema se les llama algoritmos. Hay un algoritmo bastante sencillo para sumar dos bits, pero antes de presentártelo, debes saber que se puede hacer con circuitos:

  • Un bit AA es un valor que puede estar en 00 o 11, este valor se puede representar por un switch (No pasa corriente, o pasa corriente), por un bombillo (encendido o apagado), por tu dedo (estirado o contraido), etc… Cualquier sistema que pueda tomar uno de dos valores puede representar un bit. (Como una pregunta de si o no, decidir entre dos opciones, etc.).
  • Hay operaciones que puedes hacer con bits, básicamente lo que hacen es juntar el valor de dos bits (o agarrar el valor de un bit) y generar un nuevo valor en base a esto… Un ejemplo es la negación: No ANo A dará el valor contrario de AA, si AA es 00, entonces No ANo A será 11; bastante simple. Otro ejemplo sería la "conjunción", que toma dos valores y genera uno nuevo, A y BA y B solo dará 11 cuando ambos AA y BB sean 11, en cualquier otro caso dará 00. También están la "Disyunción exclusiva", que puede escribirse como A o B, pero no ambos a la vezA o B, pero no ambos a la vez solo dará 11 cuando AA o BB sean 11, pero no ambos al mismo tiempo… Hay más operaciones por si quieres investigarlas (se llama algebra de Boole).

Así que esas son las reglas del juego, pensemos en cómo sumar dos bits; pero antes debemos pensar en como sumar un dedo de cada mano:

Imagina que quisiera sumar dos pulgares:

Cuál debería ser el resultado de pulgar más pulgar, bueno, podríamos hacer lo mismo que hacen los números y llevarnos una, me explico: Es obvio que cuando sumamos dos dedos distintos (como pulgar más índice) el resultado debería ser una mano con ambos dedos extendidos, ¿no? Así que al sumar pulgar más pulgar, podríamos querer una mano con ambos dedos extendidos… Pero si el pulgar ya está extendido, entonces debemos bajarlo y llevarnos una al siguiente dedo, luego, pulgar más pulgar = índice.

Es como si nos llevaramos una al dedo de al lado:

Pero bueno suficiente de manos, ahora veamos que pasaría con los bits: Si tuviera cuatro bits (algo como 01010101) y quisiera sumarlos a otros cuatro bits (algo como 00110011) debería pasar algo similar, ¿no crees?

Primero las unidades, 1+11+1, estos son como nuestros pulgares, ya vimos que debemos llevarnos una, luego, 1+1=101+1=10, es decir, pulgar más pulgar es igual al dedo índice, y dejamos el dedo pulgar abajo (por eso 11 y luego 00, el 11 es el índice, el 00 es el pulgar), vamos a reservar este índice 11.

Luego las decenas, tenemos 0+10+1, esto obviamente debe dar 11, pero recordemos que, por la suma anterior, nos "llevamos una", y teníamos ya un índice estirado, luego, 1+1=101+1=10, nos volvemos a llevar una, bajamos el índice y nos llevamos la otra al dedo favorito de los jóvenes, el corazón:

Y así sucesivamente, básicamente a lo que llegaremos es que:

0101+00110100+0010+0001+00010100+0100=(0100+0001)+(0010)+(0001)==0100+0010+0010==10000101+0011=(0100+0001)+(0010)+(0001)=0100+0010+0001+0001=0100+0010+0010=0100+0100=1000

De ahí a lo que me refiero con llevar una… La forma más sencilla de lograr esto es con el semisumador, que es un circuito que ejecuta este algoritmo, pero para dos bits, no para dos números de cuatro bits cada uno:

Sumador - Wikipedia, la enciclopedia libre
El sumador es un circuito digital que realiza la adición de números . En muchas computadoras y otros tipos de procesadores se utilizan sumadores en las unidades aritméticas lógicas . También se utilizan en otras partes del procesador, donde se utilizan para calcular direcciones , índices de tablas, operadores de incremento y decremento y operaciones similares. Aunque los sumadores se pueden construir para muchas representaciones numéricas , tales como decimal codificado en binario o exceso-3 , los sumadores más comunes funcionan en números binarios . En los casos en que se utiliza el complemento a dos o el complemento a uno para representar números negativos , es trivial modificar un sumador para convertirlo en un sumador-restador. Otras representaciones de números con signo requieren más lógica alrededor del sumador básico. Sumadores binarios [ editar ] Semisumador [ editar ] Esquema de un semisumador El semisumador suma dos dígitos binarios simples A y B, denominados sumandos, y sus salidas son Suma (S) y Acarreo (C). La señal de acarreo representa un desbordamiento en el siguiente dígito en una adición de varios dígitos. El diseño más simple de semisumador, representado a la derecha, incorpora una puerta XOR para S y una puerta AND para C. Dos semisumadores pueden ser combinados para hacer un sumador completo, añadiendo una puerta OR para combinar sus salidas de acarreo. [ 1 ] ​ La tabla de verdad para el semisumador se detalla seguidamente: Funcionamiento de un semisumador Entradas Salidas A B C S 0 0 0 0 1 0 0 1 0 1 0 1 1 1 1 0 Diagrama lógico de un sumador completo Funcionamiento de un sumador completo Sumador completo [ editar ] Un sumador completo suma números binarios junto con las cantidades de acarreo. Un sumador completo de un bit añade tres bits, a menudo escritos como A, B y C in ; siendo A y B los sumandos y C in el acarreo que proviene de la anterior etapa menos significativa. [ 1 ] ​ El sumador completo suele ser un componente de una cascada de sumadores, que suman 8, 16, 32, etc. números binarios de bits. El circuito produce una salida de dos bits, al igual que el semisumador, denominadas acarreo de salida (C out ) y suma S. Un sumador completo se puede implementar de muchas maneras diferentes, tales como con un circuito a transistores o compuesto de otras puertas. Un ejemplo de implementación es expresado con las siguientes ecuaciones: { S = A ⊕ B ⊕ C i n C o u t = ( A ⋅ B ) + C i n ⋅ ( A ⊕ B ) {\displaystyle {\Biggl \{}{\begin{array}{ll}S&=&A\oplus B\oplus C_{in}\\C_{out}&=&(A\cdot B)+C_{in}\cdot (A\oplus B)\end{array}}} En esta implementación, la puerta OR final antes del acarreo de salida puede ser reemplazada por una puerta XOR sin alterar la lógica resultante. El uso de sólo dos tipos de compuertas es conveniente si el circuito se está implementando usando circuitos integrados que contienen sólo un tipo de puerta. Se puede construir un sumador completo a partir de dos semisumadores conectando las entradas A y B a la entrad
https://es.wikipedia.org/wiki/Sumador

Así que para resumir tu pregunta, utilizando circuitos partes de crear una forma de sumar dos números y un contador, usando ambas cosas puedes multiplicar, y de ahí el mundo es tu lienzo.

0
Dislike0

✏️ Responder

FlechasNegritoItálicoSubrayadaTachadoCitaCódigoLista numeradaLista con viñetasSuscritoSobreDisminuir la sangríaAumentar la sangríaColor de fuenteColor de fondoAlineaciónLimpiarInsertar el linkImagenFórmula

Para escribir su respuesta aquí, Ingresar o Crear una cuenta

User badge image

Otros materiales

Preguntas de este disciplina

Question Icon

¿Es necesario saber hacer demostraciones matemáticas?

Ferramentas Matemáticas Aplicadas

User badge image

Materiales y Apuntes

Question Icon

¿Cómo puedo aprender matemáticas desde cero?

Ferramentas Matemáticas Aplicadas

User badge image

Aprendiendo con Apuntes

Question Icon

¿Cómo aprendió matemáticas y nunca se rindió?

Ferramentas Matemáticas Aplicadas

User badge image

Aprendiendo con Apuntes