CPU son las siglas en ingles de Central Processing Unit (Unidad de Proceso Central), El CPU es el cerebro del ordenador, referimos a la parte de la computadora en la que se controlan y originan comandos directos que generan las diferentes funciones de la CPU. En el CPU se hacen todos los cálculos del código binario de la computadora. En general, es la parte más importante del sistema.

En el caso de una computadora de escritorio, sencilla, solo necesitan un tablero de circuitos impresos. En este tablero se encuentra el chip llamado microprocesador que representa el corazón de ese CPU que calcula y determina las funciones principales de la computadora (casi todas). El CPU presenta 2 componentes fundamentales: La unidad de lógica/aritmética (ALU)es la calculadora principal de la computadora, ella vincula las operaciones que están relacionadas directamente con el código binario que se maneja en la PC y la unidad de control (CU) es la gran administradora de la memoria y los componentes que agregan las funciones, las descifra y las ejecuta.
La expresión «unidad central de proceso» es, en términos generales, es una descripción de una cierta clase de máquinas de lógica que pueden ejecutar complejos programas de computadora. Esta amplia definición puede fácilmente ser aplicada a muchos de los primeros computadores que existieron mucho antes que el término «CPU» estuviera en amplio uso. Sin embargo, el término en sí mismo y su acrónimo han estado en uso en la industria de la informática por lo menos desde el principio de los años 1960. La forma, el diseño y la implementación de los CPU ha cambiado drásticamente desde los primeros ejemplos, pero su operación fundamental ha permanecido bastante similar.
Memoria
Memoria virtual
La memoria virtual es el uso de la memoria RAM del PC en combinación del disco duro. En algunos casos como cuando por ejemplo tenemos una memoria RAM de reducido tamaño y latencia, la memoria virtual mueve los datos que existen en la memoria RAM a un espacio que se llama archivo de paginación. Estos movimientos crean un espacio extra en la memoria RAM para que así se pueda completar la tarea que se esté realizando con mayor solvencia.
La memoria virtual simula perfectamente una memoria RAM de mayor tamaño, y su utilizad reside en las aplicaciones y sus datos, por eso, el lema “a mayor RAM, mayor capacidad para ejecutar aplicaciones con datos complejos.” Pero tened en cuenta que no es tan solvente y fiable como la RAM por lo que puede provocar puntualmente fallos de ejecución.

Es verdad que no todo es ventajas, al usar una memoria virtual el sistema puede comportase de manera más lenta debido a la carga de los datos, dado que la velocidad de acceso de los datos al disco duro, es más lenta que a la memoria RAM. Ahora bien, si no se tiene una porción de memoria en esta, el sistema necesita tiempo para leer los datos y devolverlos a la memoria principal, puesto que es uno de los lugares donde el procesador puede acceder.
No se debería hablar de la memoria como algo aislado, dado que es un sistema de memoria que se organiza en 4 niveles:
- Los registros más alejados.
- La caché del micro que se encargan de tener los datos que más usa cerca del procesador.
- La memoria RAM.
- El disco duro.

