Professional Documents
Culture Documents
Estudiar arquitectura de
computadoras.
Como bien podemos afirmar, actualmente la mayoría de las personas a nivel
mundial utilizan algún tipo de computadora y esto ha conllevado a facilitarle la vida
a la población en resolución más eficaz de ciertos problemas. Pero todo esto nos
lleva a que muchos solo conocen el producto finalizado para operar las funciones
que vienen establecidas y no el cómo es en el interior estos aparatos electrónicos o
como es que se realizaron para que pueda realizar las acciones que nos ofrecen.
<< El computador está en el corazón de la informática. Sin él la mayoría de las asignaturas
de informática serian hoy una rama de la matemática teórica. Para ser hoy un profesional
en cualquier campo de la informática uno no debe ver al computador como una caja negra
que ejecuta programas mágicamente. Todos los estudiantes de informática deben, en cierta
medida, comprender y valorar los componentes funcionales de un computador, sus
características, su funcionamiento y sus interacciones. También sus implicaciones
prácticas. Los estudiantes necesitan comprender la arquitectura del computador para
estructurar un programa de forma que este sea más eficiente en una maquina real.
Seleccionando el sistema que se va a usar, debe ser capaz de comprender el compromiso
entre varios componentes, como la velocidad del reloj de la CPU frente al tamaño de la
memoria. >> [1]
[2]
Figura 1: Operación del ENIAC
Computadoras Comerciales
Para los años cincuenta existieron las compañías Sperry e IBM, las cuales
competían para dar su mejor estilo de computador.
Por parte de Sperry, se crearon las maquinas UNIVAC (Universal Automatic
Computer) las cuales tuvieron un éxito comercial debido a que brindaba
aplicaciones científicas y comerciales. De estas se derivan la maquina UNIVAC 1,
2,1103; las cuales con forme cambiaban de edición, aumentaban la capacidad de
memoria y la resolución de otros problemas, pero con la originalidad de
compatibilidad con versiones anteriores.
Por otro lado estaba IBM, que saco su computador denominado 701 y 702, los
cuales funcionaban para aplicaciones científicas y de gestión.
Generación 2: Transistores
A diferencia de los tubos de vacío que requieren estar en ciertas condiciones como
el vacío, los transistores son más pequeños, más baratos y son dispositivos de
estado sólido hechos con silicio. A estos nuevos componentes se les denomino
componentes discretos.
Para esta nueva generación de computadoras, se introdujo el lenguaje de
programación de alto nivel, teniendo así, un mejor software de sistema.
Cada generación que sacaban las empresas era diseñada con la característica de
tener mayor velocidad, más grande su capacidad de memoria y tener un menor
tamaño físico del computador.
Últimas Generaciones
Por un lado se le dio más importancia a la generación de mejores memorias
utilizando la misma tecnología que un procesador (ALU y control); esto debido a que
la mayoría de memorias utilizaban el funcionamiento magnético pero esta es cara,
muy grande físicamente y era volátil cuando se leían los datos almacenados.
Debido a ese problema que se tenía; se decidió crear una memoria semiconductora
que no eliminara los datos que eran leídos; de este modo fue evolucionando esta
memoria cada vez con mayor capacidad de almacenamiento, más veloces y un
menor tamaño físico.
Por otro lado se le dio importancia a los microprocesadores, esto radica en la
velocidad de poder procesar la información; tanto en búsqueda de instrucciones,
direccionamiento de datos, ejecución de instrucciones, realización de operaciones,
etc.
En la Tabla 1 podemos ver la evolución de algunos microprocesadores INTEL
dependiendo su tamaño y cantidad de transistores, así como la energía que ocupa.
Interrupciones
Todos los computadores tienen la característica de ser interrumpidas en el
procesamiento normal mediante ciertas alteraciones. Estas interrupciones dan una
mejora hacia la eficiencia del procesador, de modo a que todo se ejecute de la mejor
manera.
En la Tabla 2 podemos ver las clases de interrupciones que pueden ocurrirle a un
procesador.
Tabla 2. Clases de Interrupciones. [6]
Clases de Interrupciones
De Generadas por alguna condición que se produce como resultado de la ejecución
programa de una instrucción, como el desbordamiento aritmético, la división por cero, el
intento de ejecutar una instrucción ilegal de la máquina o una referencia a una
zona de memoria fuera del espacio permitido al usuario.
De reloj Generadas por un reloj interno del procesador. Esto permite al sistema operativo
llevar a cabo ciertas funciones con determinada regularidad.
De E/S Generadas por un controlador de E/S, para indicar que una operación ha
terminado normalmente o para indicar diversas condiciones de error.
Por fallo del Generadas por fallos tales como un corte de energía o un error de paridad de la
hardware memoria.
Funcionamiento de E/S
Cualquier módulo de E/S se comunica e intercambia información con el procesador
y este puede escribir datos en el módulo E/S para así poder hacer comunicación
bilateral pero para poder ser más eficiente el computador, el procesador le asigna
ciertos espacios de memoria para poder trabajar y así liberarse de
responsabilidades en el intercambio de información. A esto se le llama acceso
directo a memoria (DMA, Direct Memory Access).
1.3.2 Programa
Es el conjunto de instrucciones (algoritmo) que se basan en cualquier tipo de
lenguaje de programación que son decodificados para poder resolver un
determinado problema o una acción.
Los lenguajes de programación nos permiten dentro de la informática, el poder crear
y diseñar programas utilizando cierto tipos de instrucciones entendibles para los
programadores y estas instrucciones las puede decodificar después hacia un
lenguaje que lo comprenda el procesador.
1.3.3 Arquitectura
Es el diseño y estructura de un sistema de una computadora. Es una descripción
funcional de requerimientos e implementaciones para las partes del ordenador.
<<Se refiere a los atributos de un sistema que son visibles a un programador, o para
decirlo de otra manera, aquellos atributos que tienen un impacto directo en la
ejecución lógica de un programa. Entre los ejemplos de atributos arquitectónicos se
encuentran el conjunto de instrucciones, el número de bits usados para representar
varios tipos de datos, mecanismos de E/S y técnicas para direccionamiento de
memoria. >> [1]
Cualquier computador puede estar constituido por:
Unidad de Memoria: Sitio donde se guardan todos los datos y programas
establecidos.
Unidad de Control: Aquí es donde se encarga de dirigir todo hacia donde sea
necesario de la memoria.
Unidad de E/S: Su función principal es la de codificar y decodificar señales
que entienden los seres humanos y las que entiende la computadora usando
el sistema binario.
Unidad Lógica Aritmética: Encargado de realizar operaciones que le diga el
procesador.
En la arquitectura se encuentran Von Neumann y Harvard pero esas se verán más
adelante más detallado
1.3.4 Organización
La organización se refiere básicamente en elegir que tareas se tienen que hacer,
quien las va a realizar, quien las captara y en donde se realizaran las decisiones.
<< La organización de computadoras se refiere a las unidades funcionales y sus
interconexiones, que dan lugar a especificaciones arquitectónicas. Entre los
atributos de organización se incluyen aquellos detalles de hardware transparentes
al programador, tales como señales de control, interfaces entre el computador y los
periféricos y la tecnología de memoria usada. >> [1]
1.3.5 Estructura y Funcionalidad
Estructura
El computador es un objeto virtual que interactúa con lo externo, ya sea con
dispositivos o comunicándose con otro. Se dice que es la interconexión de los
componentes y su relación.
Los 4 componentes principales que conforman la estructura de una computadora
son:
Unidad Central de Procesamiento (CPU): Este se conoce también como
procesador y se encarga de buscar y ejecutar instrucciones.
Memoria: Almacén de datos.
Puertos de E/S: Realiza comunicación entre lo externo y lo interno.
Sistema de Interconexión: Permite la comunicación entre los anteriores.
Dentro del procesador podemos encontrar que está conformado por lo siguiente:
Unidad de Control: Determina las funciones del procesador.
Unidad Aritmético-Lógica: Procesamiento de los datos.
Registros: Nos brinda el almacenamiento.
Interconexiones CPU: Proporcionan la comunicación entre los anteriores.
Funcionalidad
El propósito que tiene cada componente de la estructura. Lo primordial del
computador es ser capaz de poder procesar datos.
Las funciones más básicas que debe contar una computadora son las siguientes:
Procesamiento de Datos.
Almacenamiento de Datos.
Transferencia de Datos
Control
[8]
Figura 6. Arquitectura de 3 niveles
[10]
Figura 10. Desplazamientos Circulares
En la Figura 11 podemos ver el desplazamiento circular que cuenta al acarreo de
manera cíclica.
[10]
Figura 11. Desplazamientos Circulares a través de Acarreo
Registro de Estado
En este registro se muestra es estado del procesador tras pasar el tiempo de
ejecución de instrucciones. Se le conoce como banderas almacenadas y se dividen
en banderas de control y banderas de estado.
Las banderas de control son las que mencionan el funcionamiento del procesador:
Dirección (DF): Dirige los registros índices en las instrucciones de cadenas.
Interrupción (IF): Habilita o deshabilita las interrupciones enmascarables.
Trap (TF): hace que vaya paso a paso la operación del procesador.
Las banderas de estado son las que indican el estado de procesador cuando ocurre
una operación aritmética:
Acarreo (CF): Se activa si existe acarreo en una operación aritmética.
Desbordamiento (OF): Se activa si existe un desbordamiento en una
operación aritmética.
Cero (ZF): Ocurre cuando el resultado de una operación es cero.
Signo (SF): Cuando el resultado es un número negativo.
Paridad (PF): El resultado de una operación resulto un número con paridad
par.
Acarreo Auxiliar (AF): Cuando ocurre un acarreo del cuarto bit.
Registros de Segmento
CS: Contiene la dirección de memoria en donde están las instrucciones.
DS: Contiene la dirección de memoria de las variables utilizadas.
ES: Segmento extra que se usa para almacenar información.
SS: Señala al segmento de pila.
1.5.2 Memoria Cache
Su objetivo es el hacer que exista una mayor velocidad de memoria y mayor
capacidad de memoria por un costo menor. La memoria cache lo que contiene es
una copia de partes de la memoria principal, esto lo que genera es que el procesador
tome la memoria de la cache en lugar de buscar en toda la memoria principal. La
memoria tendrá la particularidad de que en los bloques tiene una mayor longitud
para poder almacenar más palabras en una dirección de memoria. De este modo
puede existir una mayor velocidad en nuestro sistema.
Memoria RAM
La memoria RAM también conocida como Memoria de Acceso Aleatorio, almacena
datos de aplicaciones que están en ejecución durante el funcionamiento del
computador; esto ocurre para que procesador pueda acceder a las localidades de
memoria y utilizar los datos a su conveniencia. Es una memoria de tipo volátil; esto
significa que necesita estar energizada para almacenar y retener los datos.
La estructura interna de cualquier memoria RAM se basa básicamente en lo
siguiente:
Memoria Base: De 0 a 640 KB, es donde se guardan los programas que
utiliza el usuario.
Memoria Superior y Reservada: de 640 a 1024 MB, es donde contiene
estructura de intercambio de información y bloque de memoria UMB. Los
bloques UMB son aquellos en los que se guarda el sistema de la memoria
superior.
Memoria Expandida: Se asigna a programas en memoria superior.
Memoria Extendida: Es donde se almacenan las aplicaciones después de la
memoria base.
La Figura 14 muestra de manera gráfica la estructura interna de una memoria RAM.
Memoria EEPROM
Este tipo de memoria ROM la diseño el Ing. Dov Frohman. Está conformada por
celdas de transistores de puerta flotante, en las que al momento de crearlas vienes
esos transistores como 0 para poder ser programada en la posterioridad. Se
programa mediante un voltaje más alto al que se acostumbra utilizar.
La manera correcta en poder borrar este tipo de memoria es exponiéndolas una
intensa luz ultravioleta con la que hace que los fotones se exciten y sean
descargados.
Memoria FLASH
Este tipo de memoria es derivada de la EEPROM en un tamaño reducido en la que
se almacenan gran cantidad de datos debido a impulsos eléctricos que se generan.
Tiene una gran velocidad por su comunicación serial.
Sus características principales son:
La velocidad de reprogramación es muy rápida.
Se borran electrónicamente.
Se puede borrar toda o solo por partes.
Sus secciones de celdas se borran de manera instantánea (flash).
No se pueden borrar a nivel de byte.
Bit
Es la abreviación de Binary Digit (Digito Binario), es la menor unidad de dato que
existe en un computador. El bit está definido mediante un digito ya sea 0 o 1; siendo
el 1 como un estado alto de energía activa. La unión de varios bits pueden lograr un
mayor número conociéndose como bytes, mega, giga, etc.
El lenguaje máquina que es con el que se comunican los computadores es el bit
solo que llevado a gran escala. Básicamente todo lo que se utiliza que nosotros lo
vemos lógicamente, es decodificado y transferido hacia bits.
La definición de un bit fue usada por el Ing. Claude Shannon en 1948.
Registro
Los registros son localidades de memoria que vienen internamente en los
microprocesadores y estas localidades pueden almacenar datos que se usan
frecuentemente. Cada tipo de registro realiza una tarea en específica que le da
características al procesador. Los microprocesadores contienen distintas matrices
de registros que cuentan con datos binarios para las necesidades de los
procesadores. .Existen registros de 16 bits, 8 bits, 32 bits, etc.
Debido a que los procesadores cuentan con estos registros, es más fácil y rápido
acceder a ellos en comparación a otros tipos de memoria en un sistema.
Los registros más importantes son:
Contadores de Programa (PC): Almacenar dirección de instrucción actual.
Registros de Instrucción (IR): Almacén de instrucciones.
Acumuladores (CA): Resultados matemáticos.
Dirección de Registros de Memoria RAM (MAR): Ubicaciones de dirección
dentro de la memoria principal.
Búfer de Registros de Memoria (MBR): Retener los bits de datos entrantes.
Estados o Bandera de Registros (FR): Actualizar estados de procesador.
Registros Condicionales (CR): Mantener los valores condicionales o lógicos.
Registros de Propósito General (GPR): Almacenar bits de datos generales o
instrucciones.
Bus de Datos
Es utilizado para transferir datos digitales mediante pulsos eléctricos entre
componentes del computador que tienen una dirección lateral; este es el ancho de
palabra de memoria.
Este tipo de buses pueden ser conexiones conectadas en serie o en paralelo. En
los tipo serie, los datos son transmitidos de bit a bit y que al final se reconstruyen
formando el resultado que se mandó.
En los tipo paralelo, varios datos son enviados al mismo tiempo.
Bus de Dirección
Se utiliza para transportar unidireccionalmente direcciones de memoria en
expresiones binarias hacia el procesador ya sea para la lectura de esta o para dirigir
el destino de alguna. Direcciona las zonas de memoria con los distintos dispositivos
con los que podamos contar. El espacio de direccionamientos es el rango de valores
que el procesador sea capaz de seleccionar.
La mayoría de estos buses se componen de 32 líneas en las nos permite direccionar
4 GB.
Bus de Control
Transmiten órdenes e información temporal entre los módulos del computador.
Básicamente manda señales de control como señales de escritura o lectura de
memoria, etc.
Sincroniza las actividades y las transferencias con los puertos del sistema. Las
señales más importantes que transmite son las de reloj para determinar el tiempo
de operaciones y que estas dependen del tipo de procesador que se tenga.
Microprocesador
La Unidad Central de Procesamiento (CPU) también se denomina procesador,
controla el funcionamiento del computador y realiza la operación de procesar los
datos. Lee instrucciones y datos, escribe datos después de procesarlos y utiliza
señales para controlar el funcionamiento del sistema. Recibe instrucciones de
señales de interrupción.
El CPU le dice a la unidad de entrada cuando se puede leer su información para
integrarla a la memoria, le ordena a la unidad lógica aritmética (ALU) cuando
necesita realizar cálculos y permite cuando enviar información a la unidad de salida.
El CPU está compuesto por:
Unidad de Control: Coordina las actividades a ejecutarse en el computador y
determina que acciones se deben realizar, así como el orden de ejecución.
[2] I. Vasilescu, «Columbia University Computing History,» Romanian, 25 Enero 2007. [En línea].
Available: http://www.columbia.edu/cu/computinghistory/eniac.html. [Último acceso: 24
Febrero 2018].
[4] F. Licuy, «HISTORIA DE LAS GENERACIONES DE LOS COMPUTADORES,» [En línea]. Available:
http://proyectoclasefrank.blogspot.mx/p/historia-de-las-generaciones-de-los.html. [Último
acceso: 24 Febrero 2018].
[5] «CubaDebate,» 11 Abril 2012. [En línea]. Available: Así han evolucionado los
microprocesadores. [Último acceso: 24 Febrero 2018].
[14] J. B. V. GOMEZ, «Arquitectura de Computadoras,» Red Tercer Milenio, 2012. [En línea].
Available:
http://www.aliat.org.mx/BibliotecasDigitales/sistemas/Arquitectura_computadoras_I.pdf.
[Último acceso: 24 Febrero 2018].
[19] R. Medina, «Programacion Avanzada en Lenguaje Ensamblador,» 1992. [En línea]. Available:
http://www.ramonmedina.name/files/universidad/ac/ac0001.PDF. [Último acceso: 25
Febrero 2018].