Documentos de Académico
Documentos de Profesional
Documentos de Cultura
- Una computadora digital realiza cálculos con una gran rapidez, obedeciendo
instrucciones específicas.
- Consta de elementos de entrada, elementos de salida, un procesador y una memoria.
o Computadoras Secuenciales.
o Computadoras Paralelas.
- Características
Dentro de las computadoras paralelas encontramos estos dos tipos de flujo único de
instrucciones, múltiples flujos de datos y múltiples flujos de instrucciones y datos.
Es muy común ver en este tipo de arquitecturas varios componentes repetidos y será deber del
programador dividir el problema en varias partes y distribuirlo entre los diferentes
procesadores.
La posibilidad de escalamiento reduce el costo de las máquinas que incluyen esta arquitectura
ya que podríamos aumentar el rendimiento simplemente agregando más procesadores sin
necesidad de rediseñar una computadora con un sistema único.
- Incluye en su diseño varios procesadores que ejecutan la misma instrucción, pero cada
uno cuenta con un flujo de datos independientes.
- Posee una única unidad de control, pero cada uno cuenta con un flujo de datos
independientes, es decir reciben las mismas órdenes de la unidad de control, sin
embargo, cada uno trabaja con un grupo de datos diferentes.
- Capaces de manejar grandes vectores y matrices de datos en tiempos muy cortos, por
lo que obtenemos la capacidad de conseguir paralelismo a nivel de datos.
Aunque parezca que los procesadores son independientes entre sí, existe la posibilidad de
compartir información o datos intermedios, por lo que la comunicación se puede si la memoria
es compartida.
Memoria Compartida
Mismo espacio de memoria para todos los procesadores, en donde almacenan los resultados.
Cada procesador cuenta con memoria propia, por lo que la comunicación se logra a través de
una red de intercomunicación, en donde para intercambiar datos el usuario debe conocer
donde están alojados y moverlos de manera explícita.
Ventajas
Desventajas
Arquitectura MIMD
Al igual que la arquitectura SIMD, los procesadores pueden mantener una comunicación a
través de memoria compartida o por una red de interconexión.
Memoria Compartida
Esta memoria interna es de alta velocidad y baja capacidad, por lo que los datos son
temporales pero el CPU tiene acceso directo a esos datos, por lo que no pierde tiempo
buscándolos.
En el caso de la escritura se debe implementar un mecanismo de sincronización con lo cual
los procesadores pueden acceder a las zonas de memoria compartida sin que exista un
conflicto.
Red de interconexión
- Memoria dividida.
- Memoria caché individual
o Enlaces físicos entre procesadores.
o Comunicación en múltiples etapas
Unidad de control
Después, el secuenciador genera una dirección de memoria para realizar los saltos dentro
de la memoria que contiene el microprograma. En la localidad que esté apuntando
encontramos dos aspectos importantes: Las señales de control encargadas de activar o
desactivar los módulos internos y externos de cada sección están disponibles en la sección
de Salidas y el estado actual en el que se encuentra nuestra maquina de estados lo
tenemos en la sección de Liga, la cual al conectarse con las entradas de la arquitectura, nos
generan la dirección al siguiente salto, por lo que el secuenciador genera un salto dentro
de la memoria para ejecutar otra micro operación.
La velocidad del reloj de un computador determina la rapidez con la que la unidad central
de procesamiento (CPU) puede recuperar e interpretar instrucciones. Las velocidades se
miden en ciclos por unidad de tiempo, y la unidad de medida es el Hercio (Hz) y sus
múltiplos Khz, Mhz, Ghz. H=1/S
Unidad de Registros Internos
Son elementos de acceso rápido que se encuentran dentro del procesador. Constituyen un
espacio de trabajo para el procesador y se utilizan como un espacio de almacenamiento
temporal. Se implementan utilizando elementos de memoria RAM estática. Son
imprescindibles para ejecutar las instrucciones, entre otros motivos, porque la ALU solo
trabaja con los registros internos del procesador.
Los registros sirven para almacenar una serie de bits que pueden ser datos, instrucciones o
cualquier información accesible tanto para el CPU como para el usuario.
El otro tipo de Registros son de 16 bits, que además de servir como acumulador posee
funciones extras.
Clasificación:
Esta unidad de control lo que hace es recibir la petición y generar una dirección de
memoria que se manda al Secuenciador y este genera la secuencia de micro instrucciones
necesarias para atender la interrupción. Ya que la interrupción genera un salto, es
necesario respaldar el contador de programa (PC – Program Counter) para que una vez
finalizada la interrupción no se pierda el programa, por lo que antes de realizar el salto el
apuntador de pila (AP) debe guardar dicha dirección y después se puede atender la
interrupción.
Contiene los valores de 8 variables que indican el estado de los componentes que integran
la arquitectura. Nos sirven como referencia para saber si se está realizando un cierto
proceso de manera correcta, y cada vez que se ejecuta una instrucción, este registro se
actualiza con nuevos valores para cada bandera.
Máquinas de estado y cartas ASM
Como hemos estado viendo, el procesador no trabaja de manera improvisada, sino que
sigue una secuencia de procesos para realizar una operación seleccionada. La toma de
decisiones y las acciones que realiza el GSM se define en la máquina de estados. Es una
herramienta muy útil para describir la conducta del sistema en términos de entradas,
salidas y tiempo, es decir, en base a una serie de entradas o condiciones el sistema actúa
de una manera específica, provocando un resultado o salida. Todo esto es sincronizado
con una señal de tiempo por lo que el sistema es coordinado y preciso.
Una segunda técnica ampliamente utilizada en diseño y sistemas digitales son las cartas
ASM. Son representaciones gráficas del mismo proceso que realiza el sistema. Comparten
mucha similitud con los diagramas de estado, la única diferencia con las máquinas de
estado es que son amigables con el usuario para entender la serie de acciones que
realizan.
Ciclo Fetch-Decode-Execute (Proceso que emplea una computadora para ejecutar una
instrucción)
El Bus del Sistema esta constituido por tres grupos funcionales (tres tipos de buses):
- Bus de Datos: Funciona en conjunción con el bus de direcciones y sirve para transmitir
instrucciones y datos. Es bidireccional, por lo que transmite de la CPU a la memoria y
viceversa.
- Bus de Direcciones: Transmite las direcciones de las posiciones de memoria y de los
dispositivos conectados al bus. Puesto que cada línea puede tener dos posibles
estados (0 y 1), con N líneas se pueden especificar 2N direcciones distintas. Identifica
el dispositivo al que va destinada la información que se transmite por el bus de datos.
- Bus de Control: Transmite las señales de control que coordinan el funcionamiento del
computador. Organiza y redirige la información hacia el bus pertinente según la
información que se desea transmitir. Es el bus encargado de hacer el
direccionamiento.
Otros datos:
- La capacidad operativa del bus depende del propio sistema, de la velocidad de éste y
del "ancho" del bus (número de conductores de datos que funcionan en paralelo).
- El tipo de bus que incorpora un ordenador afecta directamente a la velocidad del
mismo. El bus se caracteriza por el número y la disposición de sus líneas (cada una de
ellas es capaz de transmitir un bit, que es la unidad mínima de transmisión de la
información). En los primeros PC el bus era de 8 bits; es decir, solamente tenía ocho
líneas de datos. En la actualidad, los buses que se utilizan pueden ser de 16, 32, 64,
128 o más bits.
- El número de bits que circulan define el número de líneas de que dispone el ordenador
para transmitir la información de un componente a otro. son como los carriles de una
autopista: cuantos más carriles haya, más vehículos podrán circular por ella.
- También es muy importante la velocidad con la que estos bits circulan por el bus. Esta
velocidad se mide en megahercios, y de ellos depende el rendimiento global del
equipo.
Cuando un dato está preparado para ser transmitido, primero se envía la dirección de destino
por el bus de direcciones, a continuación, se envía el dato por el bus de datos, y todas estas
acciones están controladas por señales que se envían por el bus de control.
Interfaces de E/S (Controladores o Drivers por hardware)
Los controladores o drivers por hardware actúan como intermediarios entre los dispositivos de
E/S y el sistema. Tienen dos misiones principales: traducir las señales genéricas del procesador
a las señales específicas del dispositivo y armonizar de alguna forma la diferencia de velocidad.
Una interfaz es una conexión entre dispositivos que permite la interacción entre ellos o
también se puede conocer metafóricamente como la conversión entre usuario y sistema. La
interfaz de entrada y salida proporciona un método para transferir información entre
dispositivos de E/S de almacenamiento interno y de E/S externo.
- Por consulta programada: La CPU accede a los registros desde programa. Para saber si
el dispositivo está listo, se hace una consulta periódica.
- Por interrupciones (IRQ): El dispositivo avisa a la CPU cuando está listo. La E/S se hace
mediante una rutina de servicio de interrupción.
- Por acceso directo a memoria (DMA): El dispositivo accede directamente a la memoria;
avisa a la CPU del inicio o final de la operación.
Interrupciones
esperar
Hacer E/S
En este caso la CPU va a estar mucho tiempo esperando con un dispositivo más lento que ella.
Imaginemos si esto tiene que hacerlo con varios dispositivos más lentos al mismo tiempo,
entonces nuestra computadora estaría esperando mucho tiempo. Entonces, en lugar de
interactuar de esa manera tenemos las Interrupciones por Hardware.
Las interrupciones se producen por resultado de una ejecución de una instrucción (ej.:
desbordamiento – overflow), por un temporizador interno del procesador (permite al sistema
operativo realizar ciertas funciones de manera regular), por una operación de E/S (para indicar
la finalización normal de una operación) o por un fallo de hardware (error de paridad en la
memoria, pérdida de energía).
Ocurren cuando un dispositivo necesita atención del procesador y genera una señal eléctrica
en la línea IRQ que tiene asignada. No están relacionadas con el proceso en ejecución en ese
momento. Son conocidas como interrupt request (IRQ).
Entonces ahora nos preguntamos ¿Qué tienen que ver las Interrupciones por Software con
esto?
Permiten hacer llamadas directas a una funcion del sistema operativo. Los procesadores Intel
de la grama 8080X y compatibles tienen una instrucción INT que permite generar
interrupciones por software.
Las técnicas anteriores necesitan 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 DMA es más eficiente. Esto
implica la inclusión de un módulo adicional al bus del sistema. El módulo DMA es capaz de
sustituir al CPU tomando control del bus de datos.
Para programar el DMA tiene que enviar al menos los siguientes datos:
A diferencia del mecanismo por interrupción convencional, una orden DMA puede transferir
muchísimos datos de una sola vez, por consiguiente, el número de interrupciones por byte es
menor. Se gana en velocidad, el procesador no se encarga de la transferencia de datos.
Capacidad de almacenamiento
La palabra es el conjunto de bits máximo que un CPU puede procesar en cada ciclo. ES el
conjunto de bits que la computadora utiliza en paralelo al realizar ciertas operaciones internas,
como transferencia de datos entre la CPU y la Memoria Principal. Por lo tanto, el ancho de
palabra o longitud indica el numero de bits que forman la palabra.
Por ejemplo, cuando decimos que un CPU es de 32 bits, significa que la “palabra” máxima que
puede computar en un solo ciclo de reloj es una cadena de 32 dígitos binarios (bits), los de 64
bits manejan 64 dígitos binarios, etc.
Guarda relación con otros aspectos de la arquitectura informática, incluidos la memoria: Por
ejemplo, cada locación de memoria tiene asignada una dirección numérica para identificarse.
Dicha numeración tiene el tamaño de una palabra. Por eso una CPU de 64 bits puede mapear
más cantidades de memoria RAM que un CPU de 32 bits.
Tiempo de acceso
El tiempo de acceso a la memoria principal es el tiempo necesario para realizar una operación
de lectura o escritura. Este tiempo se mide como el intervalo que transcurre en el instante en
que se da la dirección concreta de la celda y el instante en que el dato se encuentra disponible
(lectura) o ha sido almacenado (escritura). Se mide en submúltiplos de segundo.
La unidad de tiempo es el segundo. Por ejemplo, decir que el ancho de banda del bus que
comunica a la memoria y la CPU es de 133 MB/s significa que en 1 segundo se pueden
transferir 133 MB entre la memoria y la CPU.
MEMORIAS
Necesita un flujo de energía constante para funcionar, así que al contrario que la RAM dinámica, no
necesita estar refrescándose para ver qué datos tiene en su interior, por ello es estática.
SRAM (Static RAM) Ventajas: Consume muy poca energía y tiene tiempos de acceso muy bajos.
Desventajas: Capacidades bajas y costos de fabricación altos.
Necesita un refresco periódico de los datos en su interior porque tienen condensadores que
DRAM (Dymanic periódicamente se van descargando, y la pérdida de energía significa pérdida de datos.
RAM) Ventajas: Más baratas de fabricar y mayores capacidades.
Desventajas: Tiempos de acceso más elevados y mayor consumo de energía.
Funciona en sincronía con el procesador, lo que significa que espera a la señal del reloj antes de
responder, teniendo como beneficio que permite al procesador ejecutar dos instrucciones en paralelo. Se
pueden aceptar instrucciones de lectura antes de haber terminado una de escritura (proceso pipelining).
SDR SDRAM (Single Variante mejorada de SDRAM que mejora la manera en la que procesa la
Data Rate información de lectura y escritura. Ejecuta una instrucción de escritura y una de
Synchronous lectura por cada ciclo de reloj del procesador.
Dynamic RAM)
SDRAM Opera de la misma manera que la SDR SDRAM solo que el doble de rápido, es decir,
(Synchronous dos lecturas y dos escrituras por ciclo de reloj. Tiene diferencias físicas: se amplia el
Dynamic RAM) número de pines, de 168 a 184 y opera a diferente voltaje (2.5V frente a los 3.3V de
DDR SDRAM la SDR DRAM). Operan a 200 Mhz.
(Double Data DDR2 SDRAM Funcionan a 533 Mhz, menor voltaje (1.8V) y más pines
Synchronous (240).
Dynamic RAM) DDR3 SDRAM Mayor velocidad (800 Mhz), mayor capacidad y menor
consumo (1.5V). Mismo número de pines (240).
DDR4 SDRAM Mayor velocidad (1600 Mhz), mayor capacidad y menor
voltaje (1.2V). Mayor cantidad de pines (288)
Es de acceso secuencial “First In – First Out”. Se caracteriza por tener un doble puerto: uno de entrada y
otro de salida que actúan asincrónicamente y en las cuales los datos pueden ser leídos únicamente en el
RAM FIFO mismo orden en que fueron escritos (los datos se leen en serie y se escriben en serie) y es FIFO porque a
cada pulso de reloj se desplazan una posición los contenidos de todos los registros de desplazamiento, de
forma que la palabra que entró primero es la primera en salir.
El último que entra es el primero en salir. En cada pulso de reloj entra una nueva palabra que empuja a las
que habían entrado antes, aumentando la altura de la “pila”. Si cambiamos de lectura a escritura hay que
RAM LIFO cambiar también el sentido del desplazamiento y aparecen en el primero registro las palabras en orden
inverso al que fueron escritas. También se le suelen llamar memorias de pila “Stack” porque las palabras
se amontonan en forma de pila.
Memorias ROM (Read Only Memory – Memorias de Solo Lectura)
Para el diseño de una palca de memoria, la primera etapa es el diseño del circuito esquemático
en el cual se especifican los componentes a utilizar. Los componentes que se utilizan son:
Decodificador / Demultiplexor
Para poder direccionar 1KB de memoria se necesitan 10 bits, ya que la cantidad de salidas sería
210, igual a 1024.
De esta manera:
Cada vez que se agrega una línea de dirección, se duplica la capacidad de direccionamiento.
Cantidad = BaseDígitos
Por ejemplo, para un decodificador de 4 entradas podemos direccionar 8 salidas, es decir,
24=8.
Cada salida de un decodificador, puede ser la celda activa de un bit de memora, esto se puede
interpretar que en una memoria debe existir un elemento similar al decodificador para poder
seleccionar un bit de memoria.
Por lo que esta memoria tiene como dato de entrada o de salida 1 bit de información.
En el caso de que se tiene la cantidad y se quiere saber la cantidad de dígitos para cualquier
base, la ecuación es:
Por ejemplo, se quiere saber la cantidad de líneas de direcciones (dígitos binarios) que necesita
una memoria de 1 GB.
CONTINUAR DESDE PÁGINA 23 – UNIDAD
UNIDAD 2 – REDES
Introducción:
Concepto:
Para crear la red es necesario un hardware que una los dispositivos (tarjetas, cables) y un
software que implemente las reglas de comunicación entre ellos (protocolos y servicios).
Ancho de banda: Es la cantidad de información o de datos que se puede enviar a través de una
red en un período de tiempo. Se mide en bites por segundo (BPS), kilobytes por segundo
(kbps) o megabytes por segundo (Mbps). También se lo denomina tasa de transferencia. Una
conexión con ancho de banda alto es aquella que puede transmitir un video.
Una comunicación generalmente es una sucesión de conexiones, cada una con su propio
ancho de banda. Si una de estas conexiones es mucho más lenta que el resto actuará como
cuello de botella tornando lenta la comunicación.