Está en la página 1de 26

UNIDAD Nº 1: MICROPROCESADOR

Estructura general de una computadora

- 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.

- Clasificación según su arquitectura de construcción

o Computadoras Secuenciales.
o Computadoras Paralelas.

Computadoras Secuenciales SISD (Arquitectura Von Neumann)

Single-Instruction Stream, Single-Data Stream

- Se refiere a las computadoras convencionales de Von Neuman.


- En la categoría SISD están la mayoría de las computadoras existentes. Son equipos con
un solo procesador que trabaja sobre un solo dato a la vez (por eso es secuencial).
- Todas las computadoras SISD utilizan un registro simple llamado “Contador” (PC –
Program Counter) el cual lleva el conteo de la ejecución serial de las instrucciones.
Como cada instrucción es fetcheada desde la memoria, el contador es actualizado para
direccionar a la siguiente instrucción que ha de ser fetcheada y ejecutada, lo que
resulta ser una orden serial de ejecución.

- Características

o Tienen un solo procesador, por lo que pueden ejecutar una instrucción a la


vez.
o Al tener un bus compartido, pueden leer o escribir un dato a la vez.
o Las instrucciones se almacenan en memorias externas, por lo que para
ejecutar una instrucción tiene una serie de etapas específicas:
 Traer el código de la instrucción
 Decodificar la instrucción
 Traer los operandos
 Ejecutar y guardar
Este tipo de arquitectura se asemeja a la forma tradicional en la que se enseña a programar, ya
que el proceso serial o secuencial en que se ejecutan las instrucciones en más sencillo de
entender, sin embargo, está limitado al tiempo en que tarde el procesador en ejecutar cada
etapa de la instrucción.

Computadoras Paralelas SIMD y MIMD (Arquitectura Harvard)

Single-Instruction Stream, Multiple-Data Stream

Multiple-Instruction Stream, Multiple Data Stream

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.

Las características más atractivas de estos sistemas se basan en implementar un mayor


número de procesadores independientes entre sí que comparten datos para ejecutar una
instrucción.

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.

El hecho de duplicar el número de procesadores no garantiza que el rendimiento es el doble ya


que surgen nuevos problemas de coordinación entre ellos, la respuesta final del sistema está
condicionada a que todos los procesadores hayan concluido con su parte. La programación
paralela es más compleja pero bien ejecutada ofrece beneficios a la hora de realizar una sola
tarea en menor tiempo o un mayor número de tareas en un tiempo dado.
Arquitectura SIMD

- 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.

Los procesadores se comunican entre si a través de:

Memoria Compartida

Mismo espacio de memoria para todos los procesadores, en donde almacenan los resultados.

Memoria Distribuida (Red de interconexión)

Memoria distribuida e independiente. Los procesadores intercambian datos entre sí.

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 y Desventajas de SIMD

Ventajas

- Buen manejo de vectores de datos.


- Eficiencia óptima para ciclos for.

Desventajas

- Instrucciones de salto y condicionales no paralelas, ya que contamos con una sola


unidad de control.
- Poco rendimiento en sentencias case.
- Diferentes condiciones de salida en ciclos while, un procesador puede encontrar la
condición de salida antes que otro, por lo que se tiene que deshabilitar y esperar a que
todos cumplan con dicha condición de salida.

Arquitectura MIMD

Esta arquitectura multiprocesadores permite ejecutar diferentes instrucciones con diferentes


flujos de datos, por lo que entregan un gran poder de cómputo.

- Más de un procesador funcionando asíncrona e independientemente.


- Aumenta la capacidad de trabajo conectando varios procesadores entre sí.
- Se divide el problema en varios procesos independientes.
- Múltiples unidades de control.

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

- Comunicación a través de una memoria común


- Lecturas simultaneas sobre memoria caché.
- Escritura Sincronizada

El procesador 1 escribe un dato en una localidad de memora conocida por el procesador 2


y el procesador 2 procede a leer dicha localidad. Si el dato necesita ser leído múltiples
ocasiones por los diferentes procesadores, se almacena en la Memoria Cache.

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

En el caso de la comunicación a través de una red de interconexión a cada procesador se le


asigna un espacio de memoria, además que cada uno cuenta con su propia memoria
cache. La comunicación para el envío de datos entre procesadores se puede dar de dos
maneras, por enlaces físicos que permitan el intercambio de datos en cualquier instante o
una comunicación de múltiples etapas en donde se disminuye el numero de enlaces
físicos, y para lograr la comunicación entre procesadores que no tengan comunicación
directa se debe crear una ruta a través de procesadores intermedios.

