Índice de Funcionamiento del computador

18:57 25 sep 2023

Índice del «Tema 1»

MME: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

La arquitectura de von Neumann es una familia de arquitecturas de computadoras que utilizan el mismo dispositivo de almacenamiento (memoria principal) tanto para las instrucciones como para los datos.

Diagrama de la arquitectura Von Neumann.

La mayoría de computadoras modernas están basadas en esta arquitectura, aunque pueden incluir otros dispositivos adicionales, (por ejemplo, para gestionar las interrupciones de dispositivos externos como ratón, teclado, etc).

Organización

editar

Los computadores con esta arquitectura constan de cinco partes:

  • La unidad aritmético-lógica o ALU: es un circuito digital que calcula operaciones aritméticas (como suma, resta, multiplicación, etc.) y operaciones lógicas (si, y, o, no), entre dos números.
  • La unidad de control es la circuitería que controla el flujo de datos a través del procesador, y coordina procesador, que a su vez controla el resto del PC.
    • Las salidas de la unidad de control se encargan de controlar la actividad del resto del dispositivo.
    • Las entradas de la unidad de control son las señales enviadas por los dispositivos con el resultado de la actividad que ha sucedido.
  • El Registro es una memoria de alta velocidad y poca capacidad, integrada en el microprocesador, que permite guardar transitoriamente y acceder a valores muy usados, generalmente en operaciones matemáticas.
  • La memoria principal o RAM se utiliza como memoria de trabajo para el sistema operativo, los programas y la mayoría del software. Es allí donde se cargan todas las instrucciones que ejecutan el procesador y otras unidades de cómputo.
  • Los Dispositivos de entrada/salida son los aparatos y/o dispositivos auxiliares e independientes conectados a la unidad central de procesamiento de una computadora, que proporcionan un medio de transporte de los datos entre las distintas partes.


Como se puede observar, la CPU o microprocesador engloba a los registros, ALU y la Unidad de Control.

Vídeo del funcionamiento de un procesador primitivo
Un computador con esta arquitectura realiza o emula los siguientes pasos secuencialmente:

En el vídeo se puede observar una operación básica de un computador. En este caso una resta: 1000 - 1234. Para realizar la resta tenemos que cargar los dos sumandos en los registros y luego, restarlos en la ULA.

  1. Carga del primer sumando (MOV (2001), AX):
    1. La CPU lee de la Memoria Principal un dato situado de una dirección de memoria 2000.
    2. El dato es entregado al registro de instrucciones de la CPU. En este caso, se observa el dato B8 de la dirección 2000 es copiado al registro IR de la CPU.
    3. Del registro de instrucciones (RI) pasa al decodificador para interpretarla, en este caso: mover dato de memoria al registro AX.
    4. El dedificador envía las microórdenes que seguirá el secuenciador que se encarga de completarla mediante señales:
      1. El secuenciador solicita a la Memoria Principal el siguiente dato situado de una dirección de memoria. En este caso, en la dirección de memoria 2001 contiene el dato 34.
      2. La memoria entrega el dato al registro de instrucciones de la CPU. En este caso, se observa se observa en el registro AX=0034.
      3. El secuenciador vuelve a solicitar a la Memoria Principal el siguiente dato situado de una dirección de memoria. En este caso, en la dirección de memoria 2002 contiene el dato 12.
      4. La memoria entrega el dato al registro de instrucciones de la CPU. En este caso, se observa se observa en el registro AX=1234.
  2. Carga del segundo sumando (MOV (2004),DX) similar a la anterior:
    1. La CPU lee de la Memoria Principal un dato situado de una dirección de memoria 2003.
    2. El dato es entregado al registro de instrucciones de la CPU. En este caso, se observa el dato BA de la dirección 2003 es copiado al registro IR de la CPU.
    3. Del registro de instrucciones (RI) pasa al decodificador para interpretarla, en este caso: mover dato de memoria al registro DX.
    4. El dedificador envía las microórdenes que seguirá el secuenciador que se encarga de completarla mediante señales:
      1. El secuenciador solicita a la Memoria Principal el siguiente dato situado de una dirección de memoria. En este caso , en la dirección de memoria 2004 contiene el dato 00.
      2. La memoria entrega el dato al registro de instrucciones de la CPU. En este caso, se observa se observa en el registro AX=0000.
      3. El secuenciador vuelve a solicitar a la Memoria Principal el siguiente dato situado de una dirección de memoria. En este caso , en la dirección de memoria 2005 contiene el dato 10.
      4. La memoria entrega el dato al registro de instrucciones de la CPU. En este caso, se observa se observa en el registro AX=1000.
  3. Resta dos registros (SUB DX, AX) :
    1. La CPU lee de la Memoria Principal dos datos situados de una direcciones de memoria 2006 y 2007. En este caso 2B-D0
    2. Los datos son entregados al registro de instrucciones de la CPU. En este caso, se observa los datos de la dirección 2006 y 2007 son copiados al registro IR de la CPU secuencialmente.
    3. Del registro de instrucciones (RI) pasa al decodificador para interpretarla, en este caso: Resta al contenido del registro AX (1234), el contenido del registro DX (1000).
    4. El dedificador envía las microórdenes que seguirá el secuenciador que se encarga de completarla mediante señales la resta que se realizará en la ULA:
      1. Copia el contenido de DX a la ULA (operador 1)
      2. Copia el contenido de AX a la ULA (operador 2)
      3. Resta las dos cantidades que están en los operadores de la ULA
      4. Obtiene el resultado (operador RES) que al ser un valor negativo en binario, activa diferentes banderas o flags

