Arquitectura de Computadoras

ARQUITECTURA DE COMPUTADORAS UNIDAD 1 MODELO DE ARQUITECTURAS DE CÓMPUTO 1.1 Modelos de arquitecturas de cómputo Clásic

Views 154 Downloads 4 File size 1MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

ARQUITECTURA DE COMPUTADORAS UNIDAD 1 MODELO DE ARQUITECTURAS DE CÓMPUTO 1.1 Modelos de arquitecturas de cómputo

Clásicas

Estas arquitecturas se desarrollaron en las primeras computadoras electromecánicas y de tubos de Aun son usadas en procesadores empotrados de gama baja y son la base de la mayoría de las Arquitecturas modernas. Arquitectura Mauchly-Eckert (Von Newman) Esta arquitectura fue utilizada en la computadora ENIAC. Consiste en una unidad central de proceso se comunica a través de un solo bus con un banco de memoria en donde se almacenan tanto los códigos de instrucción del programa, como los datos que serán procesados por este. Esta arquitectura es la más empleada en la actualidad ya, que es muy versátil. Ejemplo de esta versatilidad es el funcionamiento de los compiladores, los cuales son programas que toman como entrada un archivo de texto conteniendo código fuente y generan como datos de salida, el código maquina que corresponde a dicho código fuente (Son programas que crean o modifican otros programas). Estos datos de salida pueden ejecutarse como un programa posteriormente ya que se usa la misma memoria para datos y para el código del programa.

PROCESADOR

UNIDAD DE CONTROL

BUS PRINCIPAL

MEMORIA PRINCIPAL ALMACENA EL PROGRAMA Y LOS DATOS

ALU REGISTROS

ENTRADA Y SALIDA

Diagrama a bloques de la arquitectura Von Newman

La principal desventaja de esta arquitectura, es que 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, obligando a que todos los accesos a esta sean secuenciales. Esto limita el grado de paralelismo (acciones que se pueden realizar al mismo tiempo) y por lo tanto, el desempeño de la computadora. Este efecto se conoce como el cuello de botella de Von Newman En esta arquitectura apareció por primera vez el concepto de programa almacenado. Anteriormente la secuencia de las operaciones era dictada por el alambrado de la unidad de control, e cambiarla implicaba un proceso de recableado laborioso, lento (hasta tres semanas) y propenso a errores. En esta arquitectura se asigna un código numérico a cada instrucción. Dichos códigos se almacenan en la misma unidad de memoria que los datos que van a procesarse, para ser ejecutados en el orden en que se almacenados en memoria. Esto permite cambiar rápidamente la aplicación de la computadora y dio origen a las computadoras de propósito general. Mas a detalle, el procesador se subdivide en una unidad de control (C.U.), una unidad lógica aritmética (A.L.U.) y una serie de registros. Los registros sirven para almacenar internamente datos y estado del procesador. La unidad aritmética lógica proporciona la capacidad de realizar operaciones aritméticas y lógicas. La unidad de control genera las señales de control para leer el código de las instrucciones, decodificarlas y hacer que la ALU las ejecute. Arquitectura Harvard Esta arquitectura surgió en la universidad del mismo nombre, poco después de que la arquitectura Von Newman apareciera en la universidad de Princeton. Al igual que en la arquitectura Von Newman, el programa se almacena como un código numérico en la memoria, pero no en el mismo espacio de memoria ni en el mismo formato que los datos. Por ejemplo, se pueden almacenar las instrucciones en bits en la memoria de programa, mientras los datos de almacenan en 8 bits en una memoria aparte

Bus de programa MEMORIA DE PROGRAMA

PROCESADOR

Bus de datos

Unidad de control

Memoria de datos

ALU REGISTRO

Diagrama a bloques de la arquitectura de Harvard

Entrada y Salida

El hecho de tener un bus separado para el programa y otro para los datos permite que se lea el código operación de una instrucción, al mismo tiempo se lee de la memoria de datos los operados de la instrucción previa. Así se evita el problema del cuello de botella de Von Newman y se obtiene un mejor desempeño En la actualidad la mayoría de los procesadores modernos se conectan al exterior de manera similar a la arquitectura Von Newman, con un banco de memoria masivo único, pero internamente incluyen varios niveles de memoria cache con bancos separados en cache de programa y cache de datos, buscando un mejor desempeño sin perder la versatilidad

Segmentadas Las arquitecturas segmentadas o con segmentación del cauce buscan mejorar el desempeño realizando paralelamente varias etapas del ciclo de instrucción al mismo tiempo. El procesador se divide en varias unidades funcionales independientes y se dividen entre ellas el procesamiento de las instrucciones. Para comprender mejor esto, supongamos que un procesador simple tiene un ciclo de instrucción sencillo consistente solamente en una etapa de búsqueda del código de instrucción y en otra etapa de ejecución de la instrucción. En un procesador sin segmentación del cauce, las dos etapas se realizarían de manera secuencial para cada una de las instrucciones, como lo muestra la siguiente figura.

B1

E1

B2

E2

B3

E3

Búsqueda y ejecución en secuencia de tres instrucciones en un procesador En un procesador con segmentación del cause, cada una de estas etapas se asigna a una unidad funcional diferente, la búsqueda a la unidad de búsqueda y la ejecución a la unidad de ejecución. Estas pueden trabajar en forma paralela en instrucciones diferentes. Estas unidades se comunican por medio de una cola de instrucciones en la que la unidad de búsqueda coloca los códigos de instrucción que leyó para que la unidad de ejecución los tome de la cola y los ejecute. Esta cola se parece a un tubo donde las instrucciones entran por un extremo y salen por el otro. De esta analogía proviene el nombre en ingles: Pipelining o entubamiento

UNIDAD DE BUSQUEDA

Cola de instrucción

UNIDAD DE EJECUCION

Comunicación entre las unidades en un procesador con segmentación de cauce

Completando el ejemplo anterior, en un procesador con segmentación, la unidad de búsqueda comenzaría buscando el código de la primera instrucción en el primer ciclo de reloj. Durante el segundo ciclo de reloj, la unidad de búsqueda obtendría el código de la instrucción 2, mientras que la unidad de ejecución ejecuta la instrucción 1 y así sucesivamente. La siguiente figura muestra este proceso

B1

B2

E1

B3

E2

B3

E3

Unidad de búsqueda

Unidad de ejecución

Búsqueda y ejecución en secuencia de tres instrucciones en un procesador sin segmentación del cause En este esquema sigue tomando el mismo numero de ciclos de reloj (el mismo tiempo), pero como se trabaja en varias instrucciones al mismo tiempo, el número promedio de instrucciones por segundo se multiplica. La mejora en el rendimiento no es proporcional al número de segmentos en el cauce debido a que cada etapa no toma el mismo tiempo en realizarse, además de que se puede presentar competencia por el uso de algunos recursos como la memoria principal. Otra razón por la que las ventajas de este esquema se pierden es cuando se encuentra un salto en el programa y todas las que ya se buscaron y se encuentran en la cola, deben descartarse y comenzar a buscar las instrucciones desde cero a partir de la dirección a la que se salto. Esto reduce el desempeño del procesador y aún se investigan maneras de predecir los saltos para evitar este problema.

ESPERA

BUSQUEDA

ESPERA

EJECUCION

Consecuencias de la competencia por un recurso

De multiprocesamiento Cuando se desea incrementar el desempeño más haya de lo que permite la técnica de segmentación del cauce (limite teórico de una instrucción por ciclo de reloj), se 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 – (Single Instruction, Single Operand) computadoras independientes SIMO – (Single Instruction, Multiple Operand ) procesadores vectoriales MISO – (Multiple Instruction, Single Operand ) No implementado MIMO – (Multiple Instruction, Multiple Operand ) sistemas SMP, Clusters

Procesadores vectoriales – Son computadoras pensadas para aplicar un mismo algoritmo numérico a una serie de datos matriciales, en especial en la simulación de sistemas físicos complejos En los sistemas SMP (Simetric Multiprocesesors), varios procesadores comparten la misma memoria principal y periféricos de I/O, Normalmente conectados por un bus común. Se conocen como simétricos, ya que ningún procesador toma el papel de maestro y los demás de esclavos, sino que todos tienen derechos similares en cuanto al acceso a la memoria y periféricos y ambos son administrados por el sistema operativo Los Clusters son conjuntos de computadoras independientes conectadas en una red de área local o por un bis de interconexión y que trabajan cooperativamente para resolver un problema. Es clave en su funcionamiento contar con un sistema operativo y programas de aplicación capaces de distribuir el trabajo entre las computadoras de la red.

1.2 Análisis de los componentes CPU

La Unidad Central de Proceso es el lugar donde se realizan las operaciones de cálculo y control de los componentes que forman la totalidad del conjunto del sistema informático. Las CPU de las actuales computadoras son microprocesadores construidos sobre un cristal de silicio semiconductor donde se crean todos los elementos que forman un circuito electrónico (transistores, etc.) y las conexiones necesarias para formarlo. El microcircuito se encapsula en una pastilla de plástico con una serie de conexiones hacia el exterior, en forma de patillas metálicas, que forman su nexo de unión al resto del sistema informático. Estas pastillas de plástico, con una multitud de patillas de conexión metálicas, reciben el nombre de chips. El microprocesador central de una computadora se divide en: • Unidad de Control (Control Unit o CU en inglés). • Unidad Aritmético-Lógica (Aritmethic Control Unit o ALU en inglés). • Registros.

La Unidad de Control maneja y coordina todas las operaciones del sistema informático, dando prioridades y solicitando los servicios de los diferentes componentes para dar soporte a la unidad aritmético-lógica en sus operaciones elementales. La Unidad Aritmético-Lógica realiza los diferentes cálculos matemáticos y lógicos que van a ser necesarios para la operatividad de la computadora; debe recordarse que todo el funcionamiento del sistema de una computadora se realiza sobre la base de una serie de operaciones matemáticas en código binario. Los Registros son una pequeña memoria interna existente en la CPU que permiten a la ALU el manejo de las instrucciones y los datos precisos para realizar las diferentes operaciones elementales. De la misma forma que la placa principal tiene un bus para conectar la CPU con los diferentes dispositivos del sistema informático, la unidad de control tiene un bus interno para conectar sus componentes Estructura del CPU • El CPU debe: – Extraer instrucciones – Interpretar instrucciones – Extraer datos – Procesar datos – Escribir datos Registros • El CPU debe tener un espacio de trabajo (almacenamiento temporal) • Llamados registros • La cantidad y función varía dependiendo del diseño del procesador • Una de las decisiones más importantes de diseño • El nivel más alto en la jerarquía de memoria

ARQUITECTURAS Existen dos tipos más comunes: CISC: Su sistema de trabajo se basa en la microprogramación. Consiste en hacer que cada instrucción sea interpretada por un miniprograma. RISC: Microprocesador con un conjunto de instrucciones muy reducidas en contraposición. Se basan en estructuras simples y por lo tanto su complejidad total de la CPU es menor. ORGANIZACIÓN Y ARQUITECTURA INTERNA DE LA CPU Diagrama de bloques Los bloques funcionales básicos son: la unidad de procesamiento central (CPU), la memoria principal, y el procesador de Entrada - Salida.

Unidad de proceso central: esta es la responsable de la interpretación y ejecución de instrucciones contenidas en la memoria principal, las comunicaciones entre la CPU y la memoria principal se realizan a través de 2 canales funcionalmente distintos: el de direcciones y el de datos. Para introducir en la memoria, una instrucción especifica, la CPU envía a dicha memoria la dirección de la instrucción por el canal de direcciones y recibe por el mismo medio la instrucción que está en esa dirección. Parte de la instrucción es utilizada por la CPU para identificar la operación. Esta parte se llama código de operación de la instrucción. La información restante se utiliza para determinar la o las localidades de los datos con los cuales se va a efectuar la operación. La acción de leer una instrucción en la CPU y prepararla para su ejecución se denomina ciclo de búsqueda. Para completar una instrucción la CPU decodifica el código de operación, genera las señales de control que se necesitan para introducir los operandos requeridos y controla la ejecución de la instrucción. Por ejemplo, suponiendo que la operación especificada consiste en sumar 2 números requeridos en 2 registros de la CPU y almacenar el resultado en un tercer registro de la CPU. Para efectuar esta instrucción, la CPU identificará los 2 registros y generará las señales de control adecuados para conectar los registros a la unidad de Aritmética y Lógica (ULA). La CPU también haría que la ULA funcione como sumadora y dirija la salida hacia el tercer registro. El proceso de realización que especifica una función se denomina ciclo de ejecución. Los nombres ciclos de búsqueda y ciclos de ejecución derivan de la naturaleza cíclica de la operación de la computadora una vez que esta empieza a funcionar repite los ciclos de búsqueda y ejecución de manera continua. Para hacer referencia a cada ciclo suele utilizar el termino ciclo de maquina. La CPU puede dividirse funcionalmente en 3 subunidades, la unidad de control, dedicada a los ciclos de búsqueda y ejecución, la ULA que desempeña funciones aritméticas como por ejemplo, suma y resta, de lógica por ejemplo AND, OR y un conjunto de registros dedicados al almacenamiento de datos en la CPU y a ciertas funciones de control. Registro e instrucciones de la CPU

-

Registros Instrucciones Aritmética y Lógica Movimientos De datos Operaciones de datos en bloque Instrucciones de control de programa Instrucciones de Entrada-Salida

La CPU contiene un conjunto de localidades de almacenamiento temporal de datos de alta velocidad llamada registro. Algunos de los registros están dedicados al control, y solo la unidad de control tiene acceso a ellos. Los registros restantes son los registros de uso general y el programador es el usuario que tiene acceso a ellos.