Arquitectura SIMD Arquitectura MIMD


Requiere menos hardware: una unidad de Requiere más hardware: cada procesador
control. tiene su propia unidad de control.
Necesita menos memoria: una sola copia Necesita más memoria para cada uno de
del programa. los programas.
Adecuada para aplicaciones que requieran Puede ejecutar tareas distintas al mismo
ejecutar las mismas instrucciones sobre un tiempo o emular un procesador SIMD
gran número de datos. mediante mecanismos de sincronización.
Necesitan menor tiempo para Para comunicarse es necesario usar
comunicarse con los procesadores vecinos mecanismos de sincronización.
dado que poseen un reloj global.
Son más costosas porque requieren Son más baratas porque se pueden
diseñar un microchip de arquitectura construir usando computadores
especial. convencionales de propósito general.
Estructura Básica de una Computadora

Unidad de control

Se encarga de enviar señales de control a los demás elementos de la computadora, es el


que orqueta todos los módulos y decide cual prenderse o cual apagarse y con qué
secuencia.

De este módulo destaca el secuenciador, el cual recibe la instrucción en ensamblador y es


capaz de decodificarlas generando una serie de micro operaciones, las cuales son señales
que se envían a todos los módulos internos y externos de forma coordinada. La instrucción
que recibe por la entrada D proviene de tres lugares diferentes, y un multiplexor es capaz
de elegir la que corresponda.

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.

Unidad de Procesos Aritméticos-Lógicos (ALU)

Es el responsable de realizar todas las operaciones aritméticas y lógicas básicas, sumas,


restas, operaciones lógicas como AND, OR, XOR, NOT, entre muchas más. Tiene diferentes
entradas de datos que son seleccionadas a través de un multiplexor, estos datos son los
operandos que utilizará para realizar la operación que se selecciona a través de las líneas
de instrucción, las cuales establecen operación aritmética o lógica que se va a realizar.
Unidad de Control de Programa (UCP)

Se encarga de calcular la dirección de memoria en donde se encuentra la siguiente


instrucción a ejecutar. Todos los registros importantes, el control del programa PC que
contiene la dirección de memoria de la siguiente instrucción y el apuntador de pilas AP que
sirve para almacenar una dirección cuando ocurre una subrutina, es decir, cuando el
programa ocurre un salto que nos manda a otro punto, almacena la dirección en la que se
encontraba, con la finalidad de que regrese justo a ese punto una vez que la subrutina
haya concluido y así no se pierda en el camino de regreso.

Es importante no confundir las instrucciones almacenadas en la memoria externa con las


micro instrucciones que se encuentran en la memoria del generador ciclo máquina (unidad
de control), ya que las instrucciones de la memoria externa implementan una serie de
estas micro instrucciones, cuidadosamente diseñadas y optimizadas que se ejecutan de la
manera más rápida posible para que la instrucción de máquina no sea lenta.

Reloj – Frecuencia de Señal de Reloj

Es un generador de señales eléctricas en formas de pulsos (series rectangulares de 0’s y


1’s) que sincronizan todas las operaciones elementales de la computadora. Mientras
mayor es la cantidad de pulsos generados por segundo más rápido trabaja la
computadora. A esta velocidad de trabajo se la llama Frecuencia de Reloj.

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.

Existen dos tipos principales:

Los Registros de 8 bits, también conocidos como acumuladores. Se conectan directamente


a la entrada de la ALU y contienen el operando que se utilizará.

El otro tipo de Registros son de 16 bits, que además de servir como acumulador posee
funciones extras.

Clasificación:

Suelen utilizarse como operandos en las


instrucciones del ensamblador. Se pueden
asignar a funciones concretas: datos o
direccionamiento.
De Propósito General Los registros de datos se pueden
diferenciar por el formato y el tamaño de
los datos que almacenan.
Los registros de direccionamiento se
utilizan par acceder a memoria y pueden
almacenar direcciones o índices.
Relacionados con el acceso a las
instrucciones. Los principales son:
Program Counter (PC): Registro Contador
del programa, contiene la dirección de la
instrucción siguiente que hay que leer de
De Instrucción la memoria.
Stack Pointer (SP): Registro de instrucción,
contiene la última dirección de memoria al
utilizar instrucción de salto a subrutina
(CALL). RET devuelve el estado anterior del
SP.
La información sobre el estado del
procesador puede estar almacenada en un
único registro denominado Registro de
Estado. Los bits del registro de estado son
modificados por el procesador como
Registros de estado y de control resultado de la ejecución de algunos tipos
(Banderas) de instrucciones, por ejemplo,
instrucciones aritméticas o lógicas, o como
consecuencia de algún acontecimiento,
como las peticiones de interrupción. Cada
bit o conjunto de bits del registro de
estado indica una información concreta