Se puede apreciar como la unidad de control UC (Secuenciador y Decodificador) gobierna, mediante señales eléctricas, al resto resto de componentes del procesador y la memoria. Lo interesante del vídeo es simplemente que se entienda:

  • la UC (secuenciador y codificador) genera las señales eléctricas que gobierna a todo el procesador y la memoria.
  • la ULA está parada excepto en un momento (un ciclo) que suma cantidades.
  • El acceso a memoria para traer valores a los registros del procesador se realiza lentamente: varios ciclos para una instrucción de carga de valores.
  • Hasta que no acaba de ejecutar una instrucción, no empieza otra.


Simulador CPU en Web. Ejemplo de un programa que imprime en pantalla
 
Diagrama de la jerarquía de memoria.

Se conoce como jerarquía de memoria a la organización piramidal de la memoria en niveles que tienen los computadores. Su objetivo es conseguir el rendimiento de una memoria de gran velocidad al coste de una memoria de baja velocidad, basándose en el principio de cercanía de referencias.

Los puntos básicos relacionados con la memoria pueden resumirse en:

  • Cantidad
  • Velocidad
  • Coste

La cuestión de la cantidad es simple, cuanto más memoria haya disponible, más podrá utilizarse. La velocidad óptima para la memoria es la velocidad a la que el procesador puede trabajar, de modo que no haya tiempos de espera entre cálculo y cálculo, utilizados para traer operandos o guardar resultados. En suma, el coste de la memoria no debe ser excesivo, para que sea factible construir un equipo accesible.

Como puede esperarse los tres factores compiten entre sí, por lo que hay que encontrar un equilibrio. Las siguientes afirmaciones son válidas:

  • A menor tiempo de acceso mayor coste económico.
  • A mayor capacidad de almacenamiento menor coste económico por bit.
  • A mayor capacidad de almacenamiento menor velocidad de transferencia.

Se busca entonces contar con capacidad suficiente de memoria, con una velocidad que sirva para satisfacer la demanda de rendimiento y con un coste que no sea excesivo. Gracias a un principio llamado cercanía de referencias, es factible utilizar una mezcla de los distintos tipos y lograr un rendimiento cercano al de la memoria más rápida.

