Vous êtes sur la page 1sur 8

¿CÓMO FUNCIONA UN TECNOLOGÍA

ELECTRÓNICA

PROCESADOR?
ANTONIO RODRÍGUEZ ALHAMBRA
Imaginemos un cable con un botón en medio.

Cuando pulsamos el botón la electricidad puede pasar,


cuando no pulsamos el botón la electricidad no pasa. Esto,
en realidad, es el principio de funcionamiento de un
transistor. Aunque en el transistor el equivalente a nuestro
dedo es otro cable
eléctrico.

Todos los procesadores,


gráficas, chips, etc.
están basados en
transistores.

Con estos transistores podemos hacer algunos circuitos


lógicos básicos:

- Puertas AND: imaginemos que ahora en nuestro cable tenemos dos botones. Para que
la electricidad pase necesitamos pulsar ambos botones. Esto es lo que equivale a una
puerta AND.

1
- Puerta OR: aquí tendríamos un cable que se divide en dos. En cada uno de los dos cables
tenemos un botón, luego ambos cables se vuelven a juntar. Por lo tanto, bastaría con
pulsar uno de los botones para conseguir que la electricidad pase.

- Puerta NOT: aquí la puerta NOT invierte la señal. Es decir, si no pulsamos el botón, la
electricidad puede pasar. En el momento en el que pulsamos el botón la electricidad no
pasa.

En la actualidad, la tecnología se basa en CMOS y utiliza las puertas contrarias a las que hemos
visto. Es decir, la NAND y la NOR.

2
- Puerta NAND: esta puerta lógica es contraria a la puerta AND. Aquí la electricidad
siempre pasa salvo el caso en el que pulsemos ambos botones, en este caso la
electricidad no pasa pues se desviaría por otro sitio.

La razón por la que se utilizan estas puertas y no las AND y OR, es porque son más rápidas. Y ya
que queremos que nuestro procesador sea lo más rápido posible, pues elegimos estas. Pero,
además, matemáticamente es demostrable que con puertas NAND y NOR podemos
implementar cualquier función booleana, es decir, cualquier función matemática o cualquier
cosa que podamos hacer en un ordenador es posible de realizar con estar puertas.

En este trabajo vamos a ver cómo construir un procesador con puertas AND y OR.

Para empezar a explicar cómo funciona un procesador, debemos explicar lo que es un


multiplexor y un decodificador.

En esta imagen vemos la conversión


de sistema decimal a sistema binario
de los números 0, 1, 2 y 3.

El 0 sería 00, el 1 sería 01, el 2 se


convertiría en 10 y el 3 sería 11.

Analicemos primero qué es un


multiplexor.

3
Imaginemos que tenemos cuatro
cables (0, 1, 2 y 3). Si queremos
representar el número 0, activamos
el primer cable. Si queremos
representar el 1 activamos el
segundo cable. Si queremos el 2
activamos el tercero y para el 3 el
cuarto cable.

Podemos diseñar un dispositivo de


tal manera que cuando activamos
uno de los cables lo transforme a
dos cables. Por ejemplo, lo
diseñamos de tal manera que
cuando activamos el tercer cable
(número 2) active sólo un cable a la
salida.

Entonces para el 2 se activaría el


cable 1 y no el 0, dando como salida
el 10, que es la representación
binaria del número 2.

También existe un dispositivo que funciona exactamente al revés, que es el decodificador.

En un decodificador pasaríamos de dos cables a cuatro. Si por ejemplo activásemos los dos
cables, representando el 11 en binario, por el otro lado se activaría el cuarto cable
correspondiente al número 3.

IMPORTANTE: PODEMOS TENER CUALQUIER NÚMERO DE CABLES PARA UN DECODIFICADOR


O MULTIPLEXOR.

Hablemos ahora de la suma. Nuestro procesador tiene que saber sumar.

El método de funcionamiento de un procesador es similar al de un niño aprendiendo


matemáticas. Cuando suma un número a otro obtiene uno resto que vuelve a sumar.

4
Para realizar la suma utilizamos el siguiente circuito:

Este medio-sumador (half adder inglés),


se compone de una puerta AND y una
puerta XOR (puerta OR especial). Una
puerta XOR es igual que la puerta OR
vista anteriormente, pero se diferencia
en que apretando los dos botones la
salida no se produciría.

¿Cómo funciona este sumador?

Imaginemos que queremos sumar 0 más 0. En este caso A y B estarían apagados, entonces
ninguna de las dos puertas se activaría y la salida sería 0 en S y C. Si queremos sumar 1 y 0 (1 en
terminal A y 0 en B), el terminal A estaría encendido y el B apagado. La puerta XOR se activará
pues una de sus dos entradas está encendida, mientras que la puerta AND no se activará pues
sólo uno de sus terminales está encendido. Por tanto, la salida será 01, es decir, 1. (1 en S y 0 en
C, ya que el XOR permitirá paso de corriente y AND no). En el último caso en el que sumemos 1
más 1 (tanto A como B encendidos), enviaríamos corriente por las dos entradas a ambas puertas.
La puerta AND dejaría pasar la corriente (ya que tenemos ambas entradas activadas), mientras
que la puerta XOR no dejaría paso de corriente (no se activaría), y el resultado sería 10, es decir,
2.

Si combinásemos más puertas XOR con AND, podríamos obtener un circuito capaz de sumar
números más grandes.

