Ilovepdf Merged PDF
Ilovepdf Merged PDF
Ilovepdf Merged PDF
INTRODUCCIÓN A LA ARQUITECTURA DE
COMPUTADORAS
ARQUITECTURA DE
COMPUTADORES
Arquitectura de computadoras
Unidad I: Introducción
Definición de computador:
Según la RAE: f. Máquina electrónica, analógica o digital, dotada de una memoria de gran
capacidad y de métodos de tratamiento de la información, capaz de resolver problemas
matemáticos y lógicos mediante la utilización automática de programas informáticos.
Hardware
La organización de un procesador nos muestra cómo es éste por dentro, pudiendo ver que
está formado de interfaces con el bus, una Unidad Aritmética-Lógica, una memoria organizada en
registros (contador de programa, puntero de pila, registro de estado, acumulador, etc.) y la Unidad
de Control, la que gobierna el funcionamiento y ejecución secuencial de las instrucciones.
Arquitectura Von Neumann
Arquitectura Von
Neumann. (Díaz Fernández, González Pisano, Rodríguez
Fernández, & Rubiera García, 2012)
Partes de una computadora
1. 6.
Monitor Fuente
2. Placa de
base aliment
3. CPU ación
4. 7.
Memoria Disco
de óptico
computad 8.
ora Disco
(RAM) duro
5. Tarjeta 9.
de Teclado
expansión 10.
Mouse
M
onitor:
Es el
dispositiv
o de
salida
principal
– una
pantalla
que
presenta
la
informaci
ón al
usuario.
La placa madre o placa base es un circuito integrado en donde se ubican los componentes
clave de una computadora. Contiene el microprocesador, la memoria, conectores para
almacenamiento y puertos, además de ranuras de expansión que aceptan placas más pequeñas que
pueden agregar funcionalidad al sistema.
El estándar actual de formato de placas base se llama ATX. Su variante de tamaño reducido,
Micro-ATX, es la más común en equipos actuales.
Otra variante diseñada para equipos de tamaño muy reducido es la ITX.
Procesador
Éste se encarga de tomar la información que recibe de las diferentes fuentes, efectuar a dicha
información los procesos necesarios y enviar el resultado al destino que se le indicó.
También se le conoce como CPU o microprocesador. Es un componente fundamental en un
ordenador y ha estado presente desde sus inicios. Sin un procesador instalado, un ordenador no
podrá funcionar – como máximo lo que obtendremos será un código de error sonoro que proviene
de la placa base.
Un procesador está formado por una serie de componentes que trabajan de forma coordinada
para ejecutar las instrucciones que forman los programas. Estos componentes son los siguientes:
Unidad de interface con el bus: Es quien recibe las instrucciones y los datos directamente
de la memoria RAM a través del bus del sistema (o front side bus – FSB-).
Unidad de decodificación: Se encarga de decodificar la instrucción para determinar a qué
instrucción corresponde la secuencia de bits que acaba de leer y saber de esta forma qué tiene que
hacer el procesador con los datos leídos.
Unidad aritmético-lógica (ALU): En ocasiones las instrucciones requieren de la
realización de algún cálculo. Este es el componente básico encargado de realizar operaciones
matemáticas (aritméticas y lógicas) con los datos.
Registros: Almacenan temporalmente los datos de la instrucción que está ejecutando en ese
momento la unidad aritmético-lógica. El tamaño de estos registros se mide en bits y determina el
tamaño máximo de los datos que puede manipular en una sola operación. Si se procesa un número
que exceda el tamaño del registro, se tendrá que hacer la operación en 2 o más ciclos. En los
procesadores actuales estos registros son de 32 o de 64 bits, correspondiendo así con las
arquitecturas principales de hoy en día: la i686 o 32-bit, y la x86_64 de 64 bits.
Reloj interno: Todos los componentes anteriormente descritos trabajan de forma
sincronizada por impulsos. El reloj es el encargado de proporcionar dichos impulsos para que todos
los elementos se sincronicen.
Unidad de control (UC): Es la unidad que coordina el funcionamiento de todas las
anteriores, indicando de quién es el turno de operar en cada instante.
A continuación se describe el proceso de ejecución de una instrucción empleando estos
componentes:
1. La unidad de interface con el bus lee la siguiente instrucción del programa y los datos
asociados, que le llegan a través del FSB.
2. La unidad de decodificación traduce la instrucción y se la pasa a la unidad de control para
que decida qué hacer con ella.
3. Si la instrucción necesita ejecutar alguna operación matemática, se la pasa a la ALU.
4. La ALU realiza la operación y deja el resultado en un registro.
5. La unidad de control le pasa el resultado de la operación a la unidad de interfaz con el bus
y le da la orden de guardarla en la memoria
6. La unidad de interfaz con el bus escribe en la memoria RAM el resultado de la ejecución
de la instrucción a través del FSB.
Este comportamiento se ejecuta de forma continua en un bucle hasta que se alcanza el final
del programa.
Frecuencia
Cuando nos referimos a la potencia de un procesador normalmente vemos una medida en
gigahertzios (GHz). Pero ¿qué significa realmente que un ordenador funciona a 1,8 GHz? La
respuesta la tenemos en uno de los componentes internos: el reloj.
Pero antes, hagamos un poco de memoria. Los hertzios no son una medida de velocidad,
sino de frecuencia. El Hertzio (o hercio, o hertz) es una medida que equivale a un ciclo por
segundo. Es decir, dado un evento que se repite en el tiempo, si ocurre con una frecuencia de 1 vez
por segundo tiene una frecuencia de 1 hertzio, y si ocurre 60 veces por segundo entonces es de 60
Hz.
Si aplicamos los prefijos del sistema internacional para indicar los múltiplos, tenemos que
una frecuencia de 1 kilohertzio (KHz) indica algo que realiza 1.000 ciclos por segundo, 1 MHz
1.000.000 de veces por segundo y 1 GHz 1.000.000.000 ciclos por segundo. Así, un procesador que
funcione a 1,8 gHz quiere decir que su reloj interno oscila 1.800.000.000 veces por segundo. Y
como las operaciones dentro del procesador se sincronizan con los tics del reloj, la velocidad
máxima del ordenador vendrá marcada por el ritmo de oscilación.
Múltiples núcleos
Habitualmente, en un ordenador no estamos ejecutando un programa únicamente: solemos
tener abiertas múltiples aplicaciones y tenemos la sensación de que todas ellas se están ejecutando a
la vez, pero esto no es así en realidad. Si sólo hay un procesador, se van intercalando un limitado
número de instrucciones de cada uno de los programas por turnos, sólo que el cambio es tan rápido
que ni nos damos cuenta de que se produce.
En el año 2006 Intel introdujo una gran revolución: incluir en el mismo procesador dos
núcleos de procesamiento. Esto permite poder ejecutar dos instrucciones en paralelo, incluso de
programas distintos. Esto sin embargo también introduce un nivel de complejidad adicional al
programar, ya que existen casos en donde el orden en que se ejecutan instrucciones puede ser
elemental, y al haber múltiples núcleos es necesario controlar dicho orden para evitar una condición
en la que se proceda fuera del orden.
Hyperthreading
Podemos considerarlo el precedente de los núcleos múltiples. Muchos programas complejos
están divididos en hilos de ejecución independientes. A esta tecnología se le conoce como multi-hilo
(multithreading).
Intel desarrolló una tecnología que permitía acelerar la ejecución de dos hilos de un mismo
programa en un sólo procesador, permitiendo cierto grado de paralelismo (pero no al mismo nivel
que dos núcleos). Esta característica dejó de ser usada en los primeros procesadores de doble
núcleo.
Velocidad del bus de sistema
Los tres componentes principales de la computadora, microprocesador, memoria y placa
madre (conocidos así como las tres M) deben trabajar de forma sincronizada, usando la velocidad
del bus de sistema.
Aunque no es una característica propia del procesador, es una consecuencia directa de la
propia arquitectura de Von Neumann. Al almacenar las instrucciones y los datos en la memoria
RAM, el procesador debe estar accediendo continuamente a ésta para leer y escribir. El rendimiento
del procesador está limitado a la tasa de transferencia de datos y a la cantidad de información que
podemos tener almacenada en la memoria. A este efecto se le conoce como Embotellamiento de
Von Neumann.
Por ende, si usamos un procesador con una placa, y ambos soportan una frecuencia de por
ejemplo 1600 Mhz en el bus, pero usamos RAM de solamente 1333 Mhz, entonces el procesador y
la placa tendrán que ‘ralentizarse’ a 1333 para poder funcionar. Esto la placa lo hace de forma
automática, ya que en caso contrario el sistema no funcionará. Para hacer uso del 100% de las
características de una PC, por eso es importante que estos tres componentes soporten la misma
frecuencia máxima.