Los niveles que componen la jerarquía de memoria habitualmente son:

  • Nivel 0: Registro (hardware)
  • Nivel 1: Memoria caché
  • Nivel 2: Memoria principal
  • Nivel 3: Memorias flash
  • Nivel 4: Disco duro (con el mecanismo de memoria virtual)
  • Nivel 5: Cintas magnéticas Consideradas las más lentas, con mayor capacidad.
  • Nivel 6: Red de computadoras|Redes (Actualmente se considera un nivel más de la jerarquía de memorias)

La memoria principal o primaria,"Memoria Central ", es aquella memoria de un computador, donde se almacenan temporalmente tanto los datos como los programas que la CPU está procesando o va a procesar en un determinado momento. Por su función, es una amiga inseparable del microprocesador, con el cual se comunica a través de los buses de datos. Por ejemplo, cuando la CPU tiene que ejecutar un programa, primero lo coloca en la memoria y después lo empieza a ejecutar. Lo mismo ocurre cuando necesita procesar una serie de datos; antes de poder procesarlos los tiene que llevar a la memoria principal.

Esta clase de memoria es volátil, es decir que, cuando se corta la energía eléctrica, se borra toda la información que estuviera almacenada en ella.

Por su función, la cantidad de memoria RAM de que disponga una computadora es una factor muy importante; hay programas y juegos que requieren una gran cantidad de memoria para poder usarlos. otros andarán más rápido si el sistema cuenta con más memoria RAM.

El chip o circuito integrado es una pequeña pastilla de material semiconductor (silicio) que contiene múltiples circuitos integrados, tales como transistores, entre otros dispositivos electrónicos, con los que se realizan numerosas funciones en computadoras y dispositivos electrónicos; que permiten, interrumpen o aumentan el paso de la corriente. Estos chips están sobre una tarjeta o placa.

El contenido de las memorias no es otra cosa que dígitos binarios o bits (binary digits), que se corresponden con dos estados lógicos: el 0 (cero) sin carga eléctrica y el 1 (uno) con carga eléctrica. A cada uno de estos estados se le llama bit, que es la unidad mínima de almacenamiento de datos.

El microprocesador direcciona las posiciones de la RAM para poder acceder a los datos almacenados en ellas y para colocar los resultados de las operaciones.

Al "bloque de Memoria Principal", suele llamarse memoria RAM, por ser éste el tipo de chips de memoria que conforman el bloque, pero se le asocian también el chip CMOS, que almacena al programa BIOS del sistema y los dispositivos periféricos de la memoria secundaria (discos y otros periféricos), para conformar el sub-sistema de memoria del computador.

La estructura de la memoria principal ha cambiado en la historia de las computadoras. Desde los años 1980 es prevalentemente una unidad dividida en celdas que se identifican mediante una dirección. Está formada por bloques de circuitos integrados o chips capaces de almacenar, retener o "memorizar" información digital, es decir, valores binarios; a dichos bloques tiene acceso el microprocesador de la computadora.

En algunas oportunidades suele llamarse "memoria interna" a la Memoria Principal, porque a diferencia de los dispositivos de memoria secundaria, la MP no puede extraerse tan fácilmente por usuarios no técnicos.

La Memoria Principal es el núcleo del sub-sistema de memoria de una computadora, y posee una menor capacidad de almacenamiento que la memoria secundaria, pero una velocidad millones de veces superior.

Tipos de Memoria Principal

editar