Registros de la CPU
La CPU tiene 14
registros internos, cada uno de 16 bits. Los primeros cuatro, AX, BX, CX, y DX
son registros de uso general y también pueden ser utilizados como registros de
8 bits, para utilizarlos como tales es necesario referirse a ellos como, por
ejemplo: AH y AL, que son los bytes alto (high) y bajo (low) del registro AX.
Esta nomenclatura es aplicable también a los registros BX, CX y DX.
Caché: es una
memoria tipo SRAM, basada en transistores y por ello es muy veloz. Es
intermedia entre el microprocesador y la memoria RAM, esta memoria guarda los
datos utilizados frecuentemente y evita volver a buscarlos en la memoria RAM ya
que está es relativamente lenta, por lo que se agilizan los procesos. Su unidad
de medida es en Megabytes (MB).
En el caso de los microprocesadores, estos
integran de 1 a 3 tipos de memoria caché denominadas L1, L2 y L3, que
significan (“Level X“) ó traducido es nivel 1, nivel 2 y nivel 3.
+ Memoria L1: se encuentra integrada
dentro de los circuitos del microprocesador y eso la hace más cara y más
complicado en el diseño, pero también mucho más eficiente por su cercanía al
microprocesador, ya que funciona a la misma velocidad que él. Esta a su vez se
subdivide en 2 partes.
– L1 DC:
(“Level 1 date cache“): se encarga de almacenar datos usados frecuentemente y
cuando sea necesario volver a utilizarlos, inmediatamente los utiliza, por lo
que se agilizan los procesos.
– L1 IC:
(“Level 1 instruction cache“): se encarga de almacenar instrucciones usadas
frecuentemente y cuando sea necesario volver a utilizarlas, inmediatamente las
recupera, por lo que se agilizan los procesos.
+ Memoria L2: esta anteriormente se
encontraba en tarjetas de memoria, para ser insertada en una ranura especial de
la tarjeta principal (Motherboard) y funciona a la velocidad de trabajo de la
misma. Actualmente la memoria L2 viene integrada en el microprocesador, se
encarga de almacenar datos de uso frecuente y agilizar los procesos; determina
por mucho si un microprocesador es la versión completa ó un modelo austero.
Pueden contar con una capacidad de almacenamiento Caché de 8 MB, 9 MB en
procesadores AMD® e Intel® y hasta 12 MB en procesadores Intel®.
+ Memoria L3: esta memoria es un tercer
nivel que utilizaron primero los procesadores de la firma AMD® y posteriormente
Intel®. Con este nivel de memoria se agiliza el acceso a datos e instrucciones
que no fueron localizadas en L1 ó L2. Si no se encuentra el dato en ninguna de
las 3, entonces se accederá a buscarlo en la memoria RAM. Pueden contar con una
capacidad de almacenamiento Caché de hasta 8 Mb y 9 Mb sumando L2+L3 en el caso
de la nomenclatura AMD®.
La Memoria
Principal está formada por circuitos integrados (chips), en ellos la
información se almacena en estados de tensión (+5 V) al que hacemos
corresponder un uno, y no tensión (0 V) al que le corresponde un cero, por tanto,
el sistema de almacenamiento sólo posee dos posibles valores y por ello se
denomina binario. Ésta es por lo tanto la menor cantidad de información que
podemos almacenar en un ordenador, y se denomina bit (o cero o uno), y al
conjunto de ocho bits se le denomina Byte u Octeto.
Podemos
imaginar la memoria como un conjunto de casillas, cada una con una dirección
que la identifica, donde se almacenan los datos y las instrucciones
correspondientes a los programas.
Para conocer la
ubicación de cada dato estas casillas deben estar convenientemente numeradas,
es lo que se denomina dirección de memoria. En cada casilla podremos almacenar
una determinada cantidad de bits según el ordenador, 8bits (1 Byte), 16 bits,
32 bits.... El número de bits que almacena un ordenador en cada casilla de la
memoria y que puede manipular en cada ciclo se la denomina longitud de palabra
("word" en inglés).
La cantidad de
Bytes que se pueden almacenar en la memoria de un ordenador es bastante elevada
y por ello se utilizan prefijos, así 1 KiloByte o KB corresponde a 210 = 1024
Bytes (y no 1000 KB), 1 MegaByte o MB = 1024 KB, 1 GigaByte o GB = 1024 MB, 1
TeraByte o TB = 1024 GB.
La memoria se
comunica con el resto de la CPU mediante unos canales denominados
"Buses". Existen tres, el Bus de datos por donde circulan los datos,
el Bus de direcciones encargado de indicar la posición de un dato concreto
almacenado en memoria, y el Bus de control por donde circulan las instrucciones
de los procesos que lleva a cabo el ordenador.
Por tanto, para
localizar un dato en la memoria principal, la dirección que ocupa éste debe
circular por el bus de direcciones. Según cual sea la amplitud del bus de
direcciones y la longitud de palabra, así será el tamaño de la memoria que
puede gestionar el ordenador. Es decir, el número de casillas o direcciones de
memoria que pueden ser indicadas y el tamaño de la información que contienen.
Para un bus de direcciones de 8 bits el ordenador podrá gestionar 28 = 256
posiciones de memoria y en cada una de ellas podremos almacenar 8 bits si esta
es la longitud de palabra de ese ordenador.
Existen dos
tipos de memoria en el ordenador, una de ellas es la denominada RAM (Random
Access Memory, Memoria de Acceso Aleatorio) que es la encargada de almacenar
los datos y los programas que la CPU está procesando. El término acceso
aleatorio significa que no es necesario leer una serie de datos para acceder al
que nos interesa, sino que podemos acceder directamente al dato deseado. Esta
memoria depende del suministro de tensión eléctrica para mantener la
información y por tanto al apagar el ordenador los datos almacenados en ella se
perderán.
La otra parte
de la memoria se denomina ROM (Read Only Memory, Memoria de Solo Lectura), en
la que se encuentran el test de fiabilidad del ordenador (POST: Power on Self
Test), las rutinas de inicialización y arranque, y la BIOS que proporciona los
servicios fundamentales para que el ordenador sea operativo, en su mayor parte
controla periféricos del ordenador como la pantalla, el teclado y las unidades
de disco. El término Memoria de Solo Lectura, significa que esta memoria no
puede ser modificada y aun cuando apaguemos el ordenador la información
permanecerá inalterada en la ROM.
Existe otra
porción de memoria denominada CMOS que contiene datos básicos de éste, como
pueden ser el número de unidades de disquetes y su tipo, de discos duros y su
tipo, la fecha, la hora y otros datos respecto al comportamiento fundamental
del ordenador. Esta memoria no es de tipo permanente, ya que podemos variar la
configuración de nuestro equipo y para ser mantenida necesita de la tensión que
le suministra una pequeña pila o batería.
Además, en los
ordenadores modernos se ha incorporado una memoria muy rápida denominada caché,
que hace de memoria intermedia entre el microprocesador y la memoria RAM.
Normalmente los datos no se leen aleatoriamente, sino que los procesos de
ordenador suelen requerir el uso de datos que están almacenados en memoria de manera
contigua. Por ello, en lugar de leer de uno en uno los datos, se lee un bloque
completo que se lleva a la memoria caché, esta memoria es mucho más rápida (y
cara) que la memoria RAM, por lo que los accesos se hacen entre el
microprocesador y la caché siempre que sea posible. Cuando un dato no esté en
la caché, se leerá otro bloque de la RAM. De esta manera los ordenadores
aumentan su velocidad de trabajo de forma considerable.
Memoria
secundaria es un componente importante de los modernos sistemas de computadoras
personales, y hace que un porcentaje considerable de su costo. Todos los
sistemas informáticos modernos casa (además de ciertos dispositivos
especializados, como consolas de video juegos) vienen con una unidad de disco
duro como una característica estándar, por lo general uno muy importante, y la
mayoría también incluyen una forma de masa de medios de almacenamiento
extraíbles, como una unidad de CD o uno de sus variantes modernos .Unidades de
disco, a pesar de ser menos útil de lo que originalmente fueron, ya que tienen
menos datos, todavía están incluidos en muchos equipos.
Si se habla de
memoria auxiliar, puede hacerse referencia a los antiguos diskettes, un disco o
CD-ROM, DVDs, unidades de memoria flash, discos Zip y otras alternativas. Cada
una de ellas presenta diversas características que la adecuan a uno u otro
propósito. Además, en la mayoría de los casos pueden adquirirse con distintos
tamaños, de acuerdo con las necesidades del usuario.

