"Arquitectura Interna del Cerebro de Termy Neitor"

Day 2,815, 15:23 Published in Argentina Argentina by Gerardo Antonio Uroz
"3º Articulo: Cómo procesan las Computadoras"

Para entender cómo programar las computadoras es necesario conocer cómo están compuestas y qué cosas pueden hacer y algún lenguaje de comunicación tanto para comunicarse con ellas como para escribirles las instrucciones.

La composición de las computadoras se dividen convencionalmente en 2 (dos), la parte tangible o que podemos tocar o hardware






y la parte que no se puede percibir, a no ser cuando se construye Software o conjunto de programas que se instalan en la computadora.


Todos los elementos de hardware de una computadora esta insertados - conectados a una placa, la tarjeta madre:

La siguiente descripcion nos muestra en que posición física se conectan los diferentes componentes:




Esta placa madre o placa base o tarjeta madre es una placa de pertinax, recubierta de pistas de cobre que conectan todos los componentes, realizando las tareas de las autopistas o buses de computadora.

Zócalo del Procesador: en esta posición se inserta el CPU. El cpu está conectado a la Memoria RAM a través de unas pistas de cobre, los buses.

Para controlar el funcionamiento de la parte principal de la computadora (CPU+RAM+Video), existe el puente norte o NorthBridge. Este puente controla los flujos de información entre el CPU y la RAM y a su vez cuando se necesita mandar gran cantidad de Información a la placa de video.

Los conectores PS/2 son utilizados para conectar el teclado y el mouse que venían anteriormente, en la actualidad se utilizan los conectores USB (Bus de serie universal), compatibles con Plug and Play y los dispositivos móviles como Notebooks, netbooks, etc.


En el Slot de la Placa de Video se conecta la aceleradora gráfica que nos permite utilizar los monitores modernos de HD (High Definition) y jugar con los juegos de alta resolución de video.

El CPU o unidad de procesamiento central es un dispositivo capaz de recibir y ejecutar instrucciones. A continuación un esquema de un CPU.





ALU: Unidad Aritmético Lógica. Esta parte del CPU realiza los cálculos aritméticos y lógicos. En la imagen es el pantaloncito corto color azul.

Es el pricipal registro interno del CPU. En este quedan los resultados intermedios de los calculos qeu va realizando el programa. Aparte del Acumulador existen otros registros internos donde se almacenan los datos con que trabajan las instrucciones que recibe el CPU.

Contador de Programa: Este registro interno del CPU contiene la dirección de memoria de la pr´xima instrucción a ejecutar. Este registro lo va actualizando el Secuenciador.

Bus de Direcciones: Es uno de los buses del CPU y lo conecta con la RAM. Con este registro el CPU le transmite la dirección de instrucciones y datos al Registro de Direcciones con el objeto de realizar la búsqueda en RAM.

Bus de Datos: Este bus lo utiliza el CPU para llevar y traer datos desde y hacia la RAM (Memoria Principal) y para traer las instrucciones del programa para ejecutarlas dentro de CPU.

Instrucción de Programa: Las instrucciones de los programas están compuestas por dos campos:

1. Cod de OP: contiene el código de operación que el CPU ejecutará sobre los datos a los que apunta el Campo de Dirección.

2. Campo de dirección: Contiene una dirección de la Memoria principal de donde obtener datos, donde colocar resultados o registros internos del CPU.


En este apartado no pretendo mostrar como trabaja internamente el CPU, sino como es su estructura y qué función cumple en la computadora, como el elemento que ejecuta las instrucciones de los programas, lo que lo transforma en un dispositivo de procesamiento de información programable.

En el siguiente link les dejo un apunte donde se muestran conceptos que describen con mayor profundidad los componentes del CPU y los diferentes ciclos de ejecución:

Detalles de los componentes del CPU y ciclos de ejecución



Una imagen completa que representa la arquitectura conceptual de una computadora es:



