Ingeniería de Sistemas -...

59
Universidad Salesiana de Bolivia Hard. y Arq. de Computadoras Ingeniería de Sistemas 3 UNIDAD I ARQUITECTURA BASICA DEL COMPUTADOR 1. INTRODUCCION Con la aparición de las computadoras el hombre ha dejado de ocuparse de aquellas tareas mecánicas y repetitivas, pudiendo así dedicar su tiempo e intelecto a tareas más creativas que involucran un alto grado de razonamiento e iniciativa en la toma de decisiones. El computador es un conjunto de circuitos electrónicos comprimidos, capaz de aceptar datos a través de un medio de entrada, de procesarlos automáticamente bajo el control de un programa previamente guardado y proporcionar la información resultante a través de un medio de salida. Actualmente el hombre es dependiente directo o indirecto del uso de la computadora, como en oficinas bancarias, grandes y medianos comercios, centros de enseñanza, oficinas de ventas y reservaciones para viajes, clínicas médicas u hospitales, fabricas y almacenes industriales, organismos de gobierno y oficinas administrativas, laboratorios, y centros de investigación. 2. CONCEPTOS Y DEFINICIONES El computador es el Microprocesador ,es el cerebro y razón de la computadora, esta compuesto por cinco elementos diferenciados: una CPU (unidad central de Procesamiento), dispositivos de entrada, dispositivos de almacenamiento, dispositivos de salida y una red de comunicaciones, denominada bus, que enlaza todos los elementos del sistema y conecta a éste con el mundo exterior. CPU (Unidad Central de Proceso), es una colección compleja de circuitos electrónicos, estos interpretan y llevan a cabo las instrucciones de los programas, efectúa operaciones aritméticas y lógicas con los datos y se comunica con las demás partes del sistema. MHz (Megahertz): para microcomputadoras. Un oscilador de cristal controla la ejecución de instrucciones dentro del procesador. La velocidad del procesador de una micro se mide por su frecuencia de oscilación o por el número de ciclos de reloj por segundo. El tiempo transcurrido para un ciclo de reloj es 1/frecuencia. MIPS (Millones de instrucciones por segundo): Para estaciones de trabajo, minis y macrocomputadoras. Por ejemplo una computadora de 100 MIPS puede ejecutar 100 millones de instrucciones por segundo. FLOPS (operaciones de punto flotante por segundo): Para las supercomputadoras. Las operaciones de punto flotante incluyen cifras muy pequeñas o muy altas. Hay supercomputadoras para las cuales se puede hablar de GFLOPS (Gigaflops, es decir 1.000 millones de FLOPS). 3. GENERACIONES DE COMPUTADORAS 3.1 PRIMERA GENERACIÓN (1951 a 1958)

Transcript of Ingeniería de Sistemas -...

Page 1: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

3

UNIDAD I

ARQUITECTURA BASICA DEL COMPUTADOR

1. INTRODUCCION

Con la aparición de las computadoras el hombre ha dejado de ocuparse de aquellas tareas

mecánicas y repetitivas, pudiendo así dedicar su tiempo e intelecto a tareas más creativas que

involucran un alto grado de razonamiento e iniciativa en la toma de decisiones.

El computador es un conjunto de circuitos electrónicos comprimidos, capaz de aceptar datos a

través de un medio de entrada, de procesarlos automáticamente bajo el control de un programa

previamente guardado y proporcionar la información resultante a través de un medio de salida.

Actualmente el hombre es dependiente directo o indirecto del uso de la computadora, como en

oficinas bancarias, grandes y medianos comercios, centros de enseñanza, oficinas de ventas y

reservaciones para viajes, clínicas médicas u hospitales, fabricas y almacenes industriales,

organismos de gobierno y oficinas administrativas, laboratorios, y centros de investigación.

2. CONCEPTOS Y DEFINICIONES

El computador es el Microprocesador ,es el cerebro y razón de la computadora, esta compuesto

por cinco elementos diferenciados: una CPU (unidad central de Procesamiento), dispositivos de

entrada, dispositivos de almacenamiento, dispositivos de salida y una red de comunicaciones,

denominada bus, que enlaza todos los elementos del sistema y conecta a éste con el mundo

exterior.

CPU (Unidad Central de Proceso), es una colección compleja de circuitos electrónicos, estos

interpretan y llevan a cabo las instrucciones de los programas, efectúa operaciones aritméticas y

lógicas con los datos y se comunica con las demás partes del sistema.

MHz (Megahertz): para microcomputadoras. Un oscilador de cristal controla la ejecución de

instrucciones dentro del procesador. La velocidad del procesador de una micro se mide por su

frecuencia de oscilación o por el número de ciclos de reloj por segundo. El tiempo transcurrido para

un ciclo de reloj es 1/frecuencia.

MIPS (Millones de instrucciones por segundo): Para estaciones de trabajo, minis y

macrocomputadoras. Por ejemplo una computadora de 100 MIPS puede ejecutar 100 millones de

instrucciones por segundo.

FLOPS (operaciones de punto flotante por segundo): Para las supercomputadoras. Las

operaciones de punto flotante incluyen cifras muy pequeñas o muy altas. Hay supercomputadoras

para las cuales se puede hablar de GFLOPS (Gigaflops, es decir 1.000 millones de FLOPS).

3. GENERACIONES DE COMPUTADORAS

3.1 PRIMERA GENERACIÓN (1951 a 1958)

Page 2: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

4

Las computadoras de la primera Generación emplearon bulbos para procesar información, los

operadores ingresaban los datos y programas en código especial por medio de tarjetas perforadas,

el almacenamiento interno se lograba con un tambor que giraba rápidamente, sobre el cual un

dispositivo de lectura/escritura colocaba marcas magnéticas. Su tamaño eran grandes y generaban

más calor que los modelos contemporáneos.

Eckert y Mauchly contribuyeron al desarrollo de computadoras de la 1era Generación formando

una compañía privada y construyendo la UNIVAC I, que el Comité del censo utilizó para evaluar el

censo de 1950.

IBM comenzó entonces a construir computadoras electrónicas y su primera fue la IBM 701 en

1953, que posteriormente se convirtió en un producto comercialmente viable. Sin embargo en 1954

fue introducido el modelo IBM 650, el cual es la razón por la que IBM disfruta hoy de una gran parte

del mercado de las computadoras. A la mitad de los años 50 IBM y Remington Rand se

consolidaban como líderes en la fabricación de computadoras.

3.2 SEGUNDA GENERACIÓN (1959-1964)

El invento del transistor hizo posible una nueva Generación de Computadoras, más rápidas, más

pequeñas y con menores necesidades de ventilación, sin embargo seguía siendo costoso para una

empresa, utilizaban redes de núcleos magnéticos en lugar de tambores giratorios para el

almacenamiento primario, estos núcleos contenían pequeños anillos de material magnético,

enlazados entre sí, en los cuales podían almacenarse datos e instrucciones.

Los lenguajes de programación también mejoraron, como COBOL que ya estaba disponible

comercialmente, los programas escritos para una computadora podían transferirse a otra con un

mínimo esfuerzo. Grace Murria Hooper (1906-1992), en 1952 habia inventado el primer compilador

,fue una de las principales figuras de CODASYL (Comité on Data SYstems Languages), se

encargo de desarrollar el proyecto COBOL

El escribir un programa ya no requería entender plenamente el hardware, las computadoras de la

2da Generación eran sustancialmente más pequeñas y rápidas que las de bulbos y se usaban para

nuevas aplicaciones, como en los sistemas para reservación en líneas aéreas, control de tráfico

aéreo y simulaciones para uso general.

La marina de E.U. utilizó las computadoras de la Segunda Generación para crear el primer

simulador de vuelo ya que en esta generación se construyen las supercomputadoras Remington

Rand UNIVAC LARC, e IBM Stretch (1961).

3.3 TERCERA GENERACIÓN (1964-1971)

Circuitos Integrados, Compatibilidad con Equipo Mayor, Multiprogramación, Minicomputadora.

Las computadoras de la tercera generación emergieron con el desarrollo de los circuitos integrados

(pastillas de silicio) en las cuales se colocan miles de componentes electrónicos, en una miniatura

Page 3: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

5

integrada, las computadoras nuevamente se hicieron más pequeñas, más rápidas, desprendían

menos calor y eran energéticamente más eficientes.

El descubrimiento en 1958 del primer Circuito Integrado (Chip) por el ingeniero Jack S. Kilby

(nacido en 1928) y el Dr. Robert Noyce dieron origen a la tercera generación de computadoras.

Antes de los circuitos integrados, las computadoras estaban diseñadas para aplicaciones

matemáticas o de negocios , pero no para las dos cosas, los circuitos integrados permitieron a los

fabricantes de computadoras incrementar la flexibilidad de los programas, y estandarizar sus

modelos.

La IBM 360 fue una de las primeras computadoras comerciales que usó circuitos integrados, podía

realizar análisis numéricos como administración ó procesamiento de archivos.

El 7 de abril de 1964 IBM presenta la impresionante IBM 360, con su tecnología SLT (Solid Logic

Technology), esta máquina causó tal impacto que se fabricaron más de 30000, al grado que IBM

llegó a conocerse como sinónimo de computación.

También en ese año, Control Data Corporation presenta la supercomputadora CDC 6600, que se

consideró como la más poderosa de las computadoras de la época, ya que tenía la capacidad de

ejecutar unos 3 000 000 de instrucciones por segundo (mips).

Se empiezan a utilizar los medios magnéticos de almacenamiento, como cintas magnéticas de 9

canales, enormes discos rígidos. Algunos sistemas todavía usan las tarjetas perforadas para la

entrada de datos, pero las lectoras de tarjetas ya alcanzan velocidades respetables.

Las computadoras trabajaban a tal velocidad que proporcionaban la capacidad de correr más de un

programa de manera simultánea (multiprogramación).

3.4 CUARTA GENERACIÓN (1971 a 1981)

Microprocesador , Chips de memoria, Microminiaturización

Dos mejoras en la tecnología de las computadoras marcan el inicio de la cuarta generación: el

reemplazo de las memorias con núcleos magnéticos, por las de chips de silicio y la colocación de

muchos más componentes en un Chip: producto de la microminiaturización de los circuitos

electrónicos. El tamaño reducido del microprocesador y de chips hizo posible la creación de las

computadoras personales (PC)

En 1971, intel Corporation, que era una pequeña compañía fabricante de semiconductores ubicada

en Silicon Valley, presenta el primer microprocesador o Chip de 4 bits, que en un espacio de

aproximadamente 4 x 5 mm contenía 2 250 transistores, fue denominado 4004.

Silicon Valley (Valle del Silicio) era una región agrícola al sur de la bahía de San Francisco, que por

su gran producción de silicio, a partir de 1960 se convierte en una zona totalmente industrializada

donde se asienta una gran cantidad de empresas fabricantes de semiconductores y

microprocesadores. Actualmente es conocida en todo el mundo como la región más importante

para las industrias relativas a la computación: creación de programas y fabricación de

componentes.

Page 4: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

6

Esta generación de computadoras se caracterizó por grandes avances tecnológicos realizados en

un tiempo muy corto. En 1977 aparecen las primeras microcomputadoras, entre las cuales, las más

famosas fueron las fabricadas por Apple Computer, Radio Shack y Commodore Busíness

Machines. IBM se integra al mercado de las microcomputadoras con su Personal Computer , de

donde les ha quedado como sinónimo el nombre de PC, y lo más importante; se incluye un sistema

operativo estandarizado, el MS- DOS (MicroSoft Disk Operating System).

Las principales tecnologías que dominan este mercado son: IBM y sus compatibles llamadas

clones, fabricadas por infinidad de compañías con base en los procesadores 8088, 8086, 80286,

80386, 80486, 80586 o Pentium, Pentium II, Pentium III y Celeron de Intel y en segundo término

Apple Computer, con sus Macintosh y las Power Macintosh, que tienen gran capacidad de

generación de gráficos y sonidos gracias a sus poderosos procesadores Motorola serie 68000 y

PowerPC, respectivamente. Este último microprocesador ha sido fabricado utilizando la tecnología

RISC (Reduced Instruc tion Set Computing), por Apple Computer Inc., Motorola Inc. e IBM

Corporation, conjuntamente.

3.5 QUINTA GENERACIÓN Y LA INTELIGENCIA ARTIFICIAL (1982-1989)

Cada vez se hace más difícil la identificación de las generaciones de computadoras, porque los

grandes avances y nuevos descubrimientos ya no nos sorprenden como sucedió a mediados del

siglo XX. Hay quienes consideran que la cuarta y quinta generación han terminado, y las ubican

entre los años 1971-1984 la cuarta, y entre 1984-1990 la quinta. Ellos consideran que la sexta

generación está en desarrollo desde 1990 hasta la fecha.

Hay que mencionar dos grandes avances tecnológicos, que sirvan como parámetro para el inicio

de la 5° generación: la creación en 1982 de la primera supercomputadora con capacidad de

proceso paralelo, diseñada por Seymouy Cray, quien ya experimentaba desde 1968 con

supercomputadoras, y que funda en 1976 la Cray Research Inc.; y el anuncio por parte del

gobierno japonés del proyecto "quinta generación", que según se estableció en el acuerdo con seis

de las más grandes empresas japonesas de computación, debería terminar en 1992.

El proceso paralelo es aquél que se lleva a cabo en computadoras que tienen la capacidad de

trabajar simultáneamente con varios microprocesadores. Aunque en teoría el trabajo con varios

microprocesadores debería ser mucho más rápido, es necesario llevar a cabo una programación

especial que permita asignar diferentes tareas de un mismo proceso a los diversos

microprocesadores que intervienen.

También se debe adecuar la memoria para que pueda atender los requerimientos de los

procesadores al mismo tiempo. Para solucionar este problema se tuvieron que diseñar módulos de

memoria compartida capaces de asignar áreas de caché para cada procesador.

Según este proyecto, al que se sumaron los países tecnológicamente más avanzados para no

quedar atrás de Japón, la característica principal sería la aplicación de la inteligencia artificial (Al,

Artificial Intelligence). Las computadoras de esta generación contienen una gran cantidad de

Page 5: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

7

microprocesadores trabajando en paralelo y pueden reconocer voz e imágenes. También tienen la

capacidad de comunicarse con un lenguaje natural e irán adquiriendo la habilidad para tomar

decisiones con base en procesos de aprendizaje fundamentados en sistemas expertos e

inteligencia artificial.

El almacenamiento de información se realiza en dispositivos magneto ópticos con capacidades de

decenas de Gigabytes; se establece el DVD (Digital Video Disk o Digital Versatile Disk) como

estándar para el almacenamiento de video y sonido, la capacidad de almacenamiento de datos

crece de manera exponencial posibilitando guardar más información en una de estas unidades,lLos

componentes de los microprocesadores actuales utilizan tecnologías de alta y ultra integración,

denominadas VLSI (Very Large Sca/e Integration) y ULSI (Ultra Lar- ge Scale Integration).

3.6 SEXTA GENERACIÓN 1990 HASTA LA FECHA

Supuestamente la 6° generación está en marcha desde principios de los años noventa, las

computadoras de esta generación cuentan con arquitecturas combinadas Paralelo / Vectorial, con

cientos de microprocesadores vectoriales trabajando al mismo tiempo; se han creado

computadoras capaces de realizar más de un millón de millones de operaciones aritméticas de

punto flotante por segundo (teraflops); las redes de área mundial (Wide Area Network, WAN)

seguirán creciendo desorbitadamente utilizando medios de comunicación a través de fibras ópticas

y satélites con anchos de banda impresionantes. La tecnología de esta generación está en

proceso como ser la inteligencia / artificial distribuida; teoría del caos, sistemas difusos, holografía,

transistores ópticos, etcétera.

4. EL CONCEPTO DE VON NEUMANN

Los primeros computadores se programaban recableándolos esto equivalía a reconstruir todo el

computador cuando se requería de un nuevo programa, la programación del computador se llevaba

a cabo, literalmente, reconstruyéndolo.

La "programación" requería de un verdadero experto y conocedor de electrónica, principios de

lógica digital y del problema mismo. Esto vino a cambiar con el concepto del programa

almacenado, un concepto teórico muy importante que fue establecido por el matemático John von

Neumann el 30 de junio de 1945 en un borrador sobre el diseño de la EDVAC. A diferencia de los

primeros computadores, Von Neumann proponía que tanto el programa como sus datos fueran

almacenados en la memoria del computador. Esto no solo simplificaba la labor de programación al

no tener que llevar a cabo el recableado del computador sino que además libraba y generalizaba el

