Please enable JavaScript.
Coggle requires JavaScript to display documents.
Arquitectura de computadoras - Coggle Diagram
Arquitectura de computadoras
MODELOS DE ARQUITECTURAS DE
COMPUTADORAS
Arquitecturas Clásicas
Estas arquitecturas se desarrollaron en las primeras computadoras electromecánicas y de tubos de vacío.
Arquitectura Harvard
Se pueden almacenar las instrucciones en doce bits.
Los datos se almacenan en ocho bits.
Tiene un bus de datos y otro para el programa.
Arquitectura Mauchly-Eckert (Von Newman)
Los datos de salida pueden ejecutarse como un programa.
Se usa la misma memoria para datos y para el código del
programa.
El bus de datos y direcciones único se convierte en un cuello de botella por el cual debe pasar toda la información que se lee de o se escribe a la memoria.
El procesador se subdivide en: C.U., A.L.U., Registros.
Arquitecturas Segmentadas
Realizan paralelamente varias etapas del ciclo de instrucción.
El número promedio de instrucciones por segundo se
multiplica.
El procesador se divide en varias unidades funcionales independientes y se dividen entre ellas el procesamiento de las instrucciones.
Arquitecturas de Multiprocesamiento
Requiere utilizar más de un procesador para la ejecución del programa de aplicación.
Las CPU de multiprocesamiento se clasifican de la siguiente
manera:
SISO
SIMO
MISO
MIMO
Pueden formarse con varios núcleos en un solo circuito integrado o con varios circuitos integrados en una misma tarjeta madre.
Clústers
Es clave en su funcionamiento contar con un sistema operativo.
Permite usar los avances en los procesadores.
Se debe tener cuidado al implementar la aplicación.
Unidades de procesamiento gráfico
Con múltiples procesadores vectoriales sencillos compartiendo la misma memoria.
Sistemas diseñados originalmente para el procesamiento de gráficos.
Gran cantidad de núcleos con los que cuenta.
CPU
Está compuesta por un número de registros y funciones.
Su capacidad de trabajo determina la capacidad de trabajo de la computadora.
Se puede dividir en 3 bloques principales:
Unidad de ejecución
Registros CPU
ALU
Ejecuta las instrucciones con el soporte de la ALU y de los registros de trabajo de la CPU.
Además, la unidad de ejecución se comunica con los componentes que sean necesarios, aun cuando estos no pertenezcan a la CPU.
Unidad de decodificación
Cola de micro códigos
Pre codificación y secuenciamiento
Cada instrucción que espera en la cola es interpretada y traducida a micro códigos.
Una vez traducidos se disponen a la cola de micro códigos.
Unidad de pre-búsqueda
Unidad de pre-búsqueda
Cola de instrucciones
Obtiene instrucciones de la memoria principal por medio de una unidad que actúa de intermediario con el colector de datos e instrucciones o "bus”.
Dichas instrucciones se disponen en la cola de instrucciones.
La CPU está asociada a la memoria principal para obtener instrucciones, datos y almacenar resultados.
La arquitectura del set de instrucciones se clasifica en tres grupos:
RISC
Sostiene que la mayor parte de los programas utilizan 80% de instrucciones simples y sólo 20% de instrucciones complejas. Por lo que su set de instrucciones está constituido por pocas operaciones simples y rápidas.
CISC
Otorga al programador de aplicaciones gran cantidad de instrucciones diferentes, que le permitan diseñar programas en los que la lógica compleja de un algoritmo se representa con unas pocas instrucciones de alta complejidad.
EPIC
Pretende combinar las anteriores arquitecturas utilizando como estrategia "para ganar velocidad" la "ejecución de múltiples instrucciones en paralelo".
MEMORIA
La memoria se refiere a los dispositivos físicos utilizados para almacenar programas o datos de forma temporal o permanente para su uso en una computadora
El término "memoria", , suele asociarse con la memoria semiconductora direccionable.
Memoria Semiconductora
Hay dos tipos principales de memoria semiconductora:
No volátil
Ejemplo:
Flash
La memoria flash es programable y borrable de forma electrónica, y además puede utilizarse como una unidad de almacenamiento independiente.
ROM o PROM
Es un chip de memoria de computadora que puede ser programado una vez después de ser creado. Una vez programada la PROM, la información escrita es permanente y no puede ser borrada o eliminada.
EPROM
Es un chip de memoria no volátil, que sólo puede ser leída. Si se expone a la luz ultravioleta, una EPROM puede ser reprogramada si es necesario.
EEPROM
Es un chip de memoria de sólo lectura programable y borrable eléctricamente. Ésta memoria recuerda los datos cuando se apaga la computadora.
Volátil
Ejemplo:
La memoria caché rápida de la CPU
La caché es un área de acceso de alta velocidad que puede ser una sección reservada de la memoria principal o en un dispositivo de almacenamiento.
Los dos tipos principales de caché son el caché de memoria y el caché de disco.
La memoria primaria o memoria principal
La RAM (memoria de acceso aleatorio) es un dispositivo de hardware que permite almacenar y recuperar información en una computadora.
Si se apaga la computadora, se pierden todos los datos contenidos en la RAM.
En un chip de memoria semiconductor, cada bit de datos binarios se almacena en un diminuto circuito llamado célula de memoria que consta de uno a varios transistores.
Se accede a los datos mediante un número binario llamado dirección de memoria aplicado a los pines de dirección del chip.
Las dos operaciones básicas que realiza un chip de memoria son "leer" y "escribir".
La mayoría de los tipos de memoria semiconductora tienen la propiedad de acceso aleatorio.
La memoria semiconductora es un dispositivo electrónico de almacenamiento de datos, implementado en un circuito integrado basado en semiconductores.
MANEJO DE ENTRADA / SALIDA
Funciones básicas:
Conectar con la CPU y memoria vía bus del sistema.
Conectar con los periféricos mediante conexiones de datos particularizadas.
Funciones / Requerimientos principales
Control y temporización
Por ejemplo, el control de transferencia de datos entre un periférico y la CPU debe seguir la siguiente secuencia:
La CPU pide al módulo E/S el estado del periférico deseado.
El módulo E/S proporciona el estado.
Si el periférico está listo, la CPU solicita la transferencia de datos por medio de un comando al módulo E/S.
El módulo E/S obtiene el dato del periférico.
El dato se transfiere desde el módulo a la CPU.
Comunicación con la CPU
Comunicación con los periféricos
Buffer de datos
Mientras la transferencia es muy rápida entre éste y la CPU, con los periféricos es mucho más lenta.
Detección de errores
Los datos transferidos desde o hacia el módulo se almacenan en uno o más registros de datos.
El módulo puede también reconocer y generar direcciones asociadas con los dispositivos que controla.
Un módulo de E/S permite a la CPU controlar al periférico únicamente con operaciones de lectura/escritura.
Cuando la CPU, memoria principal e E/S comparten un bus común, hay dos modos de direccionamiento posibles:
Aislado
Con E/S mapeado de memoria existe un único espacio de direcciones para las posiciones de memoria y los módulos E/S.
La CPU trata los registros de datos y estado de los módulos como posiciones de memoria, y utiliza las mismas instrucciones máquina para acceder a memoria y E/S.
Las líneas del bus de direcciones dan un número máximo de posiciones a direccionar, que estarán repartidas entre memoria y E/S en alguna proporción.
Mapeado de memoria
E/S Programable
La principal desventaja de este módulo: el gran consumo de tiempo de la CPU.
El módulo realiza la instrucción que le encarga la CPU y coloca los bits correspondientes en el registro de estado.
Los datos se leen de uno en uno. Para cada palabra, la CPU debe permanecer en un ciclo de comprobación.
E/S Controlada por Interrupción
Requiere repetidas consultas por parte de la CPU, es el control por interrupción.
La mejor manera de implantarlo es la existencia de múltiples lineas, pero resulta impráctico dedicar muchos pines de la CPU a ésta cuestión.
Otras forma de implementación:
Consulta por software
Daisy Chain
Arbitraje de bus
Acceso Directo a Memoria
Se necesita la intervención de la CPU para transferir datos entre memoria y módulos E/S.
Esto tiene dos inconvenientes:
La velocidad de transferencia está limitada por el tiempo que necesita la CPU para testear y servir al periférico.
La CPU debe ejecutar una serie de instrucciones por cada transferencia E/S.
Cuando se necesita transferir grandes cantidades de datos, el acceso directo memoria es más eficiente.
Implica
La inclusión de un módulo adicional al bus del sistema.
Es capaz de sustituir a la CPU tomando control del bus.
Canales y Procesadores de E/S
El canal de E/S es un “pequeño” procesador especializado en operaciones de E/S.
Para realizar una transferencia de E/S, la CPU primero ha de indicar qué canal de E/S ejecuta un determinado programa.
La CPU también debe definir el área de almacenamiento temporal, establecer una prioridad y establecer las correspondientes acciones en caso de error.
El programa a ejecutar está cargado en memoria principal y puede contener instrucciones propias sólo procesables por el canal de E/S.
Después de terminar la operación de E/S, el canal de E/S deja el resultado en un área de memoria y a continuación genera una interrupción para indicar que ha acabado.
BUSES
Para que los componentes se comuniquen entre sí, utilizan canales que se conocen como "bus".
Bus de Direcciones
El bus de direcciones es un canal del microprocesador independiente del bus de datos que establece la dirección de memoria del dato en tránsito.
Bus de Datos
Este es un bus bidireccional, pues los datos pueden fluir hacia o desde la CPU.
Bus de Control
Sincroniza las actividades y transacciones con los periféricos del sistema.
Estructura de los Buses
Los buses se componen de líneas eléctricas que transmiten 0s y 1s
ISA
Es el tipo más común de bus de expansión temprana, que fue diseñado para ser usado en la PC original de IBM.
EISA
La arquitectura del bus fue diseñada para utilizar una ruta de datos de 32 bits.
MCA
IBM desarrolló este bus como reemplazo de la ISA cuando diseñaron el PC PS/2 lanzado en 1987.
VESA
Fue inventada para ayudar a estandarizar las especificaciones de video de las PC.
PCI
Es un bus local como el VESA, es decir, conecta la CPU, la memoria y los periféricos a una vía de datos más amplia y rápida.
PCI Express
Estos componentes pueden tener todos sus controladores en la placa base. O bien pueden usar controladores externos, en el caso de tratarse de tarjetas de expansión.
PCMCIA
Fue fundada para dar un bus estándar para las computadoras portátiles.
AGP
La necesidad de una alta calidad y un rendimiento muy rápido del vídeo en las computadoras llevó al desarrollo del Puerto Gráfico Acelerado
SCSI
Interfaz paralela utilizada por las computadoras Apple Macintosh y sistemas Unix.
USB
bus externo que soporta velocidades de transferencia de datos de 12 Mbps hasta 10Gbps.
Un solo puerto USB conecta hasta 127 dispositivos periféricos.
IEEE 1394
Interfaz de bus serie externo muy rápido que soporta velocidades de transferencia de datos de hasta 800Mbps.
Jerarquía de los Buses
Cuando queremos conectar un gran número de dispositivos nos encontramos con una serie de problemas fundamentales:
La diferencia de velocidad
Hay dispositivos que afecta negativamente al rendimiento global, ya que mientras los dispositivos lentos realizan una única transferencia, otro dispositivo más rápido podría haber realizado muchas más.
Cuellos de botella
Si la demanda de la transferencia es mayor que la capacidad del bus, los dispositivos deberán esperar mucho tiempo para poder transmitir.
El computador tiene diferentes tipos de buses. Cada uno es generalmente más lento que el que se encuentra sobre él, siendo el bus del procesador el más rápido.
Bus interno
Es el nivel más alto en la jerarquía. Comunica las partes internas del procesador.
Bus de memoria
Este bus conecta la memoria al procesador. En algunos sistemas los buses de memoria y del procesador son básicamente los mismos.
Bus del caché
Es un bus dedicado que se tiene en algunas arquitecturas para acceder al caché. En otras arquitecturas el caché se conecta directamente al bus de memoria.