Dentro del conjunto básico de registros de control se deben incluir a los siguientes:

-

Contador de programa (PC) Registro de direcciones de la memoria (MAR) Registro de datos (RD) Registro de instrucciones (ER) Palabra de estado de programa (PSW)

(PC): La función del PC consiste en seguir la pista de la instrucción por buscar (capturar) en el siguiente ciclo de maquina, por lo tanto contiene la dirección de la siguiente instrucción por ejecutar. El PC es modificado dentro del ciclo de búsqueda de la instrucción actual mediante la suma de una constante. El número que se agrega al PC es la longitud de una instrucción en palabras. Por lo tanto, si una instrucción tiene una palabra de longitud se agrega 1 al PC, si una instrucción tiene dos palabras de largo se agrega 2, y así sucesivamente.

MEMORIA ARQUITECTURA DE LA MEMORIA (ROM) La arquitectura (estructura) interna de un CI-ROM es muy compleja y no necesitamos conocer todos sus detalles. Sin embargo es constructivo observar un diagrama simplificado de la estructura interna. Existen cuatro partes básicas: decodificador de renglones, arreglo de registros y buffer de salida  Arreglo de registros El arreglo de registros almacena los datos que han sido programados en la ROM. Cada registro contiene un número de celdas de memoria que es igual al tamaño de la palabra. En este caso, cada registro almacena una palabra de 8 bits. Los registros se disponen en un arreglo de matriz< cuadrada que es común a muchos circuitos de semiconductor. Podemos especificar la posición de cada registro como una ubicada en un reglón y una columna específicos. Las 8 salidas de datos de cada registro se conectan a un canal de datos interno que corre atreves de todo el circuito. Cada registro tiene dos entradas de habilitación (E); ambas tienen que ser altas a fin de que los datos del registro sean colocados en el canal.  Decodificadores de direcciones. El código de dirección aplicado A3, A2, A1, A0, determina que registro será habilitado para colocar su palabra de datos en 8 bits en el canal. Los bits de dirección A1, A0, se alimentan de un decodificador uno de 4 que activa una línea de selección de renglón, y los bits de dirección A3, A2, se alimentan de un segundo decodificador uno de cuatro que activa una línea de selección de columna. Solamente un registro estará en el renglón y la columna seleccionados por las entradas de difracción, y estará habilitado.  Buffer de salida El registro habilitado por las entradas de selección coloca el dato que tiene sobre el canal de datos. Estos datos entraran en los buffers de salida mismos que se encargan de trasmitirlos hacia las salidas externas siempre y cuando CS este en bajo. Si CS esta en alto, los buffers de salida se encuentran en el estado de alta impedancia, con lo que D7 asta D0 estarán flotando0

ARQUITECTURA DE LA MEMORIA (RAM) Como sucede con la ROM, es útil pensar que la RAM consta de varios registros, cada uno de los cuales almacenan una sola palabra de datos y tiene una dirección única. Las RAMS comúnmente vienen con capacidades de palabras de 1K, 4K, 8K, 16K, 64K, 128K, 256K, y 1024K, y tamaños de palabras de 1, 4, u 8 bits. Como veremos mas adelante , la capacidad de las palabras y el tamaño de estas puede extenderse combinando circuios integrados de memoria.  Operación de lectura. El código de dirección selecciona un registro del circuito de memoria para leer o escribir. A fin de leer el contenido de registro seleccionado, la entrada lectura/escritura (R/-W)* debe ser un 1. Además, la entrada (CS) selección de CI debe ser activada (un 0 de este caso). La combinación de R/-W es igual a 1 y CS es igual a 0 habilita los buffers de salida de manera que el contenido de registro seleccionado aparecerá en las cuatro salidas de datos. R/-W igual a 1 también deshabilita los buffers de entrada de manera que las entradas de datos no afecten la memoria durante la operación de lectura  Operación de escritura Para escribir una nueva palabra de cuatro bits en el registro seleccionado se requiere que R/-W igual a 0 y CS igual 0. Esta combinación habilita los buffers de entrada de manera que la palabra de cuatro bits aplicada a las entradas de datos se cargara en el registro seccionado. R/-W igual a 0 también deshabilita los buffers de salida que son de tres estados, de manera que las salidas de datos se encuentran en el estado de alta-z, durante una operación de escritura. La operación de escritura, desde luego, destruye la palabra que antes estaba almacenada en la dirección.  Selección de CI. Muchos circuitos de memoria tienen una o mas entradas CS que se usan para habilitar o deshabilitar el circuito en su totalidad. En el modo deshabilitado todas las salidas y entradas de datos se deshabilitas (alta-z) de manera que no puede tener lugar no la operación de lectura ni de escritura. En este modo en contenido de la memoria no se afecta. La razón para tener entradas CS será mas clara cuando se combinen CI de memoria para tener mayores memorias. Observe que muchos fabricantes llaman a estas entradas CE (habilitación de circuito). Cuando las entradas CS o CE se encuentran en un estado activo, se dice que el CI de memoria a sido seleccionado; de otro modo se dice que no esta seleccionado. Muchos CI de memoria están diseñados para consumir una potencia mucho menor cuando están seleccionados. En sistemas de memoria grandes, para una operación dada de memoria, serán seleccionados una o más CI de memoria mientras que los demás no.  Terminales comunes de entrada/ salida A fin de conservar terminales en un encapsulado de CI, los fabricantes a menudo combinan los funciones de entradas y salida de datos utilizando terminales comunes de entrada/salida. La entrada R/-W controla la función de estas terminales E/S. Durante una operación de lectura, las terminales de entrada y salida actúan como salida de datos que reproducen el contenido de la localidad de dirección seleccionada. Durante una operación de escritura, las terminales de S/E actúan como entrada de datos. A las cuales se aplican los datos al ser escritos. ARQUITECTURA DE LA MEMORIA (EPROM)  ROM programable y borrable Una EPROM puede ser programada por el usuario y también puede borrarse y reprogramarse tantas veces como desee. Una vez programada, la EPROM es una memoria no volátil que contendrá sus datos almacenados indefinidamente. El proceso para programar una EPROM implica la aplicación de niveles de voltaje especiales (comúnmente en un orden de 10 a 25 volts) a

las entradas adecuadas del circuito en una cantidad de tiempo especificada (por lo general 50 minutos) por la localidad de dirección. El proceso de programación generalmente es efectuado por un circuito especial de programación que esta separando del circuito en el cual la EPROM eventualmente trabajara. El proceso de programación completo puede llevar barios minutos para un microcircuito EPROM. En una EPROM las celdas de almacenamiento son transistores MOSFET que tienen una compuerta de cilicio sin ninguna conexión eléctrica (es decir, una compuerta flotante). En un estado normal, cada transistor esta apagado y cada celda guarda un 1 lógico un transistor puede encenderse mediante la aplicación de un curso de programación de alto voltaje, el cual inyecta electrones de alta energía en la región formada por la compuerta flotante. Estos electrones permanecen en esta región una vez que ha finalizado el pulso ya que no existe ninguna trayectoria de descarga. Una ves que sea programado una celda de la EPROM se puede borrar su contenida exponiendo la EPROM a la luz ultravioleta (UV), la cual se aplica a través de la ventana que se encuenta sobre el encapsulado del circuito. La luz (UV) produce una foto corriente que va desde la compuerta flotante hacia el sustrato de cilicio; con esto se apaga el transistor y se lleva de nuevo la celda hacia el estado uno lógico. Este proceso de borrado requiere entre 15 a 20 minutos de exposición a los rayos (UV). Desafortunadamente, no existe ninguna forma de borrar solo algunas celdas; la luz (UV) borra todas las celdas al mismo tiempo por lo que una EPROM barrada almacena solamente unos lógicos. Una vez borrada puede volverse a programar.

TIPOS DE MEMORIA RAM: Siglas de Random Access Memory, un tipo de memoria a la que se puede acceder de forma aleatoria; esto es, se puede acceder a cualquier byte de la memoria sin pasar por los bytes precedentes. RAM es el tipo más común de memoria en las computadoras y en otros dispositivos, tales como las impresoras. Hay dos tipos básicos de RAM: •DRAM (Dynamic RAM), RAM dinámica •SRAM (Static RAM), RAM estática Los dos tipos difieren en la tecnología que usan para almacenar los datos. La RAM dinámica necesita ser refrescada cientos de veces por segundo, mientras que la RAM estática no necesita ser refrescada tan frecuentemente, lo que la hace más rápida, pero también más cara que la RAM dinámica. Ambos tipos son volátiles, lo que significa que pueden perder su contenido cuando se desconecta la alimentación. En el lenguaje común, el término RAM es sinónimo de memoria principal, la memoria disponible para programas. En contraste, ROM (Read Only Memory) se refiere a la memoria especial generalmente usada para almacenar programas que realizan tareas de arranque de la máquina y de diagnósticos. La mayoría de los computadores personales tienen una pequeña cantidad de ROM (algunos Kbytes). De hecho, ambos tipos de memoria ( ROM y RAM )permiten acceso aleatorio. Sin embargo, para ser precisos, hay que referirse a la memoria RAM como memoria de lectura y escritura, y a la memoria ROM como memoria de solo lectura. Se habla de RAM como memoria volátil, mientras que ROM es memoria no-volátil. La mayoría de los computadores personales contienen una pequeña cantidad de ROM que almacena programas críticos tales como aquellos que permiten arrancar la máquina (BIOS CMOS). Además, las ROMs son usadas de forma generalizada en calculadoras y dispositivos periféricos tales como impresoras laser, cuyas ‘fonts’ estan almacenadas en ROMs

Tipos de memoria RAM  VRAM: Siglas de Vídeo RAM, una memoria de propósito especial usada por los adaptadores de vídeo. A diferencia de la convencional memoria RAM, la VRAM puede ser accedida por dos diferentes dispositivos de forma simultánea. Esto permite que un monitor pueda acceder a la VRAM para las actualizaciones de la pantalla al mismo tiempo que un procesador gráfico suministra nuevos datos. VRAM permite mejores rendimientos gráficos aunque es más cara que la una RAM normal  SIMM: Siglas de Single In line Memory Module, un tipo de encapsulado consistente en una pequeña placa de circuito impreso que almacena chips de memoria, y que se inserta en un zócalo SIMM en la placa madre o en la placa de memoria. Los SIMMs son más fáciles de instalar que los antiguos chips de memoria individuales, y a diferencia de ellos son medidos en bytes en lugar de bits. El primer formato que se hizo popular en los computadores personales tenía 3.5″ de largo y usaba un conector de 32 pins. Un formato más largo de 4.25″, que usa 72 contactos y puede almacenar hasta 64 megabytes de RAM es actualmente el más frecuente. Un PC usa tanto memoria de nueve bits (ocho bits y un bit de paridad, en 9 chips de memoria RAM dinámica) como memoria de ocho bits sin paridad. En el primer caso los ocho primeros son para datos y el noveno es para el chequeo de paridad  DIMM: Siglas de Dual In line Memory Module, un tipo de encapsulado, consistente en una pequeña placa de circuito impreso que almacena chips de memoria, que se inserta en un zócalo DIMM en la placa madre y usa generalmente un conector de 168 contactos.  DIP: Siglas de Dual In line Package, un tipo de encapsulado consistente en almacenar un chip de memoria en una caja rectangular con dos filas de pines de conexión en cada lado.  RAM Disk: Se refiere a la RAM que ha sido configurada para simular un disco duro. Se puede acceder a los ficheros de un RAM disk de la misma forma en la que se acceden a los de un disco duro. Sin embargo, los RAM disk son aproximadamente miles de veces más rápidos que los discos duros, y son particularmente útiles para aplicaciones que precisan de frecuentes accesos a disco. Dado que están constituidos por RAM normal. los RAM disk pierden su contenido una vez que la computadora es apagada. Para usar los RAM Disk se precisa copiar los ficheros desde un disco duro real al inicio de la sesión y copiarlos de nuevo al disco duro antes de apagar la máquina. Observe que en el caso de fallo de alimentación eléctrica, se perderán los datos que huviera en el RAM disk. El sistema operativo DOS permite convertir la memoria extendida en un RAM Disk por medio del comando VDISK, siglas de Virtual DISK, otro nombre de los RAM Disks  SRAM Siglas de Static Random Access Memory, es un tipo de memoria que es más rápida y fiable que la más común DRAM (Dynamic RAM). El término estática viene derivado del hecho que necesita ser refrescada menos veces que la RAM dinámica. Los chips de RAM estática tienen tiempos de acceso del orden de 10 a 30 nanosegundos, mientras que las RAM dinámicas están por encima de 30, y las memorias bipolares y ECL se encuentran por debajo de 10 nanosegundos Un bit de RAM estática se construye con un --- como circuito flip-flop que permite que la corriente fluya de un lado a otro basándose en cual de los dos transistores es activado. Las RAM estáticas no