Unidad de Control de Interrupciones (UCI)

Se encarga de manipular interrupciones externas. Una interrupción provoca que el sistema


deje de hacer lo que está realizando y se enfoque en atender dicha interrupción. Cada
interrupción tiene una prioridad diferente, es decir, dependiendo de su vector de dirección
una interrupción externa tendrá prioridad de ejecución mayor o menor según sea el caso
frente a otra interrupció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.

Registro de Estados o Banderas

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)

1- La UCP carga la dirección de la siguiente instrucción en el registro de direcciones y se


habilita la memoria para lectura. El contenido de la dirección seleccionada, con el
código de la instrucción, es colocado en el bus de datos externo.
2- El código de la instrucción entra por el buffer de datos y se carga en el registro de
instrucción.
3- La UCC decodifica la instrucción, es decir, salta a la dirección de microprograma dada
por el código de la instrucción, en donde comienzan las micro operaciones que serán
ejecutadas.
4- Trae los operandos si así lo requiere la instrucción en ensamblador.
5- Si se trata de una operación lógica aritmética, se le indica la UPA la operación a
ejecutar.
6- Guarda el resultado en el lugar indicado por la instrucción en ensamblador y se
actualizan las banderas o estados.
7- La UCP prepara la dirección de la siguiente instrucción a ejecutar, pero antes, la UCC
revisa si hay interrupciones y efectúa el procedimiento de atención a interrupciones si
es necesario.

Nivel de ejecución: Indica el nivel de privilegio de un programa en ejecución. Un programa


puede desalojar el programa que se ejecuta actualmente si su nivel de privilegio es superior.
Buses

La Unidad de Control necesita comunicarse con la memoria y los periféricos. Esta


comunicación la realiza a través de buses externos que conforman el Bus del Sistema.

El bus es un elemento de comunicación entre los diferentes componentes del ordenador.


Físicamente es un conjunto de hilos utilizados para la transmisión de datos entre los
componentes. Está compuesto por conductos, o vías, que permiten la interconexión de los
diferentes componentes, principalmente con la memoria y la CPU.

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.

Según la estructura de interconexión de los buses, éstos se dividen en dos tipos:

- Bus único: Considera a la memoria y a los periféricos posiciones de memoria, y


establece un símil de las operaciones de entrada y salida con las de escritura y lectura
en memoria.
- Bus dedicado: Considera que la memoria y los periféricos son dos componentes
independientes, por lo que permite controladores DMA.

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.

- Interfaz de Entada: Son los que envían información a la unidad de procesamiento, en


código binario. Dispositivos de entrada.
- Interfaz de Salida: Son los dispositivos que reciben información que es procesada por
la CPU y la reproducen para que sea perceptible para le persona. Dispositivos de
salida.

Funciones de la Interfaz de E/S:

- Se utiliza para sincronizar la velocidad de funcionamiento de la CPU con respecto a los


dispositivos de entrada y salida.
- Selecciona el dispositivo de entrada-salida que es apropiado para la interpretación del
dispositivo.
- Es capaz de proporcionar señales de control y temporización.
- En este almacenamiento en búfer de datos puede ser posible a través del bus de
datos.
- Hay varios detectores de errores.
- Convierte datos seriales en datos paralelos y viceversa. También convierte datos
digitales en señal analógica y viceversa.

La misión principal de la Interfaz de E/S es adaptar los dispositivos externos antes de


conectarlos al bus del sistema. Un computador no puede estar formado sólo por la CPU y la
memoria. Para darle alguna utilidad debe de comunicarse con el mundo exterior a través del
subsistema de entrada/salida (I/O input/output) o conocido como la Interfaz de E/S.
Tipos de E/S:

- 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

Son el mecanismo por el cual un dispositivo externo al procesador puede interrumpir el