En las computadoras son utilizados dos tipos:

  1. ROM o memoria de sólo lectura (Read Only Memory). Viene grabada de fábrica con una serie de programas. El software de la ROM se divide en dos partes:
    1. Rutina de arranque o POST (Power On Self Test, auto diagnóstico de encendido): Realiza el chequeo de los componentes de la computadora; por ejemplo, circuitos controladores de video, de acceso a memoria, el teclado, unidades de disco,etc. Se encarga de determinar cuál es el hardware que está presente y de la puesta a punto de la computadora. Mediante un programa de configuración, el SETUP, lee una memoria llamada CMOS RAM (RAM de Semiconductor de óxido metálico). Ésta puede mantener su contenido durante varios años, aunque la computadora está apagada, con muy poca energía eléctrica suministrada por una batería, guarda la fecha, hora, la memoria disponible, capacidad de disco rígido, si tiene disquetera o no. Se encarga en el siguiente paso de realizar el arranque (booteo): lee un registro de arranque 'BR' (Boot Record) del disco duro o de otra unidad (como CD, USB, etc.), donde hay un programa que carga el sistema operativo a la RAM. A continuación cede el control a dicho sistema operativo y el computador queda listo para trabajar.
    2. Rutina BIOS o Sistema Básico de Entrada-Salida (Basic Input-Output System): permanece activa mientras se está usando el computador. Permite la activación de los periféricos de entrada/salida: teclado, monitor, ratón, etc. Se pueden modificar opciones básicas como el horario. Es indiferente al Sistema operativo.
  2. RWM o Memoria de lectura-escritura . Es la memoria del usuario que contiene de forma temporal el programa, los datos y los resultados que están siendo usados por el usuario del computador. En general es volátil, pierde su contenido cuando se apaga el computador, es decir que mantiene los datos y resultados en tanto el bloque reciba alimentación eléctrica, a excepción de la CMOS RAM. Es común llamar erróneamente a la memoria de lectura escritura (RWM) como memoria (RAM), donde se confunde el tipo de memoria con la forma de acceso a ella. (Ver clasificación de memorias). Tanto la RWM como la ROM son circuitos integrados, llamados comúnmente chips.

Bit es el acrónimo Binary digit (dígito binario). Un bit es un dígito del sistema de numeración binario.

Mientras que en el sistema de numeración decimal se usan diez dígitos, en el binario se usan sólo dos dígitos, el 0 y el 1. Un bit o dígito binario puede representar uno de esos dos valores, 0 ó 1.

Se puede imaginar un bit, como una bombilla que puede estar en uno de los siguientes dos estados:

apagada   o encendida  
 
Memoria de computadora de 1980 donde se pueden ver los bits físicos. Este conjunto de unos 4x4 cm. corresponden a 512 bytes.

El bit es la unidad mínima de información empleada en informática, en cualquier dispositivo digital, o en la teoría de la información. Con él, podemos representar dos valores cuales quiera, como verdadero o falso, abierto o cerrado, blanco o negro, norte o sur, masculino o femenino, rojo o azul, etc. Basta con asignar uno de esos valores al estado de "apagado" (0), y el otro al estado de "encendido" (1).

Combinaciones de bits

editar
 
Hay 4 combinaciones posibles con dos bits
Bit 1
Bit 0
  0     0  
  0     1  
  1     0  
  1     1  

Con un bit podemos representar solamente dos valores, que suelen representarse como 0, 1. Para representar o codificar más información en un dispositivo digital, necesitamos una mayor cantidad de bits. Si usamos dos bits, tendremos cuatro combinaciones posibles:

  • 0 0 - Los dos están "apagados"
  • 0 1 - El primero (de izquierda a derecha) está "apagado" y el segundo "encendido"
  • 1 0 - El primero (de izquierda a derecha) está "encendido" y el segundo "apagado"
  • 1 1 - Los dos están "encendidos"

Con estas cuatro combinaciones podemos representar hasta cuatro valores diferentes, como por ejemplo, los colores azul, verde, rojo y magenta.

A través de secuencias de bits, se puede codificar cualquier valor discreto como números, palabras, e imágenes. Ocho bits forman un Byte, y se pueden representar hasta 28 = 256 valores diferentes. En general, con un número n de bits pueden representarse hasta 2n valores diferentes.

Múltiplos utilizando los prefijos del Sistema Internacional [1]

