Entradas populares

MICROPROCESADOR RISC

MICROPROCESADORES RISC

En la Arquitectura computacional, RISC (Reduced Instruction Set Computer), Computadora con Conjunto de Instrucciones Reducidas.

Es una filosofía de diseño de CPU para computadora que está a favor de conjuntos de instrucciones pequeñas y simples que toman menor tiempo para ejecutarse.


CARACTERISTICAS


Codificación uniforme de instrucciones , lo que permite una decodificación más rápida.

Modos de direccionamiento simple con modos más complejos reemplazados por secuencias de instrucciones aritméticas simples.

Un conjunto de registros homogéneo, permitiendo que cualquier registro sea utilizado en cualquier contexto y así simplificar el diseño del compilador .

Los tipos de datos soportados en el hardware, no se encuentran en una máquina RISC.


PRIMEROS DESEÑOS RISC

El primer sistema que pudiera ser considerado en nuestros días como RISC no lo era así en aquellos días; era la supercomputadora CDC 6600


OBJETIVO

El objetivo de diseñar máquinas con esta arquitectura es posibilitar la segmentación y el paralelismo en la ejecución de instrucciones y reducir los accesos a memoria.

ARQUITECTURA ORTOGONAL

En un microprocesador con arquitectura ortogonal una instrucción puede utilizar cualquier elemento de la arquitectura como fuente o destino. Esta es una diferencia muy significativa respecto de otros micro controladores










En la memoria de datos de los PIC´s se encuentran ubicados casi todos los registros de control del microcontrolador y sus periféricos de entrada/salida, así como las posiciones de memoria de usos generales.

El PIC16F84 es un microcontrolador con arquitectura basada en bancos de registros ya que todos los elementos del sistema están implementados físicamente como registros

DISPOSITIVOS DE ENTRADA/SALIDA





¿Qué son los dispositivos E/S?

Es la colección de interfaces que usan las distintas unidades funcionales (subsistemas) de un sistema de procesamiento de información para comunicarse unas con otras, o las señales (información) enviadas a través de esas interfaces.

¿Qué son las entradas y las salidas?

Las entradas son las señales recibidas por la unidad, mientras que las salidas son las señales enviadas por ésta.

Entrada

•Teclado
•Ratón
•Joystick
•Lápiz óptico
•Micrófono
•Webcam
•Escáner
•Escáner de código de barras











Salida

•Monitor
•Altavoz
•Auriculares
•Impresora
•Plotter
•Proyector






Entrada/Salida

•Unidades de almacenamiento
•CD
•DVD
•Módem
•Fax
•Memory cards
•USB
•Router
•Pantalla táctil














Funciones que debe realizar una computadora para ejecutar trabajos de entrada/salida

Direccionamiento o selección del dispositivo que debe llevar a cabo la
operación de E/S.

- Transferencia de los datos entre el procesador y el dispositivo (en uno u otro sentido).

- Sincronización y coordinación de las operaciones.

Esta última función es necesaria debido a la diferencia de velocidades entre los dispositivos y la CPU y a la independencia que debe existir entre los periféricos y la CPU (por ejemplo, suelen tener relojes diferentes).

La mayoría de los periféricos están compuestos por una parte mecánica y otra parte electrónica.

Estas partes suelen separarse claramente para dar una mayor modularidad.A la componente electrónica del periférico se le suele denominar controlador o adaptador del dispositivo.


Si el dispositivo no tiene parte mecánica (como, por ejemplo, la pantalla de un terminal), el controlador estará formado por la parte digital del circuito.





Frecuentemente los controladores de los dispositivos están alojados en una placa de circuito impreso diferenciada del resto del periférico.

En este caso es bastante habitual que un mismo controlador pueda dar servicio a dispositivos de características similares.

El principal problema planteado por los periféricos es su gran variedad que también afecta a las velocidades de transmisión. Por tanto, el mayor inconveniente que encontramos en los periféricos es la diferencia entre sus velocidades de transmisión y la diferencia entre éstas y la velocidad de operación de la computadora.


Controladores/Drivers

Un controlador de dispositivo, llamado normalmente controlador es un programa informático que permite al sistema interactuar con un periférico, haciendo una abstracción del hardware y proporcionando una interfaz -posiblemente estandarizada- para usarlo.