programa que está ejecutando el procesador con el fin de ejecutar otro programa (una rutina
de servicio a la interrupción o RSI) para dar servicio al dispositivo que ha producido la
interrupción.

La manera tradicional de comunicarse con los dispositivos si no tenemos interrupciones por


hardware es a través de Consulta de estado o polling.

while (dispositivo está ocupado)

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).

Interrupciones por Hardware

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).

- Traps o Excepciones: Son interrupciones creadas por el procesador en respuesta a


ciertos eventos como:
o Condiciones excepcionales: Overflow en ALU de punto flotante.
o Falla de programa: Tratar de ejecutar una instrucción no definida.
o Fallas de hardware: Error de paridad de memoria.
o Accesos no alineados o zonas de memorias protegidas.
Nuestra CPU puede ejecutar un programa o serie de instrucciones sin preocuparse por la
velocidad de los dispositivos. Si lo pesamos como presionar una tecla del teclado, al momento
que se aprieta la tecla le llega una señal a la CPU “Che mira, te quiero interrumpir”, deja de
ejecutar el programa para ejecutar una subrutina para atender esa interrupción. No se
introduce nada nuevo, simplemente el procesador salta a una subrutina para atender a la
petición del dispositivo. Es por ello que arriba se menciona NO ESTÁN RELACIONADAS CON EL
PROCESO EN EJECUCION EN ESE MOMENTO.

Entonces ahora nos preguntamos ¿Qué tienen que ver las Interrupciones por Software con
esto?

Las interrupciones por sofware utilizan este mismo sistema de interrupciones.

Interrupciones por Software

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.

Pasos para atender la interrupción:

- Almacenar el contador del programa a y la palabra de estado (generalmente se


guardan en la pila).
- Almacenar la dirección donde empieza la rutina para atender la interrupción en el
contador del programa.
- Ejecutar la rutina de servicio de interrupción.
- Recuperar el contador del programa y la palabra de estado.
E/S para DMA (Acceso Directo a Memoria)

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.

El DMA es un procesador/controlador especializado en transferencias muy grandes desde


periféricos a memoria y viceversa.

Es programable. La CPU no realiza ninguna tarea (salvo programar el DMA) ya que la


inicialización y transferencia son gobernadas por el periférico.

Para programar el DMA tiene que enviar al menos los siguientes datos:

- Dirección/puerto periférico E/S.


- Posición/dirección en memoria principal.
- Tamaño (número de bytes a transferir).
- Tipo de transferencia: lectura o escritura.

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.

Unidades de medida de Capacidad y Velocidad

Capacidad de almacenamiento

La capacidad de almacenamiento hace referencia a la cantidad de datos o instrucciones,


expresadas en bytes, que un dispositivo de memoria puede guardar. Se utilizan múltiplos de
byte.
Longitud o ancho de palabra

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.

Es un parámetro indicativo de la potencia de la computadora ya que, mientras mayor sea la


cantidad de bits que se manejan en paralelo, los operandos que procese la ALU pueden ser
números más grandes o mayor la cantidad de datos que se pueden transferir entre CPU y
memoria en los procesos de lectura y escritura.

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.

Ancho de banda o velocidad de procesamiento

El ancho de banda o velocidad de transferencia indica la cantidad de datos (expresada en


bytes) transferidos por unidad de tiempo entre un dispositivo y otro.

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

Memorias RAM (Read Access Memory – Memoria de Acceso Aleatorio)

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)

Se caracterizan por ser únicamente de lectura y no de escritura. Son de acceso secuencial y


su presencia es independiente de la presencia de una fuente de energía (no es volátil).
Operan a una velocidad mucho más lenta que las RAM, por lo que su contenido suele
volcarse en esta última para ejecutarse más velozmente.
Es de tipo digital y puede ser programada
una única vez, ya que cada unidad de
PROM (Programmable Read Only Memory) memoria depende de un fusible que se
quema al hacerlo.
EPROM (Erasable Programmable Read Only Es una forma de memoria PROM que puede
Memory) borrarse al exponerse a la luz ultravioleta o
altos niveles de voltaje, borrando la
información contenida y permitiendo su
reemplazo. Se pueden grabar 10.000 veces.
EEPROM (Electrically Erasable Variante de EPROM que no requiere rayos
Programmable Memory) ultravioletas y puede reprogramarse en el
propio circuito, pudiendo acceder a los bits
de información de manera individual y no en
conjunto. Se puede regrabar 1.000.000
veces.
Memoria FLASH Es igual que una EEPORM solo que con
mayor velocidad de escritura, además con
diferencias de tensión. Es la más utilizada
actualmente.
Placa o tarjeta de memoria

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 (tmb. llamado Demultiplexor)