Memoria en la red
El empleo de dispositivos
de almacenamiento como CD y memorias USB, están perdiendo terreno con la
llamada Nube (cloud computing).
Los datos se almacenan
en Internet y son accedidos desde cualquier lugar.

Buses del sistema
Estructura del bus del sistema
Los buses son el mecanismo más común para la comunicación
entre los dispositivos del computador. Físicamente son conductores por donde
viajan señales eléctricas. Algunos ejemplos de buses se muestran en las
figuras:


El bus es un dispositivo en común entre dos o más
dispositivos, si dos dispositivos transmiten al mismo tiempo señales las
señales pueden distorsionarse y consecuentemente perder información. Por
dicho motivo existe un arbitraje para decidir quién hace uso del bus.
Por cada línea se pueden trasmitir señales que representan
unos y ceros, en secuencia, de a una señal por unidad de tiempo. Si se desea
por ejemplo transmitir 1 byte, se deberán mandar 8 señales, una detrás de otra,
en consecuencia, se tardaría 8 unidades de tiempo. Para poder transmitir 1 byte
en 1 sola unidad de tiempo tendríamos que usar 8 líneas al mismo tiempo.
Existen varios tipos de buses que realizan la tarea de interconexión entre las distintas partes del computador, al bus que comunica al procesador, memoria y E/S se lo denomina bus del sistema.
Existen varios tipos de buses que realizan la tarea de interconexión entre las distintas partes del computador, al bus que comunica al procesador, memoria y E/S se lo denomina bus del sistema.
La cantidad de líneas del bus a medida que pasa el tiempo
se va incrementando como uno de los métodos para incrementar la velocidad de
transferencia de señales en el computador, y así incrementar el
desempeño. Cada línea tiene un uso específico, y hay una gran diversidad
de implementaciones, pero en general podemos distinguir 3 grandes grupos de
buses:
A) Bus de datos: Por
estas líneas se transfieren los datos, pueden ser de 8, 16, 32 o más líneas, lo
cual nos indica cuantos datos podemos transferir al mismo tiempo, y es muy
influyente en el rendimiento del sistema. Por ejemplo, si el bus es de 8 líneas
y las instrucciones son de 16 bits, el sistema va a tener que acceder 2 veces a
memoria para poder leer la instrucción, el doble de tiempo en leer instrucciones
comparando con un bus de datos de 16 líneas.