diseño del hardware para hacerlo independiente de cualquier problema y enfocado al control y

ejecución del programa. Este concepto fue importante y decisivo que dio lugar al concepto de la

arquitectura de von Neumann y del diseño de Charles Babbage (padre de la informática) , aún

presente en nuestros días.

4.1 ARQUITECTURA DE VON NEUMANN

Page 6: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

8

La arquitectura de von Neumann se compone de tres elementos:

a. La Unidad Central de Procesamiento (CPU), es considerada como el cerebro y corazón del

computador. Internamente consiste de una Unidad Aritmético-Lógica (ALU), un conjunto de

registros y una Unidad de Control (CU).

La ALU es donde se realizan todas las operaciones que involucran un procesamiento

matemático (particularmente aritmético) o lógico (operaciones booleanas). Los registros

permiten el almacenamiento de datos para estas operaciones y sus resultados. En la CPU

es donde se ejecutan todo el resto de las operaciones (decisión, control, movimiento de

datos). Una CPU con todos estos elementos implementada en un solo chip recibe el

nombre de microprocesador.

b. La memoria, es donde datos y programa son almacenados. La memoria es visto como un

arreglo unidimensional finito en la que cada localidad es identificada por un valor asociado

a su posición y que es llamado dirección. Para el computador las memorias se clasifican

en dos grandes grupos.

La memoria RAM (Memoria de Acceso Aleatorio), esta destinada a almacenar datos y

programas (incluyendo al sistema operativo), es temporal o volátil, ya que pierde su

contenido cuando el computador es apagado o reiniciado.

La memoria ROM es de tipo permanente y solo de lectura, aun cuando el computador sea

desconectado ,este mantendrá su contenido (no es volátil)

c. Las interfaces de entrada y salida (I/O). destinadas a liberar de trabajo a la CPU en la

comunicación con dispositivos de entrada (teclados, ratones), salida (impresoras) y

entrada-salidas (discos, cintas).

Estos tres elementos están interconectados a través de un conjunto de líneas que llevan

instrucciones (control bus), datos (data bus) y que permiten dar los valores de direcciones de

memoria y dispositivos (memory bus).

Fig 1. Esquema de la arquitectura de Von Neumann.

5. UNIDAD CENTRAL DE PROCESO

Page 7: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

9

La CPU (Unidad Central de Proceso), es el corazón del computador, permite el procesamiento de

información numérica, es decir, información ingresada en formato binario, así como la ejecución de

instrucciones almacenadas en la memoria.

4.1 FUNCIONAMIENTO DE LA CPU

La CPU es un circuito electrónico que funciona a la velocidad de un reloj interno, gracias a un

cristal de cuarzo que, sometido a una corriente eléctrica, envía pulsos, denominado "picos", la

velocidad de reloj (también denominada ciclo), corresponde al número de pulsos por segundo,

expresados en Hertz (Hz). De este modo, un computador de 200 MHz posee un reloj que envía

200.000.000 pulsos por segundo.

Con cada pico de reloj, el procesador ejecuta una acción que corresponde a su vez a una

instrucción o bien a una parte de ella.

6. INSTRUCCIONES

Una instrucción es una operación elemental que el procesador puede cumplir, se almacenan en la

memoria principal, esperando ser tratadas por el procesador y poseen dos campos:

· el código de operación, que representa la acción que el procesador debe ejecutar

· el código operando, que define los parámetros de la acción, este depende a su vez de la

operación. Puede tratarse tanto de información como de una dirección de memoria.

El número de bits en una instrucción varía de acuerdo al tipo de información (entre 1 y 4 bytes de 8

bits).

Las instrucciones pueden agruparse en distintas categorías, estas son las siguientes:

· Acceso a Memoria: acceso a la memoria o transferencia de información entre registros.

· Operaciones Aritméticas: operaciones tales como suma, resta, división o multiplicación.

· Operaciones Lógicas: operaciones tales como Y, O, NO, NO EXCLUSIVO, etc.

· Control: controles de secuencia, conexiones condicionales, etc.

7. REGISTROS

Cuando el procesador ejecuta instrucciones, la información almacena en forma temporal en

pequeñas ubicaciones de memoria local de 8, 16, 32 o 64 bits, denominadas “registros“.

Dependiendo del tipo de procesador, el número total de registros puede variar de 10 a varios

cientos.

Los registros más importantes son:

· el registro acumulador (ACC), almacena los resultados de las operaciones aritméticas y

lógicas;

· el registro de estado (PSW Palabra de Estado del Procesador), contiene los indicadores

de estado del sistema (lleva dígitos, desbordamientos, etc.);

Page 8: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

10

· el registro de instrucción (RI), contiene la instrucción que está siendo procesada

actualmente;

· el contador ordinal (OC o PC por Program Counter, Contador de Programa), contiene la

dirección de la siguiente instrucción a procesar;

· el registro del búffer, que almacena información en forma temporal desde la memoria.

8. EL BUS

La familia de ordenadores PC interconexiona toda la circuiteria de control interna mediante un

diseño de circuito, conocido con el nombre de bus. La información codificada viaja a través de la

computadora por un bus.

El bus es el conjunto de cables (líneas) de hardware utilizados para la transmisión de datos entre

los componentes de un sistema informático, es una ruta compartida que conecta diferentes partes

del sistema como el procesador, la controladora de unidad de disco, la memoria y los puertos de

entrada, salida, permitiéndoles transmitir información.

El bus es supervisado por el microprocesador, se especializa en el transporte de diferentes tipos de

información.

Por ejemplo, un grupo de cables (en realidad trazos sobre una placa de circuito impreso)

transporta los datos, otro las direcciones (ubicaciones) en las que puede encontrarse información

específica, y otro las señales de control para asegurar que las diferentes partes del sistema utilizan

su ruta compartida sin conflictos.

Los buses se caracterizan por el número de bits que pueden transmitir en un determinado

momento. Por ejemplo un equipo con un bus de 8 bits transmite 8 bits de datos y un bus de 16 bits

transmite 16 bits de datos simultáneamente.

Cada chip de control y cada byte de memoria del PC están conectados directa o indirectamente al

bus, cuando un nuevo componente se inserta en uno de los conectores de expansión, queda unido

directamente al bus, convirtiéndose en un objeto más de la unidad completa.

Cuando el dato está listo para ser transferido, se transmite primero su dirección de destino por el

bus de direcciones y luego el dato sigue por el bus de datos.

Page 9: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

11

El bus está dividido en cuatro partes: líneas de potencia, bus de control, bus de direcciones y bus

de datos.

8.1 TIPOS DE BUSES

Existen tres tipos de buses : Bus de Datos, Bus de Direcciones y Bus de Control.