En este contexto podemos pensar que:

Para ejecutar un programa lo tenemos que tener almacenado, "instalado", en disco.
Mediante alguna interfaz de comando, hoy muy popular los escritorios, invocamos al programa. Este proceso, en este contexto, carga el programa que está en disco y lleva sus instrucciones a la memoria RAM.

Una vez que está en la memoria RAM, el sistema operativo apunta al Contador de Programa a la posición en memoria de la primera instrucción del programa.

Posteriormente, se comienzan a ejecutar las instrucciones del programa, y en este contexto, el secuenciador va a ser el responsable de ir poniendo en el Contador de Programa la dirección de la próxima instrucción a ejecutar.

Para afirmar estos conceptos, anexo un video, copia el link en una nueva ventana del navegador para ver una demostración de cómo el CPU ejecuta las instrucciones de un programa.


El siguiente video muestra instrucción por instrucción la ejecucion de un programa:

https://www.youtube.com/watch?v=QRyxgXAm5fc


https://www.youtube.com/watch?v=V0FtibYY2Zs

En el siguiente video se muestran las instrucciones en lenguaje ensamblador, y se van explicando en titulos en blanco.

https://www.youtube.com/watch?v=2EZO5Iso980


Resumen:

Teniendo en cuenta los conceptos sintetizados en los párrafos anteriores podemos decir que una computadora puede ejecutar una infinidad de programas, resolviendo problemas de todas las áreas del desarrollo humano, con ciertas restricciones:

Tamaño de las memorias: principal RAM y auxiliares, discos, memorias flash, discos duros, etc

Potencia de procesamiento del CPU:

Este se mide en los siguiente parámetros: conjuntos de instrucciones, tamaños de los buses de datos y de direccionamiento, velocidad de procesamiento, tamaño de la memoria caché.

Tamaño y velocidad de los buses:

El tamaño se mide por ahora en la cantidad de bits en paralelo, por ejemplo estamos utilizando en estos momentos computadoras 64 bits.

La velocidad depende del chipset que tenga instalado y de ahi viene la velocidad de procesamiento del NorthBridge, puente norte, que gestiona los buses de datos entre el CPU y la RAM y por otro lado entre la RAM y la aceleradora gráfica.

https://es.wikipedia.org/wiki/Puente_norte link a puente norte.

Esta velocidad se mide en gigabytes por segundo.


AGP 1X: velocidad 66 MHz con una tasa de transferencia de 266 MB/s
AGP 2X: velocidad 133 MHz con una tasa de transferencia de 532 MB/s
AGP 4X: velocidad 266 MHz con una tasa de transferencia de 1 GB/s.
AGP 8X: velocidad 533 MHz con una tasa de transferencia de 2 GB/s.

PCI-E 1X = 250 Megabytes/segundo
PCI-E 4X = 1 Gigabytes/segundo
PCI-E 8X = 2 GB/s
PCI-E 16X = 4 GB/s

Estos son algunos datos como para tener en cuenta.

Velocidad del reloj del CPU: Si observan el diagrama del CPU, veran que el secuenciador tiene pegado un reloj. Este reloj es el que marca el paso en que se ejecutan las instrucciones en el cpu. Es como el metrónomo que se utiliza para marcar los tiempos en música.

Tabla de velocidades de los CPU en el siguiente link:

http://www.taringa.net/post/info/5284357/Procesadores-Intel-Tabla-Informativa.html


Entonces, una computadora resuelve problemas de nuestra vida diaria, tanto en lo profesional como en lo lúdico, simplemente ejecutando un programa que es la aplicación de una de las soluciones del problema.

La siguiente imagen ejemplifica la suma de dos números y mostrando su resultado.




Espero sea este artículo provechoso. Sigan los links a los videos y a los pocos apuntes que complementan.

Aprovechen este apunte introductorio !!!!!

Que lo disfruten !!!!