B) Bus de direcciones: Por
estas líneas se envía la dirección a la cual se requiere hacer referencia para
una lectura o escritura, si el bus es de 8 líneas, por ejemplo, las
combinaciones posibles para identificar una dirección irían del 00000000 al
11111111, son 256 combinaciones posibles, en consecuencia, el ancho del bus de
datos nos indica la cantidad de direcciones de memoria a la que podemos hacer
referencia. Dentro de las direcciones posibles, en general el sistema no
usa todas para hacer referencia a la memoria principal, una parte las usa para
hacer referencia a los puertos de E/S.

C) Bus de control: Estas
líneas son utilizadas para controlar el uso del bus de control y del bus de
datos. Se transmiten órdenes y señales de temporización. Las órdenes son muy
diversas, las más comunes son:
· Escritura
en memoria.
· Lectura
de memoria.
· Escritura
de E/S.
· Lectura
de E/S.
· Transferencia
reconocida.
· Petición
del bus.
· Sesión
del bus.
· Petición
de interrupción.
· Interrupción
reconocida.
· Señal
de reloj.
· Inicio.
Jerarquía de bus del sistema
Para mejorar el rendimiento del bus, las jerarquías de
buses fueron implementadas cada vez más, una primera aproximación a una
jerarquía de bus básica seria como la que se muestra en el siguiente esquema:

Primero tenemos un bus local, de alta velocidad que conecta
el procesador a la cache, el controlador de la cache también puede acceder al
bus del sistema, con esta implementación, la mayor parte de los datos a los que
va a acceder el procesador, que están en la cache, serán entregados a una alta
velocidad, otro punto a destacar de esta parte es que los accesos a memoria por
parte de la cache no van a interrumpir el flujo de datos entre procesador y
cache. También se ve la posibilidad de
conectar un dispositivo de entrada salida al bus local. Luego tenemos el bus del sistema, al cual
está conectada la memoria y por debajo el bus de expansión, al cual se pueden
conectar una amplia diversidad de dispositivos, entre el bus del sistema y el
bus de expansión se encuentra una interface, que entre las principales tareas
está la de adaptar las velocidades de transmisión, por ejemplo para un
dispositivo muy lento conectado al bus de expansión la interface podría
acumular una cierta cantidad de datos y luego transmitirla a través del bus del
sistema.
El hecho de que cada vez más salgan al mercado dispositivos
que requieren más velocidad de transmisión en los buses, hizo que los
fabricantes implementaran los buses de alta velocidad, el cual está muy
estrechamente ligado al bus local, solo hay un adaptador que los une. Debajo de
este bus tenemos el bus de expansión, más lento conectado mediante otro
adaptador. La figura muestra detalladamente el sistema de bus y periféricos que
se interconectan.

Existen varios parámetros y elementos en los buses con los cuales
podemos clasificarlos.
*Tipos de buses
Un ejemplo común de dedicados es el bus de datos y el
bus de direcciones, cada uno se utiliza solo para una función específica. Esta
situación de bus de datos y de direcciones dedicados es lo más común, pero
podría llegar a implementarse con un solo bus multiplexado el tiempo. Esto
funcionaria a grandes rasgos de la siguiente forma:
Al comienzo de la transferencia se sitúa en el bus la
dirección de donde se quiere leer o a donde se desea escribir, luego se emite
por el bus de datos una señal indicando que en el bus se encuentra una
dirección valida.
A partir de ese momento se dispone de una unidad de tiempo
para que los dispositivos identifiquen si es su dirección, luego de esto se
pone en el mismo bus los datos y se realiza la transferencia en el sentido que
lo indique una orden emitida por el bus de control. La Ventaja de este método
es la reducción de la cantidad de líneas, lo cual ahorra espacio y costos, la
desventaja son que para poder implementar la forma de operar la circuitería en
cada modulo tiene que ser más compleja, y que el rendimiento del sistema será
menor por no poder transmitir los datos simultáneamente, en paralelo (datos y
dirección).
Otro tipo de clarificación podría ser según su dedicación
física: Podríamos poner como ejemplo el bus de E/S, el cual se encarga de
conectar solo los dispositivos de E/S, este bus se conecta al bus principal
mediante algún adaptador, la ventaja está en que al ser dedicado solo a E/S, el
rendimiento de este va a ser mejor, ya que solo van a operar con él los módulos
de E/S, y no va a haber tanta competencia por el bus.