- Bancos de memoria
- Conexiones (buses)

Decodificador / Demultiplexor

Es un circuito combinacional cuya función es inversa a la del codificador, es decir, conviene un


código binario (natural, BCD, etc) de N bits de entrada y M salidas (N puede ser cualquier
número entero y M menor o igual a 2N) tales que cada línea de salida será activada para una
sola de las combinaciones posibles de entrada.

Su función principal es la de direccionar espacios de memoria. Un decodificador de N entradas


es capaz de direccionar 2N espacios de memoria.

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:

Con 20 bits se tienen 220 lo que equivale a 1MB

Con 30 bits se tienen 230 lo que equivale a 1GB

Cada vez que se agrega una línea de dirección, se duplica la capacidad de direccionamiento.

También sirve para realizar funciones lógicas, por ejemplo:


Decodificador BCD a 7 segmentos

Un decodificador muy conocido es el decodificador BCD a 7 segmentos, donde se traduce un


número binario para ser interpretado por una persona.

Ecuaciones de los decodificadores

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 ejemplo, un decodificador de 10 entradas puede seleccionar:

210=1024 bit= 1kb

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:

Nacen por la necesidad de transferencia de datos y de compartir recursos entre varios


equipos y usuarios.

1851: Primera transmisión por telégrafo (Código Morse).

1876: Invención del teléfono.

1944: Primer cable coaxial submarino.

1961: Conmutación de paquetes.

1972: Demostración de ARPAnet (red de computadoras de la defensa de EE.UU.).

1983: Protocolo TCP/IP.

1990: Primer servidor web.

Concepto:

Red de computadoras es una colección interconectada de computadoras autónomas. Se


consideran interconectadas cuando son capaces de intercambiar información (recursos,
archivos, carpetas, etc.)

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).

La transmisión se realiza a través de un medio o combinación de medios (cables, tecnología


inalámbrica).

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.

Los componentes principales de una red son:

a- Los nodos de red (estación, servidor, dispositivo de comunicación).