Se puede esquematizar como un manual de instrucciones que le indica al sistema operativo, cómo debe controlar y comunicarse con un dispositivo en particular.

La familia de procesadores 80x86, presente en el IBM PC, utiliza la arquitectura Von Neumann, que puede verse en la siguiente figura.

El denominado bus del sistema conecta las diferentes partes de una maquina von Neumann, y en la familia 80x86 se diferencian 3 clasesde buses:

1.Bus de datos, de 8, 16, 32 ´o 64 bits dependiendo del modelo (64 bits para los Pentiums de ultima generación). El número de bits se usa, en general, para determinar el tamaño (size) del procesador.

2. Bus de direcciones, para poder conectar la CPU con la memoria y con los dispositivos de entrada/salida.

3. Bus de control, para enviar señales que determinan cómo se comunica la CPU con el resto del sistema (por ejemplo, las líneas de lectura (read) y escritura (write) especifican qué es lo que se está haciendo en la memoria).

Por tanto, los dispositivos de entrada/salida son una de las partes fundamentales de la arquitectura del computador y su objetivo es la eficiencia en la gestión de las operaciones de entrada/salida, descargando a la CPU de tanto trabajo como sea posible. Estos dispositivos tienen velocidades muy variadas:

Por tanto, un dispositivo concreto no puede aceptar datos enviados a una tasa arbitrariamente alta (por ejemplo, una impresora no puede imprimir los millones de caracteres por segundo que sería capaz de enviarle un Pentium IV). Por ello, ha de haber alguna forma de coordinar el envío de datos entre la CPU y los periféricos. Esa es la misión de los circuitos de interfaz que aparecen en la siguiente figura.


Existen 2 formas básicas de conectar estos circuitos de interfaz, dependiendo del tipo de procesador en que se base la arquitectura. Ambos tipos de acceso requieren que la CPU realice el movimiento de los datos entre el periférico y la memoria principal:

Conexión mapeada en memoria (memory–mapped I/O), que usa “direcciones especiales” en el espacio normal de direcciones. En este caso el circuito de interfaz se conecta en el computador como si fuera memoria. Presentan este tipo de entrada/salida, por ejemplo, aquellas arquitecturas basadas en el M68000 de Motorola. Cualquier instrucción que acceda a la memoria (como “mov”) puede acceder a un puerto I/O mapeado en memoria.

Conexión mediante puertos especiales de entrada/salida (I/O–mapped I/O),
que usa “instrucciones especiales” de entrada/salida 1 y un espacio de direcciones específico. Este es el caso de las CPUs 80x86, y por tanto el que nos interesa para este proyecto.
La familia de procesadores 80x86 proporciona, por tanto, dos espacios de direcciones:
Para memoria
Para dispositivos de E/S


El bus de direcciones (address bus) varía de tamaño según el procesador de la familia que se emplee (puede ser de 20, 24 ´o 32 bits), pero para la entrada/salida es siempre de 16 bits.

Esto permite al microprocesador direccionar hasta 65536 diferentes localizaciones especiales de entrada/salida, lo que es más que suficiente para la mayoría de los dispositivos, aunque muchas veces un dispositivo requiera más de una dirección de entrada/salida (por ejemplo, en el caso del ratón PS/2 veremos que habrá que acceder a las direcciones 60h y 64h; en el
caso del puerto de juegos, suele ser la 201h). Hay 2 espacios de direcciones, pero un solo bus de direcciones y son las líneas de control las que deciden a qué espacio estamos accediendo en cada momento. De esta manera, el direccionamiento de entrada/salida (I/O addressing)
se comporta exactamente igual que el direccionamiento de memoria (memory addressing). La memoria y los dispositivos I/O comparten el bus de datos y los 16 primeros bits del bus de direcciones.

Resumiendo, existen dos consideraciones básicas que debemos hacer en el subsistema de entrada/salida en un IBM PC:

1.Las CPUs 80x86 requieren “instrucciones especiales” para acceder a los dispositivos de entrada/salida.

2. No se pueden direccionar más de 65536 direcciones de entrada/salida. Esto es un problema porque algunos dispositivos requieren más direcciones, como por ejemplo una tarjeta gráfica VGA típica, que necesita más de 128000. Afortunadamente, existen medios, utilizando la circuitería adecuada, para mapear en memoria esos dispositivos.