precisan de circuiteria de refresco como sucede con las RAMs dinámicas, pero precisan más espacio y usan mas energía. La SRAM, debido a su alta velocidad, es usada como memoria caché  DRAM Siglas de Dynamic RAM, un tipo de memoria de gran capacidad pero que precisa ser constantemente refrescada (re-energizada) o perdería su contenido. Generalmente usa un transistor y un condensador para representar un bit Los condensadores debe de ser energizados cientos de veces por segundo para mantener las cargas. A diferencia de los chips firmware (ROMs, PROMs, etc.) las dos principales variaciones de RAM (dinámica y estática) pierden su contenido cuando se desconectan de la alimentación. Contrasta con la RAM estática. Algunas veces en los anuncios de memorias, la RAM dinámica se indica erróneamente como un tipo de encapsulado; por ejemplo “se venden DRAMs, SIMMs y SIPs”, cuando deberia decirse “DIPs, SIMMs y SIPs” los tres tipos de encapsulado típicos para almacenar chips de RAM dinámica. Tambien algunas veces el término RAM (Random Access Memory) es utilizado para referirse a la DRAM y distinguirla de la RAM estática (SRAM) que es más rápida y más estable que la RAM dinámica, pero que requiere más energía y es más cara  SDRAM Siglas de Synchronous DRAM, DRAM síncrona, un tipo de memoria RAM dinámica que es casi un 20% más rápida que la RAM EDO. SDRAM entrelaza dos o más matrices de memoria interna de tal forma que mientras que se está accediendo a una matriz, la siguiente se está preparando para el acceso. SDRAM-II es tecnología SDRAM más rápida esperada para 1998. También conocido como DDR DRAM o DDR SDRAM (Double Data Rate DRAM o SDRAM), permite leer y escribir datos a dos veces la velocidad bús  FPM: Siglas de Fast Page Mode, memoria en modo paginado, el diseño más comun de chips de RAM dinámica. El acceso a los bits de memoria se realiza por medio de coordenadas, fila y columna. Antes del modo paginado, era leido pulsando la fila y la columna de las líneas seleccionadas. Con el modo pagina, la fila se selecciona solo una vez para todas las columnas (bits) dentro de la fila, dando como resultado un rápido acceso. La memoria en modo paginado tambien es llamada memoria de modo Fast Page o memoria FPM, FPM RAM, FPM DRAM. El término “fast” fué añadido cuando los más nuevos chips empezaron a correr a 100 nanoseconds e incluso más  EDO Siglas de Extended Data Output, un tipo de chip de RAM dinámica que mejora el rendimiento del modo de memoria Fast Page alrededor de un 10%. Al ser un subconjunto de Fast Page, puede ser substituida por chips de modo Fast Page. Sin embargo, si el controlador de memoria no está diseñado para los más rápidos chips EDO, el rendimiento será el mismo que en el modo Fast Page. EDO elimina los estados de espera manteniendo activo el buffer de salida hasta que comienza el próximo ciclo. BEDO (Burst EDO) es un tipo más rápido de EDO que mejora la velocidad usando un contador de dirección para las siguientes direcciones y un estado ‘pipeline’ que solapa las operaciones  RAM Estática o SDRAM Que no necesita ser restaurada, por lo que se vuelve más rápida pero también más costosa que la DRAM. La SDRAM surgió junto con los microprocesadores Pentium II, pero son utilizadas también para Pentium III, AMD K6, K6–2, K6–3, Athlon, Duron y demás variantes. Pueden funcionar a 66, 100 o a 133 MHz En términos prácticos, es buena para la mayoría de los usos de empresa o domésticos, y es más fácil de utilizar

 MEMORIA ROM ROM es el acrónimo de Read-Only Memory (memoria de sólo lectura). Es una memoria de semiconductor no destructible, es decir, que no se puede escribir sobre ella, y que conserva intacta la información almacenada, incluso en el caso de interrupción de corriente (memoria no volátil). La ROM suele almacenar la configuración del sistema o el programa de arranque del ordenador. La memoria de sólo lectura o ROM es utilizada como medio de almacenamiento de datos en los ordenadores. Debido a que no se puede escribir fácilmente, su uso principal reside en la distribución de programas que están estrechamente ligados al soporte físico del ordenador, y que seguramente no necesitarán actualización. Por ejemplo, una tarjeta gráfica puede realizar algunas funciones básicas a través de los programas contenidos en la ROM. Una razón de que todavía se utilice la memoria ROM para almacenar datos es la velocidad ya que los discos son más lentos. Aún más importante, no se puede leer un programa que es necesario para ejecutar un disco desde el propio disco. Por lo tanto, la BIOS, o el sistema de arranque oportuno del ordenador normalmente se encuentran en una memoria ROM. La memoria RAM normalmente es más rápida de leer que la mayoría de las memorias ROM, por lo tanto el contenido ROM se suele trasvasar normalmente a la memoria RAM cuando se utiliza.  Sobre todo lectura Además de los chips clásicos de memoria ROM puros, hay ROM llamada de “sobre todo lectura” (del inglés, Read-Mostly Memory). Esta pueden ser escrita durante su realización, pero además se puede cambiar su contenido después Algunos ejemplos: •Memoria PROM •Memoria EPROM •Memoria EEPROM •Memoria flash  PROM Es el acrónimo de Programmable Read-Only Memory (ROM programable). Es una memoria digital donde el valor de cada bit depende del estado de un fusible (o antifusible), que puede ser quemado una sola vez. Estas memorias son utilizadas para grabar datos permanentes en cantidades menores a las ROMs, o cuando los datos deben cambiar en muchos o todos los casos.  EPROM Son las siglas de Erasable Programmable Read-Only Memory (ROM borrable programable). Es un tipo de chip de memoria ROM inventado por el ingeniero Dov Frohman que retiene los datos cuando la fuente de energía se apaga. En otras palabras, es no volátil.  EEPROM Son las siglas de electrically-erasable programmable read-only memory (ROM programable y borrable eléctricamente), en español o castellano se suele referir al hablar como EPROM y en inglés “E-Squared-PROM”. Es un tipo de memoria ROM que puede ser programado, borrado y reprogramado eléctricamente, a diferencia de la EPROM que ha de borrarse mediante rayos ultravioletas. Aunque una EEPROM puede ser leída un número ilimitado de veces, sólo puede ser borrada y reprogramada entre 100.000 y 1.000.000 de veces.  La Memoria flash es una forma evolucionada de la memoria EEPROM que permite que múltiples posiciones de memoria sean escritas o borradas en una misma operación de programación mediante impulsos eléctricos, frente a las anteriores que sólo permite escribir o borrar una única celda cada vez. Por ello, flash permite funcionar a velocidades muy superiores cuando los sistemas emplean lectura y escritura en diferentes puntos de esta memoria al mismo tiempo.

DISPOSITIVOS DE ENTRADA Y SALIDA LOS DISPOSITIVOS DE ENTRADA/SALIDA: Son aquellos que permiten la comunicación entre la computadora y el usuario DISPOSITIVOS DE ENTRADA: Son aquellos que sirven para introducir datos a la computadora para su proceso. Los datos se leen de los dispositivos de entrada y se almacenan en la memoria central o interna. Los dispositivos de entrada convierten la información en señales eléctricas que se almacenan en la memoria central. Los dispositivos de entrada típicos son los teclados, otros son: lápices ópticos, palancas de mando (joystick), CD-ROM, discos compactos (CD), etc. Hoy en día es muy frecuente que el usuario utilice un dispositivo de entrada llamado ratón que mueve un puntero electrónico sobre una pantalla que facilita la interacción usuario-máquina DISPOSITIVOS DE SALIDA: Son los que permiten representar los resultados (salida) del proceso de datos. El dispositivo de salida típico es la pantalla o monitor. Otros dispositivos de salida son: impresoras (imprimen resultados en papel), trazadores gráficos (plotters), bocinas, entre otros

TIPOS Mouse: La función principal del ratón es transmitir los movimientos de nuestra mano sobre una superficie plana hacia el ordenador. Allí, el software denominado driver se encarga realmente de transformarlo a un movimiento del puntero por la pantalla dependiendo de varios parámetros Teclado: Es el dispositivo más común de entrada de datos. Se lo utiliza para introducir comandos, textos y números. Estrictamente hablando, es un dispositivo de entrada y de salida, ya que los LEDs también pueden ser controlados por la máquina Scanner: A teniéndonos a los criterios de la Real Academia de la Lengua, famosa por la genial introducción del término cederrón para denominar al CD-ROM, probablemente nada; para el resto de comunes mortales, digamos que es la palabra que se utiliza en informática para designar a un aparato digitalizador de imagen. Por digitalizar se entiende la operación de transformar algo analógico (algo físico, real, de precisión infinita) en algo digital (un conjunto finito y de precisión determinada de unidades lógicas denominadas bits). En fin, que dejándonos de tanto formalismo sintáctico, en el caso que nos ocupa se trata de coger una imagen (fotografía, dibujo o texto) y convertirla a un formato que podamos almacenar y modificar con el ordenador. Realmente un escáner no es ni más ni menos que los ojos del ordenador Webcam Una cámara web en la simple definición, es una cámara que esta simplemente conectada a la red o INTERNET. Como te puede imaginar tomando esta definición, las cámaras Web pueden tomar diferentes formas y usos Lápiz Óptico: Dispositivo señalador que permite sostener sobre la pantalla (fotosensible) un lápiz que está conectado al ordenador con un mecanismo de resorte en la punta o en un botón lateral, mediante el cual se puede seleccionar información visualizada en la pantalla. Cuando se dispone de

información desplegada, con el lápiz óptico se puede escoger una opción entre las diferentes alternativas, presionándolo sobre la ventana respectiva o presionando el botón lateral, permitiendo de ese modo que se proyecte un rayo láser desde el lápiz hacia la pantalla fotosensible Joystick: Palanca que se mueve apoyada en una base. Se trata, como el ratón, de un manejador de cursor. Consta de una palanca con una rótula en un extremo, que permite efectuar rotaciones según dos ejes perpendiculares. La orientación de la palanca es detectada por dos medidores angulares perpendiculares, siendo enviada esta información al ordenador. Un programa adecuado convertirá los ángulos de orientación de la palanca en desplazamiento del cursor sobre la misma Monitor o Pantalla: Es el dispositivo en el que se muestran las imágenes generadas por el adaptador de vídeo del ordenador o computadora. El término monitor se refiere normalmente a la pantalla de vídeo y su carcasa. El monitor se conecta al adaptador de vídeo mediante un cable. Evidentemente, es la pantalla en la que se ve la información suministrada por el ordenador. En el caso más habitual se trata de un aparato basado en un tubo de rayos catódicos (CRT) como el de los televisores, mientras que en los portátiles es una pantalla plana de cristal líquido (LCD) Impresoras: Como indica su nombre, la impresora es el periférico que el ordenador utiliza para presentar información impresa en papel. Las primeras impresoras nacieron muchos años antes que el PC e incluso antes que los monitores, siendo durante años el método más usual para presentar los resultados de los cálculos en aquellos primitivos ordenadores, todo un avance respecto a las tarjetas y cintas perforadas que se usaban hasta entonces Plóters: Un plóter es un dispositivo que conectado a una computadora puede dibujar sobre papel cualquier tipo de gráfico mediante el trazado de líneas gracias a las plumillas retirables de las que dispone. La limitación fundamental respecto a una impresora está en la menor velocidad del plóter y en lo limitado de los colores que puede ofrecer, que se ven limitados por el número de plumillas, bien es cierto que se pueden crear mezclando puntos de distintas plumillas, pero el proceso alargaría aún más la obtención de resultados Bocinas: Algunas bocinas son de mesas, similares a la de cualquier aparato de sonidos y otras son portátiles (audífonos). Existen modelos muy variados, de acuerdo a su diseño y la capacidad en watts que poseen.

UNIDAD 2 COMUNICACIÓN INTERNA DE LA COMPUTADORA 2.1 Buses El bus es un sistema digital que transfiere datos entre los componentes de un computador o entre computadores. Están formados por cables o pistas en un circuito impreso, dispositivos como resistencias y condensadores además de circuitos integrados.

2.1.1 BUS LOCAL Bus local. Bus entre la CPU, la memoria y dispositivos periféricos que corre a la velocidad de la CPU. En un computador personal, el bus VL y el PCI suministran una transferencia de datos más rápida que el bus ISA tradicional Teniendo en cuenta las mencionadas limitaciones del bus AT y la infalibilidad de los buses EISA y MCA para asentarse en el mercado, en estos años se han ideado otros conceptos de bus. Se inició con el llamado Vesa Local Bus (VL-Bus), que fue concebido y propagado independientemente por el comité VESA, que se propuso el definir estándares en el ámbito de las tarjetas gráficas y así por primera vez y realmente tuviera poco que ver con el diseño del bus del PC. Fueron y son todavía las tarjetas gráficas quienes sufren la menor velocidad del bus AT. Por eso surgió, en el Comité VESA, la propuesta para un bus más rápido que fue el VESA Local Bus.

Vesa Local Bus Al contrario que con el EISA, MCA y PCI, el bus VL no sustituye al bus ISA sino que lo complementa. Un PC con bus VL dispone para ello de un bus ISA y de las correspondientes ranuras (slots) para tarjetas de ampliación. Además, en un PC con bus VL puede haber, sin embargo, una, dos o incluso tres ranuras de expansión, para la colocación de tarjetas concebidas para el bus VL, casi siempre gráficos. Solamente estos slots están conectados con la CPU a través de un bus VL, de tal manera que las otras ranuras permanecen sin ser molestadas y las tarjetas ISA pueden hacer su servicio sin inconvenientes.

