Componentes y Funcionamiento de una Computadora: CPU, Memoria y Buses
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 16,37 KB
Ley de Moore
La fuerza impulsora primordial es la capacidad de los fabricantes de chips para empacar cada vez más transistores en un chip. Un mayor número de transistores, que son diminutos interruptores electrónicos, implica memorias más grandes y procesadores más potentes.
Moore se dio cuenta de que cada nueva generación de chips de memoria se estaba introduciendo tres años después de la anterior, puesto que cada nueva generación tenía cuatro veces más memoria que su predecesora. Moore se percató de que el número de transistores en un chip estaba aumentando de forma constante y predijo que este crecimiento continuaría durante varias décadas.
Microprocesador
El microprocesador (o simplemente procesador) es el circuito integrado central programable en bajo nivel que cumple la función de CPU. Se le suele llamar por analogía el «cerebro» de un computador.
Es el encargado de ejecutar los programas, desde el sistema operativo hasta las aplicaciones de usuario; solo ejecuta instrucciones programadas en lenguaje de bajo nivel, realizando operaciones aritméticas y lógicas simples, tales como sumar, restar, multiplicar, dividir, las lógicas binarias y accesos a memoria.
La función de la CPU (Central Processing Unit) es ejecutar programas almacenados en la memoria principal buscando sus instrucciones y examinándolas para después ejecutarlas una tras otra. Los componentes están conectados por un bus, que es una colección de alambres paralelos para transmitir direcciones, datos y señales de control. Los buses pueden ser externos a la CPU, cuando la conectan a la memoria y a los dispositivos de E/S, pero también internos.
La CPU se compone de varias partes:
- La unidad de control se encarga de buscar instrucciones de la memoria principal y determinar su tipo.
- La ALU (Unidad Aritmético Lógica) realiza operaciones como suma y AND booleano necesarias para ejecutar las instrucciones.
- La CPU también contiene una memoria pequeña y de alta velocidad que sirve para almacenar resultados temporales y cierta información de control. Esta memoria se compone de varios registros, cada uno de los cuales tiene cierto tamaño y función. Por lo regular, todos los registros tienen el mismo tamaño.
El registro más importante es el contador de programa (Program Counter), que apunta a la siguiente instrucción que debe buscarse para ejecutarse. Otro registro importante es el registro de instrucciones (Instruction Register), que contiene la instrucción que se está ejecutando.
El microprocesador está conectado generalmente mediante un zócalo específico de la placa base de la computadora; normalmente para su correcto y estable funcionamiento, se le incorpora un sistema de refrigeración que consta de un disipador de calor fabricado en algún material de alta conductividad térmica, como cobre o aluminio, y de uno o más ventiladores que eliminan el exceso del calor absorbido por el disipador. Entre el disipador y la cápsula del microprocesador usualmente se coloca pasta térmica para mejorar la conductividad del calor.
Memoria
Memoria Primaria
La memoria es la parte de la computadora en la que se almacenan programas y datos. Sin una memoria en la cual los procesadores puedan leer y escribir información, no existirían las computadoras digitales de programa almacenado.
Bits
La unidad básica de memoria es el dígito binario, llamado bit. Un bit puede contener un 0 o un 1. El sistema de numeración binario solo requiere distinguir entre dos valores; por tanto, es el método más confiable para codificar información digital. El almacenamiento binario es el más eficiente.
Direcciones de Memoria
Las memorias consisten en varias celdas, cada una de las cuales puede almacenar un elemento de información. Cada celda tiene un número, su dirección, con el cual los programas pueden referirse a ella. Si un programa tiene n celdas, tendrán direcciones de 0 a n-1. Todas las celdas de una memoria contienen el mismo número de bits. Si una celda consta de k bits, podrá contener cualquiera de 2k combinaciones de bits distintas.
La importancia de la celda es que es la unidad direccionable más pequeña. Los bytes se agrupan en palabras.
Ordenamiento de Bytes
Los bytes de una palabra pueden numerarse de izquierda a derecha o de derecha a izquierda.
El sistema en el que la numeración comienza por el extremo “grande” (orden alto) se llama computadora Big Endian en contraste con la Little Endian (que la numeración comienza por el extremo “pequeño”).
Ejemplo: 90AB12CD16
Big Endian: el byte más significativo (MSB) está en la dirección más pequeña.
Little Endian: el byte menos significativo (LSB) está en la dirección más pequeña.
Código para Corrección de Errores
Cuando se usan códigos de detección de error, se añaden bits extra de una forma especial a cada palabra de la memoria. Cuando se lee una palabra de la memoria, se verifican los bits adicionales para ver si ha ocurrido algún error.
Si dos palabras de código están separadas por una distancia de Hamming d, se requiere d errores de un solo bit para convertir una palabra en la otra. Si al leer la memoria se obtiene una palabra de código no válida, la computadora sabrá que ocurrió un error de memoria.
Un bus es un camino eléctrico común entre varios dispositivos. Pueden usarse internamente en la CPU para transportar datos a y de la ALU, o externos a la CPU para conectarla con la memoria o los dispositivos de E/S.
Un bus es un camino eléctrico común entre varios dispositivos. Pueden usarse internamente en la CPU para transportar datos a y de la ALU, o externos a la CPU para conectarla con la memoria o los dispositivos de E/S.
Bus de Datos
Este es un bus bidireccional, pues los datos pueden fluir hacia o desde la CPU.
Vincula la unidad central de procesos con la memoria, y con la entrada/salida. Transporta datos (bits). Letra D y subíndice 0 hasta los bits -1. Pueden ser entradas o salidas, según la operación que se esté realizando (lectura o escritura). La palabra tiene un tamaño equivalente al tamaño que se puede almacenar en el bus de datos.
Mueve los datos entre los dispositivos del hardware de Entrada como el teclado, el ratón, etc.; de salida como la Impresora, el Monitor; y de Almacenamiento como el Disco Duro, el Disquete o la Memoria-Flash. Estas transferencias que se dan a través del Bus de Datos son gobernadas por varios dispositivos y métodos, de los cuales el Controlador PCI, "Peripheral Component Interconnect", Interconexión de componentes Periféricos, es uno de los principales.
Bus de Direcciones
Este es un bus unidireccional debido a que la información fluye es una sola dirección, de la CPU a la memoria o a los elementos de entrada y salida.
Escribe las direcciones por hardware (cable con electricidad). Señales eléctricas que varían de intensidad. De dónde y hacia dónde. Las direcciones las pone la unidad central de proceso asociado a la unidad de control. Son unidireccionales. Van a donde tienen que leer o escribir.
Bus de Control
Este bus transporta señales de estado (read con 1 y write con 0) de las operaciones efectuadas por la CPU. El método utilizado por el ordenador para sincronizar las distintas operaciones es por medio de un reloj interno que posee el ordenador y facilita la sincronización y evita las colisiones de operaciones (unidad de control). Estas operaciones se transmiten en un modo bidireccional.
Bus de Alimentación
Viene de la fuente de alimentación de la máquina y lleva energía a todas las partes del computador.
Ancho de Bus
Cuantas más líneas de dirección tenga un bus, más memoria podrá direccionar la CPU directamente. Si un bus tiene n líneas de dirección, una CPU podrá usarlo para direccionar 2n localidades de memoria distintas.
Bus Sincrónico: tiene una línea alimentada por un oscilador de cristal.
Bus Asincrónico: no tiene un reloj maestro.
Ejercicios de Diagramas Básicos de Computadoras
Enunciado: Procesador de 16 bits de direcciones y 32 bits de datos
a) Tamaño de la palabra
b) Mapa de memoria (unidad Bytes - cantidad)
c) Nombre de las señales de datos
d) Nombre de las señales de dirección
e) ¿Cuántas palabras puedo almacenar en el mapa de memoria?
f) ¿Cuántos buses en el modelo (señales)?
g) Sentido de las señales eléctricas
a) 4 bytes o 32 bits o DWORD
b) 216 = 65536 bytes (posiciones)
c) Data: D0 a D31
d) Address: A0 a A15
e) 65536 bytes / 4 = 16384 palabras. Cada palabra tiene 4 bytes (32 bits)
f) Bus de Control y Bus de Alimentación. Señales del Bus de control: Reset, R/W, IRQ, NMI, CLK
g) Desde el procesador, los datos entran y salen. Desde el procesador, las direcciones salen.
Ejemplos de Examen Final
Explique mediante un valor decimal los siguientes valores
Máximo valor positivo y negativo de un número entero de 32 bits, expresado en signo y magnitud.
- (231) a 231-1
Máximo valor positivo y negativo de un short int de 16 bits
- (215) a 215-1
Rango expresado en decimal para el exponente de una variable Float.
0 a 28-1
Cantidad de bits utilizados en una variable char.
8 bits y se usa para caracteres: valor mínimo 0 - valor máximo 255.
Arquitectura de Computadoras Paralelas
La clasificación de Flynn se basa en dos conceptos: flujos de instrucciones y flujos de datos.
Un flujo de instrucciones corresponde a un contador de programa. Un sistema que tiene n CPU tiene n contadores de programa, por tanto n flujos de instrucciones.
Un flujo de datos consiste en un conjunto de operadores.
Los flujos de instrucciones y de datos son, hasta cierto punto, independientes, por lo que existen 4 combinaciones:
Flujos de Instrucciones | Flujos de Datos | Nombre | Ejemplos |
1 | 1 | SISD | Máquina clásica de Von Neumann |
1 | Varios | SIMD | Supercomputadora vectorial, procesador de arreglos |
Varios | 1 | MISD | Tal vez ninguno |
Varios | Varios | MIMD | Multiprocesador, multicomputadora |
SISD es la computadora secuencial clásica de Von Neumann: tiene un flujo de instrucciones, un flujo de datos y hace una cosa a la vez.
Las máquinas SIMD tienen una sola unidad de control que emite una instrucción a la vez, pero tienen múltiples UAL para ejecutarla con varios conjuntos de datos simultáneamente. Existen máquinas SIMD modernas y se usan para cálculos científicos.
Las máquinas MISD son una categoría un tanto extraña, en la que varias instrucciones operan con un mismo dato. No se sabe a ciencia cierta si existen máquinas de este tipo, aunque algunas personas clasifican a las máquinas como filas de procesamiento como MISD.
Por último, tenemos las MIMD, que no son más que múltiples CPU independientes que operan como parte de un sistema mayor. Casi todos los procesadores paralelos pertenecen a esta categoría. Tanto los multiprocesadores como las multicomputadoras son máquinas MIMD.
Computadores MIMD
La categoría MIMD se ha dividido en multiprocesadores (máquinas con memoria compartida) y multicomputadoras (máquinas que transfieren mensajes).
Un multiprocesador es un sistema de cómputo que tiene varias CPU y un solo espacio de direcciones visible para todas las CPU. Existen tres clases de multiprocesadores, que se distinguen por la forma en que se implementa la memoria compartida: acceso uniforme a la memoria (UMA, Uniform Memory Access), acceso no uniforme a la memoria (NUMA, NonUniform Memory Access) y solo acceso a memoria caché (COMA, Cache Only Memory Access). Las máquinas UMA tienen la propiedad de que cada CPU tiene el mismo tiempo de acceso a todos los módulos de memoria. En otras palabras, cada palabra de memoria se puede leer con la misma rapidez que cualquier otra palabra de memoria.
En contraste, un multiprocesador NUMA no posee esta propiedad. Es común que haya un módulo de memoria cercano a cada CPU y que el acceso a ese módulo sea mucho más rápido que el acceso a módulos distantes.