Bus de Datos: mueve los datos entre los dispositivos del hardware de Entrada ( teclado, Escáner,

raton , etc,) , de salida (Impresora, el monitor o la tarjeta de sonido) y de Almacenamiento (disco

duro, el Diskette 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 (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.

El Bus de Direcciones: 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,

Bus de Control: Este bus transporta señales de estado de las operaciones efectuadas por el CPU

con las demás unidades.

8.2 Bus Memoria

Transfiere información entre la memoria principal y el CPU. Este bus es implementado en un chip

dedicado, el cual es responsable de la comunicación. La información que viaja sobre el memory

bus se hace a una velocidad mas baja que en el processor bus. Este bus tiene el mismo ancho que

el procesor bus, significa que en un sistema con CPU de 32 bits el memory bus es de 32 bits, esto

definirá el tamaño de lo que se conoce como banco de memoria. Los slots para la memoria son

conectados en el memory bus de la misma forma que son conectados los slots de E/S Bus.

8.3 Bus E/S

Son los buses que se encargan de la entrada y salida de los datos en todo el sistema. Las

diferencias entre los tipos de buses que pertenecen a esta categoría consiste en la cantidad de

datos que pueden transferir a la vez y la velocidad a la que pueden hacerlo.

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. Así, el Canal de Direcciones del Microprocesador para una PC-ATX puede "direccionar" más

de 4 mil millones de combinaciones diferentes para el conjunto de 32 bits de su Bus.

Page 10: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

12

9. INTERRUPCIONES

Son señales que se le envían a la CPU para que termine la ejecución de la instrucción en curso y

atienda una petición determinada.

9.1 TIPOS DE INTERRUPCIONES

Existe 4 tipos de interrupciones:

· Interrupciones Hardware

Son generadas por los circuitos del computador en respuesta a algún evento como pulsar

una tecla de teclado. Este tipo de interrupciones la maneja el controlador de interrupciones,

que establece la prioridad antes de enviar la señal a la CPU. (provocadas por los periféricos

del computador).

· Interrupciones Internas

Son generadas por la propia CPU cuando se produce una situación anormal ( generadas por

el propio microprocesador cuando ocurren ciertas condiciones especiales) como por ejemplo

una división por cero.

Los tipos de interrupciones internas son 5, estas son:

0 – Error en división

1 – Paso a paso (modo depuración de programas)

2 – No enmascarable (no se puede desactivar el programa)

3 – Sirve para indicar puntos donde debe pararse el programa

4 – Desbordamiento (overflow). Se dispara por la instrucción INTO ( interrupcion si

overflow)

· Interrupciones software

Son generadas por el propio programa para invocar a ciertas rutinas almacenadas en

memoria (ROM o RAM).

· Interrupción no enmascarable

Se usa para pedir la atención inmediata de la CPU en situaciones de emergencia, como

caida de voltaje o error de paridad de memoria .

Cada interrupción lleva asociado un numero que identifica el tipo de servicio que debe realizar. A

partir del numero de la interrupción calcula la dirección de la rutina que realiza el servicio requerido,

la ejecuta y retorna a la instrucción siguiente a la ultima que ejecutó antes de que se produjera la

interrupción.

En total existen 256 interrupciones ( códigos de 0 a 255). Mediante este código se apunta a una

tabla de vectores de interrupción, cada vector contiene la dirección de la rutina de tratamiento de la

interrupción.

Algunas de las interrupciones se reservan para el BIOS (Basic Input Output System) y otras para el

sistema operativo.

Page 11: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

13

10. DEFINICION Y ARQUITECTURA DE LA PLACA MADRE

La placa base (placa madre o tarjeta madre o motherboard o mainboard) es una tarjeta de

circuito impreso a la que se conectan las demás partes de la computadora, . Tiene instalados una

serie de integrados, entre los que se encuentra el Chipset que sirve como centro de conexión entre

el procesador, la memoria RAM, los buses de expansión y otros dispositivos.

Va instalada dentro del case y tiene un panel para conectar dispositivos externos y muchos

conectores internos y zócalos para instalar componentes, además incluye un software llamado

BIOS, que le permite realizar las funcionalidades básicas como: pruebas de los dispositivos, vídeo

y manejo del teclado, reconocimiento de dispositivos y carga del sistema operativo.

10.1 COMPONENTES DE LA PLACA BASE

Una placa base tiene los siguientes componentes:

· Uno o varios conectores de alimentación:

· El zócalo de CPU (a menudo llamado socket): es un receptáculo que recibe el micro-

procesador y le conecta con el resto de la microcomputadora.

· Los conectores de RAM (ranura de memoria, en inglés memory slot) en número de 2, 3 o 4

en las placas base comunes e incluso 6.

· El chipset, circuito electrónico, que gestiona las transferencias de datos entre los diferentes

componentes de la computadora (microprocesador, memoria, disco duro, etc.).

· Un reloj: regula la velocidad de ejecución de las instrucciones del microprocesador y de los

periféricos internos.

· La CMOS: una pequeña memoria que preserva cierta información importante (como la

configuración del equipo, fecha y hora), mientras que el equipo no está alimentado por

electricidad.

· La pila de la CMOS: proporciona la electricidad necesaria para operar el circuito.

· La BIOS: un programa registrado en una Memoria no volátil, es específico de la tarjeta y se

encarga de la interfaz de bajo nivel entre el microprocesador y algunos periféricos.

Recupera, y después ejecuta, las instrucciones del MBR (Master Boot Record), registrados

en un disco duro, cuando arranca el equipo.

· El bus (también llamado bus interno o en inglés (Front Side Bus (FSB)): Conecta el

microprocesador al chipset.

· El bus de memoria conecta el chipset a la memoria temporal.

· Los conectores de entrada/salida que cumplen normalmente con la norma PC 99: Estos

conectores incluyen: Los puertos seriales, paralelos, USB. RJ45,VGA, IDE, Sata

· Los conectores (slots) de expansión: que acogen tarjetas de expansión para agregar

características o aumentar el rendimiento de un ordenador, por ejemplo, un tarjeta gráfica

para mejorar el rendimiento de la pantalla 3D en el monitor. Estos puertos pueden ser

Page 12: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

14

puertos ISA (interfaz antigua), PCI (en inglés Peripheral Component Interconnect) y los

más recientes PCI Express.

11. TIPOS DE TARJETA MADRE

11.1 TARJETA MADRE XT

Es el formato de la placa base de la PC de IBM modelo 5160, lanzada en 1983 con las misma. En

este factor de forma se definió un tamaño exactamente igual al de una hoja de papel tamaño carta

y un único conector externo para el teclado.

11.2 TARJETA MADRE AT

Las AT son las placas compatibles desde la 80286 hasta las primeras Pentium, tienen 12 contactos

para la fuente de energia(P80 6 contactos, P9 = 6 contactos)

11.3 TARJETA MADRE ATX

Creado por Intel en 1995 introdujo las conexiones exteriores en la forma de un panel I/O y definió

un conector de 20 pines para la energía, posteriormente se agrego 4 contactos auxiliares para la

energía

11.4 TARJETA MADRE ATX2

Destinadas a PCs de pequeño formato. Hacen uso de un conector de energía de 24 pines y de un

conector adicional de 2x2.

12. RANURAS DE EXPANSION

Son las ranuras donde se conectan diversas tarjetas en el sistema. Clases: ISA

PCI, AGP, PCI EXPRESS

12.1 ISA ( INDUSTRIA STANDART )

Las ranuras ISA son de Color negro, cuentan con una Velocidad de procesamiento de 8 MHz, su

tamaño aproximado es de 14 cm de longitud, su canal de datos es de 16 bits, surge en 1980,

actualmente ya no se usan.

12.2 PCI ( COMPONENTE PERIFERICIO INTERCONECTADO)

Las ranuras PCI son de color beish o blanco, su velocidad de procesamiento es de 33 MHz, el

canal de datos es de 32 bits, son plug and play, esto quiere decir que cuando se conectan, son

detectados automáticamente, no se les hace ninguna configuración para que funcione. (propiedad

de los componentes hardware).

12.3 AGP ( ACCELERATE GRAPHICS PART)

Page 13: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

15

Son de Color café oscuro, su tamaño aproximado es de 8 cm de longitud, fue desarrollado por

INTEL en 1966 como puerto grafico, utilizadas exclusivamente para tarjetas de expansión de video,

solo existe una ranura AGP, en la placa madre, ya que el PC solo tiene una tarjeta de video.

12.4 PCI EXPRESS

Vienen de todos los colores, su velocidad de procesamiento es de 66mhtz, el canal de datos es

de 64 bits. Fue Creado por INTEL en 2004, en ella se puede conectar tarjetas graficas.

13. LA BIOS

BIOS (Basic Input/Output System) significa sistema básico de entrada/salida, es un programa

integrado a la placa base mediante un chip, que se usa para realizar las funciones básicas de

configuración del computador. Los datos se guardan en una memoria ROM, alimentada por una

pila (acumulador). Básicamente encontramos dos fábricas de BIOS, la Award y la AMI, aunque

también existen de otros como Phoenix.

13.1 CONFIGURACIONES BÁSICAS

Mediante el BIOS se puede realizar básicamente las siguientes configuraciones

· Configuración de la fecha y la hora

· Configuración de Discos duros

· Configuración de lectores y quemadores

· Configuración de disquetera

· Configuración del Sistema de Arranque

También nos da la posibilidad de comprobar y afirmar, o modificar, la configuración de los puertos

IDE, comprobar la memoria del sistema; el tipo de tarjeta gráfica, administración de energía y

claves de acceso al BIOS.

UNIDAD II

MEMORIAS Y MICROPROCESADORES

1. INTRODUCCIÓN

La Memoria Ram (Memoria de acceso directo), es un circuito electrónico con celdas

microscópicas, en la cual cada celda almacena un carácter ( 0 o 1 ) cuyas operaciones básicas

consisten en leer y almacenar información mediante el uso del bus de datos y direcciones, estas

operaciones ocurren en un orden lógico.

El hito técnico actual, marca a la ultima tecnología en microprocesadores y memorias RAM que

han mejorado y llegado a alcanzar el sueño de los seres humanos.

Page 14: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

16

2. CONCEPTOS Y CARACTERISTICAS

2.1 MEMORIAS

El diseño del chip de memorias es un conjunto de celdas microscópicas ,para acceder a la

escritura y lectura de los datos , los circuitos de prebúsqueda del CPU activan unos circuitos

denominados MCC( Memory Control Circuit,Circuito de control de memoria) que forman parte del

chipset de la placa madre.

2.2 MEMORIA ROM

Las memorias de solo lectura son conocidas como ROM (Read Only Memory), se caracterizan por

ser de lectura y contener celdas de lectura no volatiles

2.3 MEMORIAS RAM

Se denomina RAM por que es posible acceder a cualquier ubicación

aleatoriamente y rápidamente, están constituidas por un conjunto de chips o

módulos de chips normalmente conectados a la tarjeta madre.

2.4 MEMORIA CACHE

Esta Memoria se encuentra en el microprocesador, es una memoria rapida que sirve al procesador

a obtener rapidamente los datos que seran procesados sin tener que acudir a la memoria RAM,

reduciéndose de esta form el tiempo de espera.

La memoria cahe tiene 2 niveles L1 y L2 donde:

L1 memoria de 1° nivel o cache interno, ayuda con las operaciones aritmético –logicas

L2 memoria de 2° nivel o cache externo,ayuda a la organización de archivos.

3. TIPOS DE MEMORIAS RAM

Existen 3 tipos principales de memoria física en las computadoras actuales, estas son: ROM, RAM

estatica y RAM dinamica.

3.2 SRAM (Ram Estatica)

Mantiene su data tanto tiempo como se provea de energia a los chips de memoria, no se puede

actualizar.

3.3 DRAM (RAM DINAMICA), ya que es "la original", y por tanto la más lenta. Usada hasta la

época del 386, su velocidad típica es de 80 ó 70 nanosegundos (ns), tiempo éste que tarda en

vaciarse para poder dar entrada a la siguiente serie de datos. Por ello, es más rápida la de 70 ns

que la de 80 ns.

Page 15: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

17

· Fast Page (FPM): a veces llamada DRAM (o sólo "RAM"), puesto que evoluciona directamente

de ella, y se usa desde hace tanto que pocas veces se las diferencia. Algo más rápida, tanto

por su estructura (el modo de Página Rápida) como por ser de 70 ó 60 ns. Usada hasta con los

primeros Pentium,

4. TECNOLOGÍAS Y CARACTERÍSTICAS DE MEMORIAS

Los bancos de memoria se encuentran en la placa madre, es la forma en que se unen los chips de

memoria, para conectarse, son unas placas alargadas con conectores en sus extremos, al conjunto

de placa se denomina modulo, la tecnología ha ido cambiando con los años, y se presentan en

forma de módulos de memoria que pueden conectarse a la placa madre.

Las tecnologías son: MINISIMM, SIMM,DIMM,RIMM,DDR,DDR2,DDR3

MINISIMM à 286 , 386

SIMM à 486 , Pentium 1 (Las SIMM llega máximo hasta 16 Mb)

DIMM à Pentium 1,2,3 y 4

RIMM à Pentium 4

DDR1 à Pentium D y 4

DDR2 à Dual Core, Core 2 duo(algunas Pentium D)

DDR3 à Quad Core, Core i7

4.1 TIPOS DE MEMORIA

MEMORIA TECNOLOGÍA VELOCIDAD O

FRECUENCIA

RENDIMIENTO CAPACIDAD PARIDAD

SIMM FDD

EDO

50 ns

50 ns

230 Mbps

400 Mbps

4 Mb

8 Mb

16 Mb

Si

DIMM EDO

PC – 66

PC –100

PC –133

50 ns

66 Mhz

100 Mhz

133 Mhz

400 Mbps

533 Mbps

800 Mbps

1066 Mbps

16 Mb

32 Mb

64 Mb

128 Mb

256 Mb

512 Mb

No

RIMM PC –600

PC –700

PC –800

PC –1200

600 Mhz

700 Mhz

800 Mhz

1200 Mhz

1066 Mbps

1420 Mbps

1600 Mbps

2400 Mbps

64 Mb

128 Mb Si

Page 16: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

18

DDR PC –1600

PC –2100

PC –2700

PC –3200

200 Mhz

266 Mhz

333 Mhz

400 Mhz

1.6 Gbps

2.1 Gbps

2.7 Gbps

3.2 Gbps

128 Mb

256 Mb

512 Mb

1 Gb

No

DDR2 PC2 – 3200

PC2 – 4300

PC2 - 5300

400 Mhz

533 Mhz

667 Mhz

800 Mhz

3.2 Gbps

4.3 Gbps

5.3 Gbps

128 Mb

256 Mb

512 Mb

1,.... 3.2 Gb

No

5. MODOS DE DIRECCIONAMIENTO

El campo de operación de una instrucción determina la operación que se va a ejecutar, esta

operación debe realizarse sobre algunos datos almacenados en registros de computadora o en

palabras de memoria. La manera en que eligen los operandos durante la ejecución del programa

depende del modo de direccionamiento de la instrucción, el modo de direccionamiento especifica

una regla para interpretar o modificar el campo de dirección de la instrucción antes de que se haga

la referencia real al operando.

5.1 MODO INMEDIATO

Una instrucción de modo inmediato tiene un campo operando, en lugar de una campo de dirección.

Un campo de operando contiene el operando real que se va a usar junto con la operación

especificada en la instrucción. Las instrucciones de modo inmediato son útiles para inicializar

registros en un valor constante.

5.2 MODO DE REGISTRO

En este modo, los operandos están en registros que residen dentro de la CPU, se selecciona el

registro particular de un campo de registro en la instrucción. Un campo k bits puede especificar

cualquiera de 2 a la k registros.

5.3 MODO INDIRECTO POR REGISTRO

La ventaja de una instrucción de modo de registro indirecto es que el campo de dirección de la

instrucción utiliza menos bits para seleccionar un registro de los que necesitaría para especificar

una dirección de memoria en forma directa.

5.4 MODO DE DIRECCIONAMIENTO DIRECTO

La dirección efectiva es igual a la parte de dirección de la instrucción, el operando reside en

memoria y su dirección la proporciona en forma directa el campo de dirección de la instrucción.

Page 17: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

19

5.5 MODO DE DIRECCIONAMIENTO INDIRECTO

En este modo, el campo de dirección de la instrucción proporciona la dirección en que se almacena

la dirección efectiva en la memoria. El control recupera la instrucción de la memoria y utiliza su

parte de dirección para accesar la memoria una vez mas con el fin de leer la dirección efectiva.

5.6 MODO DE DIRECCIONAMIENTO INDEXADO

El contenido de un registro índice se suma a la parte de dirección de la instrucción para obtener la

dirección efectiva. El registro índice es un registro especial que contiene un valor índice, un campo

de dirección de la instrucción define la dirección inicial del arreglo de datos en la memoria. Cada

operando del arreglo se almacena en la memoria en relación con la dirección inicial.

5.7 MODO DE DIRECCIONAMIENTO DE REGISTRO BASE

En este modo, el contenido de un registro base se suma a la parte de dirección de la instrucción

para obtener la dirección efectiva, esto es similar al modo de direccionamiento indexado, excepto

en que el registro se denomina ahora registro base, en lugar de registro índice

6. MICROPROCESADORES

El microprocesador es un circuito integrado que actúa como unidad central de proceso del

computador, proporcionando el control de las operaciones de cálculo. Los microprocesadores

también se utilizan en otros sistemas informáticos avanzados, como impresoras, automóviles o

aviones. Los microprocesadores actuales incorporan hasta 10 millones de transistores (que actúan

como amplificadores electrónicos, osciladores o, más a menudo, como conmutadores), además de

otros componentes como resistencias, diodos, condensadores y conexiones, todo ello en una

superficie comparable a la de un sello postal.

Un microprocesador consta de : La unidad aritmético-lógica (ALU, siglas en inglés) efectúa cálculos

con números y toma decisiones lógicas; los registros son zonas de memoria especiales para

almacenar información temporalmente; la unidad de control descodifica los programas; los buses

transportan información digital a través del chip y de la computadora, secciones de memoria

especializada denominadas memoria cache, que sirven para acelerar el acceso a los dispositivos

externos de almacenamiento de datos.

El microprocesador es un circuito electrónico que

funciona a la velocidad de un reloj interno, gracias a un

cristal de cuarzo que, sometido a una corriente eléctrica,

envía pulsos, denominado "picos", la velocidad de reloj

(también denominada ciclo), corresponde al número de

pulsos por segundo, expresados en Hertz (Hz). De este

Page 18: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

20

modo, un computador de 200 MHz posee un reloj que envía 200.000.000 pulsos por segundo.

7. ARQUITECTURA Y SUS REGISTROS INTERNOS

Existen 2 tipos de arquitecturas que son: La arquitectura CISC y la RISC

7.1 La arquitectura CISC (Complex Instruction Set Computer, Ordenador de Conjunto de

Instrucciones Complejas) se refiere a la conexión permanente del procesador con las instrucciones

complejas, difíciles de crear a partir de las instrucciones de base.

Esta arquitectura es especialmente popular en procesadores de tipo 80x86 y tiene un costo

elevado a causa de las funciones avanzadas impresas en la silicona.

Las instrucciones son de longitud diversa, y a veces requieren más de un ciclo de reloj, dado que

los procesadores basados en la arquitectura CISC sólo pueden procesar una instrucción a la vez,

el tiempo de procesamiento es una función del tamaño de la instrucción.

7.2 ARQUITECTURA RISC

Los procesadores con tecnología RISC (Reduced Instruction Set Computer, Ordenador de

Conjunto de Instrucciones Reducidas) no poseen funciones avanzadas conectadas en forma

permanente, razón por la cual los programas deben traducirse en instrucciones sencillas, y esto

hace necesario la utilización de un procesador más potente.

Este tipo de arquitectura tiene un costo de producción reducido comparado con los procesadores

CISC, además las instrucciones sencillas se ejecutan en un sólo ciclo de reloj, lo cual acelera la

ejecución del programa.

Los procesadores con arquitectura RISC pueden manejar múltiples instrucciones en forma

simultánea, procesándolas en paralelo.

8. TIPOS DE PROCESAMIENTO

8.1 PROCESAMIENTO PARALELO

El procesamiento paralelo consiste en la ejecución simultánea de instrucciones desde el mismo

programa pero en diferentes procesadores. Implica la división del programa en múltiples procesos

manejados en paralelo a fin de reducir el tiempo de ejecución.

No obstante, este tipo de tecnología necesita sincronización y comunicación entre los diversos

procesos, de manera similar a lo que puede llegar a ocurrir cuando se dividen las tareas en una

empresa: se distribuye el trabajo en procesos discontinuos más pequeños que son manejados por

diversos departamentos. El funcionamiento de una empresa puede verse afectado en gran medida

si la comunicación entre los distintos servicios internos no funciona de manera correcta.

Page 19: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

21

8.2 CANALIZACIÓN

Se denomina canalización a la tecnología destinada a mejorar la velocidad de ejecución de

instrucciones mediante la colocación de las diversas etapas en paralelo.

A fin de comprender el mecanismo de canalización, es necesario primero comprender las etapas

de ejecución de una instrucción, que son las siguientes:

· RECUPERACIÓN: (recupera la instrucción de la caché)

· DECODIFICACIÓN: decodifica la instrucción y busca operandos (valores de registro o

inmediatos);

· EJECUCIÓN: ejecuta la instrucción (por ejemplo, si se trata de una instrucción ADD, se

realiza una suma, si es una instrucción SUB, se realiza una resta, etc.);

· MEMORIA: accede a la memoria, y escribe o recupera información desde allí;

· POST ESCRITURA (retirar): registra el valor calculado en un registro.

El objetivo de la canalización es ejecutar cada paso en paralelo con los pasos anteriores y los

siguientes, lo que implica leer la instrucción (RECUPERACIÓN) mientras se lee el paso anterior

(DECODIFICACIÓN), al momento en que el paso anterior está siendo ejecutado (EJECUCIÓN) al

mismo tiempo que el paso anterior se está escribiendo en la memoria (MEMORIA), y que el primer

paso de la serie se registra en un registro (POST ESCRITURA).

8.3 HYPERTHREADING

La tecnología HyperThreading consiste en ubicar dos procesadores lógicos junto con un

procesador físico. El sistema reconoce así dos procesadores físicos y se comporta como un

sistema multitareas, enviando de esta manera, dos subprocesos simultáneos denominados SMT

(Simultaneous Multi Threading, Multiprocesamiento Simultáneo). Este "engaño", permite emplear

mejor los recursos del procesador, garantizando el envío masivo de información..

9. TECNOLOGÍA DE MICROPROCESADORES

9.1 SLOT

El microprocesador es de tamaño grande, como una terjeta adicional, se encuentra en las AT y en

las Primeras pentium

9.2 PGA

El microprocesador posee socket de plastico que permiten la conexión eléctrica entre el circuito

integrado que conforma el microprocesador y los circuitos de la placa base

9.3 LGA

El microprocesador posee un arreglo de elementos metálicos (pines, esferas, contactos) que

permiten la conexión eléctrica entre el circuito integrado que conforma el microprocesador y los

Page 20: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

22

circuitos de la placa base. Dependiendo de la complejidad y de la potencia, un procesador puede

tener desde 8 hasta más de 1000 elementos metálicos en la superficie de su empaque

10. EVOLUCION DE MICROPROCESADORES

A través del tiempo, los fabricantes de microprocesadores han desarrollado un determinado

número de mejoras tecnológicas que optimizan el rendimiento del procesador

10.1 MICROPROCESADOR 4004

Es un microprocesador de 4 bits de bus de datos, direcciona 32768 bits de ROM y 5120 bits de

RAM. Además se pueden direccionar 16 ports de entrada (de 4 bits) y 16 ports de salida (de 4 bits).

Contiene alrededor de 2300 transistores MOS de canal P de 10 micrones. El ciclo de instrucción es

de 10,8 microsegundos.

Este microprocesador estaba encapsulado en el formato DIP (Dual Inline Package) de 16 patas

(ocho de cada lado). La distancia entre las patas es de 0,1 pulgadas (2,54 milímetros), mientras

que la distancia entre patas enfrentadas es de 0,3 pulgadas (7,68 milímetros).

10.2 MICROPROCESADOR 8008

Este microprocesador de ocho bits poseía alrededor de 3500 transistores, direccionaba 16 KBytes

y la frecuencia máxima de reloj (clock) era de 108 KHz.

El 8008 no tiene registro de puntero de stack (SP). Tiene una pila interna de 8 posiciones para

almacenar las direcciones de retorno en el caso de llamadas a subrutina.

Hay cuatro indicadores (o flags): Carry, Sign, Parity y Zero (C, S, P, Z).

10.3 MICROPROCESADOR 8080

El 8080 tenía alrededor de 6000 transistores MOS de canal N (NMOS) de 6 micrones, se

conectaba al exterior mediante 40 patas (en formato DIP) y necesitaba tres tensiones para su

funcionamiento (típico de los circuitos integrados de esa época): +12V, +5V y -5V. La frecuencia

máxima era de 2 MHz.

La competencia de Intel vino de Motorola. Seis meses después del lanzamiento del 8080, apareció

el 6800. Este producto era mejor en varios aspectos que el primero. El mayor competidor del 8080

fue el microprocesador Z-80, que fue lanzado en 1976 por la empresa Zilog (fundada por Faggin).

10.4 EL MICROPROCESADOR 8085

Fue creado por la empresa Intel en 1977. La alimentación es única: requiere sólo +5V. Tiene

incorporado el generador de pulsos de reloj con lo que sólo hace falta un cristal de cuarzo y un par

de capacitores externos (para el 8080 se necesitaba el circuito integrado auxiliar que lleva el código

8224). El microprocesador 8085 posee un complejo y completo sistema de interrupciones.

Page 21: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

23

10.5 LOS MICROPROCESADORES 8086 Y 8088

El 8086 es un microprocesador de 16 bits, tanto en lo que se refiere a su estructura como en sus

conexiones externas, mientras que el 8088 es un procesador de 8 bits que internamente es casi

idéntico al 8086. La única diferencia entre ambos es el tamaño del bus de datos externo. Intel trata

esta igualdad interna y desigualdad externa dividiendo cada procesador 8086 y 8088 en dos sub-

procesadores: Unidad de ejecución y una unidad interfaz del bus

10.6 MICROPROCESADORES 80186 Y 80188

El chip contiene otros componentes aparte de los encontrados en microprocesadores comunes

como el 8088 u 8086, contienen, aparte de la unidad de ejecución, contadores o "timers", y a veces

incluyen memoria RAM y/o ROM y otros dispositivos que varían según los modelos. Cuando

contienen memoria ROM, a estos chips se los llama microcomputadoras en un sólo chip (no siendo

éste el caso de los microprocesadores 80186/80188).

Los microprocesadores 80188/80186 contenían, en su primera versión, lo siguiente:

Page 22: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

24

10.7 MICROPROCESADOR 80286 y 80386

El 80286 tiene cuatro nuevos registros, y el 80386 consiste en una unidad central de proceso

(CPU), una unidad de manejo de memoria (MMU)y una unidad de interfaz con el bus (BIU).

La CPU está compuesta por la unidad de ejecución y la unidad de instrucciones. La unidad de

ejecución contiene los ocho registros de 32 bits de propósito general que se utilizan para el cálculo

de direcciones y operaciones con datos y 64 bits que se utiliza para acelerar las operaciones de

desplazamiento, rotación, multiplicación y división.

10.8 EL MICROPROCESADOR PENTIUM

Este microprocesador se presentó el 22 de marzo de 1993

con velocidades iniciales de 60 y 66 MHz (112 millones de

instrucciones por segundo en el último caso), 3.100.000

transistores (fabricado con el proceso BICMOS (Bipolar-

CMOS) de 0,8 micrones), caché interno de 8 KB para datos

y 8 KB para instrucciones, verificación interna de paridad

para asegurar la ejecución correcta de las instrucciones, una

unidad de punto flotante mejorada, bus de datos de 64 bit

para una comunicación más rápida con la memoria externa

y, lo más importante, permite la ejecución de dos instrucciones simultáneamente. El chip se

empaqueta en formato PGA (Pin Grid Array) de 273 pines.

10.9 MICROPROCESADOR PENTIUM II

El Pentium II consigue aumentar la potencia del Pentium pro con las ventajas multimedia del

Pentium mmx. Diseñado para 233, 266, 300 MHz dispone de una memoria cache interna de 512

KB. Otra novedad incluida es el tipo de zócalo que Intel lanza como nuevo estándar para su

microprocesador: El SEC (Single Edge Connect).

En el caso del Pentium II, la memoria cache de segundo nivel va en el circuito impreso que sirve de

soporte para el microprocesador.

El nuevo diseño externo del Pentium tienes dos funciones primordiales:

- Aislamiento que permite apantallar el microprocesador de los demás componentes y

viceversa: impedir que el resto de los componentes interfieran sobre el correcto

funcionamiento del microprocesador.

- Soporte del disipador ventilador que, dadas las condiciones de refrigeración necesarias en

el microprocesador, debe ser voluminoso.

10.10 MICROPROCESADOR PENTIUM CELERON

El Pentium Celeron se puede entender como el Pentium II ``Sx'', se trata de un microprocesador

inferior al Pentium II pero con un mejor precio, esto consiguió que perdurase mas tiempo que el

Page 23: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

25

propio Pentium II, siendo la punta de lanza de la compañía INTEL hasta la aparición del Pentium

III.

Este micro apareció bajo dos encapsulados diferentes: el SEPP y el PPGA. El primero fue el mas

común, recordando al típico formato del Pentium II, aunque también estaba optimizado para

trabajar con aplicaciones de 32bits, la critica a este microprocesador venia por la ausencia de

memoria cache L2. esto afectaba a toda la gama comprendida entre los 266 y 300MHz; el resto

incluían una L2 de 128KB sincronía con la velocidad del microprocesador.

Implementados con 7,5 millones de transistores hasta los modelos de 300MHz y con 9,1 millones

el resto, estos micros heredan las instrucciones MMX y siguen manteniendo una comunicación con

el bus de 66MHz.

10.11 Microprocesador PENTIUM III

Debe tenerse en cuenta que admitio frecuencias de trabajo vertiginosas en su tiempo de 450, 500 y

550MHz funcionando con un Chipset 440BX. Incluye, ademas, 512 KB de memoria cache de

segundo nivel. Incluye 8 nuevos registros de 128 bits, ademas de los 8 registros FP ya existentes

de 64 bits, donde cada registro soporta 4 valores de coma flotante de simple preciosion IEEE.

Las importantes mejoras en graficos 3D con mas polígonos y efectos complementan la animación

asi como el tratamiento de imágenes. Este tratamiento dispone de algoritmos optimizados que

permiten manejar imágenes mas grandes y complejas en menos tiempo. En cuanto al video, lo

mas destacable es la posibilidad de edición y codificación de ficheros en formato comprimido

MPEG 2 en tiempo real junto al resto de características heredadas del tratamiento de imágenes.

Esto consigue una reproducción de video mas ``real'' sin cortes entre imágenes.

10.12 MICROPROCESADOR PENTIUM IV

El PENTIUM 4 precisa de una placa base diseñada de forma especifica. El formato en el que se

suministra es para socket 423, aunque existen varios rumores por parte de INTEL, sobre un

cambio de formato inminente hacia los 478 pines. Ademas el sistema de refrigeración precisa de

una caja y fuente de alimentación especiales denominadas ATX 2.03.

El micro de 1,4GHz y bajo la premisa expuesta de un funcionamiento a 100 MHz, es necesario

configurar la placa base con un factor multiplicador de x14. Se alcanzan los 3,2 GB/s frente a 1

GB/s obtenido por el PENTIUM II con un bus de 133 MHz o los 0,5 GB/s del Celeron con un bus de

66MHz.

10.13 MICROPROCESADOR Core i7

Es un microprocesador con cuatro núcleos de la arquitectura, tecnología LGA de 1366 contactos

11. COPROCESADOR MATEMÁTICO 8087

Page 24: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

26

El procesador de datos numérico 8087 aumenta el juego de instrucciones del 8086/8088

mejorando su capacidad de tratamiento de números. Se utiliza como procesador paralelo junto al

8086/8088 añadiendo 8 registros de coma flotante de 80 bits así como instrucciones adicionales.

Utiliza su propia cola de instrucciones para controlar el flujo de instrucciones del 8086/8088,

ejecutando sólo aquellas instrucciones que le corresponden, e ignorando las destinadas a la CPU

8086/8088.

Existen dos tipos de números que aparecen normalmente durante el cálculo: los números enteros y

los números reales. Los enteros son fáciles de tratar para la computadora. Los chips

microprocesadores de propósito general trabajan con números enteros utilizando la representación

binaria de números en complemento a dos. Los números reales, sin embargo es la representación

en coma flotante es en el fondo una variación de la notación científica que puede verse en el

visualizador de cualquier calculadora. Con este sistema, la representación de un número consta de

tres partes: el signo, el exponente y la mantisa. Antes de continuar, veremos por qué es necesaria

esta representación.

UNIDAD III

PROGRAMACIÓN A BAJO NIVEL

1. INTRODUCCION

Un programa escrito en lenguaje ensamblador consiste en una serie de instrucciones que

corresponden al flujo de órdenes ejecutables que pueden ser cargadas en la memoria de una

computadora.

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.

La transformación del lenguaje ensamblador en código máquina la realiza un programa

ensamblador, y la traducción inversa la puede efectuar un desensamblador, en algunos casos, un

ensamblador puede proveer "pseudo instrucciones" que se expanden en un código de máquina

más extenso a fin de proveer la funcionalidad necesaria.

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. Entre sus características mas

importantes están los siguientes:

· Trabaja a nivel de instrucciones, es decir, su programación es al más fino detalle.

· Está orientado a la máquina.

· Programar en lenguaje ensamblador es difícil de aprender, entender, leer, escribir, depurar

y mantener, por eso surgió la necesidad de los lenguajes compilados.

Page 25: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

27

· El lenguaje ensamblador no es portable.

· Al programar cuidadosamente en lenguaje ensamblador se pueden crear programas de 5 a

10 veces más rápidos que con lenguajes de alto nivel.

· Los programas en lenguaje ensamblador ocupan casi la mitad de espacio que su

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

· El lenguaje ensamblador trabaja más directamente con el hardware (con registros del

microprocesador, memoria, dispositivos,..,etc.).

· El sistema numérico por excelencia no es el decimal

2. EL DEBUG

“Bug" significa fallo, defecto en un programa; "debug" significa depurar (escrutar y eliminar fallos).

de esta han derivado otras. Por ejemplo: "Debugger" (depurador).

DEBUG.EXE es un ejecutable que, hasta 2001, acompañó a todas las versiones de MS-DOS, a

partir de la 2.0, y de Windows, es un programa antiguo pero de enorme potencial, se trata de una

utilidad interactiva de exploración de bajo nivel, pero que también puede utilizarse para ciertas

funciones. El DEBUG debe utilizarse con cierto cuidado, debe ser invocarlo desde MS-DOS o

desde una ventana DOS de Windows, aunque en este último caso algunas de sus funcionalidades

más interesantes estarán vetadas.

2.1 TERMINOLOGIA

Una vez que el programa está en ejecución, el indicador ("prompt") es un guión “-“ indicando que

el "Shell" espera recibir órdenes. Para salir basta pulsar una Q. Como muchos programas de su

género, sus comandos empiezan por una letra o combinación de ellas (pueden usarse

indistintamente mayúsculas o minúsculas) y ciertos parámetros opcionales (no es imprescindible

separar la letra de opción de los parámetros opcionales que siguen). La opción más sencilla es la

interrogación ?, cuyo resultado es una lista resumida de las opciones disponibles:

ensamblar A [dirección] comparar C dirección de intervalo

volcar D [intervalo] escribir E dirección [lista de valores]

llenar F lista de intervalos ir G [=dirección] [direcciones]

hex H valor1 valor2 entrada I puerto

cargar L [dirección] [unidad] [primer_sector] [número]

mover M dirección de intervalo

nombre N [nombre_ruta] [lista_argumentos]

salida O byte de puerto

proceder P [=dirección] [número]

salir Q

Page 26: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

28

registrar R [registrar]

buscar S lista de intervalos

seguimiento T [=dirección] [valor]

desensamblar U [intervalo]

escribir W [dirección] [unidad] [primer_sector] [número]

asignar memoria expandida XA [#páginas]

desasignar memoria expandida XD [identificador]

asignar páginas de memoria expandida XM [Lpágina] [Ppágina] [identificador]

mostrar estado de la memoria expandida XS

La mayoría de los comandos de debug ejecutan una acción y vuelven al indicador del shell, pero si

es un comando largo, como puede ser mostrar un trozo grande de código, puede detenerse

pulsando CTRL-Pausa o interrumpirse con CTRL-C para volver al shell.

3. ESTRUCTURA DE UN PROGRAMA EN ASSEMBLER

La estructura de un programa en lenguaje ensamblador es diferente a los lenguajes de alto nivel,

no existe una convención establecida (no como sucede con otros lenguajes, como C/C++). Como

regla de oro, es necesario la declaración de dos segmentos, la de código (CODE) y la de pila

(STACK).

En total, hay 4 segmentos principales: Segmento de datos, Segmento de código, Segmento de pila

y Segmento Extra.

En TASM las declaraciones de los segmentos se hace de la forma: .[SEGMENTO].

Para declarar la estructura de un programa básico , sería de la forma:

1. ; Define el modelo de memoria

2. .MODEL SMALL ; Modelo de memoria

3. .STACK ; Se necesita una PILA.

4. .CODE ; Área de código

5. Empieza: ; Etiqueta de comienzo de programa

6. mov Ax,4c00h ; Regresa a MS-DOS por medio de la

7. int 21h ; funcion 4c.

8. END Empieza ; Fin del programa

En TASM también es necesario especificar el modelo de memoria. Además, hay que especificar la

función (4c00h) de salir del programa mediante la interrupción 21h de MSDOS, si no, el programa

nunca termina y nunca vamos a regresar al prompt.

3.1 DECLARACIÓN DE SEGMENTOS

Page 27: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

29

En lo que respecta a la estructura del programa tenemos las directivas SEGMENT y ENDS que

marcan el inicio y final de un segmento del programa. Un segmento de programa es una colección

de instrucciones y/o datos cuyas direcciones son todas relativas para el mismo registro de

segmento. Su sintaxis es:

nombre SEGMENT [alineación] [combinación] [´clase´]

nombre ENDS

El nombre del segmento debe ser único, las opciones alineación, combinación y clase

proporcionan información al LINK sobre cómo ajustar los segmentos.

Para alineación tenemos los siguientes valores:

· byte (usa cualquier byte de dirección)

· word (usa cualquier palabra de dirección, 2 bytes/word)

· para (usa direcciones de párrafos, 16 bytes/párrafo, deafult)

· page (usa direcciones de página, 256 bytes/page)

La combinación define cómo se combinarán los segmentos con el mismo nombre, puede asumir

valores de:

· public (concatena todos los segmentos en uno solo)

· stack (igual al anterior, pero con direcciones relativas al registro SS

· common (crea segmentos sobrepuestos colocando el inicio de todos en una misma

dirección)

· memory, indica al LINK tratar los segmentos igual que MASM con public, at address

(direccionamiento relativo a address).

Fin de código fuente.- Otra directiva importante es la que indica el final de un módulo. Al alcanzarla

el ensamblador ignorará cualquier otra declaración que siga a ésta. Su sintaxis es:

END [expresión]

la opción expresión permite definir la dirección en la cual el programa iniciará.

Asignación de segmentos.- La directiva ASSUME permite indicar cuales serán los valores por

defecto que asumirán los registros de segmento. Existen dos formas de hacer esto:

ASSUME registrosegmento:nombre,,,

ASSUME NOTHING

NOTHING cancela valores previos.

Etiquetas.- Las etiquetas son declaradas

nombre:

donde nombre constituye una cadena de caracteres.

Declaración de datos.- Estos se declaran según el tipo, mediante la regla

Page 28: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

30

[nombre] directiva valor,,,

donde directiva puede ser DB (bytes), DW (palabras), DD (palabra doble), DQ (palabra

cuádruple), DT (diez bytes). También pueden usarse las directivas LABEL (crea etiquetas de

instrucciones o datos), EQU (crea símbolos de igualdad) , y el símbolo = ( asigna absolutos) para

declarar símbolos. Estos tienen la siguiente sintaxis:

nombre = expresión

nombre EQU expresión

nombre LABEL tipo

donde tipo puede ser BYTE, WORD, DWORD, QWORD, TBYTE, NEAR, FAR.

Declaración de estructuras.- Para la declaración de estructuras de datos se emplea la directiva

STRUC. Su sintaxis es:

nombre STRUC

campos

nombre ENDS

3.3 SEGMENTOS Y REGISTROS ASOCIADOS

Para nuestros programas, disponemos de varios registros, 4 de lo más importantes son:

AX - Acumulador.

BX - Base.

CX - Contador.

DX - Registro.

Cada uno de estos es de 16 bits. Se puede usar sólo la mitad de esos 16 bits, seleccionando la

parte correspondiente del registro. Cada uno de estos registros están formados por su parte baje y

su parte alta de 8 bits.

Nota: Para el manejo de aplicaciones de 32 bits, los registros pasan a ser: EAX, EBX, ECX,

EDX,..,etc.

Page 29: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

31

Existe otro registro importante, es el registro de banderas. El registro de banderas (flags) te

proporcionará información al hacer uso de varias operaciones (suma (ADD), por ejemplo).

4. CLASIFICACION DE LAS INSTRUCCIONES

4.1 INSTRUCCIONES DE TRANSFERENCIA DE DATOS

PUSH src: Pone el valor en el tope del stack.

Operación: SP <- SP - 2, [SP+1:SP] <- src donde src = {reg16|mem16|CS|DS|ES|SS}.

POP dest: Retira el valor del tope del stack poniéndolo en el lugar indicado.

Operación: dest <- [SP+1:SP], SP <- SP + 2 donde dest = {reg16|mem16|DS|ES|SS}.

XCHG reg,{reg|mem}: Intercambia ambos valores.

MOV dest,src: Copia el contenido del operando fuente (src) en el destino (dest).

Operación: dest <- src

4.2 INSTRUCCIONES ARITMÉTICAS (AFECTA FLAGS AF, CF, OF, PF,SF, ZF)

ADD dest,src Operación: dest <- dest + src.

ADC dest,src Operación: dest <- dest + src + CF.

SUB dest,src Operación: dest <- dest - src.

SBB dest,src Operación: dest <- dest - src - CF.

CMP dest,src Operación: dest - src (sólo afecta flags).

INC dest Operación: dest <- dest + 1 (no afecta CF).

DEC dest Operación: dest <- dest - 1 (no afecta CF).

NEG dest Operación: dest <- - dest; donde dest = {reg|mem} y src = {reg|mem|inmed} no

pudiendo ambos operandos estar en memoria.

DAA: Corrige el resultado de una suma de dos valores BCD empaquetados en el registro AL (debe

estar inmediatamente después de una instrucción ADD o ADC). OF es indefinido después de la

operación.

DAS: Igual que DAA pero para resta (debe estar inmediatamente después de una instrucción SUB

o SBB).

Page 30: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

32

AAM: Convierte AL en binario a AH:AL en BCD desempaquetado.

Operación: AH <- AL / 0Ah, AL <- AL mod 0Ah. Afecta PF, SF, ZF, mientras que AF, CF y OF

quedan indefinidos.

MUL {reg8|mem8}: Realiza una multiplicación con operandos no signados de 8 por 8 bits.

MUL {reg16|mem16}: Realiza una multiplicación con operandos no signados de 16 por 16 bits.

IMUL {reg8|mem8}: Realiza una multiplicación con operandos con signo de 8 por 8 bits.

Operación: AX <- AL * {reg8|mem8} realizando la multiplicación con signo. CF = OF = 0 si el

resultado entra en un byte, en caso contrario valdrán 1. AF, PF, SF, ZF quedan indefinidos.

IMUL {reg16|mem16}: Realiza una multiplicación con operandos con signo de 16 por 16 bits.

Operación: DX:AX <- AX * {reg16|mem16} realizando la multiplicación con signo. CF =OF = 0 si el

resultado entra en dos bytes, en caso contrario valdrán 1. AF, PF, SF, ZF quedan indefinidos.

CBW: Extiende el signo de AL en AX. No se afectan los flags.

CWD: Extiende el signo de AX en DX:AX. No se afectan flags.

4.3 INSTRUCCIONES LÓGICAS (AFECTAN AF, CF, OF, PF, SF, ZF)

AND dest,src: Operación: dest <- dest and src.

TEST dest,src: Operación: dest and src. Sólo afecta flags.

OR dest,src: Operación: dest <- dest or src.

XOR dest,src: Operación: dest <- dest xor src.

4.4 INSTRUCCIONES DE MANIPULACIÓN DE CADENAS

MOVSB: Copia un byte de la cadena fuente al destino.

Operación:

1.ES:[DI] <- DS:[SI] (un byte)

2.DI <- DI±1

3.SI <- SI±1

MOVSW: Copia dos bytes de la cadena fuente al destino.

Operación:

1.ES:[DI] <- DS:[SI] (dos bytes)

2.DI <- DI±2

3.SI <- SI±2

CMPSB: Compara un byte de la cadena fuente con el destino.

Operación:

1.DS:[SI] - ES:[DI] (Un byte, afecta sólo los flags)

2.DI <- DI±1

3.SI <- SI±1

Page 31: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

33

CMPSW: Compara dos bytes de la cadena fuente con el destino.

Operación:

1.DS:[SI] - ES:[DI] (Dos bytes, afecta sólo los flags)

2.DI <- DI±2

3.SI <- SI±2

4.5 INSTRUCCIONES DE TRANSFERENCIA DE SALTOS CONDICIONALES

Saltos condicionales aritméticos (usar después de CMP):

Aritmética signada (con números positivos, negativos y cero)

JL etiqueta/JNGE etiqueta: Saltar a etiqueta si es menor.

JLE etiqueta/JNG etiqueta: Saltar a etiqueta si es menor o igual.

JE etiqueta: Saltar a etiqueta si es igual.

JNE etiqueta: Saltar a etiqueta si es distinto.

JGE etiqueta/JNL etiqueta: Saltar a etiqueta si es mayor o igual.

JG etiqueta/JNLE etiqueta: Saltar a etiqueta si es mayor.

4.6 ARITMÉTICA SIN SIGNO (CON NÚMEROS POSITIVOS Y CERO)

JB etiqueta/JNAE etiqueta: Saltar a etiqueta si es menor.

JBE etiqueta/JNA etiqueta: Saltar a etiqueta si es menor o igual.

JE etiqueta: Saltar a etiqueta si es igual.

JNE etiqueta: Saltar a etiqueta si es distinto.

JAE etiqueta/JNB etiqueta: Saltar a etiqueta si es mayor o igual.

JA etiqueta/JNBE etiqueta: Saltar a etiqueta si es mayor.

4.7 OPERADORES

Operadores aritméticos: +, -, *, /, MOD (resto de la división).

Operadores lógicos: AND, OR, XOR, NOT, SHR, SHL.

Para los dos últimos operadores, el operando derecho indica la cantidad de bits a desplazar hacia

la derecha (para SHR) o izquierda (para SHL) el operando izquierdo.

Operadores relacionales: Valen cero si son falsos y 65535 si son verdaderos.

EQ: Igual a.

NE: Distinto de.

LT: Menor que.

GT: Mayor que.

LE: Menor o igual a.

GE: Mayor o igual a.

EJEMPLO

Este ejemplo está completamente desarrollado en lenguaje ensamblador que usa funciones de

MS-DOS (system calls) para imprimir el mensaje Hola a todos!! en pantalla.

Page 32: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

34

; HOLA.ASM; Programa clasico de ejemplo. Despliega una leyenda en pantalla.STACK SEGMENT STACK ; Segmento de pila DW 64 DUP (?) ; Define espacio en la pilaSTACK ENDS

DATA SEGMENT ; Segmento de datosSALUDO DB "Hola a todos!!",13,10,"$" ; CadenaDATA ENDS

CODE SEGMENT ; Segmento de Codigo ASSUME CS:CODE, DS:DATA, SS:STACK

INICIO: ; Punto de entrada al programa MOV AX,DATA ; Pone direccion en AX MOV DS,AX ; Pone la direccion en los registros MOV DX,OFFSET SALUDO ; Obtiene direccion del mensaje MOV AH,09H ; Funcion: Visualizar cadena INT 21H ; Servicio: Funciones alto nivel DOS MOV AH,4CH ; Funcion: Terminar INT 21HCODE ENDS END INICIO ; Marca fin y define INICIO

La descripción del programa es como sigue:

1. Las declaraciones SEGMENT y ENDS definen los segmentos a usar.

2. La variable SALUDO en el segmento DATA, define la cadena a ser desplegada. El signo

de dólares al final de la cadena (denominado centinela) es requerido por la función de

visualización de la cadena de MS-DOS. La cadena incluye los códigos para carriage-return

y line-feed.

3. La etiqueta INICIO en el segmento de código marca el inicio de las instrucciones del

programa.

4. La declaración DW en el segmento de pila define el espacio para ser usado por el stack del

programa.

5. La declaración ASSUME indica que registros de segmento se asociarán con las etiquetas

declaradas en las definiciones de segmentos.

6. Las primeras dos instrucciones cargan la dirección del segmento de datos en el registro

DS. Estas instrucciones no son necesarias para los segmentos de código y stack puesto

que la dirección del segmento de código siempre es cargado en el registro CS y la

dirección de la declaración del stack segment es automáticamente cargada en el registro

SS.

7. Las últimas dos instrucciones del segmento CODE usa la función 4CH de MS-DOS para

regresar el control al sistema operativo. Existen muchas otras formas de hacer esto, pero

ésta es la más recomendada.

8. La directiva END indica el final del código fuente y especifica a INICIO como punto de

arranque.

Page 33: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

35

5. PROGRAMACIÓN ESTRUCTURADA

La manera más fácil de modularizar un programa es dividirlo en dos o más partes, para esto, es

necesario que datos, símbolos, y demás valores de un módulo sean reconocidos por el otro u otros

módulos.

El lenguaje ensamblador no suele implementar directamente estas instrucciones, sino que se

tienen que realizar con instrucciones de comparación y de salto condicional o incondicional, sin

embargo, esto no quiere decir que la programación estructurada no se usa en lenguaje

ensamblador. No hay que olvidar que todas las estructuras de código de un lenguaje de alto nivel

se traducen a código maquina y, por tanto, tienen su equivalente en lenguaje ensamblador.

EJEMPLO

Muestra el uso de las directivas. El primer listado corresponde al módulo principal, mientras que el

segundo al módulo que contiene una rutina. Ambos módulos son archivos que se editan por

separado, se ensamblan por separado, pero se ligan juntos.

MODULO PRINCIPAL: MAIN.ASM NAME main PUBLIC exit EXTRN print:near

stack SEGMENT word stack 'STACK' DW 64 DUP(?)stack ENDS

data SEGMENT word public 'DATA'data ENDS

code SEGMENT byte public 'CODE' ASSUME cs:code, ds:datastart: mov ax,data ; carga localizacion del segmento mov ds,ax ; en el registro DS jmp print ; va a PRINT en el otro moduloexit: mov ah,4ch int 21hcode ENDS END start

SUBMODULO: TASK.ASM NAME task PUBLIC print EXTRN exit:near

data SEGMENT word public 'DATA'entrada DB "Entrando a un submodulo....",13,10,"$"salida DB ".......saliendo del submodulo.",01,07,13,10,"$"data ENDS

Page 34: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

36

code SEGMENT byte public 'CODE' ASSUME cs:code, ds:dataprint: mov ah,06h ; Funcion para borrar pantalla mov al,0 ; todas las lineas mov cx,0 ; de 0,0 mov dh,24d mov dl,79d mov bh,0 ; atributo en lineas vacias int 10h ; Servicio de e/s video mov dx, OFFSET entrada mov ah,09h int 21h mov dx, OFFSET salida int 21h jmp exit ; Regresa al otro modulocode ENDS END

6. TÉCNICAS DE PROGRAMACIÓN

Hay que tener en cuenta que algunas técnicas de optimización mas avanzadas suelen ser

heurísticas y muy complejas.

6.1 ENSAMBLADO CONDICIONAL

Verifican una condición determinada y si se cumple, ensambla una porción de código.

Opcionalmente puede ensamblarse otra porción de código si la condición no se cumple. Son los

siguientes: IF, IF1, IF2, IFB, IFDEF, IFDIF, IFE, IFIDN, IFNB, IFNDEF, ENDIF, ELSE.

{IF|IFE}

condición

sentencias

;Se ejecutan si es cierta (IF) o falsa (IFE).

[ELSE sentencias]

;Se ejecutan si es falsa (IF) o cierta (IFE).

ENDIF

La directiva ELSE y sus sentencias son opcionales. ENDIF termina el bloque y es obligatorio. Se

pueden anidar directivas condicionales.

IF1 permite el ensamblado de las sentencias sólo en el primer paso, mientras que IF2 lo permite

en el segundo paso.

IFDEF nombre permite el ensamblado de las sentencias si el nombre está definido, mientras que

IFNDEF nombre lo permite si no está definido.

Page 35: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

37

IFB <argumento permite el ensamblado si el argumento en una macro es blanco (no se pasó el

argumento).

IFNB <argumento permite el ensamblado si el argumento en una macro no es blanco (se pasó el

argumento).

IFIDN <argumento1, <argumento2 permite el ensamblado si los dos parámetros pasados a la

macro son idénticos.

IFDIF <argumento1,<argumento2 permite el ensamblado si los dos parámetros pasados a la macro

son diferentes.

Resumiendo, si tenemos un bloque IF-THEN con el siguiente pseudocodigo:

IF <condicion> THE%

<bloque IF>

ENDIF

la mecánica general para pasar de un bloque IF . THEN a instrucciones en ensamblador es:

<instrucciones de comparación que testan la condición>

Jcc END_IF ; salto condicional. cc es el código de condición para la condición falsa2.

<instrucciones del bloque if>

END_IF:

<instrucciones que siguen al bloque>

Una característica habitual en los depuradores es la posibilidad de inspeccionar y/o modificar los

datos que maneja un programa.

7. EJERCICIOS DE APLICACIÓN PRACTICA

ejemplo 1) Suma de dos valores de una sola cifra

1. .MODEL SMALL ; Modelo de memoria2. .DATA ; Segmento de datos3. Mensaje DB 'Programa para sumar: $' ; Cadena a desplegar4. .STACK ; Se necesita una pila5. .CODE ; Área de código6. Main: ; Etiqueta de comienzo del programa7. mov Ax, @Data ; Inicializa DS con la dirección de8. mov Ds, Ax ; @data9. mov Dx, Offset Mensaje ; Direccion de mensaje en DX10. mov Ah, 9h ; para poder desplegarlo traves de11. int 21h ; la Int 21h de MSDOS12. mov Ah,01h ; Llamamos a una funcion del MSDOS13. int 21h ; para leer un caracter del teclado14. sub Al,30h ; Ajuste de caracter a numero15. mov Bl,Al ; Pasamos el contenido de AL a BL16. ; Llamamos a una funcion del MSDOS17. int 21h ; para leer un caracter del teclado18. sub Al,30h ; Ajuste de caracter a numero19. mov Cl,Al ; Pasamos el contenido de AL a CL20. add Bl,Cl ; Realizamos operacion

Page 36: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

38

21. add Bl, 30h ; Convertimos resultado a ASCII22. mov DX,BX ; Copiamos BX a DX para presentar en pantalla23. mov ah,02h ; Int 02h mostrar caracter24. int 21h ; Muestra en pantalla el valor de DL25. mov Ax, 4c00h ; Regresa al MSDOS por medio de la26. int 21h ; funcion 4c27. END Main ; Fin del programa

Ejemplo 2 ) El siguiente es un ejemplo del programa clásico Hola mundo escrito para la

arquitectura de procesador x86 (bajo el sistema operativo DOS).

.model small

.stack

.dataCadena1 DB 'Hola Mundo.$'.codeprograma: mov ax, @data mov ds, ax mov dx, offset Cadena1 mov ah, 9 int 21hend programa

Ejemplo. En lenguaje C

1: int Entero1, Entero2, Entero3, EnMedio, Maximo, Minimo; // Enteros con signo.2: void main(void)3: {4: int Temporal;5: Entero2= -4;6: Entero3= 200;7: for (Entero1= -1000; Entero1<= 1000; Entero1 ++)8: if (Entero1 > Entero2) // Entero1 siempre sera menor o igual que Entero29: {10: Temporal=Entero1;11: Entero1= Entero2;12: Entero2= Temporal;13: }14: }

Ejemplo . El siguiente código muestra como se trata en ensamblador cada uno de estos elementos:

1. __asm {2. mov EAX, Entero1 ;TESTEO DE CONDICION3. cmp EAX, Entero24. jle fin_if ;SE SALTA CUANDO LA CONDICION ES FALSA5. mov Temporal, EAX6. mov EAX, Entero27. mov Entero1, EAX INSTRUCCIONES DEL BLOQUE IF8. mov EAX, Temporal9. mov Entero2, EAX10. fin_if:11. }

Page 37: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

39

La instrucción jle realiza el salto si EAX ≤ Entero2, considerando que ambos números son enteros

con signo, de forma que salta todo el bloque IF si la condición es falsa. Para comprobar que el

código ensamblador es equivalente al C solo hay que insertar un breakpoint en la línea 19: El

programa debe pararse y el valor de Entero1 y Entero2 debe ser 3 y 4, respectivamente.

UNIDAD IV

TEORIA DE INTERFACES

1. INTRODUCCIÓN

En las computadoras existen dos métodos básicos para la transmisión de datos , uno de ellos es la

transmisión de datos en serie, donde un dispositivo envía datos a otro a razón de un bit a la vez a

través de un cable. Por otro lado la transmisión de datos en paralelo es cuando un dispositivo

envía datos a otro a una tasa de n número de bits a través de n número de cables a un tiempo.

Es fácil pensar que un sistema en paralelo es n veces más rápido que un sistema en serie, sin

embargo esto no se cumple, porque el impedimento principal es el tipo de cable que se utiliza para

interconectar los equipos. Si bién un sistema de comunicación en paralelo puede utilizar cualquier

número de cables para transmitir datos, la mayoría de los sistemas paralelos utilizan ocho líneas

de datos para transmitir un byte a la vez, como por ejemplo el estándar permite transferencia de

datos en esquemas que van desde los ocho bits y hasta los treinta y dos bits en paralelo.

Los puertos de comunicación de la PC son importantes, permiten utilizar una computadora

personal para controlar todo tipo de circuitos electrónicos utilizados, principalmente, en actividades

de automatización de procesos, adquisición de datos, tareas repetitivas y otras actividades que

demandan precisión.

Los puertos de entrada y salida son elementos de la computadora , que permiten que el sistema

se comunique con los elementos exteriores, quiere decir, permiten el intercambio de datos, de aquí

el nombre de interfaz de entrada y salida .

2. CONCEPTOS

2.1 INTERFAZ

Una interfaz de Hardware es el puerto por el cual se envían o reciben señales desde un sistema

hacia otros. Por ejemplo, interfaz USB, SCSI, IDE, interfaz puerto paralelo o serial, etc.

Interfaz de software hace referencia al conjunto de métodos para lograr interactividad entre el

usuario y una computadora.

Una interfaz puede ser del tipo GUI, o línea de comandos, por ejemplo, el monitor, el teclado y el

mouse, son interfaces entre el usuario y el ordenador.

2.1 PUERTO

Page 38: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

40

Circuito electrónico que gobierna la conexión entre dos dispositivos de hardware y los ayuda a

intercambiar información de manera confiable.

2.2 PUERTO SERIAL

Elemento hardware que permite el flujo de información en una sóla línea de comunicación. El

puerto serie es un medio sencillo de conectar entre sí dos aparatos electrónicos.

Dispositivo electrónico físico que se conecta a una computadora, los periféricos permiten que la

computadora interactúe con el exterior.

Un puerto serial es una interfaz de comunicaciones de datos digitales, frecuentemente utilizado por

computadoras y periféricos, en donde la información es transmitida bit a bit enviando un solo bit a

la vez, en contraste con el puerto paralelo que envía varios bits simultaneamente. La comparación

entre la transmisión en serie y en paralelo se puede explicar con analogía con la carreteras. Una

carretera tradicional de un sólo carril por sentido sería como la transmisión en serie y una autovía

con varios carriles por sentido sería la transmisión en paralelo, siendo los coches los bits.

La interfaz serial es la que transmite y recibe información bit a bit, el término serial se refiere a los

datos enviados mediante un solo hilo: los bits se envían uno detrás del otro .

2.3 PUERTO PARALELO

Un puerto paralelo es una interfaz entre una computadora y un periférico cuya principal

característica es que los bits de datos viajan juntos enviando un byte completo o más a la vez. Es

decir, se implementa un cable o una vía física para cada bit de datos formando un bus, el cable

paralelo es el conector físico entre el puerto paralelo y el periférico. En un puerto paralelo habrá

una serie de bits de control en vías aparte que irán en ambos sentidos por caminos distintos.

En contraposición al puerto paralelo está el Puerto serial, que envía los datos bit a bit por el mismo

hilo.

Un típico sistema de comunicación en paralelo puede ser de una dirección (unidireccional) o de dos

direcciones (bidireccional).

2.4 INTERFAZ PARALELA

El el mas simple mecanismo utilizado en un puerto paralelo de una PC, donde se distingue dos

elementos: la parte transmisora y la parte receptora. La parte transmisora coloca la información en

las líneas de datos e informa a la parte receptora que la información (los datos) están disponibles;

entonces la parte receptora lee la información en las líneas de datos e informa a la parte

transmisora que ha tomado la información (los datos), ambas partes sincronizan su respectivo

acceso a las líneas de datos, la parte receptora no leerá las líneas de datos hasta que la parte

transmisora se lo indique en tanto que la parte transmisora no colocará nueva información en las

líneas de datos hasta que la parte receptora remueva la información y le indique a la parte

transmisora que ya ha tomado los datos, a ésta coordinación de operaciones se le llama acuerdo ó

Page 39: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

41

entendimiento. La coordinación de operaciones entre la parte transmisora y la parte receptora se le

llama handshaking, que en español es el acto con el cual dos partes manifiestan estar de

acuerdo.

2.5 EL HANDSHAKING

Para implementar el handshaking se requieren dos líneas adicionales. La línea de estroboscopio(en inglés strobe) es la que utiliza la parte transmisora para indicarle a la parte receptora la

disponibilidad de información. La línea de admisión (acknowledge) es la que utiliza la parte

receptora para indicarle a la parte transmisora que ha tomado la información (los datos) y que está

lista para recibir más datos. El puerto paralelo provee de una tercera línea de handshaking llamada

en inglés busy (ocupado), ésta la puede utilizar la parte receptora para indicarle a la parte

transmisora que está ocupada y por lo tanto la parte transmisora no debe intentar colocar nueva

información en las líneas de datos.

2.6 USB

(Universal Serial Bus) Puerto de gran velocidad para comunicar computadoras y periféricos

Soporta transferencias de 12 MBps. Un sólo puerto USB permite ser usado para conectar más de

127 dispositivos periféricos como ratones, módems, teclados, impresoras, etc. Comenzó a ser

utilizado en 1996, pero la popularidad llegó en las iMac en 1998.Prácticamente reemplazó a los

puertos serial y paralelo.

3. PERIFERICOS DE ENTRADA Y SALIDA

Los periféricos (según su flujo principal de datos) pueden ser de entrada, de salida, de

almacenamiento de comunicación y suelen poder conectarse a los distintos puertos de la

computadora.

Los periféricos pueden conectarse o desconectarse y el computador seguirá funcionando, aunque

con menos capacidades.

Periféricos de entrada:

• Mouse, Teclado, Webcam, Escáner, Micrófono, Joystick, Gamepad, Lápiz óptico

Periféricos de salida:

• Monitor, Impresora, Pantalla, Altavoz (parlante), Tarjeta gráfica, tarjeta de sonido

Periféricos de entrada/salida:

• Pantalla táctil, casco Virtual

Periféricos de comunicación (entrada/salida):

- Módem, Tarjeta de red, Hub

Periféricos de almacenamiento (entrada/salida):

• Grabadora de CD o DVD, Zip, Pendrive

UNIDAD V

Page 40: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

42

INTERFACES PARALELAS

1. INTRODUCCIÓN

Los puertos paralelos realizan interfaz paralela porque envían un conjunto de datos en forma

simultánea. En un principio eran Unidireccionales (sólo se podía enviar información de la PC al

dispositivo), actualmente son Bidireccionales y permiten por ejemplo que la impresora pueda avisar

a la computadora que se esta quedando sin tinta.

Las interfaces paralelas de la mayoría de las computadoras son casi idénticas, como ejemplo la

mayoría de los puertos paralelos de la parte posterior de las computadoras IBM-compatibles

poseen un conector DB-25. El conector es normalmente hembra (tiene orificios en lugar de pines)

para distinguirlo de los conectores seriales que son habitualmente machos y que puede tener

también la computadora.

Como este puerto tiene un conjunto de entradas y salidas digitales, se puede emplear para hacer

prácticas experimentales de lectura de datos y control de dispositivos.

2.- INTERFACES PARALELAS

Un puerto paralelo permite la interfaz entre una computadora y un periférico cuya principal

característica es que los bits de datos viajan juntos enviando un byte completo o más a la vez. Es

decir, se implementa un cable o una vía física para cada bit de datos formando un bus, el cable

paralelo es el conector físico entre el puerto paralelo y el periférico. En un puerto paralelo habrá

una serie de bits de control en vías aparte que irán en ambos sentidos por caminos distintos.

En contraposición al puerto paralelo está el Puerto serial, que envía los datos bit a bit por el mismo

hilo.

La transmisión de datos paralela consiste en enviar datos en forma simultánea por varios canales

(hilos). Los puertos paralelos en los PC pueden utilizarse para enviar 8 bits (un octeto)

simultáneamente por 8 hilos.

Los primeros puertos paralelos bidireccionales permitían una velocidad de 2,4 Mb/s. Sin embargo,

los puertos paralelos mejorados han logrado alcanzar velocidades mayores:

· El EPP (puerto paralelo mejorado) alcanza velocidades de 8 a 16 Mbps

Page 41: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

43

· El ECP (puerto de capacidad mejorada), desarrollado por Hewlett Packard y Microsoft.

Posee las mismas características del EPP con el agregado de un dispositivo Plug and Play

que permite que el equipo reconozca los periféricos conectados.

Los puertos paralelos, al igual que los seriales, se encuentran integrados a la placa madre. Los

conectores DB25 permiten la conexión con un elemento exterior (por ejemplo, una impresora).

3. PUERTOS PARALELOS DE LA PC

Puesto que la computadora es mucho mas rápida que cualquier periférico con el que se

comunique, puede fácilmente transmitir mas datos que los que el periférico puede manejar. Para

ello, los periféricos utilizan señales especiales para decirle a la computadora que detenga

momentáneamente el envió de datos cuando tienen suficientes para trabajar. Esto le permite al

periférico alcanzar a la computadora, que puede realizar otras tareas mientras tanto. Una vez que

el periférico queda libre, le pide a la computadora que transmita mas datos, y el proceso continua.

El puerto paralelo más conocido es el puerto de impresora (que cumplen más o menos la norma

IEEE 1284, que se destaca por su sencillez y que transmite 8 bits. Existe un programa que se ha

utilizado principalmente para conectar impresoras, pero también ha sido usado para

programadores EPROM, escáneres, interfaces de red Ethernet a 10 MB, unidades ZIP y SuperDisk

y para comunicación entre dos PCs (MS-DOS trajo en las versiones 5.0 ROM a 6.22 un programa

para soportar esas transferencias).

El puerto paralelo de las computadoras, está compuesto por un bus de comunicación bidireccional

de 8 bits de datos, además de un conjunto de líneas de protocolo. Las líneas de comunicación

cuentan con un retenedor que mantiene el último valor que les fue escrito hasta que se escribe un

nuevo dato, las características eléctricas son:

· Tensión de nivel alto: 3.3 o 5 V.

· Tensión de nivel bajo: 0 V.

· Intensidad de salida máxima: 2.6 mA.

· Intensidad de entrada máxima: 24 mA.

El sistema operativo gestiona las interfaces de puerto paralelo con los nombres LPT1, LPT2 y así

sucesivamente, las direcciones base de los dos primeros puertos es:

· LPT1 = 0x378.

· LPT2 = 0x278

La estructura consta de tres registros: de control, de estado y de datos.

Page 42: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

44

· El registro de control es un bidireccional de 4 bits, con un bit de configuración que no

tiene conexión al exterior, su dirección en el LPT1 es 0x37A.

· El registro de estado, se trata de un registro de entrada de información de 5 bits, su

dirección en el LPT1 es 0x379.

· El registro de datos, se compone de 8 bits, es bidireccional. Su dirección en el LPT1 es

0x378.

3.1 PUERTO PARALELO IDE

Existe un puerto paralelo llamado PATA (Paralell ATA), usado para la conexión de discos duros,

unidades lectoras/grabadoras (CD-ROM, DVD), unidades magneto-ópticas, unidades ZIP y

SuperDisk, entre la placa madre del computador y el dispositivo.

3.2 PUERTO PARALELO SCSI

Otro puerto muy utilizado en los computadores Apple Macintosh y en servidores, son las diferentes

implementaciones del SCSI. Al igual que IDE ha sido usado para la conexión de discos duros,

unidades ópticas lectoras/grabadoras (CD-ROM, DVD), unidades magneto-ópticas y SuperDisk,

pero también de otros dispositivos como escáneres.

3.2 PUERTO DB – 25

Este puerto se encuentra integrado a la placa madre, tiene 25 orificios y permite la conexión con

una impresora.

4. DIALOGO DE ESTADO

A lo largo de algunas Iíneas, a veces los periféricos paralelos (especialmente las impresoras)

utilizan cables dedicados para indicar su estado, puesto que el estado de un periférico puede

afectar el flujo de datos, esto se puede considerar también una forma de dialogo. Por ejemplo, si

una impresora o un graficador necesita informar a la computadora que se queda sin papel, puede

hacerlo manteniendo alta la línea de papel vació hasta que se aprovisione nuevamente. Esto

impide que la computadora envié datos al periférico cuando el dispositivo es incapaz de hacer algo

con ellos.

La computadora puede hacer también requerimientos especiales o proporcionar datos de

configuración enviando señales desde las restantes salidas de dialogo.

Por ejemplo, al mantener baja la línea de avance automático, la computadora solicita al periférico

que acompañe cada retorno de carro con un avance de línea , es decir, la computadora informa al

periférico que probablemente no enviara caracteres de avance de línea , de modo que el periférico

deberá agregarlos.

Page 43: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

45

5. GRAFICO DE TERMINALES

6. APLICACIÓN DE INTERFACES PARALELAS

El lenguaje C permite tanto la lectura como la escritura de los puertos paralelos, para leer el puertoexisten las instrucciones inport e inportb, mientras que para escribir están las instrucciones outporty outportb. La sintaxis de estas instrucciones es la siguiente:

unsigned inport (unsigned portid);

unsigned char inportb (unsigned portid);

void outport (unsigned portid, unsigned value);

void outportb (unsigned portid, unsigned char value);

Ejemplo:Palabra = inport(puerto);

outport (puerto,Palabra);

Byte = inportb (puerto);

outportb (puerto,Byte);

Las instrucciones que terminan en b ese refieren a la lectura o escritura de un byte, mientras quelas que no terminan en esta letra se refieren a una palabra(dos byte). La variable puerto debecontener la dirección de memoria del puerto paralelo, este valor puede ser 378h, 3BCh ó 278h. Porultimo no hay que olvidar colocar la siguiente directiva del preprocesador que le indica al C que seusarán las funciones inport, outport, inportb u outportb, declaradas en el archivo dos.h.

#include <dos.h>

El siguiente programa consulta la dirección del primer puerto paralelo disponible:

#include <conio.h>#include <dos.h>void main(void){

int puerto;clrscr();puerto=peekb(0x40,0x8); }printf("Dirección: %Xh",puerto);

Page 44: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

46

getch();}

La interfaz paralela es mucho más sencillo que la serial.

Ejemplo 2. Como escribir a los puertos E/S paralelos usando ensamblador y lenguaje C. Se usa ladirección 378h como la dirección más usual donde se encuentra el LPT1.

· Ensamblador

mov dx, 0378h ; direcciona el puerto con DX

mov al, n ; pone el dato a enviar en AL

out dx, al ; envía el dato

· Código fuente para Borland C++ 3.1

#include <stdio.h>

#include <dos.h>

#include <conio.h>

void main (void)

{

clrscr(); // limpia la pantalla

outportb(0x378, 0xff); // saca el dato al puerto paralelo

getch(); // espera hasta que se presione una tecla

}

UNIDAD VI

INTERFACES SERIALES

1. INTRODUCCIÓN

El puerto serial realiza la interfaz serial con un dispositivo de la computadora,la información se

transmite por un solo conducto y por lo tanto bit a bit de forma serial. Por esta razón los puertos

seriales tradicionales son lentos y son usados para conectar el mouse o el teclado. En cambio el

puerto paralelo puede enviar múltiples bits en forma paralela.

El puerto serial se constituye como una de las más básicas conexiones externas a un computador,

y aunque hoy en día la más utilizada es su forma USB, el puerto serial ha estado junto a nuestros

computadores por más de veinte años. Su principal función es enviar y recibir datos, bit por bit, y a

modo de ejemplo, se puede mencionar entre ellos el puerto de los antiguos modelos del teclados y

Page 45: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

47

modems.

Los puertos seriales se conocen también con el nombre de puertos de comunicación o COM, y

tienen la característica de ser bidireccionales. Dentro de sus principales ventajas se encuentra la

necesidad de sólo un cable para poder transmitir los 8 bits, sin embargo, se demora 8 veces más

en realizar esta transmisión que si contáramos con 8 cables, como sucede con un puerto paralelo.

La aparición de los puertos USB crece con fuerza y amenaza también la existencia de los puertos

paralelos, por su mayor comodidad y eficacia.

Ethernet, FireWire, y USB trabajan con interfaz serial, normalmente identifica el hardware más o

menos conforme al estandar RS-232, diseñado para interactuar con un módem o con un

dispositivo de comunicación similar.

Los dispositivos de redes (como routers y switches) a menudo tienen puertos de seriales para la

configuración, estos se usan porque son sencillos, baratos y permiten la interoperabilidad entre

dispositivos. La desventaja es que configurar conexiones de serie puede requerir el conocimiento

de un experto y el uso de mandatos complejos si están mal implementados.

2. INTERFACES SERIALES

Un puerto serial es una interfaz de comunicaciones de datos digitales, frecuentemente utilizado por

computadoras y periféricos, en donde la información es transmitida bit a bit enviando un solo bit a

la vez, en contraste con el puerto paralelo que envía varios bits simultaneamente.

Originalmente, los puertos seriales sólo podían enviar datos, no recibir, por lo que se desarrollaron

puertos bidireccionales (que son los que se encuentran en los equipos actuales). Por lo tanto, los

puertos seriales bidireccionales necesitan dos hilos para que la comunicación pueda efectuarse.

La comunicación serial se lleva a cabo asincrónicamente es decir que no es necesaria una señal (oreloj) de sincronización: los datos pueden enviarse en intervalos aleatorios. A su vez, el periféricodebe poder distinguir los caracteres (un carácter tiene 8 bits de longitud) entre la sucesión de bitsque se está enviando.

Ésta es la razón por la cual en este tipo de transmisión, cada carácter se encuentra precedido por

un bit de ARRANQUE y seguido por un bit de PARADA. Estos bits de control, necesarios para la

transmisión serial, desperdician un 20% del ancho de banda (cada 10 bits enviados, 8 se utilizan

para cifrar el carácter y 2 para la recepción).

Los puertos seriales, por lo general, están integrados a la placa madre, motivo por el cual losconectores que se hallan detrás de la carcasa y se encuentran conectados a la placa madre

Page 46: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

48

mediante un cable, pueden utilizarse para conectar un elemento exterior. Una PC poseenormalmente entre uno y cuatro puertos seriales.La mayoría de los puertos seriales obedecen el estándar RS-232C o el RS-422 , COM1, y COM2

Actualmente los puertos seriales modernos poseen grandes velocidades como el puerto USB, el

firewire o el SATA.

3. TIPOS DE INTERFACES SERIALES

Existen tres tipos de interfaces seriales que son los siguientes:

· Simplex

En este caso el transmisor y el receptor están perfectamente definidos y la comunicación

es unidireccional, este tipo de comunicaciones se emplea usualmente en redes de

radiodifusión, donde los receptores no necesitan enviar ningún tipo de dato al transmisor.

· Duplex, half duplex o semi-duplex

En este caso ambos extremos del sistema de comunicación cumplen funciones de

transmisor y receptor y los datos se desplazan en ambos sentidos pero no

simultáneamente, se utiliza habitualmente en la interacción entre terminales y un

computador central.

· Full Duplex

El sistema es similar al duplex, pero los datos se desplazan en ambos sentidos

simultáneamente. Para ello ambos transmisores poseen diferentes frecuencias de

transmisión o dos caminos de comunicación separados, mientras que la comunicación

semi-duplex necesita normalmente uno solo. Para el intercambio de datos entre

computadores este tipo de comunicaciones son más eficientes que las transmisiones

semi-duplex.

En muchos periféricos la interfaz USB ha reemplazado al puerto de serial, la mayor parte de las

computadoras están conectadas a dispositivos a través de USB, y a menudo ni siquiera tienen un

puerto de serie. Sin embargo, los puertos de serie todavía pueden encontrarse en sistemas de

automatización industrial. Los dispositivos de redes (como routers y switches) a menudo tienen

puertos de serie para la configuración. Los puertos de serie se usan a menudo en estas áreas

porque son sencillos, baratos y permiten la interoperabilidad entre dispositivos.

3.1 MECANISMOS DE DETECCIÓN DE ERRORES

En interfaces seriales , los mecanismos para detectar errores garantizan transmisiones libres de

errores, si el receptor detecta algún error, puede actuar de diversas maneras según los protocolos

que esté utilizando. La solución más sencilla es enviar un mensaje al emisor pidiéndole que le

reenvíe de nuevo la información que llegó defectuosa.

Page 47: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

49

3.1.1 PARIDAD

Las transmisiones se dividen en palabras de cierto número de bits (por ejemplo, 8 bits) y se envían

secuencialmente. A cada una de estas palabras se le añade un único bit de redundancia (bit de

paridad) de tal forma que la suma de todos los bits de la palabra sea siempre un número par

(paridad par) o impar (paridad impar).

•El emisor envía las palabras añadiendo los correspondientes bits de paridad. El receptor

comprobará a su llegada que la suma de los bits de la palabra incluyendo la redundancia es un

número par (si la codificación convenida entre emisor-receptor es de paridad par) o un número

impar (paridad impar). Si el receptor encuentra alguna palabra que no se ajuste a la codificación

establecida, le solicitará al emisor que le reenvíe de nuevo la información

3.1.2 CRC

Los códigos de paridad tienen el inconveniente de que se requiere demasiada redundancia para

detectar errores simples. Con CRC el emisor realiza ciertas operaciones matemáticas antes de

enviar los datos. El receptor realiza, a la llegada de la transmisión, una división entre un polinomio

convenido (polinomio generador). Si el resto es cero, la transmisión ha sido correcta. Si el resto es

distinto significará que se han producido errores y solicitará la retransmisión al emisor.

11.3 CONTROL DE FLUJO

El control de flujo se basa en devolver una confirmación de recibo (ACK) cada vez que el receptor

reciba algún dato correcto o una señal de error (NACK) si el dato ha llegado dañado. Cuando el

emisor recibe un ACK pasa a enviar el siguiente dato. Si, en cambio, recibe un NACK reenviará el

mismo dato.

4. PUERTOS SERIALES DE LA PC

El puerto serial de una computadora es un adaptador asíncrono utilizado para poder

intercomunicar varios ordenadores entre sí, recibe y envía información fuera del ordenador

mediante un determinado software de comunicación o un driver del puerto serie. El software envía

la información al puerto carácter a carácter, conviertiéndolo en una señal que puede ser enviada

por un cable serie o un módem, cuando se ha recibido un carácter, el puerto serie envía una señal

Page 48: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

50

por medio de una interrupción indicando que el carácter está listo. Cuando el ordenador ve la

señal, los servicios del puerto serie leen el carácter.

5. GRAFICO DE TERMINALES SERIALES

Según se conforme el marco de datos es como se referencia al marco mismo. Por ejemplo:

Palabras de 8 bits, con paridad Non y 1 bit de paro es conocido como 8N1, y la trama es como se

muestra en la siguiente figura de Marco de datos de comunicación serial asíncrona

Otro factor importante de toda señal serial asíncrona es la velocidad de comunicación, la velocidad

a la que los datos son transmitidos comienzan en los 50 bits por segundo (bps) y casi de manera

estándar se van duplicando 50, 100, 150, 300, 600, 1200, 2400, 4800, 9600, 19200.... hasta

384,000.

En un principio el control de software de los puertos seriales resultaba en una gran sobrecarga

para el procesador, hasta los 19200 bps, ya que los transportes de datos estaban limitados a 8 y

16 bits. Con la llegada de los transportes de datos MCA, EISA, VLBus y PCI, llegó la ventaja de la

posesión de transporte de datos y el acceso directo a memoria elevando la velocidad de

transmisión eliminando la sobrecarga del procesador.

Al eliminar la utilización del BIOS y controlando el puerto directamente se comenzaron a obtener

velocidades de 115200 bps y superiores, especialmente con la llegada de puertos inteligentes que

por sí mismos pueden controlar la comunicación.

Todo el esquema de comunicación serial cambió con la introducción del Bus Serie Universal,

mejor conocido por las siglas de su nombre en inglés USB por Universal Serial Bus en 1996, que

en sí ya deja de ser un puerto convirtiéndose en un bus con todos los beneficios.

6. APLICACIÓN DE INTERFACES SERIALES

En lenguaje C, existe una instrucción especial para manejar las comunicaciones seriales. Estainstrucción posee la siguiente sintaxis:int bioscom (int cmd, char abyte, int port);

En realidad, esta instrucción acude a la interrupción 14H para permitir la comunicación serial sobre

un puerto. Para este caso, cada uno de los parámetros tiene el siguiente significado:

cmd Especifica la operación a realizar

Page 49: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

51

abyte es un caracter que se enviará por el puerto serial

portes la identificación del puerto serial (desde 0

para COM1 hasta 3 para COM4)

El parámetro cmd puede tener los siguientes valores y significados:

0 Inicializa el puerto port con los valores dados por abyte

1 Envía el caracter abyte por el puerto port

2 Lee el caracter recibido por el puerto port

3 Retorna el estado del puerto port

Para configurar el puerto con algunos parámetros, bastará con realizar una operación OR con los

deseados, por ejemplo, para 1200 baudios, sin bit de paridad, sin bit de parada y 8 bits, bastará

con seleccionar la palabra dada por:

abyte = 0x80 | 0x00 | 0x00 | 0x03

o lo que es equivalente,

abyte = 0x83

Para la lectura de un carácter que se haya recibido o del estado del puerto, se deben utilizar

variables en las cuales se almacenarán los valores de retorno; en ambos caso se obtienen valores

de 16 bits. Para la lectura de un dato recibido, los 8 bits menos significativos corresponden al dato

y los 8 más significativos al estado del puerto; si alguno de estos últimos está en "1 ", un error

ocurrió; si todos están en "0", el dato fue recibido sin error.

Cuando el comando es 2 ó 3 (leer el carácter o el estado del puerto), el argumento abyte no se

tiene en cuenta. Para configurar el puerto COM1 con los parámetros del ejemplo dado

anteriormente, bastará con la instrucción:

bioscom (0,0x83,0); /*(inicializar, parámetros, COM1)*/

La utilización de los comandos y las instrucciones para la configuración de los puertos aquí

expuestos sólo tendrán sentido en la medida en que utilicemos el puerto serial para establecer una

comunicación bien con otros computadores o bien con dispositivos electrónicos como

microcontroladores.

Ahora mostramos las rutinas de puerto serie mínimas en ASSEMBLER

MCR equ 4 ;offset del puerto de Registro de Control de Modem

LSR equ 5 ; offset del puerto de Registro de Estado de Línea

init: xor dx, dx ;inicializa COM1

mov ax, 0E3h ;Establece 9600 baudios, 1 bit de paro, sin paridad

int 14h ;caracter de 8 bits. Usa rutina del BIOS

mov dx, 03F8h+MCR ;apunta al reg. de control de modem de COM1

Page 50: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

52

mov al, 3 ;forza DTR' y RTS' a bajo

out dx, al

ret

serin: mov dx, 03F8h+LSR ;apunta a LSR

serin2: in al, dx ;lee LSR

test al, 1 ;¿hay un caracter?

jz serin2 ;no, regresa a ver

sub dx, LSR ;regresa a puerto de dato serial

in al, dx ;lee el caracter

ret

serout: push ax ;caracter de salida AL para puerto dx

mov dx, 03F8h+LSR ;apunta a LSR

serou2: in al, dx ;lee estado de línea

test al, 20h ;checa THRE

jz serou2 ;espera

sub dx, LSR ;reg. contenedor vacio; apunta a puerto de datos

pop ax ;recobra caracter a enviar

out dx, al ;lo envía

ret

UNIDAD VII

MANTENIMIENTO DE SISTEMAS COMPUTACIONALES

1. INTRODUCCIÓN

Actualmente es muy sencillo encontrar partes de computadoras en los comercios, pero todavía las

personas carecen de información de cómo debería estar configurada una computadora tanto en

hardware como en software, evitando los problemas más comunes que los usuarios enfrentan; bajo

rendimiento, velocidades menores, equipos que presentan problemas con el software que se le

instala, precios altos para baja calidad de equipos, etc.

Además se debe ser práctico ya que no podemos invertir recursos de manera equivocada,

debemos invertir la menor cantidad de recursos para obtener los mayores beneficios,

probablemente tenemos el equipo correcto pero esta mal configurado, o tal vez el sistema

operativo no esté haciendo rendir al máximo el hardware, o tener un hardware muy limitado para el

software que utilizas.

2. CONCEPTOS Y DEFINICIONES DE MANTENIMIENTO DE SISTEMAS COMPUTACIONALES

El mantenimiento de una computadora se lo realiza a dos niveles, a nivel hardware y a nivel

software.

Page 51: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

53

2.1 MANTENIMIENTO DE HARDWARE

El mantenimiento del hardware es para evitar que las partes del computador se deterioren, se debe

realizar cada cierto tiempo, debe limpiarse el equipo una vez al mes; esta limpieza se la realiza de

la siguiente manera: se desarma todo el equipo y cada parte se la limpia utilizando un pincel (semi

grueso) de cerdas plásticas para evitar la estática si se tiene una secadora se debe limpiar y soplar

con fuerza el Cooler que es lo que más suciedad retiene y como es uno de los componentes más

importantes es en el que debemos tener mayor cuidado de limpiar.

Por ningún motivo debemos permitir que caiga ningún tipo de líquido sobre ninguna parte interior

de la computadora, hacer este tipo de limpieza prolonga la vida de cada componente.

2.2 MANTENIMIENTO DE SOFTWARE

Se debe realizar mantenimiento de software para tener siempre disponible nuestro equipo y sus

funcionalidades, si la máquina se infecta con algún virus se debe proceder a la desinfección con el

antivirus que se tiene, algunos virus pueden llegar a dañar archivos del sistema operativo en este

caso es mejor formatear de nuevo el disco y reinstalar todo para que tengamos la seguridad que

hemos eliminado cualquier tipo de infección.

Entre los recomendados tenemos: Panda ,McAffe ,Norton, Nod32, Avira, USB, etc, estos poseen

versiones empresariales para redes y versiones domésticas para uso particular, protegen de virus

a diversos niveles, los niveles se definen por la conexión que tiene el equipo, el nivel inicial es el de

protección contra archivos infectados introducidos por medios magnéticos (diskettes, discos duros,

CD's), a nivel e-mail, protege de archivos adjuntos con contenido malicioso, y por último a nivel de

red (incluye Internet) de gusanos, spams, virus, etc. que circulan por la red.

Se recomienda guardar backups de datos por lo menos una vez al mes, es la mejor manera de

hacer los backups pero si se cuenta con otro disco duro es mucho más aconsejable.

3. TIPOS DE MANTENIMIENTO DE HARDWARE

En hardware se puede realizar el mantenimiento preventivo y correctivo

3.1 PREVENTIVO

Este tipo de mantenimiento se realiza periódicamente, quiere decir se realiza limpieza y revisión del

hardware antes que el computador presente problemas.

3.2 CORRECTIVO

Este tipo de mantenimiento se realiza cuando el computador ya tiene problemas, entonces se

realiza para solucionar los problemas encontrados.

4. DISPOSITIVOS DE ALMACENAMIENTO

Los dispositivos de almacenamiento son: discos duros, CD’s, discos extraíbles, etc. ,permiten

almacenar información de la memoria RAM.

4.1 DISCO DURO

Page 52: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

54

Es el dispositivo de almacenamiento más importante de una computadora, aquí es donde

guardamos toda la información, documentos, juegos, música, videos, programas y por sobre todo y

lo más importante el sistema operativo con el que trabajamos.

Los hay de varias marcas y capacidades como ser: 40, 80, 160,320, 500 Gb, hasta 1 Tb , este es

un dispositivo independiente de la configuración de los componentes antes mencionados, se

pueden tener uno o más de uno dependiendo del uso del equipo.

4.2 CD - ROM

Este es otro dispositivo independiente para la lectura de CD’s hoy en día existen los llamados

“quemadores” que son los RW – CD que permiten leer y escribir en un CD es un dispositivo

secundario ya que no es importante para el funcionamiento de una computadora.

4.3 FLOPPY DISKLo conocemos como “disquetera” es el dispositivo para la lectura y escritura en disketts, son de

gran utilidad en el momento de la configuración de un equipo, antes eran el único medio de

transporte de datos, hoy en día son menos usados cada vez.

4.4 DVD-ROM

Es un disco compacto con capacidad de almacenar 4.7 GB de datos en una cara del disco, un

aumento de más de 7 veces con respecto a los CD-R y CD-RW. Y esto es en una sola cara. Los

futuros medios de DVD-ROM serán capaces de almacenar datos en ambas caras del disco, y usar

medios de doble capa para permitir a las unidades leer hasta cuatro niveles de datos almacenados

en las dos caras del disco dando como resultado una capacidad de almacenamiento de 17 GB.

4.5 DVD-RAM

Este medio tiene una capacidad de 2.6 GB en una cara del disco y 5.2 GB en un disco de doble

cara, Los DVD-RAM son capaces de leer cualquier disco CD-R o CD-RW pero no es capaz de

escribir sobre estos. Los DVD-RAM son regrabables pero los discos no pueden ser leídos por

unidades DVD-ROM.[3]

4.6 PC - CARDS

Las PC Cards pueden ser almacenamiento o tarjetas de I/O., estas son compactas, fiables y

ligeras haciéndolos ideal para notebooks, palmtop, handheld y los PDAs,. Debido a su pequeño

tamaño, son usadas para el almacenamiento de datos, aplicaciones, tarjetas de memoria,

cámaras electrónicas y teléfonos celulares. Las PC Cards tienen el tamaño de una tarjeta del

crédito, pero su espesor varía. La norma de PCMCIA define tres PC Cards diferentes: Tipo I 3.3

milímetros (mm) de espesor, Tipo II son 5.0 mm espesor, y Tipo III son 10.5 mm espesor. Entre los

producto más nuevos que usan PC Cards tenemos el PC Card Drive esta puede leer y escribir

sobre discos de 40 MB de capacidad, esta unidad esta diseñada para trabajar con computadores

portátiles con mínimo consumo de baterías, el tamaño de los discos es de 2x2 pulgadas.

4.7 FLASH CARDS

Page 53: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

55

Son tarjetas de memoria no volátil es decir conservan los datos aun cuando no estén alimentadas

por una fuente eléctrica, y los datos pueden ser leídos, modificados o borrados en estas tarjetas.

Con el rápido crecimiento de los dispositivos digitales como: asistentes personales digitales,

cámaras digitales, teléfonos celulares y dispositivos digitales de música, las flash cards han sido

adoptadas como medio de almacenamiento de estos dispositivos haciendo que estas bajen su

precio y aumenten su capacidad de almacenamiento muy rápidamente.

4.7 PEN DRIVE O MEMORY FLASH

Es un pequeño dispositivo extraible de almacenamiento que utiliza la memoria flash para guardar la

información sin necesidad de pilas, son resistentes a los rasguños y al polvo que han afectado a

las formas previas de almacenamiento portable, como los CD y los disquetes. Los sistemas

operativos más modernos pueden leer y escribir en ello sin necesidad de controladores especiales.

En los equipos antiguos (como por ejemplo los equipados con Windows 98) se necesita instalar un

controlador de dispositivo.

5. TARJETAS MADRE

Su nombre lo dice todo es el esqueleto, corazón y pulmones de la computadora, aquí se instalan

todos los dispositivos que van a formar parte de una computadora, tarjetas de video, sonido, de

red, fax modem, memorias RAM, microprocesador los dispositivos de almacenamiento como los

discos duros, CD – ROM, discos extraíbles, etc., la tarjeta madre incluye los puertos paralelos,

seriales, y USB.

En la placa madre residen todos los componentes, y una vez conectados el ROM – BIOS, que es la

parte central de la tarjeta madre detecta todos los dispositivos para configurarlos de manera que el

procesador sepa con cuánta capacidad de memoria RAM cuenta y qué dispositivos están

conectados.

Las tarjetas madre tienen además componentes básicos, los más importantes son los llamados

chipsets, son unos circuitos que están adheridos a la tarjeta madre, estos son inalterables porque

determinan el tamaño máximo de memoria que se puede soportar, el tamaño del bus, etc.

Los puertos tanto seriales, paralelos y USB, son parte integrante de la tarjeta madre, en ellos se

conectan dispositivos tales como el mouse, la impresora, scanner y otros tipos de dispositivos

externos ya sean de conexión serial, paralela o USB. Hoy en día se han adicionado los puertos

PS/2 para la conexión principalmente del mouse.

6. TARJETAS DE VIDEO

Hoy en día es una de las partes más importantes debido al potenciamiento que se hizo sobre las

aplicaciones gráficas (juegos, películas, etc.). Pueden ser tarjetas que trabajan sobre un plano 2D o

de dos dimensiones y las más cotizadas y actuales las de 3D o las tridimensionales.

Algunas tarjetas de video traen su propio procesador para acelerar los gráficos y obtener mayor

resolución en el monitor hablamos de 16 millones de colores.

Page 54: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

56

7. TARJETAS DE RED

Sirve para la conexión dentro de una red de computadoras o para conectarse al Internet mediante

el sistema denominado ADSL.

Existen de varias marcas y tipos la velocidad estándar es de 10/100 Base T, que es la más rápida

en el mercado de computadoras domésticas.

8. TARJETAS DE SONIDO

Es un complemento muy interesante y de entretenimiento debido a la increíble cantidad de

información multimedia que hoy en día se tiene. Pueden ser monocanal o multicanal. Las

multicanal tienen mayor potencia en la salida, por lo general se conectan a los puertos PCI

9. TARJETAS COMPLEMENTARIAS

9.1 TARJETAS FAX MODEM

Es el medio más comercializado para conectarse a redes e Internet mediante la línea telefónica, las

hay de varias marcas y diferentes velocidades la más actual es la de 56 Kbps. que es la velocidad

de conexión. Existen modems internos que son tarjetas y también existen modems externos que se

conecta mediante el puerto paralelo a la computadora.

10. MANTENIMIENTO DE SOFTWARE

Existen dos formas de realizar el mantenimiento de software : Preventivo y Correctivo.

10.1 PREVENTIVO

Se realiza la verificación periódica del correcto funcionamiento del Sistema operativo y del resto de

los programas instalados para que no existan problemas posteriores.

10.2 CORRECTIVO

Se realiza cuando el computador ya presenta problemas de software, entonces se debe solucionar

los problemas encontrados sin perder la información almacenada.

11. CONFIGURACIÓN DEL BIOS

Hoy en día los sistemas operativos vienen en CD’s pueden ir de 1 a varios CD’s de instalación, en

ocasiones son “booteables” (de auto ejecución al iniciar el equipo), para el caso de algunas

distribuciones de Windows sería necesario haber instalado antes el DOS mediante un diskette.

Lo primero que se debe realizar es entrar al BIOS en el momento del arranque del equipo,

oprimiendo la tecla “Supr” o “Del” en algunos teclados, esta funcionalidad del BIOS permite

configurar la secuencia de lectura de dispositivos periféricos, lo que se recomienda es que se

coloque el CD – ROM como primer dispositivo de arranque, luego el floppy y finalmente el disco

Page 55: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

57

duro, esta sugerencia es debido a la facilidad que existe de levantar con un CD booteable o de leer

el sistema operativo desde un diskette.

12. PARTICIÓN Y FORMATEO DEL DISCO DURO

Antes de proseguir con la instalación es necesario formatear y particionar el disco duro esto para

darle mayor rendimiento, por lo general los discos son de 40, 80, 160, 320, 500 Gb.

Desde el prompt de comandos A:> escriba fdisk esto lo llevará a una opción donde deberá crear

una partición primaria como lo sugiere el menú introduzca 50% para que particione al disco en 2

partes iguales, luego de esto el fdisk automáticamente creará un archivo de disco que contendrá el

nombre de la partición que por lo general es C:. Una vez realizado lo anterior en el menu del fdisk

seleccionamos la creación de una partición secundaria para completar la capacidad el disco.

Al haber realizado estas dos particiones tendremos de manera lógica dos unidades C y D sobre la

misma unidad física.

Terminada esta operación se les da un nombre a cada unidad y se reinicia el equipo.

12. INSTALACION DEL SISTEMA OPERATIVO WINDOWS

Instalaremos el Windows XP, esta versión de Windows puede ser instalada de dos maneras.

· Como Update de alguna versión anterior del windows como el Windows 98 o el Millenium.

· Como sistema operativo de base.

Para esta clase utilizaremos la versión que se instala como sistema operativo base ya que lo

haremos sobre un equipo recién ensamblado.

Se introduce en el CD – ROM el CD de instalación y luego procedemos a reiniciar el equipo para

que cuando haga el proceso de reiniciación lea desde el CD - ROM el archivo instlador del sistema

operativo.

Lo que sigue a continuación es simplemente esperar que Windows se instale automáticamente

tecleando u oprimiendo de cuando en cuando el botón siguiente que aparece en la pantalla tal

como se lo vio en el video.

Tal como se vio en el video la instalación no es tan compleja como parece, una vez instalado el

sistema operativo Windows se procede a la instalación de los demas programas que utilizaremos

en este caso el más común que es el OFFICE.

Se introduce el CD del instalador y se deja que él mismo haga su trabajo haciendo click cuando el

instalador así lo requiera.

13. INSTALACIÓN DEL SISTEMA OPERATIVO UBUNTU (PLATAFORMA LINUX)

Para la instalación del sistema operativo UBUNTU se debe realizar los siguientes pasos:

A. Ingresar al directorio donde se encuentra los instaladores del sistema operativo

B. Hacer un clic en el archivo Instalar

Page 56: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

58

C. Seleccionar Idioma (en este caso el idioma español)

D. Hacer un clic en el boton Adelante

E. Ahora tenemos que indicar la hora adecuada acorde al lugar dónde estamos.(en nuestro

caso elegir la ciudad de La Paz (en el mapa), ya que es la única visible para Bolivia y la

hora se cambiara automáticamente a nuestro uso horario 4 GMT).

F. Luego hacemos clic en el boton Adelante

G. Ahora debemos configurar el teclado. En principio esto ya está bien seleccionado para

Latino América pero lo verificamos y después hacemos clic en Adelante.

H. Ahora se prepara las particiones, seleccionamos el espacio libre (“free”)

I. Nuevamente hacemos clic en “New Partition”

J. Ahora en la nueva ventana hacemos:

K. Tipo de la nueva partición: Primaria

L. Nuevo tamaño de partición en Megabytes: 1000

M. Ubicación de la nueva partición: Principio

N. Utilizar como: swap

O. Con esto creamos la partición de swap o intercambio que es la memoria virtual de disco

que usa GNU/Linux cuando la memoria RAM esta llena, su tamaño es de 1 GB

P. Luego Clic en el Botón Adelante

Q. Este es el ultimo paso de instalación y a continuación muestra Fin de la Instalación

Aproximadamente el proceso de instalación termina en 20 minutos (dependiendo del equipo)

UNIDAD VIII

NUEVAS TECNOLOGIAS

1. INTRODUCCION

La tecnología en hardware y software cada día avanza a pasos agigantados, como por ejemplo los

discos duros de tamaño totalmente reducidos, incluso se habla de dimensiones en milímetros.

Pero también sabemos que la reducción de tamaño con aumento de capacidad genera aumento en

los precios, pero las empresas y usuarios están dispuestos a cancelar porque quieren estar al día

con lo nuevo en hardware y software.

Por ejemplo en empresas con varias computadores, es común usar software de clonación dediscos, para hacer copias de seguridad de datos, sistema, etc. Obviamente la el tamaño de

archivos suele ser considerablemente grande, y si a esto le sumamos mp3, videos, instaladores, la

cantidad crece aún más.

El problema de pasar información de un disco duro a otro, si la cantidad de datos no es

demasiado grande, la solución puede ser sencilla mediante un pendrive; sin embargo, cuando

Page 57: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

59

hablamos de gran cantidad de datos el problema se agrava, entonces se necesita de un programa

que permita la clonación de discos duros.

2. CARACTERÍSTICAS DE LAS NUEVAS TECNOLOGÍAS EN HARDWARE Y SOFTWARE

2.1 HARDWARE

Una empresa afirma que en pocos días lanzará la primera computadora cuántica de la historia. D-

Wave, la empresa de la Columbia Británica, afirma que esta máquina es capaz de realizar 64.000

cálculos al mismo tiempo en "universos paralelos". Este ordenador es capaz de acelerar de forma

crítica las búsquedas y la optimización de cálculos.

Si realmente lo han logrado, esta máquina podría hacer que los sistemas de seguridad actuales

quedasen obsoletos, ya que la computación cuántica es capaz de romper la protección de los

esquemas de cifrado actuales gracias a sus prestaciones a la hora de procesar un número ilimitado

de hilos de ejecución simultáneamente.

La máquina que D-Wave quiere vender dispone solo de 16 qbits, pero serán capaces de procesar

más entradas que el número de átomos que existen en el universo.

Los científicos se preguntan si esta empresa dispone en realidad de un ordenador cuántico, ya que

nadie esperaba un lanzamiento de este tipo hasta dentro de 20 años.

Toshiba acaba de presentar dos nuevos discos de tamaño totalmente reducido, y de capacidades,

sospechosamente iguales a las que ofrece iPod Classic, de 80 y 160GB. Ambos tiene 1.8

pulgadas, se desconoce el precio, pero dependiendo de este detalle podríamos decir si esta o no

siendo usado en los iPod Classic.

2.2 SOFTWAREEn software se puede mencionar el Programa “StuckSweep”, escrito en java y se utiliza para

reparar pixels muertos mediante cambios rapidos de color.

3. MICROPROCESADORES AMD

La empresa AMD lanza los procesadores AMD Opteron de Doble Núcleo para servidores y

estaciones de trabajo y también revela el próximo lanzamiento del procesador AMD Athlon 64 X2

de Doble Núcleo para consumidores empresariales y particulares. Los más importantes fabricantes

de partes originales, incluidos Sun, HP, IBM y Supermicro anuncian su respaldo al ofrecer un

amplio portafolio de sistemas para el procesador AMD Opteron de Doble Núcleo. Los procesadores

AMD Opteron de Doble Núcleo consumen solo una cuarta parte de la energía, en comparación con

otros chips de doble núcleo.

· En los últimos años, AMD ha sido el primero en salir con ideas como la computación de 64

bits y vínculos de entrada-salida más rápidos, poniendo a Intel en la incómoda posición de

un seguidor.

Page 58: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

60

4. ARQUITECTURA DE LA CORE i7 -940, LGA de 1366 contactos

Intel Core i7 es una familia de procesadores de cuatro núcleos de la arquitectura Intel x86-64. Los

Core i7 son los primeros procesadores que usan la microarquitectura Nehalem de Intel y es el

sucesor de la familia Intel Core 2. El pseudónimo Core i7 no tiene un significado concreto, pero

continúa con el uso de la etiqueta Core. Estos procesadores actualmente son manufacturados en

las plantas de fabricación que posee Intel en Arizona, Nuevo México y Oregón, aunque la de

Oregón se prepara para la fabricación de la siguiente generación de procesadores de 32 nm, sus

características son las siguientes:

· FSB es reemplazado por la interfaz QuickPath (sólo en Intel Core i7, ya que el FSB es

reemplazado por HyperTransport en otros procesadores). Las placas base deben utilizar

un chipset que soporte QuickPath. De momento solo esta disponible para placas base de

Asrock, Asus, DFI , EVGA , GigaByte , Intel , MSI y XFX.

· Conexión con memoria: la memoria está directamente conectada al procesador.

· Memoria de tres canales: cada canal puede soportar una o dos memorias DIMM DDR3.

Las placa base compatibles con Core i7 tienen cuatro (3+1) o seis ranuras DIMM en lugar

de dos o cuatro, y las DIMMs deben ser instaladas en grupos de tres, no dos.

· Soporte para DDR3 únicamente.

· Turbo Boost: La misma permite a los distintos núcleos acelerarse "inteligentemente" por sí

mismos cada 133 MHz por encima de su velocidad oficial, mientras que los requerimientos

térmicos y eléctricos de la CPU no sobrepasen los predeterminados.

· Dispositivo Single-die: Los cuatro núcleos, el controlador de memoria, y la cache se

encuentran dentro del mismo encapsulado.

· HyperThreading reimplementado. Cada uno de los cuatro núcleos puede procesar dos

tareas simultáneamente, por tanto el procesador aparece como ocho CPUs desde el

sistema operativo. Esta característica estaba presente en la antigua microarquitectura

Netburst introducida en los Pentium 4 HT.

· 8 MB de memoria cache L3 incorporada (on-die), compartida por todos los núcleos.

· Solo una interfaz QuickPath: No concebida para placas base multiprocesador.

· Tecnología de proceso de 45 nm o 32 nm.

· 731 millones de transistores.

· Sofisticada administración de energía, puede colocar un núcleo no utilizado en modo sin

energía.

· Capacidad de overclocking muy elevada (se puede acelerar sin problemas hasta los 4-4,1

GHz).

· El Core i7 tiene un alto consumo, prácticamente dobla los anteriores, pues es capaz de

gastar 160W él solo, con el consiguiente problema térmico. Por tanto, requiere una caja de

Page 59: Ingeniería de Sistemas - virtual.usalesiana.edu.bovirtual.usalesiana.edu.bo/web/contenido/dossier/22011/799.pdf · Los lenguajes de programación también mejoraron, ... Ellos consideran

Universidad Salesiana de Bolivia Hard. y Arq. de ComputadorasIngeniería de Sistemas

61

calidad y una fuente de alimentación potente. Por este motivo se debe tener en cuenta que

el equipo entero, más monitor, puede estar consumiendo del orden de 500 ó 600 wats.

6. ARQUITECTURA DE LA CORE i5

Los modelos Core i5 tienen dos núcleos nativos con Hyperthreading (4 núcleos virtuales), caché

L2 de 256 KB y L3 de 4 MB compartidos.

7. CLONACION DE DISCOS DUROS

Para realizar la clonacion de discos duros ha sido diseñado el programa DriveWire, que

básicamente sirve para conectar discos duros SATA o IDE al computador mediante conexiónUSB y gestionar los datos gracias a un software que viene incluido; soporta discos IDE de 2.5 (de

44 pines para portátiles) y 3.5 pulgadas (de 40 pines para PC de sobremesa);