El VL es una expansión homogeneizada de bus local, que funciona a 32 bits, pero que puede realizar operaciones a 16 bits. VESA presentó la primera versión del estándar VL-BUS en agosto de 1992. La aceptación por parte del mercado fue inmediata. Fiel a sus orígenes, el VL-BUS se acerca mucho al diseño del procesador 80486. De hecho presenta las mismas necesidades de señal de dicho chip, exceptuando unas cuantas menos estrictas destinadas a mantener la compatibilidad con los 386. La especificación VL-Bus como tal, no establece límites, ni superiores ni inferiores, en la velocidad del reloj, pero una mayor cantidad de conectores supone una mayor capacitancia, lo que hace que la fiabilidad disminuya a la par que aumenta la frecuencia. En la práctica, el VL-BUS no puede superar los 66 Mhz. Por este motivo, la especificación VL-BUS original recomienda que los diseñadores no empleen más de tres dispositivos de bus local en sistemas que operan a velocidades superiores a los 33 Mhz. A velocidades de bus superiores, el total disminuye: a 40 Mhz

solo se pueden incorporar dos dispositivos; y a 50 Mhz un único dispositivo que ha de integrarse en la placa. En la práctica, la mejor combinación de rendimiento y funciones aparece a 33 Mhz. Tras la presentación del procesador Pentium a 64 bits, VESA comenzó a trabajar en un nuevo estándar (VL-Bus versión 2.0). La nueva especificación define un interface de 64 bits pero que mantienen toda compatibilidad con la actual especificación VL-BUS. La nueva especificación 2.0 redefine además la cantidad máxima de ranuras VL-BUYS que se permiten en un sistema sencillo. Ahora consta de hasta tres ranuras a 40 Mhz y dos a 50 Mhz, siempre que el sistema utilice un diseño de baja capacitancia. En el nombre del bus VL queda de manifiesto que se trata de un bus local. De forma distinta al bus ISA éste se acopla directamente en la CPU. Esto le proporciona por un lado una mejora substancial de la frecuencia de reloj (de la CPU) y hace que dependa de las líneas de control de la CPU y del reloj. A estas desventajas hay que añadirle que no en todos los puntos están bien resueltas las especificaciones del comité VESA, hecho que a la larga le llevará a que el éxito del bus VL se vea empañado por ello. En sistemas 486 económicos se podía encontrar a menudo, pero su mejor momento ya ha pasado.

2.1.2 BUS DE DATOS Mueve los datos entre los dispositivos del hardware de Entrada como el teclado, el ratón, etc.; de salida como la Impresora, el Monitor; y de Almacenamiento como el Disco Duro, el Disquete o la Memoria-Flash. Estas transferencias que se dan a través del Bus de Datos son gobernadas por varios dispositivos y métodos, de los cuales el Controlador PCI, "Peripheral Component Interconnect", Interconexión de componentes Periféricos, es uno de los principales. Su trabajo equivale, simplificando mucho el asunto, a una central de semáforos para el tráfico en las calles de una ciudad.

2.1.3 BUS DE DIRECCIONES El Bus de Direcciones, por otra parte, está vinculado al bloque de Control de la CPU para tomar y colocar datos en el Sub-sistema de Memoria durante la ejecución de los procesos de cómputo. Para el Bus de Direcciones, el "ancho de canal" explica así mismo la cantidad de ubicaciones o Direcciones diferentes que el microprocesador puede alcanzar. Esa cantidad de ubicaciones resulta de elevar el 2 a la 32ª potencia. "2" porque son dos las señales binarias, los bits 1 y 0; y "32ª potencia" porque las 32 pistas del Bus de Direcciones son, en un instante dado, un conjunto de 32 bits. Nos sirve para calcular la capacidad de memoria en el CPU.

2.1.4 BUS DE CONTROL Este bus transporta señales de estado de las operaciones efectuadas por la CPU. El método utilizado por el ordenador para sincronizar las distintas operaciones es por medio de un reloj interno que posee el ordenador y facilita la sincronización y evita las colisiones de operaciones (unidad de control).Estas operaciones se transmiten en un modo bidireccional.

2.1.4 BUSES NORMALIZADOS

Bus: Conjunto de líneas eléctricas (tiras de metal sobre una placa de circuito impreso) Medio compartido:

2.2 DIRECCIONAMIENTO 2.2.1 Modo real El modo real (también llamado modo de dirección real en los manuales de Intel) es un modo de operación del 80286 y posteriores CPUs compatibles de la arquitectura x86. El modo real está caracterizado por 20 bits de espacio de direcciones segmentado (significando que solamente se puede direccionar 1 MB de memoria), acceso directo del software a las rutinas del BIOS y el hardware periférico, y no tiene conceptos de protección de memoria o multitarea a nivel de hardware. Todos los CPUs x86 de las series del 80286 y posteriores empiezan en modo real al

encenderse el computador; los CPUs 80186 y anteriores tenían solo un modo operacional, que era equivalente al modo real en chips posteriores. La arquitectura 286 introdujo el modo protegido, permitiendo, entre otras cosas, la protección de la memoria a nivel de hardware. Sin embargo, usar estas nuevas características requirió instrucciones de software adicionales no necesarias previamente. Puesto que una especificación de diseño primaria de los microprocesadores x86 es que sean completamente compatibles hacia atrás con el software escrito para todos los chips x86 antes de ellos, el chip 286 fue hecho para iniciarse en ‘modo real ‘- es decir, en un modo que tenía apagadas las nuevas características de protección de memoria, de modo que pudieran correr sistemas operativos escritos para microprocesadores más viejos. Al día de hoy, incluso los más recientes CPUs x86 se inician en modo real al encenderse, y pueden correr el software escrito para cualquier chip anterior. Los sistemas operativos DOS (MS-DOS, DR-DOS, etc.) trabajan en modo real. Las primeras versiones de Microsoft Windows, que eran esencialmente un shell de interface gráfica de usuario corriendo sobre el DOS, no eran realmente un sistema operativo por sí mismas, corrían en modo real, hasta Windows 3.0, que podía correr tanto en modo real como en modo protegido. Windows 3.0 podía correr de hecho en dos “sabores” de modo protegido - el “modo estándar”, que corría usando modo protegido, y el “modo mejorado 386″, que además usaba direccionamiento de 32 bits y por lo tanto no corría en un 286 (que a pesar de tener modo protegido, seguía siendo un chip de 16 bits; los registros de 32 bits fueron introducidos en la serie 80386). El Windows 3.1 removió el soporte para el modo real, y fue el primer ambiente operativo de uso masivo que requirió por lo menos un procesador 80286 (no contando con el Windows 2.0 que no fue un producto masivo). Casi todos los sistemas operativos modernos x86 (Linux, Windows 95 y posteriores, OS/2, etc.) cambian el CPU a modo protegido o a modo largo en el arranque.

2.2.2 MODO PROTEGIDO El direccionamiento de memoria en modo protegido (a partir del 80286 y posteriores) permite acceder a datos y programas localizados por encima y dentro del primer megabyte de memoria. Para direccionar esta sección extendida el sistema de memoria se requiere un cambio en el esquema de direccionamiento de segmento más desplazamiento usado en el modo real. Cuando los datos y programa se direccionan la memoria extendida, se sigue utilizando la dirección de desplazamiento para acceder a la información en el segmento de memoria. Una diferencia consiste en la dirección del segmento ya que no existe en modo protegido. En lugar de una dirección de segmento, el registro de segmento contiene un selector que elige un descriptor de una tabla. El descriptor especifica la ubicación del segmento en memoria, su longitud y sus derechos de acceso. Dado que el registro de segmento y la dirección de desplazamiento aún acceden a la memoria, las instrucciones del modo protegido son idénticas a las de modo real. De hecho, la mayoría de los programas escritos para funcionar en modo real funcionarán sin cambios en el modo protegido. La diferencia entre los dos modos es la forma en que el microprocesador interpreta el registro de segmento para acceder al segmento de memoria. Otra diferencia, en los 80386 y posteriores, es que en modo protegido la dirección de desplazamiento puede ser un número de 32 bits en

vez de utilizar uno de 16 bits como en modo real. Es por esto que puede direccionar hasta 4 Gb de longitud. El selector, ubicado en el registro del segmento, elige uno de 8192 descriptores en una de las dos tablas de descriptores. El descriptor especifica la ubicación, la longitud y los derechos de acceso del segmento de memoria, aunque no directamente como en el modo real. Por ejemplo, en el modo real, si CS=0008H, el segmento de código inicia en la localidad 00080H. En modo protegido, este número de segmento puede direccionar cualquier localidad de memoria en todo el sistema para el segmento de código. Existen dos tablas de descriptores utilizadas con los registros de segmentos: una contiene descriptores globales y otra, descriptores locales. Los descriptores globales contienen las definiciones de los segmentos que se aplican a todos los programas, mientras que los descriptores locales son generalmente exclusivos de una aplicación. Podríamos llamar descriptor de sistema a un descriptor global, y descriptor de aplicación a uno local. Cada tabla de descriptores contendrá 8192 entradas, por lo tanto una aplicación podría disponer en cualquier momento de 16.384 descriptores. Puesto que un descriptor describe un segmento de memoria, esto permite que puedan ser descriptos hasta 16.384 segmentos de una aplicación.

Descriptor del 80286

7 5 3 1

00000000

00000000

Derechos de Acceso

Base (B23-B16)

6 4 2 0

Base (B15-B0) Limite (L15-L0)

Descriptor del 80386 al Pentium II G 7

BASE (B13-B24)

5 3 1

Derechos de Acceso

D

O

A

LIMITE

V

(L19L16)

Base (B23-B16) Base (B15-B0) Limite (L15-L0)

6

4 2 0

2.2.3 MODO REAL VIRTUAL Esta técnica consiste en hacer creer al programa que dispone de más memoria que la físicamente disponible en RAM. Este artificio tiene sentido porque en ese momento (y actualmente), la memoria extendida era mayor que la físicamente disponible en muchos sistemas, además el disco duro era estándar en todos los equipos. Esta RAM ficticia se conoce como memoria virtual; una simulación conocida de antiguo en el mundo de los mainframes, que fue introducida en la informática personal a partir del 80286. Este

procesador ya disponía de un controlador hardware para este menester, de forma que su manejo no significaba una gran sobrecarga para el Sistema. Su funcionamiento se basa en que cuando una aplicación necesita más espacio y la memoria física está agotada, el controlador de memoria virtual proporciona espacio auxiliar utilizando un fichero de intercambio (“Swap file”) situado en memoria externa (disco duro generalmente H2), donde se almacena la información que no cabe en la RAM El 80386 soporta la ejecución de uno o más programas diseñados para el 8086, 8088, 80186 u 80188 en un entorno en modo protegido. Un programa de 8086 corre en este entorno como parte de una tarea V86 (virtual 8086). Bajo este modo de funcionamiento puede haber no sólo varias tareas V86 ejecutándose simultáneamente, sino que también se pueden ejecutar varias tareas en 80386. Cada tarea se va a ejecutar en una “máquina virtual” como se comentó en el capítulo 1, que no interactuará con el resto de las máquinas virtuales. Este mecanismo de independencia entre las distintas tareas es ofrecida por el hardware 80386, ahora el programador se ha de preocupar por crear el software necesario para controlar correctamente cada una de estas máquinas virtuales. Todo este software que ayuda a implementar una máquina virtual se denomina monitor de V86. Una tarea V86 genera las direcciones de memoria como se hacen en el modo real (segmento*16 + desplazamiento), por tanto, se salta el mecanismo de segmentación que ofrece el modo protegido a través de la GDT, para generar las direcciones. Hay que mencionar que una tarea que fue diseñada para el modo real del 8086 puede ejecutarse casi sin problemas en el modo V86. En algunos casos algún conjunto de instrucciones pueden diferir ligeramente la ejecución en V86 y en modo real, por lo que un Multitasker ha de tener presencia de ello, a fin de evitar una ejecución errónea de la tarea V86.

2.3 TEMPORIZACIÓN 2.3.1 RELOJ DE SISTEMA Todos los ordenadores, y por tanto los PC disponen de un oscilador a cuarzo (se suele distinguir en la placa base por su encapsulado metálico) que proporciona los pulsos de sincronismo a la CPU, a los buses, y al reloj del PC. El cuarzo es un material curioso para los físicos, si se le golpea produce una pequeña corriente eléctrica, y si se le somete a una corriente eléctrica vibra a una frecuencia función de sus dimensiones físicas, a esta propiedad los físicos le llaman piezoeléctrica. Hay más materiales en la naturaleza con esta propiedad, pero nos quedaremos con el cuarzo. Con un cristal de cuarzo se consigue un buen patrón de frecuencia, o de tiempo que es lo mismo (tiempo y frecuencia son dos magnitudes inversas la una de la otra) y además de forma muy económica, es por ello que los relojes digitales han sustituido poco a poco a los mecánicos. Sin embargo tiene un pequeño inconveniente, resulta que el cuarzo es muy sensible a los cambios de temperatura, pues a nadie se le escapa que la temperatura produce dilataciones y contracciones en los materiales, y ya hemos dicho que la frecuencia de oscilación de un cuarzo depende de su tamaño físico. Para aplicaciones de precisión, los cristales de cuarzo se les hacen funcionar en un pequeño horno con la temperatura constante. La frecuencia del cristal de cuarzo utilizado en los PC's suele ser de 32,768 MHz, pero tiene poca importancia pues el cristal de cuarzo se le puede hacer trabajar en su modo fundamental o en algún sobre tono, además de que la frecuencia puede dividirse o multiplicarse con facilidad A

partir de una frecuencia de 100 MHz, que puede ser la de la memoria RAM, se divide por 12 y tenemos 8 MHz que es la del bus ISA, la dividimos por 3 y tenemos 33 MHz que es la del bus PCI y por último la multiplicamos por 5 y tenemos 500 MHz que es la de la CPU. Cuando se hace overcloking se modifican los valores de los divisores y multiplicadores y nunca el reloj. En el PC hay que distinguir dos relojes:  