Sin embargo, no tiene ningún sentido realizar estas operaciones si no las almacenamos en algún
lugar. Es aquí donde interviene el llamado Flip-Flop.

Un Flip-Flop es un pequeño circuito


donde podemos almacenar un 1 o un
0. Cuando le enviamos información las
puertas se configuran de tal modo que
cada que llegue una señal de reloj,
responda con lo que le hemos enviado.

Si, por ejemplo, le enviamos un 0,


almacenará un 0, y si le enviamos un 1
pues almacenará un 1.

Esta información se quedaría guardada todo el tiempo que necesitemos. Para entender esto
debemos saber lo que es el reloj.

Siempre hemos hablado de señales que


enviamos a través de cables, pero
¿cuándo las enviamos? El procesador
tiene un reloj, valga la redundancia, que
cada cierto tiempo emite una señal que
recorre el circuito.
Cuando decimos que un procesador
tiene una frecuencia de reloj de 4GHz,

5
por ejemplo, estamos diciendo que el reloj emite cuatro mil millones de señales por segundo.

4𝐺𝐻𝑧 = 4.000.000.000 𝑐𝑖𝑙𝑜𝑠/𝑠𝑒𝑔


Como curiosidad saber que, cuando nos quejamos de la lentitud de nuestro ordenador, nuestro
procesador realiza miles de millones de cálculos en el tiempo en el que nos quejamos, así que
lentitud no es la palabra que deberíamos usar.

Volviendo al Flip-Flop, hemos dicho que en él podemos almacenar un 0 o un 1, pero combinando


varios Flip-Flop podemos almacenar números más grandes. Aquí entra en juego el decodificador.
Cuando tenemos una memoria muy grande con un montón de Flip-Flops, podemos enviar por
ejemplo la señal cinco y el decodificador nos responderá con lo que hay en la posición de
memoria cinco.

Con todo esto sabido, ya podemos realizar operaciones en nuestro procesador. Podemos
guardarlas en memoria y podemos acceder a esa memoria. Pero, nuestro procesador es un poco
inútil aún, ¿por qué? Porque no podemos programarle. Debemos hablar ahora del concepto de
MÁQUINA FINITA DE ESTADOS.

El concepto deriva de máquina de estados, que es un modelo de comportamiento de un sistema


con entradas y salidas, en donde las salidas dependen no sólo de las señales de entradas actuales
sino también de las anteriores. Una máquina de estados se denomina máquina de estados finitos
(FSM por finite state machine) si el conjunto de estados de la máquina es finito, este es el único
tipo de máquinas de estados que podemos modelar en un computador en la actualidad1.

Veamos un ejemplo para explicar cómo funciona.

Este diagrama explica el


funcionamiento de una
máquina expendedora.

Empezamos en el estado
‘Esperando’. Cuando un
cliente llega e introduce
dinero, saltamos al estado
‘Contando dinero’ donde
la máquina numera la
cantidad de dinero que el
cliente ha introducido para
almacenar el dato en memoria. Ahora saltaríamos al estado ‘Esperando selección de producto’.
Cuando el cliente elija el producto, compararíamos el valor del producto con el valor obtenido
en el estado ‘Contando dinero’. Si el dinero introducido es mayor o igual al precio del producto,
pasaríamos al estado ‘Sacando productor’. Sin embargo, si el dinero introducido es menor al
precio del producto, mostraríamos un error. Fuese cual fuese la cantidad de dinero introducida,
siempre volveríamos al estado inicial ‘Esperando’.

Es un ejemplo muy simple, pero sirve para entender como funciona una máquina finita de
estados.

En el caso de nuestro procesador, al encenderlo leeríamos la posición cero de memoria. En esa


posición tendríamos una posición que leeríamos y decodificaríamos. Si por ejemplo la
instrucción fuese ‘lee el estado cuatro, súmale cinco y almacénalo en el estado 6’, primero leería

6
la información de la posición cuatro, luego la pasaría a la unidad ALU (Unidad Aritmeticológica),
formada por sumadores, restadores y demás elementos vistos antes. En la ALU se realizaría la
suma y después el resultado lo guardamos en la posición de memoria seis. Se sumaría uno al
contador de instrucciones y pasaríamos a la siguiente instrucción, y así sucesivamente.

Una tarea tan sencilla como abrir una imagen es dividida en miles o millones de instrucciones
en el procesador. Sabiendo que nuestro procesador puede realizar millones de ciclos por
segundo, entonces la imagen se abriría en milisegundos.

Ya sea el modelo de procesador que se tenga (i3, i5, i7, i9 o modelos de AMD), todos funcionarán
de la misma forma. Ahora sí, en este documento hemos visto un procesador con muy pocos
transistores. En los procesadores actuales, el número de transistores por CPU sube a los miles
de millones. En casos como el procesador i7-6700k de Intel, el número de transistores es de mil
setecientos cincuenta millones (1.750.000.00), y en otros cómo el Xeon BroadWell-E5 de 22
núcleos, el número de transistores asciende hasta la cifra de siete mil doscientos millones
(7.200.000.00). Es por esto que la innovación tecnológica se centra en reducir el tamaño de los
componentes, puesto que así se podría aumentar el número de ellos por área y reducir, además,
el calor que disipan (gran inconveniente de un procesador de alta potencia).

Vous aimerez peut-être aussi