b- Los medios de comunicación (físico, inalámbrico).
c- Los protocolos (TCP, IP, UDP, etc.).
CLASIFICACIÓN DE REDES
Red Pública: Puede usarla cualquier persona y por lo general no tienen clave de acceso.
Capaz de compartir información sin importar la ubicación geográfica de los usuarios
Red Privada: Pueden utilizarla algunas personas y tiene clave de acceso.
Red PAN o WAN (Personal Area Network o Wireless Personal Area Network): Red de
computadoras muy pequeña utilizada por un usuario para controlar la intercomunicación
entre sus distintos dispositivos. No superan los 10 m de amplitud.
Los medios para transmitir son cables y diferentes tecnologías inalámbricas.
Red LAN (Local Area Network): Son las redes de un centro de cómputo, oficina, edificio, etc.
Son redes muy rápidas; se limitan a áreas pequeñas. En propósitos administrativos suelen
dividirse en segmentos denominados Workgroups. Se encuentran en un radio menor a 10
km, no hay límite en cantidad de dispositivos.
Red WAN (Wide Area Network): Son redes punto a punto que interconectan ciudades,
países y continentes. Sus velocidades son más bajas que las LAN, aunque pueden
POR ALCANCE, TAMAÑO O transportar grandes cantidades de datos. Funcionan generalmente en las tres capas más
ESCALA bajas del modelo OSI: capa física, capa enlace de datos y capa de red.
Red MAN (Metropolitan Area Network): Conecta diversas LAN cercanas geográficamente
(en un radio de 50 km) entre sí a alta velocidad. Permite que dos nodos remotos se
comuniquen como si fueran parte de la misma red de área local. Está compuesta por routers
o conmutadores conectados mediante fibra óptica. Las WMAN también se conocen como
bucle local inalámbrico y se basan en el estándar IEEE 802.16. Ofrecen una velocidad
efectiva de 1 a 10 Mbps, con un alcance de 4 a 10 km. Pueden alcanzar una velocidad de 155
Mbps.
Red VPN (Virtual Private Network): Forma económica de establecer una Red WAN, también
se la conoce como Intranet. Son redes de gran extensión en las cuales los usuarios utilizan
los recursos de Internet, además de utilizar medidas de seguridad para establecer
conexiones privadas. Montar una VPN entre dos redes equivale a conectar un cable
adicional en la red LAN; se puede asegurar que las redes unidas pasen a ser una sola red. Los
medios de transmisión son microondas, satélites y cables submarinos.
Centralizado: Una computadora central que está conectada a los terminales nodos y/u otros
POR PROCESAMIENTO tipos de dispositivos del terminal.
Distribuido: Dos o más computadoras en diversas localizaciones y que puede incluir
conexiones a los terminales nodos y a otros dispositivos del terminal.
POR MEDIOS DE CONEXIÓN MEDIOS GUIADOS
Cable coaxial: Su ancho de banda se ve limitado a 10 Mbps. Consiste en un par de cables,
una malla y un aislante. En sus extremos se conecta mediante conectores T y debe tener un
terminal con la misma cantidad de ohms, es decir, de resistencia eléctrica.
Cable de par trenzado: Dos cables de cobre trenzados para reducir la diafonía
(superposición de señales).
UTP (Unshielded Twisted Pair): Cable de par trenzado formado por cuatro pares de cables.
Distintas categorías definen el máximo ancho de banda y longitud máxima de tendido.
Fibra óptica: Trasmite fotones de luz, por lo que no existe diafonía. Mayor ancho de banda
pudiendo superar 1 Tb.
Cables submarinos: Utilizados para lograr sistema de comunicaciones internacional.
Punto a punto: Son redes LAN dedicadas a conectar distintos puntos del planeta, sin la
necesidad de utilizar Internet (son redes privadas).
MEDIOS NO GUIADOS
Ondas de radio: Espectro radio eléctrico con diferentes frecuencias (Mhz o Ghz).
Infrarrojos: Generada por un laser o led, y requiere de dos dispositivos que se encuentren en
línea visual. Un láser produce una señal más nítida y con mayor alcance que un led.
Microondas: Se requieren dos antenas alineadas sin obstáculos. La desventaja notable en
este tipo de medio es la latencia. Las ondas utilizadas son electromagnéticas.
Satélites: La estación terrestre se comuncia con el satélite mediante una antena parabólica.
Los satélites se localizan en la órbita geoestacionaria, la cual provee un punto estable de
conexión. El resto de orbitas se utilizan para meteorología, telefonía, etc.
Proveen servicio de datos inferiores a 1Mbps. Las velocidades usuales son 64 Kbps, 128 Kbps
POR RELACION FUNCIONAL O Servidor: computadora que ofrece información o servicios al resto de los dispositivos de la
DEPENDENCIA DEL SERVIDOR red. La clase de información o servicios que ofrece determina el tipo de servidor.
Servidor de archivos: Almacena varios tipos de archivos y los distribuye a otros clientes en la
red.
Servidor de impresiones: Controla impresoras y acepta trabajos de impresión a los clientes
de la red, poniendo en cola los trabajos de impresión.
Servidor de correo: almacena, envía, recibe, enruta y realiza otras operaciones relacionadas
con e-mail para los clientes de la red.
Servidor de fax: almacena, envía, recibe, enruta y realiza otras funciones necesarias para la
transmisión, la recepción y la distribución apropiada de los faxes.
Servidor de telefonía: funciones relacionadas con la telefonía, como contestador
automático, almacenamiento de mensajes de voz, sistema interactivo, etc.
Servidor proxy: Seguridad (Firewall) y otras funciones de los clientes (prefetching).
Servidor de acceso remoto (RAS): Controla líneas de módem de los monitores u otros
canales de comunicación de la red para que las peticiones conecten con la red de una
posición remota, respondan llamas telefónicas entrantes o reconocen la petición de la red y
realizan chequeos necesarios de seguridad y otros procedimientos necesarios para registrar
a un usuario en la red.
Servidor de uso: Realiza la parte lógica de la informática o del negocio de un uso del cliente
Servidor web: almacena documentos HTML, imágenes, archivos de texto, etc.
Servidor de reserva: Contiene el software de reserva de la red instalado y grandes
cantidades de almacenamiento de la red en discos u otras formas de almacenamiento.
Servidor de autenticación: Encargado de verificar que un usuario pueda conectarse a la red
en cualquier punto de acceso, ya sea inalámbrico o por cable, basándose en el estándar
802.1X y puede ser un servidor de tipo RADIUS.

También podría gustarte