El reloj de tiempo real (RTC Real Time Clock) o reloj hardware. El reloj virtual, reloj del sistema (System Clock) o reloj software.

El RTC está compuesto por un circuito contador ROM (Intel 8053 en los XT, Intel 8254 en los AT, Motorota MC14618, Dallas Semiconductors DS1285) que a partir de los impulsos de frecuencia del oscilador controlado por un cristal de cuarzo genera una interrupción cada 54,936 ms (18,206 veces por segundo), otra rutina que los cuenta y una memoria CMOS donde se almacena el valor (14 registros con un total de50 Bytes: año, mes, día, hora, minutos y segundos). El espacio restante de esta memoria alberga otras informaciones de la BIOS, todos estos valores se mantiene en la memoria gracias a la pila o batería que incorporan todos los PC desde 1984 (Modelo AT, antes había que teclear la hora cuando se arrancaba el PC).

El RTC funciona de forma continuada, gracias a la batería, esté encendido o apagado el ordenador. El reloj del sistema lo mantiene el sistema operativo y se arranca en el momento que se enciende el ordenador toma la fecha y la hora del RTC y se para cuando se apaga el ordenador

2.3.2 RESET DEL SISTEMA Se conoce como reset a la puesta en condiciones iníciales de un sistema. Este puede ser mecánico, electrónico o de otro tipo. Normalmente se realiza al conectar el mismo, aunque, habitualmente, existe un mecanismo, normalmente un pulsador, que sirve para realzar la puesta en condiciones iníciales manualmente. En un ordenador o un sistema de transmisión de datos, se usa para restablecer los medios para eliminar cualquier error o la espera de los acontecimientos y llevar un sistema al estado normal o

estado inicial suele ser de una manera controlada. Que normalmente se hace en respuesta a una condición de error cuando es imposible o indeseable de una actividad de procesamiento y proceder a todos los mecanismos de recuperación de errores no. Un equipo de almacenamiento de programa que normalmente realizar un "reset" si un tiempo de espera y recuperación de errores de programas del tipo de reintentar o cancelar tampoco. La capacidad de un dispositivo electrónico para poder restablecer en caso de error o pérdida anormal de energía es un aspecto importante de diseño de sistemas embebidos y programación. Esta capacidad se puede observar la vida cotidiana con la electrónica, como un televisor, un equipo de audio o la electrónica de un coche, que son capaces de funcionar como se pretende una vez más, incluso después de haber perdido el poder de repente. Un repentino y extraño error con un dispositivo que puede a veces ser fijada por la eliminación y restauración de energía, haciendo que el dispositivo de restablecimiento. Algunos dispositivos, como reproductores multimedia portátiles, a menudo tiene un botón de reinicio, ya que son propensos a la congelación o el bloqueo arriba. La falta de una adecuada capacidad de restablecimiento de otro modo, posiblemente, podría hacer que el dispositivo después de una inútil pérdida de potencia o mal funcionamiento. Un restablecimiento se realiza por reiniciar el software del sistema sin reiniciar el hardware

2.3.3 ESTADOS DE ESPERA Cuando se conectan tarjetas de la PC, un problema común es igualar la velocidad de los ciclos del bus con la de las tarjetas. Es común que una tarjeta sea más lenta que el bus. Así, El bus de la PC esta diseñado para resolver este problema. La señal ready del bus se puede usar para extender la longitud del ciclo del bus para igualar una tarjeta lenta o para el bus del sistema hasta que se sincronice con el ciclo de la tarjeta. Los ciclos del bus 8088 normalmente son de cuatro pulsos y se describen por T1 hasta T4. En algunos ciclos el hardware dela PC, automáticamente inserta un pulso ocioso extra llamado TW. La señal ready se usa para insertar estados nuevos o adicionales de espera. Debido a que los diferentes ciclos del bus requieren distintos tiempos, la señal ready se debe controlar de manera diferente. El hardware de la PC no inserta estados de espera en los ciclos de lectura o escritura a memoria, sino que esto lo hace la tarjeta usando la señal ready.

2.4 INTERRUPCIONES DE HARDWARE Las interrupciones hardware son producidas por varias fuentes, por ejemplo del Teclado, cada vez que se presiona una tecla y se suelta se genera una interrupción. Otras interrupciones son originadas por el reloj, la impresora, el puerto serie, el disco, etcétera. Una interrupción de tipo hardware es una señal eléctrica producida por un dispositivo físico del ordenador. Esta señal informa a la CPU que el dispositivo requiere su atención. La CPU parará el proceso que está ejecutando para atender la interrupción. Cuando la interrupción termina, la CPU reanuda la

ejecución en donde fue interrumpida, pudiendo ejecutar el proceso parado originalmente o bien otro proceso.

2.4.1 ENMASCARABLE Una interrupción enmascarable tiene la característica que si el microprocesador ejecuta una instrucción de deshabilitar interrupción, (DI), cualquier señal de control en la línea de interrupción será ignorado o enmascarada (masked out). El procesador se mantendrá sin hacer caso a la línea de la interrupción enmascarable (EI) sea ejecutada. Las interrupciones ordinarias INT también pueden ser “enmascaradas” selectivamente por el programador. Haciendo uso de los flip flops IFF1 y IFF2 a “1” las interrupciones son autorizadas. Poniéndolas a cero (mascarándolos) se prevendrá la detección de INT. La instrucción EI es usada para habilitarlas y DI para deshabilitarlas. IFF1 y IFF” no son “puestos” en “1” simultáneamente durante la ejecución de las instrucciones EI y DI, las interrupciones son deshabilitadas para prevenir cualquier pérdida de información. Para que el microprocesador acepte esta interrupción, deben de cumplirse las siguientes condiciones: 1- Que las interrupciones hayan sido habilitadas previamente. 2- Que la entrada Busreq no esté activa. 3- Que la entrada NMI no esté activa. En la operación normal del Z80 examina la entrada INT en la subida de reloj en el último estado del último ciclo de máquina de cada instrucción y después en cada transferencia o comparación de bloques o entrada y salida de bloques. Cuando la entrada está en 0 lógico y se cumplen todas las condiciones, el microprocesador inicia un ciclo especial de respuesta a la interrupción (interrupt acknowledge) para avisar al dispositivo que su interrupción fue aceptada. Durante este ciclo de máquina se activa la señal M1, pero para distinguirlo de un ciclo normal de lectura de código de operación, la señal IOREQ se activa en lugar de la señal Mreq y la señal RD permanece inactiva. IOREQ se utiliza para indicar al dispositivo que puede colocar una palabra de 8 bits en el bus de datos. Este byte le proporciona al microprocesador información de la dirección en que se encuentra la subrutina de servicio a donde se transferirá el control. Esta información varía dependiendo de la interrupción. Además, durante la interrupción el contenido del PC no se altera y permanece con el último valor que tenía antes de la interrupción.

2.4.2 NO-ENMASCARABLE Una interrupción no enmascarable causa que la CPU deje lo que está haciendo, cambie el puntero de instrucción para que apunte a una dirección particular y continúe ejecutando el código de esa dirección. Se diferencia de los otros tipos de interrupción en que los programadores no pueden hacer que la CPU las ignore, aunque algunos ordenadores pueden por medios externos bloquear esa señal, dando un efecto similar al resto de las interrupciones. Al no poderse desactivar son empleadas por dispositivos para los que el tiempo de respuesta es crítico, como por ejemplo el

coprocesador matemático Intel 8087 en el IBM PC, el indicador de batería baja, o un error de paridad que ocurra en la memoria. En algunos ordenadores Clónicos (ordenador que se monta a partir de diferentes marcas) las interrupciones no enmascarables se usaban para manejar las diferencias entre su hardware y el original de IBM. Así, si se intentaba acceder a uno de estos dispositivos se lanzaba una interrupción no enmascarable y la BIOS ejecutaba el código para el hardware presente en la máquina. También se podían lanzar interrupciones no enmascarables por el usuario, permitiendo interrumpir el programa actual para permitir la depuración. En este caso al lanzarse una interrupción no enmascarable se suspendía la ejecución del programa actual y el control se transfería a un depurador para que el programador pudiera inspeccionar el estado de la memoria, los registros, etc. Estas instrucciones no enmascarables eran lanzadas de diferentes maneras, como pulsando un botón, por medio de una combinación de teclas o por medio de un programa. En juegos, se producía una instrucción no enmascarable y se interrumpía el juego, de esta manera se podían conseguir vidas extras por ejemplo modificando el área de memoria donde se guardaban las vidas restantes.

2.5 ACCESO DIRECTO A MEMORIA El acceso directo a memoria (DMA, del inglés Direct Memory Access) permite a cierto tipo de componentes de ordenador acceder a la memoria del sistema para leer o escribir independientemente de la CPU principal. Muchos sistemas hardware utilizan DMA, incluyendo controladores de unidades de disco, tarjetas gráficas y tarjetas de sonido. DMA es una característica esencial en todos los ordenadores modernos, ya que permite a dispositivos de diferentes velocidades comunicarse sin someter a la CPU a una carga masiva de interrupciones.

2.5.1 SISTEMA DE VIDEO

- Número de imágenes por segundo Velocidad de carga de las imágenes: número de imágenes por unidad de tiempo de vídeo, para viejas cámaras mecánicas cargas de seis a ocho imágenes por segundo (fps) o 120 imágenes por segundo o más para las nuevas cámaras profesionales. Los estándares PAL y SECAM especifican 25 fps, mientras que NTSC especifica 29,97 fps. El cine es más lento con una velocidad de 24fps, lo que complica un poco el proceso de transferir una película de cine a video. Para lograr la ilusión de una imagen en movimiento, la velocidad mínima de carga de las imágenes es de unas quince imágenes por segundo.

- Entrelazado El video puede ser entrelazado o progresivo. El entrelazado fue inventado como un método de lograr una buena calidad visual dentro de las limitaciones de un estrecho ancho de banda. Las líneas entrelazadas de cada imagen están numeradas consecutivamente y divididas en dos campos: el campo impares (campo superior), que consiste en las líneas de los números impares y el campo pares (casilla inferior), que consiste en las líneas de los números pares. NTSC, PAL y SECAM son formatos entrelazados. Las especificaciones abreviadas de la resolución de video a menudo incluyen una “i” para indicar entrelazado. Por ejemplo, el formato de video PAL es a

menudo especificado como 576i50, donde 576 indica la línea vertical de resolución, i indica entrelazado, y el 50 indica 50 campos (la mitad de imágenes) por segundo. En los sistemas de barrido progresivo, en cada período de refresco se actualizan todas las líneas de exploración. El resultado es una mayor percepción de la resolución y la falta de varios artefactos que pueden formar parte de una imagen estacionaria aparentemente en movimiento o que parpadea. Un procedimiento conocido como desentrelazado puede ser utilizado para transformar el flujo entrelazado, como el analógico, el de DVD, o satélite, para ser procesado por los dispositivos de barrido progresivo, como el que se establece en los televisores TFT, los proyectores y los paneles de plasma. El desentrelazado no puede, sin embargo, producir una calidad de video equivalente al material de barrido progresivo real.

- Resolución de video El tamaño de una imagen de video se mide en píxeles para video digital, o en líneas de barrido horizontal y vertical para video analógico. En el dominio digital, (por ejemplo DVD) la televisión de definición estándar (SDTV) se especifica como 720/704/640 × 480i60 para NTSC y 768/720 × 576i50 para resolución PAL o SECAM. Sin embargo, en el dominio analógico, el número de líneas de barrido sigue siendo constante (486 NTSC/576 PAL), mientras que el número de líneas horizontal varía de acuerdo con la medición de la calidad de la señal: aproximadamente 320 píxeles por línea para calidad VCR, 400 píxeles para las emisiones de televisión, y 720 píxeles para DVD. Se conserva la relación de aspecto por falta de píxeles “cuadrados”. - Espacio de color y bits por píxel El nombre del modelo del color describe la representación de color de vídeo. El sistema YIQ se utilizó en la televisión NTSC. Se corresponde estrechamente con el sistema YUV utilizado en la televisión NTSC y PAL; y con el sistema Y Db Dr utilizado por la televisión SECAM. El número de colores distintos que pueden ser representados por un pixel depende del número de bits por pixel (bpp). Una forma de reducir el número de bits por píxel en vídeo digital se puede realizar por submuestreo de croma (por ejemplo, 4:4:4, 4:2:2, 4:2:0). -

Método de compresión de video (sólo digital) Se usa una amplia variedad de métodos para comprimir secuencias de video. Los datos de video contienen redundancia temporal y espacial, lo que hace que las secuencias de video sin comprimir sean extremadamente ineficientes. En términos generales, se reduce la redundancia espacial registrando diferencias entre las partes de una misma imagen (frame); esta tarea es conocida como compresión intraframe y está estrechamente relacionada con la compresión de imágenes. Así mismo, la redundancia temporal puede ser reducida registrando diferencias entre imágenes (frames); esta tarea es conocida como compresión interframe e incluye la compensación de movimiento y otras técnicas. Los estándares modernos más comunes son MPEG-2, usado para el DVD y la televisión por satélite, y MPEG-4 usado para los sistemas de video “caseros”.