editar
Prefijo Símbolo del prefijo Nombre resultante del prefijo + Byte Símbolo del múltiplo del Byte Factor y valor en el SI
Valor de referencia byte B 100 = 1 bytes, y también 8 bits
kilo k kilobyte kB 103 = 1 000 bytes
mega M megabyte MB 106 = 1 000 000 bytes
giga G gigabyte GB 109 = 1 000 000 000 bytes
tera T terabyte TB 1012 = 1 000 000 000 000 bytes
Comparativa de múltiplos en diferentes Sistemas
Sistema Internacional (decimal) ISO/IEC 80000 (binario)
Múltiplo (símbolo) SI Múltiplo (símbolo) ISO/IEC
kilobyte (kB) 103 kibibyte (KiB) 210
megabyte (MB) 106 mebibyte (MiB) 220
gigabyte (GB) 109 gibibyte (GiB) 230
terabyte (TB) 1012 tebibyte (TiB) 240
petabyte (PB) 1015 pebibyte (PiB) 250
exabyte (EB) 1018 exbibyte (EiB) 260
zettabyte (ZB) 1021 zebibyte (ZiB) 270
yottabyte (YB) 1024 yobibyte (YiB) 280

Conversor entre sistemas Por ejemplo: 3 TB son 2.728 TiB

Arquitecturas de 32 y 64 bits

editar

Cuando se habla de CPUs o microprocesadores de 32, 64 bits, se refiere al tamaño, en número de bits, que tienen los registros internos del procesador y también a la capacidad de procesamiento de la Unidad aritmético lógica (ALU). Un microprocesador de 32 bits tiene registros de 32 bits y la ALU hace operaciones con los datos en esos registros de 32 bits, mientras que un procesador de 64 bits tiene registros y procesa los datos en grupos de 64 bits.

Los procesadores de 64 bits pueden procesar los datos, dependiendo que su diseño lo permita, de 32 bits y 64 bits. Sin embargo, los registros de un procesador de 32 bits no pueden procesar datos de 64 bits pues no caben en estos registros.

Cuando se habla de procesadores de, digamos 32 bits, nos referimos a su capacidad de procesar datos en hasta 32 bits simultáneamente. La denominación de "microprocesador de 32 bits" no se refiere al tamaño del bus de datos del CPU ni del bus de direcciones, sino a su capacidad de trabajar normalmente con los datos en el número máximo de bits (salvo alguna excepción).

Cuando se habla de procesadores de, digamos 64 bits, nos referimos a su capacidad de procesar datos en hasta 64 bits simultáneamente. La denominación de "microprocesador de 64 bits" no se refiere al tamaño del bus de datos del CPU ni del bus de direcciones, sino a su capacidad de trabajar normalmente con los datos en el número máximo de bits (salvo alguna excepción).

Carga del Sistema Operativo

editar
 
Secuencia de carga de un sistema operativo desde que un computador es conectado a la red eléctrica
 
POST

A grandes rasgos, cuando se conecta el suministro de corriente eléctrica el BIOS es cargada en la memoria, luego se ejecuta el POST que verifica el hardware del computador, si no hay errores durante el POST, se encarga de localizar el MBR del disco o una posición determinada de otro dispositivo (disco usb, disco de red, CD,...). Si lo encuentra, carga el bootloader que le pasa el control al sistema operativo oportuno. El sistema operativo es cargado en la memoria y finalmente presenta al usuario una primera pantalla del Sistema Operativo.

Ejecución de un programa

editar

Cuando nos "bajamos" o descargamos un programa, es almacenado en una memoria secundaria (disco duro, SD,...) en este medio no es posible su ejecución. Cuando intentamos ejecutar haciendo doble clic en él, el programa es cargado en la memoria principal o RWM (conocida como RAM). Una vez cargado en la memoria principal, es posible su ejecución por el Sistema Operativo.

  1. . Página 121 del PDF titulado "The International System of Units (Bureau International des Poids et Mesures)" de 2006 en http://www.bipm.org/utils/common/pdf/si_brochure_8_en.pdf