- Tasa de bits (sólo digital) La tasa de bits es una medida de la tasa de información contenida en un flujo o secuencia de video. La unidad en la que se mide es bits por segundo (bit/s o bps) o también Megabits por segundo (Mbit/s o Mbps). Una mayor tasa de bits permite mejor calidad de video. Por ejemplo, el Video CD?, con una tasa de bits de cerca de 1Mbps, posee menos calidad que un DVD que tiene una tasa de alrededor de 20Mbps. La VBR (Variable Bit Rate – Tase de Bits Variable) es una estrategia para maximizar la calidad visual del video y minimizar la tasa de bits. En las escenas con movimiento rápido, la tasa variable de bits usa más bits que los que usaría en escenas con movimiento lento pero de duración similar logrando una calidad visual consistente. En los casos de video streaming en tiempo real y sin buffer, cuando el ancho de banda es fijo (por ejemplo en videoconferencia emitida por canales de ancho de banda constante) se debe usar CBR (Constant Bit Rate – Tasa de Bits Constante).

2.5.2 SISTEMAS DE DISCO Discos IDE. Son los orientados normalmente al consumo domestico. Existen dos técnicas de acceso a estos discos. Son los modos PIO y los modos DMA. Técnicas de acceso I/O Modos PIO: En los discos antiguos, el acceso a disco se hacia mediante técnicas PIO (Program Input/Output). Estos tipos de acceso, implican mucho trabajo a la CPU (constantemente interrogando a los puertos de comunicaciones con el disco), y poca velocidad de transferencia, ya que lo máximo que podía traerse la CPU es de dos en dos bytes del disco por cada operación PIO. Los modos PIO son de PIO 1 a PIO 4, siendo el más rápido este ultimo.

2.5.3 OTRAS APLICACIONES Modos DMA. Evidentemente el modo anterior queda obsoleto desde el momento en que las tecnologías de las placas madre y de los buses de las placas madre, permiten la técnica del bus mastering. Esta técnica consiste en que el dispositivo puede tomar el control del bus desconectando del bus a la CPU y durante esa fracción de tiempo hacer llegar datos a la memoria del ordenador de una manera masiva. En ese momento el procesador está inoperativo, pero la velocidad de transferencia conseguida por la electrónica del disco y de la controladora supera con creces la parada de la CPU. Dispositivos ATA/ATAPI Windows XP habilita por defecto el modo DMA en la mayoría de los dispositivos ATA / ATAPI, pero para asegurar la estabilidad del sistema cuando encuentra un número grande de errores (más de seis) durante la transferencia de datos, seleccionará el modo PIO. Dispositivos en modo DMA En dispositivos ATAPI, excepto DVD y CD-RW Windows XP habilita por defecto el modo PIO en CDROM y dispositivos removibles como los magnetoópticas. Podemos habilitar el DMA a través del administrador de dispositivos. Windows XP habilita por defecto el DMA en ATAPI DVD y CD-RW/CD-R.

UNIDAD 3 SELECCIÓN DE COMPONENTES PARA ENSAMBLE DE EQUIPOS DE COMPUTO 3.1 CHIP SET

El chipset es el conjunto de chips que se encarga de controlar algunas funciones concretas del ordenador, como la forma en que interacciona el microprocesador con la memoria o la caché, o el control de los puertos y slots ISA, PCI, AGP, USB... El chipset de una placa base es un conjunto de chips cuyo número varía según el modelo y que tiene como misión gestionar todos los componentes de la placa base tales como el micro o la memoria; integra en su interior las controladoras encargadas de gestionar los periféricos externos a través de interfaces como USB, IDE, serie o paralelo. El chipset controla el sistema y sus capacidades, es el encargado de realizar todas las transferencias de datos entre los buses, la memoria y el microprocesador, por ello es casi el "alma" del ordenador. Dentro de los modernos chipset se integran además distintos dispositivos como la controladora de vídeo y sonido, que ofrecen una increíble integración que permite construir equipo de reducido tamaño y bajo coste. Las características del chipset y su grado de calidad marcarán los siguientes factores a tener en cuenta:   

Que obtengamos o no el máximo rendimiento del microprocesador. Posibilidades de actualizar el ordenador. Poder utilizar ciertas tecnologías más avanzadas de memorias y periféricos.

3.1.1 CONTROLADOR DEL BUS El controlador del bus se encarga de la frecuencia de funcionamiento y las señales de sincronismo, temporización y control. Está ubicado en un chip en la placa base. El Bus es la vía a través de la que se van a transmitir y recibir todas las comunicaciones, tanto internas como externas, del sistema informático. El bus es solamente un Dispositivo de Transferencia de Información entre los componentes conectados a él, no almacena información alguna en ningún momento. Los datos, en forma de señal eléctrica, sólo permanecen en el bus el tiempo que necesitan en recorrer la distancia entre los dos componentes implicados en la transferencia. En una unidad central de sistema típica el bus se subdivide en tres buses o grupos de líneas: Bus de Direcciones, Bus de Datos, Bus de Control

3.1.2 PUERTO DE ENTRA/SALIDA Cualquier dispositivo (distinto de la memoria RAM) que intercambie datos con el sistema lo hace a través de un "puerto", por esto se denominan también puertos de E/S ("I/O ports"). Desde el punto de vista del software, un puerto es una interfaz con ciertas características; se trata por tanto de una abstracción (no nos referimos al enchufe con el que se conecta físicamente un dispositivo al sistema), aunque desde el punto de vista del hardware, esta abstracción se corresponde con un dispositivo físico capaz de intercambiar información (E/S) con el bus. Como los dispositivos E/S tienen algún tipo de conexión con el bus externo, deben tener una dirección (o conjunto de ellas) que los identifique. Los hemos comparado con un teléfono, un dispositivo con el que se puede enviar/recibir información mediante una dirección. Hablar de un puerto E/S es casi siempre sinónimo de una dirección, y es costumbre informática referirse a estas direcciones en hexadecimal. De modo que, por ejemplo, un puerto puede ser 0x21 en un fuente o 21h en un texto informático.

3.1.3 CONTROLADOR DE INTERRUPCIONES Las peticiones hardware de interrupción del PC son manejadas por un chip, conocido como PIC#1 ("Programmable Interrupt Controller"). Originariamente era un 8259A, que puede manejar 8 peticiones (IRQ0/IRQ7), pero pronto se hizo evidente que eran un número excesivamente corto, por lo que en 1984 IBM añadió un segundo controlador PIC#2 en el modelo AT, que podía manejar las peticiones IRQ8 a IRQ15, aunque las interrupciones utilizables resultantes no fuesen de 16 como cabría suponer, por las razones apuntadas en el párrafo anterior.

El PIC dispone de 16 niveles de prioridad, numerados del 0 al 15, de forma que los de número más bajo se atienden antes que los de número más alto. La asignación a cada nivel es como sigue: Nivel Asign. Nivel Asign. Nivel Asign. Nivel Asign. 0

NMI

1

IRQ0

4

IRQ9

5

IRQ10 6

IRQ11 7

IRQ12

8

IRQ13 9

IRQ14 10

IRQ15 11

IRQ3

12

IRQ4

IRQ5

IRQ6

IRQ7

13

2

14

IRQ1

3

15

IRQ8

3.1.4 CONTROLADOR DEL DMA El mecanismo de acceso directo a memoria está controlado por un chip específico, el DMAC ("DMA Controller"), que permite realizar estos intercambios sin apenas intervención del procesador. En los XT estaba integrado en un chip 8237A que proporcionaba 4 canales de 8 bits (puede mover solo 1 Byte cada vez); sus direcciones de puerto son 000-00Fh. Posteriormente en los AT se instalaron dos de estos integrados y las correspondientes líneas auxiliares en el bus de control. En contra de lo que podría parecer, el resultado no fue disponer de 8 canales, porque el segundo controlador se colgó en "Cascada" de la línea 4 del primero (más adelante se explica este concepto. Los canales del segundo DMAC está asignado a las direcciones 0C0-0DFh y son de 16 bits. Pueden mover 2 Bytes (de posiciones contiguas) cada vez. Cada canal tiene asignada una prioridad para el caso de recibirse simultáneamente varias peticiones (los números más bajos tienen prioridad más alta). Pueden ser utilizados por cualquier dispositivo que los necesite (suponiendo naturalmente que esté diseñado para soportar este modo de operación). Cada sistema los asigna de forma arbitraria, pero hay algunos cuya asignación es estándar. Canal Uso

0

En los primitivos PCs estaba dedicado al refresco de memoria. En los sistemas actuales está libre.

1

Libre: Generalmente a dispositivos SDLC [3] (codificadores de audio)

2

Controlador de disquete

3

Controlador puerto de impresora ECP [2]

4

Libre en los XT. Ocupado en (segundo controlador DMAC)

5

Libre (AT)

6

Libre (AT)

7

Libre (AT)

los AT

3.1.5 CIRCUITOS DE TEMPORIZACIÓN Y CONTROL Circuito de temporizador y control: Es una red secuencial que acepta un código que define la operación que se va a ejecutar y luego prosigue a través de una secuencia de estados, generando una correspondiente secuencia de señales de control. Estas señales de control incluyen el control de lectura - escritura y señales de dirección de memoria válida en el bus de control del sistema. Otras señales generadas por el controlador se conectan a la unidad aritmética - lógica y a los registros internos del procesador para regular el flujo de información en el procesador y a, y desde, los buses de dirección y de datos del sistema El diodo D1 se encarga de rectificar la corriente proporcionada por el secundario de un transformador a la que se conectará el equipo que, se ha de controlar, para lo cual deberá observarse las precauciones básicas y elementales a la hora de seleccionar los diferentes elementos mencionados, respetando un margen de seguridad de la tensión a la que se someterán los componentes del montaje. Aún teniendo la tensión continua se necesita el diodo D1 para evitar la descarga de retorno, a continuación, se intercala la resistencia R1 que será la responsable directa del tiempo de carga del condensador electrolítico, es decir, a mayor valor resistivo le corresponde un mayor tiempo de carga del condensador. Para no entrar en cálculos empíricos, es cuestión de realizar unas pruebas o ensayos para averiguar la resistencia que en principio debe dejar pasar una corriente muy baja, dependiendo de la capacidad de C1. El siguiente elemento, el condensador C1, debe escogerse de una considerable capacidad, cosa muy determinante, pero sin perder de vista la tensión, si utilizáramos la tensión de red de 220V, la tensión de C1 debe estar sobre 400V o mayor a la que se verá sometido, para evitar se caliente o perfore quedando inservible definitivamente. Un condensador de los que se utilizan en los motores de las lavadoras o los frigoríficos será el adecuado. A la hora de elegir el condensador, es conveniente considerar su tamaño y siempre que sea posible debería optarse como se ha mencionado por un modelo electrolítico (de ahí el uso del diodo) debido esencialmente a la mayor capacidad y menor tamaño, cosa que en algunos casos no

es posible, utilizando en tal caso uno de los no polarizados industriales de unos 8 a 12 µf y repito, por seguridad >400V, para una tensión de red de 220V. Bien, veamos que ocurre cuando se aplica una tensión al diodo D1, de la figura 01, la corriente se rectifica a media onda al atravesarlo, esto la reduce a la mitad aproximadamente, esta tensión se encuentra la resistencia R1, que le restringe su paso a un valor calculado para un paso de corriente de unos pocos mA (miliamperios).

.

3.1.6 CONTROLADORES DE VIDEO La tarjeta de video, (también llamada controlador de video), es un componente electrónico requerido para generar una señal de video que se manda a una pantalla de video por medio de un cable. La tarjeta de video se encuentra normalmente en la placa de sistema de la computadora o en una placa de expansión. La tarjeta gráfica reúne toda la información que debe visualizarse en pantalla y actúa como interfaz entre el procesador y el monitor; la información es enviada a éste por la placa luego de haberla recibido a través del sistema de buses. Una tarjeta gráfica se compone, básicamente, de un controlador de video, de la memoria de pantalla o RAM video, y el generador de caracteres, y en la actualidad también poseen un acelerador de gráficos. El controlador de video va leyendo a intervalos la información almacenada en la RAM video y la transfiere al monitor en forma de señal de video; el número de veces por segundo que el contenido de la RAM video es leído y transmitido al monitor en forma de señal de video se conoce como frecuencia de refresco de la pantalla. La frecuencia depende en gran medida de la calidad de la placa de video.

La tarjeta VGA: La Video Graphics Adapter (VGA) significó la aparición de un nuevo estándar del mercado. Esta tarjeta ofrece una paleta de 256 colores, dando como resultado imágenes de colores mucho más vivos. Las primeras VGA contaban con 256KB de memoria y solo podían alcanzar una resolución de 320x200 puntos con la cantidad de colores mencionados anteriormente. Primero la cantidad de memoria video RAM se amplió a 512KB, y más tarde a 1024KB, gracias a ésta ampliación es posible

conseguir una resolución de, por ejemplo, 1024x768 pixeles con 8 bits de color. En el modo texto la VGA tiene una resolución de 720x400 pixeles, además posee un refresco de pantalla de 60HZ, y con 16 colores soporta hasta 640X480 puntos. La tarjeta SVGA: La tarjeta SVGA (Super Video Graphics Adapter) contiene conjuntos de chips de uso especial, y más memoria, lo que aumenta la cantidad de colores y la resolución El acelerador gráfico: La primera solución que se encontró para aumentar la velocidad de proceso de los gráficos consistió en proveer a la tarjeta gráfica de un circuito especial denominado acelerador gráfico. El acelerador gráfico se encarga de realizar una serie de funciones relacionadas con la presentación de gráficos en la pantalla, que de otro modo, tendría que realizar el procesador. De esta manera, le quita tareas de encima a este último, y así se puede dedicar casi exclusivamente al proceso de datos. La velocidad con que se ejecutan las aplicaciones basadas en Windows para el manejo de gráficos se incrementa muy notablemente, llegando al punto (con algunas placas) de no necesitar optimizar la CPU. El estándar hoy día está dado por los aceleradores gráficos de 64 bits. También, aunque no tan comunes, hay aceleradores gráficos de 128 bits. El coprocesador gráfico: Posteriormente, para lograr una mayor velocidad se comenzaron a instalar en las tarjetas de video otros circuitos especializados en el proceso de comandos gráficos, llamados coprocesadores gráficos. Se encuentran especializados en la ejecución de una serie de instrucciones específicas de generación de gráficos. En muchas ocasiones el coprocesador se encarga de la gestión del ratón (mouse) y de las operaciones tales como la realización de ampliaciones de pantalla. Los gráficos en tres dimensiones son una representación gráfica de una escena o un objeto a lo largo de tres ejes de referencia, X, Y, Z, que marcan el ancho, el alto y la profundidad de ese gráfico. Para manejar un gráfico tridimensional, éste se divide en una serie de puntos o vértices, en forma de coordenadas, que se almacenan en la memoria RAM. Para que ese objeto pueda ser dibujado en un monitor de tan sólo dos dimensiones (ancho y alto), debe pasar por un proceso

3.2 APLICACIONES 3.2.1 ENTRADA/SALIDA Las computadoras electrónicas modernas son una herramienta esencial en muchas áreas: industria, gobierno, ciencia, educación, en realidad en casi todos los campos de nuestras vidas. El papel que juegan los dispositivos periféricos de la computadora es esencial; sin tales dispositivos ésta no sería totalmente útil. A través de los dispositivos periféricos podemos introducir a la computadora datos que nos sea útiles para la resolución de algún problema y por consiguiente obtener el resultado de dichas operaciones, es decir; poder comunicarnos con la computadora. La computadora necesita de entradas para poder generar salidas y éstas se dan a través de dos tipos de dispositivos periféricos existentes: • Dispositivos periféricos de entrada. • Dispositivos periféricos de salida.

3.2.2 almacenamiento

Debido a la cantidad de información que manejamos actualmente, los dispositivos de almacenamiento se han vuelto casi tan importantes como el mismísimo computador. Aunque actualmente existen dispositivos para almacenar que superan las 650 MB de memoria, aún seguimos quejándonos por la falta de capacidad para transportar nuestros documentos y para hacer Backups de nuestra información más importante. Todo esto sucede debido al aumento de software utilitario que nos permite, por dar un pequeño ejemplo, convertir nuestros Cds en archivos de Mp3. El espacio en nuestro Disco duro ya no es suficiente para guardar tal cantidad de información; por lo que se nos es de urgencia conseguir un medo alternativo de almacenamiento para guardar nuestros Cds en Mp3 o los programas que descargamos de Internet.

Disco duro, en los ordenadores o computadoras, unidad de almacenamiento permanente de gran capacidad. Está formado por varios discos apilados —dos o más—, normalmente de aluminio o vidrio, recubiertos de un material ferromagnético. Como en los disquetes, una cabeza de lectura/escritura permite grabar la información, modificando las propiedades magnéticas del material de la superficie, y leerla posteriormente (La tecnología magnética, consiste en la aplicación de campos magnéticos a ciertos materiales cuyas partículas reaccionan a esa influencia, generalmente orientándose en unas determinadas posiciones que conservan tras dejar de aplicarse el campo magnético. Esas posiciones representan los datos, bien sean una canción, bien los bits que forman una imagen o un documento importante.); esta operación se puede hacer un gran número de veces.

3.2.3 FUENTE DE ALIMENTACION Es un circuito que convierte la tensión alterna de la red industrial en una tensión prácticamente continua. Las fuentes de alimentación o fuentes de poder se pueden clasificar atendiendo a varios criterios: Fuentes analógicas:

-

sus sistemas de control son analógicos

uentes de alimentación continuas [editar] Usualmente la entrada es una tensión alterna proveniente de la red eléctrica comercial y la salida es una tensión continua con bajo nivel de rizado. Constan de tres o cuatro etapas:   

sección de entrada: compuesta principalmente por un rectificador, también tiene elementos de protección como fusibles, varistores, etc. regulación: su misión es mantener la salida en los valores prefijados. salida: su misión es filtrar, controlar, limitar, proteger y adaptar la fuente a la carga a la que esté conectada.

Este tipo de fuentes pueden ser tanto lineales como conmutadas. Las fuentes lineales siguen el esquema: transformador, rectificador, filtro, regulación y salida. En primer lugar el transformador adapta los niveles de tensión y proporciona aislamiento galvánico. El circuito que convierte la corriente alterna en continua se llama rectificador, después suelen llevar un circuito que disminuye el rizado como un filtro de condensador. La regulación se consigue con un componente disipativo regulable. La salida puede ser simplemente un condensador. Las fuentes conmutadas tienen por esquema: rectificador, conmutador, transformador, otro rectificador y salida. La regulación se obtiene con el conmutador, normalmente un circuito PWM (Pulse Width Modulation) que cambia el ciclo de trabajo. Aquí las funciones del transformador son las mismas que para fuentes lineales pero su posición es diferente. El segundo rectificador convierte la señal alterna pulsante que llega del transformador en un valor continuo. La salida puede ser también un filtro de condensador o uno del tipo LC. Las ventajas de las fuentes lineales son una mejor regulación, velocidad y mejores características EMC. Por otra parte las conmutadas obtienen un mejor rendimiento, menor coste y tamaño.

3.3 AMBIENTES DE SERVICIOS 3.3.1 NEGOCIOS La tecnología en general ha sido la causa principal y la acción más directa para la transformación del trabajo de las organizaciones en la posguerra del siglo XX. Tanto los bienes de capital «duros» (computadores, teléfonos, videos, facsímiles, grabadoras, etc.), como los programas y sistemas de información y comunicación en general, han incrementado enormemente la productividad y eficiencia de las organizaciones. Tenemos como ejemplos los siguientes: bases de datos en redes de todo orden y topología, sistemas de reservaciones en aerolíneas, sistemas de contabilidad y nóminas, archivos clínicos en centros de salud, sistemas de conmutación electrónica y un sinnúmero de otras aplicaciones a procesos administrativos.

Esta inversión en recursos humanos y materiales que han efectuado las organizaciones en la segunda mitad del siglo XX, ofrece muchas soluciones y a la vez problemas de toda índole. Por ejemplo, en el área de investigación espacial, existen programas de simulación para misiones espaciales, en los cuales se valoran miles de variables antes de realizar físicamente el viaje. Asimismo, en áreas más convencionales como mercadotecnia, es posible analizar una

multiplicidad de variables por programación lineal u otras herramientas analíticas en la etapa de diseño, con anterioridad al lanzamiento de un producto o servicio Tres modalidades son reconocibles en el trabajo de los sistemas de información, las que son: uso de procesos aritméticos, ejecución de funciones lógicas y, por último, implementación de operaciones de entrada/salida. Las operaciones aritméticas comprenden el procesamiento de datos por medio de cómputos elementales: adición y sustracción, multiplicación y división, tal como en el caso de un control de inventarías. Por otro lado, las funciones lógicas fijan pasos a seguir ante diferentes situaciones preestablecidas, tal es el caso del control de pago por horas suplementarias laboradas. Por último, las operaciones de entrada/salida constituyen un proceso en el cual la información es generada a través de una unidad central de procesamiento (CPU) para almacenamiento y uso posterior, como el caso de los sistemas de nómina de pagos, en los que se introduce un estándar de datos y sale un cheque.

3.3.2 INDUSTRIA La industria es el conjunto de procesos y actividades que tienen como finalidad transformar las materias primas en productos elaborados, de forma masiva. Existen diferentes tipos de industrias, según sean los productos que fabrican. Desde los comienzos de la revolución industrias hasta nuestros días, un principio de reorganización del trabajo se ha conservado inalterable, como articulo de fe: la división del trabajo. Ya Adam Smith señalo, cuando J.Watt perfeccionaba la maquina de vapor que la generación de riqueza se acrecienta con la división del trabajo. Aproximadamente un siglo después F.W.Taylor iniciaba con sus trabajos sobre la revolución de la productividad laboral. Esta propuesta metódica de Taylor consistía en analizar y dividir las tareas en una serie de movimientos simples y repetitivos cada uno de los cuales debía ejecutarse en forma precisa, sin tiempos muertos y con las herramientas adecuadas Las divisiones del trabajo y la metodología tayloriana aplicadas por una industria que se mecanizaba en forma creciente y estandarizaba sus herramientas y productos, condujeron inexorablemente a la especialización, la fabricación en serie, la línea de montaje y la producción masiva El crecimiento económico basado en la mecanización y la productividad laboral fue evidente mientras los trabajadores manuales de las industrias manufactureras, la minería, los transportes y la agricultura constituyan la fuerza laboral mayoritaria. Pero a partir de 1980, aproximadamente, mas de 2/3 de la población activa esta integrado por trabajadores no manuales, en administración y los servicios

Las computadoras de altísimas prestaciones asociadas a un basto arsenal de software utilitario y costos que se han derrumbado, aumentan en forma sustancial la productividad del trabajo, ignorando en buena medida la división del trabajo y el Taylorismo

Algunas empresas rediseñaron en forma drástica algunas de sus procesos internos dejando de lado aquellos principios y utilizando en plenitud las posibilidades inherentes a las computadoras y a las comunicaciones modernas Los resultados fueron espectaculares en materia de acortamiento de los tiempos de ejecución de los procesos, de reducción de personal y de calidad del trabajo

3.3.3 COMERCIO ELECTRONICO El desarrollo de estas tecnologías y de las telecomunicaciones ha hecho que los intercambios de datos crezcan a niveles extraordinarios, simplificándose cada vez mas y creando nuevas formas de comercio, y en este marco se desarrolla el Comercio Electrónico. Comercio Electrónico Se considera “Comercio Electrónico” al conjunto de aquellas transacciones comerciales y financieras realizadas a través del procesamiento y la transmisión de información, incluyendo texto, sonido e imagen. TIPOS DE TRANSACCIONES DE COMERCIO ELECTRONICO “Business to business” (entre empresas): Las empresas pueden intervenir como compradoras o vendedoras, o como proveedoras de herramientas o servicios de soporte para el comercio electrónico, instituciones financieras, proveedores de servicios de Internet, etc. “Business to consumers” (Entre empresa y consumidor): Las empresas venden sus productos y prestan sus servicios a través de un sitio Web a clientes que los utilizarán para uso particular. “Consumers to consumers” (Entre consumidor y consumidor): Es factible que los consumidores realicen operaciones entre sí, tal es el caso de los remates en línea. “Consumers to administrations” (Entre consumidor y administración): Los ciudadanos pueden interactuar con las Administraciones Tributarias a efectos de realizar la presentación de las declaraciones juradas y/o el pago de los tributos, obtener asistencia informativa y otros servicios. “Business to administrations” (Entre empresa y administración): Las administraciones públicas actúan como agentes reguladores y promotores del comercio electrónico y como usuarias del mismo.

VENTAJAS DEL COMERCIO ELECTRÓNICO Para las Empresas:

-

Desaparecen los límites geográficos y de tiempo.

-

Globalización y acceso a mercados potenciales de millones de clientes.

Disponibilidad las 24 horas del día, 7 días a la semana, todo el año. Reducción considerable de inventarios. Agilizar las operaciones del negocio. Menos inversión en los presupuestos publicitarios. Reducción de precios por el bajo coste del uso de Internet en comparación con otros medios de promoción, lo cual implica mayor competitividad.

Para los clientes:

-

Un medio que da poder al consumidor de elegir en un mercado global acorde a sus necesidades.

-

Rapidez al realizar los pedidos.

-

Mayor interactividad y personalización de la demanda.

-

Permite el acceso a más información.

Servicio pre y post-venta on-line. Reducción de la cadena de distribución, lo que le permite adquirir un producto a un mejor precio. Información inmediata sobre cualquier producto, y disponibilidad de acceder a la información en el momento que así lo requiera.

DESVENTAJAS DEL COMERCIO ELECTRÓNICO Desconocimiento de la empresa: No conocer la empresa que vende es un riesgo del comercio electrónico, ya que ésta puede estar en otro país o en el mismo, pero en muchos casos las “empresas” o “personas-empresa” que ofrecen sus productos o servicios por Internet ni siquiera están constituidas legalmente en su país y no se trata más que de gente que está “probando suerte en Internet”. Forma de Pago: Aunque ha avanzado mucho el comercio electrónico, todavía no hay una transmisión de datos segura el 100%. Y esto es un problema pues nadie quiere dar sus datos de la Tarjeta de Crédito por Internet. Poder volver (post y pre-venta):Con todo ello podemos reclamar en caso de ser necesario o pedir un servicio “post-venta”. Al conocerlo sabemos donde poder ir. El cliente espera recibir una atención “pre-venta” o “post-venta”. FACTORES A CONSIDERAR EN COMERCIO ELECTRÓNICO Existen muchos aspectos abiertos en torno al comercio electrónico; entre ellos podemos destacar, la validez de la firma electrónica, la legalidad de un contrato electrónico, las violaciones de marcas y derechos de autor, pérdida de derechos sobre las marcas, pérdida de derechos sobre secretos comerciales y responsabilidades”. Por esto existen leyes aplicables para el comercio electrónico y lo anterior mencionado.

UNIDAD 4 MICROCONTROLADORES

4.1 ARQUITECTURA 4.1.1 TERMINALES Dispositivo del hardware electrónico o electromecánico que se usa para introducir o mostrar datos de una computadora. Su funcion es mostrar y recibir datos con capacidad significativa del procesador de datos, puede ser llamado “Terminal inteligente o cliente lijero”. Una computadora puede ejecutar software que envie la funcion de un terminal en cocaciones permitiendo el uso simultaneo de programas locales y acceso a un servidor.

El microcontrolador nace cuando las técnicas de integración han progresado lo bastante para permitir su fabricación; pero también porque, muy a menudo, tanto en las aplicaciones domésticas como industriales, se tiene la necesidad de sistemas “inteligentes” o, al menos programables. Un ejemplo muy simple es el programador de una lavadora, el cual debe controlar una cierta cantidad de elementos con ciclos y cadencias perfectamente definidas, pero variables en función del programa seleccionado. Otras aplicaciones más técnicas tienen, igualmente, necesidad de sistemas programables. Por ejemplo, una fotocopiadora debe controlar permanentemente un gran número de elementos y de funciones. Gracias a la llegada de los microcontroladores, tarjetas que contenían varias decenas de circuitos lógicos clásicos se han visto reducidas a dos o tres microcontroladores.

Unidad Central

Memoria ROM

Memoria RAM

Buses del Sistema

Circuitos de interfaz Exterior

RA4/TOCKI): Es el PORT A. Corresponden a 5 líneas bidireccionales de E/S (definidas por programación). Es capaz de entregar niveles TTL cuando la alimentación aplicada en VDD es de 5V ± 5%. El pin RA4/TOCKI Como entrada puede programarse en funcionamiento normal o como entrada del contador/temporizador TMR0. Cuando este pin se programa como entrada digital, funciona como un disparador de Schmitt (Schmitt trigger), puede reconocer señales un poco distorsionadas y llevarlas a niveles lógicos (cero y cinco voltios). Cuando se usa como salida digital se comporta como colector abierto; por lo tanto se debe poner una resistencia de pull-Up (resistencia externa conectada a un nivel de cinco voltios, ...no te preocupes, mas abajo lo entenderás mejor). Como salida, la lógica es inversa: un "0" escrito al pin del puerto entrega a la salida un "1" lógico. Este pin como salida no puede manejar cargas como fuente, sólo en el modo sumidero. Pata 4 (MCLR / Vpp): Es una pata de múltiples aplicaciones, es la entrada de Reset (master clear) si está a nivel bajo y también es la habilitación de la tensión de programación cuando se está programando el dispositivo. Cuando su tensión es la de VDD el PIC funciona normalmente. Patas 5 y 14 (VSS y VDD): Son respectivamente las patas de masa y alimentación. La tensión de alimentación de un PIC está comprendida entre 2V y 6V aunque se recomienda no sobrepasar los 5.5V. Patas 6, 7, 8, 9, 10, 11, 12, 13 (RB0-RB7): Es el PORT B. Corresponden a ocho líneas bidireccionales de E/S (definidas por programación). Pueden manejar niveles TTL cuando la tensión de alimentación aplicada en VDD es de 5V ± 5%. RB0 puede programarse además como entrada de interrupciones externas INT. Los pines RB4 a RB7 pueden programarse para responder a interrupciones por cambio de estado. Las patas RB6 y RB7 se corresponden con las líneas de entrada de reloj y entrada de datos respectivamente, cuando está en modo programación del integrado. Patas 15 y 16 (OSC1/CLKIN y OSC2/CLKOUT): Corresponden a los pines de la entrada externa de reloj y salida de oscilador a cristal respectivamente.

4.1.2 CPU Qué es una CPU? - Definición de CPU CPU, abreviatura de Central Processing Unit (unidad de proceso central), se pronuncia como letras separadas. La CPU es el cerebro del ordenador. A veces es referido simplemente como el procesador o procesador central, la CPU es donde se producen la mayoría de los cálculos. En términos de potencia del ordenador, la CPU es el elemento más importante de un sistema informático. En ordenadores grandes, las CPUs requieren uno o más tableros de circuito impresos. En los ordenadores personales y estaciones de trabajo pequeñas, la CPU está contenida en un solo chip llamadado microprocesador. Dos componentes típicos de una CPU son 1. La unidad de lógica/aritimética (ALU), que realiza operaciones aritméticas y lógicas. 2. La unidad de control (CU), que extrae instrucciones de la memoria, las descifra y ejecuta, llamando a la ALU cuando es necesario. La unidad central de proceso (CPU) o simplemente procesador. Es el componente en una computadora digital que interpreta las instrucciones y procesa los datos contenidos en los programas de computadora. Los CPU proporcionan la característica fundamental de la computadora digital, la programabilidad, y son uno de los componentes necesarios encontrados en los ordenadores o computadores de cualquier tiempo, junto con el almacenamiento primario y las facilidades de entrada/salida. Es conocido como microprocesador el CPU que es manufacturado con circuitos integrados. Desde mediados de los años 1970, los microprocesadores de un solo chip han reemplazado casi totalmente todos los otros tipos de CPU, y hoy en día, el término “CPU” es aplicado usualmente a algún tipo de microprocesador.

4.1.3 ESPACIO EN MEMORIA Memoria En los microcontroladores la memoria de instrucciones y datos está integrada en el propio chip. Una parte debe ser no volátil, tipo ROM, y se destina a contener el programa de instrucciones que gobierna la aplicación. Otra parte de memoria será tipo RAM, volátil, y se destina a guardar las variables y los datos. Hay dos peculiaridades que diferencian a los microcontroladores de los computadores personales: No existen sistemas de almacenamiento masivo como disco duro o disquetes. Como el microcontrolador sólo se destina a una tarea en la memoria ROM, sólo hay que almacenar un único programa de trabajo. La RAM en estos dispositivos es de poca capacidad pues sólo debe contener las variables y los cambios de información que se produzcan en el transcurso del programa. Por otra parte, como sólo existe un programa activo, no se requiere guardar una copia del mismo en la RAM pues se ejecuta directamente desde la ROM. Los usuarios de computadores personales están habituados a manejar Megabytes de memoria, pero, los diseñadores con microcontroladores trabajan con capacidades de ROM comprendidas entre 512 bytes y 8 k bytes y de RAM comprendidas entre 20 y 512 bytes. Según el tipo de memoria ROM que dispongan los microcontroladores, la aplicación y utilización de los mismos es diferente. Se describen las cinco versiones de memoria no volátil que se pueden encontrar en los microcontroladores del mercado.

4.1.4 Entrada /Salida Señal de Corriente de Entrada: Considerada como estímulo aplicado a un sistema desde una fuente de energía externa con el propósito de que el sistema produzca una respuesta específica. Señal de Corriente de Salida: Respuesta obtenida por el sistema que puede o no relacionarse con la respuesta que implicaba la entrada

4.2 PROGRAMAN La programación en computadoras es la base por medio de la cual se logran crear aplicaciones, software, incluso sistemas operativos a través de ciertos códigos entendibles entre la maquina y el usuario, que cumple con funciones o tareas predeterminadas

4.2.1 MODELO DE PROGRAMACIÓN Mecanismos disponibles al programador para expresar la estructura lógica de un programa Influye Complejidad del programa Costo de desarrollo Legibilidad. Costo de mantenimiento Rendimiento Influenciado por el modelo por la implementación del modelo Por la estructura de paralelización Componentes Datos Procesos Comunicación Sincronización Entrada/salida

4.2.2 CONJUNTO DE INSTRUCCIONES Un conjunto de instrucciones o repertorio de instrucciones, juego de instrucciones o ISA (del inglés Instruction Set Architecture, Arquitectura del Conjunto de Instrucciones) es una especificación que detalla las instrucciones que una CPU de un ordenador puede entender y ejecutar, o el conjunto de todos los comandos implementados por un diseño particular de una CPU. El término describe los aspectos del procesador generalmente visibles a un programador, incluyendo los tipos de datos nativos, las instrucciones, los registros, la arquitectura de memoria y las interrupciones, entre otros aspectos. Existe principalmente de 3 tipos: CISC (Complex Instruction Set Computer), RISC (Reduced Instruction Set Computer) y SISC (Specific Instruction Set Computer). La arquitectura del conjunto de instrucciones (ISA) se emplea a veces para distinguir este conjunto de características de la microarquitectura, que son los elementos y técnicas que se emplean para implementar el conjunto de instrucciones. Entre estos elementos se encuentras las microinstrucciones y los sistemas de caché. Procesadores con diferentes diseños internos pueden compartir un conjunto de instrucciones; por ejemplo el Intel Pentium y AMD Athlon implementan versiones casi idénticas del conjunto de instrucciones x86, aunque tienen diseños internos completamente opuestos.

4.2.3 MODOS DE DIRECCIONAMIENTO Los llamados Modos de direccionamiento son las diferentes maneras de especificar en informática un operando dentro de una instrucción (lenguaje ensamblador). Cómo se especifican e interpretan las direcciones de memoria según las instrucciones.

Pueden ser: 

Inmediato: En la instrucción está incluido directamente el operando.

Ejemplo: MOV A,#17H 

Directo: El campo de operando en la instrucción contiene la dirección en memoria donde se encuentra el operando.

Ejemplo: MOV A,17H 

Indirecto: El campo de operando contiene una dirección de memoria, en la que se encuentra la dirección efectiva del operando.

Ejemplo: MOV A,@17H  

Absoluto: El campo de operando contiene una dirección en memoria, en la que se encuentra la instrucción. De registro: Sirve para especificar operandos que están en registros.

Ejemplo: MOV A,R0



Indirecto mediante registros: El campo de operando de la instrucción contiene un identificador de registro en el que se encuentra la dirección efectiva del operando.

Ejemplo: MOV A,@R0  

De desplazamiento: Combina el modo directo e indirecto mediante registros De pila: Se utiliza cuando el operando está en memoria y en la cabecera de la Pila

4.2.4 LENGUAJE ENSAMBLADOR El lenguaje ensamblador es un tipo de lenguaje de bajo nivel utilizado para escribir programas informáticos, y constituye la representación más directa del código máquina específico para cada arquitectura de computadoras legible por un programador. Fue usado ampliamente en el pasado para el desarrollo de software, pero actualmente sólo se utiliza en contadas ocasiones, especialmente cuando se requiere la manipulación directa del hardware o se pretenden rendimientos inusuales de los equipos. Características     

Programar en lenguaje ensamblador es difícil de aprender, entender, leer, escribir, depurar y mantener, por eso surgió la necesidad de los lenguajes compilados. A pesar de perder rendimiento en un proceso de compilación, en la actualidad la mayoría de las computadoras son suficientemente rápidas. El lenguaje ensamblador no es portable. Programar en lenguaje ensamblador lleva mucho tiempo. Los programas hechos en lenguaje ensamblador son generalmente más rápidos. Al programar cuidadosamente en lenguaje ensamblador se pueden crear programas de 5 a 100 veces más rápidos que con lenguajes de alto nivel.





Los programas hechos en lenguaje ensamblador generalmente ocupan menos espacio. Un buen programa en lenguaje ensamblador puede ocupar casi la mitad de espacio que su contrapartida en lenguaje de alto nivel. Con el lenguaje ensamblador se pueden crear segmentos de código imposibles de formar en un lenguaje de alto nivel.

4.3 APLICACIONES 4.3.1 COMO SISTEMA INDEPENDIENTE Un microcontrolador dispone normalmente de los siguientes componentes:

-

Procesador o UCP (Unidad Central de Proceso). Memoria RAM para Contener los datos. Memoria para el programa tipo ROM/PROM/EPROM. Líneas de E/S para comunicarse con el exterior.

Diversos módulos para el control de periféricos (temporizadores, Puertas Serie y Paralelo, CAD:

-

Generador de impulsos de reloj que sincronizan el funcionamiento de todo el sistema Conversores Analógico/Digital, CDA: Conversores Digital/Analógico, etc.)

4.3.2 COMO SUBSISTEMA DE UNA COMPUTADORA El microprocesador es un circuito integrado que contiene la Unidad Central de Proceso (UCP), también llamada procesador, de un computador. La UCP está formada por la Unidad de Control, que interpreta las instrucciones, y el Camino de Datos, que las ejecuta. Las patitas de un microprocesador sacan al exterior las líneas de sus buses de direcciones, datos y control, para permitir conectarle con la Memoria y los Módulos de E/S y configurar un computador implementado por varios circuitos integrados. Se dice que un microprocesador es un sistema abierto porque su configuración es variable de acuerdo con la aplicación a la que se destine. (Figura 1.1.)

Figura 1.1. Estructura de un sistema abierto basado en un microprocesador. La disponibilidad de los buses en el exterior permite que se configure a la medida de la aplicación. Si sólo se dispusiese de un modelo de microcontrolador, éste debería tener muy potenciados todos sus recursos para poderse adaptar a las exigencias de las diferentes aplicaciones. Esta potenciación supondría en muchos casos un despilfarro. En la práctica cada fabricante de microcontroladores oferta un elevado número de modelos diferentes, desde los más sencillos hasta los más poderosos. Es posible seleccionar la capacidad de las memorias, el número de líneas de E/S, la cantidad y potencia de los elementos auxiliares, la velocidad de funcionamiento, etc. Por todo ello, un aspecto muy destacado del diseño es la selección del microcontrolador a utilizar.

INSTITUTO TECNOLOGICO SUPERIOR DE COATZACOALCOS

ALUMNO: Toledo Santiago Ismael

CARRERA:

INGENIERIA EN SISTEMAS COMPUTACIONALES

SEMESTRE: 7

GRUPO: A MATERIA:

Arquitectura de computadoras

MAESTRO: I.S.C. Elizabeth Sánchez Guerrero

COATZACOALCOS, VER, 15 / JUNIO /2009