CORPORATIVO INTERNACIONAL UNIVERSITARIO

EDUARDO JIMENEZ ACOSTA

L.I GABRIEL FLORES GONZALEZ

INVESTIGACIONES

LIC.INFORMATICA

INDICE: 1. ORGANIZACION DE COMPUTADORAS, LENGUAJE DE MAQUINA Y ENSAMBLADORES. 1.1 .1Maquinas de varios niveles 1.1.2 Procesadores 1.1.3 Memoria 1.1.4Organizacion de entrada/salida 1.1.5 Control 1.1.6 Registros de propósito general 1.2 LENGUAJE DE MAQUINA 1.2.1Instrucciones 1.2.2 Direccionamiento 1.2.3 Ciclos de ejecución 1.3 Ensamblador 1.3.1 Lenguaje ensamblador 1.3.2 Macro-ensambladores 1.4 Ligadores y cargadores 2. ARQUITECTURA DE COMPUTADORAS 2.1 Hardware,firware y software 2.2 Microprocesador 2.3 Simulación y emulación 2.4 Microprocesador

Organización de computadoras Si no se toman en cuenta las diferencias en apariencia física, virtualmente todas las computadoras pueden ser concebidas como divididas en seis unidades lógicas o secciones. Estas son:

1. Unidad de entrada. Esta es la sección "de recepción" de la computadora. Obtiene información (datos y programas de computadora) a partir de varios dispositivos de entrada y pone esta información a la disposición de las otras unidades, de tal forma que la información pueda ser procesada. La mayor parte de la información se introduce en las computadoras hoy día a través de teclados de tipo maquina de escribir. 2. Unidad de salida. Esta es la sección "de embarques" de la computadora. Toma la información que ha sido procesada por la computadora y la coloca en varios dispositivos de salida para dejar la información disponible para su uso fuera de la computadora. La mayor parte de la información sale de las computadoras hoy día mediante despliegue en pantallas o mediante impresión en papel. 3. Unidad de memoria. Esta es la sección de "almacén" de rápido acceso y de capacidad relativamente baja de la computadora. Retiene información que ha sido introducida a través de la unidad de entrada, de tal forma que esta información pueda estar de inmediato disponible para su proceso cuando sea necesario. La unidad de memoria también retiene información ya procesada, hasta que dicha información pueda ser colocada por la unidad de salida en dispositivos de salida. La unidad de memoria se conoce a menudo como memoria o memoria primaria. 4. Unidad aritmética y lógica (ALU). Esta es la sección de "fabricación" de la computadora. Es responsable de la ejecución de cálculos como es suma, resta, multiplicación y división. Contiene los mecanismos de decisión que permiten que la computadora, por ejemplo, compare dos elementos existentes de la unidad de memoria para determinar si son o no iguales. 5. Unidad de procesamiento central (CPU). Esta es la sección "administrativa" de la computadora. Es el coordinador de la computadora que es responsable de la supervisión de la operación de las demás secciones. El CPU le indica a la unidad de entrada cuando debe leerse la información y colocarse en la unidad de memoria, le indica al ALU cuándo deberá utilizar información de la unidad de memoria en cálculos, y le indica a la unidad de salida cuándo enviar información de la unidad de memoria a ciertos dispositivos de salida. 6. Unidad de almacenamiento secundario. Esta es la sección de "almacén" a largo plazo de alta capacidad de la computadora. Los programas o los datos que no se estén utilizando de forma activa por otras unidades, están por lo regular colocados en dispositivos de almacenamiento secundario (como discos) en tanto se necesiten otra vez, es posible que sean horas, días, meses o inclusive años después.

Maquinas de varios niveles Sea L1 el lenguaje máquina y L2 un lenguaje de más alto nivel, fácil de utilizar. Entonces el programador escribe en L2, y luego el programa se traduce a L1, pues L2 no lo entiende la máquina. Esa traducción puede ser:

Compilación: El compilador traduce la secuencia de instrucciones de L2 a una secuencia en L1. El resultado se almacena en un programa en L1. Interpretación: El intérprete no genera ningún programa en L1, sino que convierte cada instrucción de L2 en una secuencia de instrucciones en L1, las cuáles ejecuta directamente.

Se puede imaginar así la existencia de una máquina virtual cuyo lenguaje máquina sea L2 (tenemos un compilador o intérprete a L1, y nos podemos olvidar de la máquina que trabaja con L1). L2 no debe diferir mucho de L1 para que la traducción sea práctica, pero para que nosotros entendamos L2 sí que debe de haber bastante diferencia. Por tanto, lo que se puede hacer es crear L3, L4, ..., cada uno más fácil de utilizar. A cada nivel le corresponde una máquina virtual (M1, M2, ..., Mn). Cada programador humano sólo necesita conocer un lenguaje (por ejemplo, el L3), y puede olvidarse de los niveles inferiores (L1 y L2 en este caso). Los niveles son una abstracción. Quien trabaja en un nivel no tiene que preocuparse de los inferiores. Cada nivel es soportado por un programa. Por ejemplo, para el nivel cinco, el compilador. En este curso nos dedicaremos al nivel tres. Los microprogramas son directamente ejecutados por el hardware. Ahora vamos a ver cada nivel más detalladamente. Nivel cero: nivel de lógica digital. Es el hardware de la máquina. Habría aún un nivel inferior, el nivel de dispositivo. En este nivel se estudian: las puertas lógicas, los circuitos integrados (SSI, MSI, LSI, VLSI), circuitos combinacionales, circuitos aritméticos, relojes, memorias, microprocesadores, buses, etc. Nivel uno: nivel de microprogramación.

Aquí existe un programa llamado microprograma, cuya función es interpretar las instrucciones del nivel dos. El microprograma es un intérprete, que pasa cada instrucción de lenguaje máquina a microinstrucciones, las cuáles son ejecutadas. En algunas máquinas no existe este nivel. Nivel dos: nivel de máquina convencional. Cada fabricante publica el “Manual de referencia del lenguaje máquina” para cada uno de sus computadores (dice las instrucciones de lenguaje máquina que éstos tienen). Las instrucciones del nivel de máquina las interpreta el microprograma. En las máquinas en las que no existe el nivel de microprogramación, sin embargo, las instrucciones del nivel de máquina son realizadas directamente por los circuitos electrónicos (el hardware, el nivel cero). Nivel tres: nivel de sistema operativo. La mayoría de las instrucciones de este nivel se encuentran también en el nivel dos, pero, además, tienen un nuevo conjunto de instrucciones añadidas, así como una organización diferente de la memoria, posibilidad de ejecutar dos o más programas, etc. Las nuevas instrucciones las interpreta el sistema operativo, mientras que las que son idénticas a las del nivel dos las lleva a cabo el microprograma. Nivel cuatro: nivel del lenguaje ensamblador. Los niveles cuatro y superiores son utilizados por los programadores de aplicaciones, los niveles inferiores no están pensados para programar aplicaciones directamente en ellos, sino que están diseñados para ejecutar los intérpretes y traductores de los niveles superiores y son escritos por los programadores de sistemas. El ensamblador es un lenguaje de nivel tres, que lleva a cabo la traducción de un programa de nivel cuatro al nivel tres. Nivel cinco: nivel de lenguajes de alto nivel. Los lenguajes de alto nivel son más fáciles de usar que los niveles inferiores. Son utilizados por los programadores de aplicaciones. Los traductores de programas en lenguaje de alto nivel pueden ser compiladores o intérpretes.

Procesadores El procesador es el cerebro del sistema, encargado de procesar toda la información. Es el componente donde es usada la tecnología más reciente. Existen en el mundo sólo cuatro grandes empresas con tecnología para fabricar procesadores competitivos para computadoras: Intel (que domina más de un 70% del mercado), AMD, Vía (que compró la antigua Cyrix) e IBM, que fabrica procesadores para otras empresas, como Transmeta. Algunos de los modelos más modernos, y los cuales cuentan con la tecnoogía más avanzada de la actualidad son el Intel Core Sandy Bridge en sus variabtes i3, i5 e i7, el AMD Fusion y FX, los cuales pueden incorporar hasta 8 núcleos. Los anteriormente mencionados cubren la mayoría de las necesidades en computadoras de escritorio, mientras que para dispositivos portátiles como celulares y tablets podemos contar con procesadores ARM, Atom, Tegra2 y Snapdragon.

El procesador es el componente más complejo y frecuentemente más caro, pero él no puede hacer nada solo. Como todo cerebro, necesita de un cuerpo, que es formado por los otros componentes de la computadora, incluyendo la memoria, el disco duro, la placa de vídeo y de red, monitor, teclado y mouse. Para que sirven los Coolers? Generalmente los procesadores, debido a su estructura, y a la velocidad, calientan, y para evitar ese sobrecalentamiento, se usan los Coolers. En las computadoras actuales la refrigeración de los procesadores es realizada a través de un disipador de calor, fabricado en aluminio o cobre, con un pequeño ventilador sobre el y un conducto de aire que extrae el aire caliente del gabinete. Memoria la memoria (también llamada almacenamiento) se refiere a parte de los componentes que forman parte de una computadora. Son dispositivos que retienen datos informáticos durante algún intervalo de tiempo. Las memorias de computadora proporcionan una de las principales funciones de la computación moderna, la retención o almacenamiento de información. Es uno de los componentes fundamentales de todas las computadoras modernas que, acoplados a una unidad central de procesamiento (CPU por su sigla en inglés, central processing unit), implementa lo fundamental del modelo de computadora de Arquitectura de von Neumann, usado desde los años 1940. En la actualidad, memoria suele referirse a una forma de almacenamiento de estado sólido conocido como memoria RAM (memoria de acceso aleatorio, RAM

por sus siglas en inglés random access memory) y otras veces se refiere a otras formas de almacenamiento rápido pero temporal. De forma similar, se refiere a formas de almacenamiento masivo como discos ópticos y tipos de almacenamiento magnético como discos duros y otros tipos de almacenamiento más lentos que las memorias RAM, pero de naturaleza más permanente. Estas distinciones contemporáneas son de ayuda porque son fundamentales para la arquitectura de computadores en general. Además, se refleja una diferencia técnica importante y significativa entre memoria y dispositivos de almacenamiento masivo, que se ha ido diluyendo por el uso histórico de los términos "almacenamiento primario" (a veces "almacenamiento principal"), para memorias de acceso aleatorio, y "almacenamiento secundario" para dispositivos de almacenamiento masivo. Esto se explica en las siguientes secciones, en las que el término tradicional "almacenamiento" se usa como subtítulo por conveniencia. Los componentes fundamentales de las computadoras de propósito general son la CPU, el espacio de almacenamiento y los dispositivos de entrada/salida. Simplificando mucho, si se elimina el almacenamiento, el aparato sería una simple calculadora en lugar de una computadora. La habilidad para almacenar las instrucciones que forman un programa de computadora y la información que manipulan las instrucciones es lo que hace versátiles a las computadoras diseñadas según la arquitectura de programas almacenados Una computadora digital representa toda la información usando el sistema binario. Texto, números, imágenes, sonido y casi cualquier otra forma de información puede ser transformada en una sucesión de bits, o dígitos binarios, cada uno de los cuales tiene un valor de 1 ó 0. La unidad de almacenamiento más común es el byte, igual a 8 bits. Una determinada información puede ser manipulada por cualquier computadora cuyo espacio de almacenamiento sea suficientemente grande como para que quepa el dato correspondiente o la representación binaria de la información. Por ejemplo, una computadora con un espacio de almacenamiento de ocho millones de bits, o un megabyte, puede ser usada para editar una novela pequeña. Se han inventado varias formas de almacenamiento basadas en diversos fenómenos naturales. No existen ningún medio de almacenamiento de uso práctico universal y todas las formas de almacenamiento tienen sus desventajas. Por tanto, un sistema informático contiene varios tipos de almacenamiento, cada uno con su propósito individual. Almacenamiento primario La memoria primaria está directamente conectada a la CPU de la computadora. Debe estar presente para que la CPU funcione correctamente. El almacenamiento primario consiste en tres tipos de almacenamiento:

Los registros del procesador son internos de la CPU. Técnicamente, es el sistema más rápido de los distintos tipos de almacenamientos de la computadora, siendo transistores de conmutación integrados en el chip de silicio del microprocesador (CPU) que funcionan como "flip-flop" electrónicos. La memoria caché es un tipo especial de memoria interna usada en muchas CPU para mejorar su eficiencia o rendimiento. Parte de la información de la memoria principal se duplica en la memoria caché. Comparada con los registros, la caché es ligeramente más lenta pero de mayor capacidad. Sin embargo, es más rápida, aunque de mucha menor capacidad que la memoria principal. También es de uso común la memoria caché multi-nivel - la "caché primaria" que es más pequeña, rápida y cercana al dispositivo de procesamiento; la "caché secundaria" que es más grande y lenta, pero más rápida y mucho más pequeña que la memoria principal. La memoria principal contiene los programas en ejecución y los datos con que operan. Se puede transferir información muy rápidamente entre un registro del microprocesador y localizaciones del almacenamiento principal. En las computadoras modernas se usan memorias de acceso aleatorio basadas en electrónica del estado sólido, que está directamente conectada a la CPU a través de buses de direcciones, datos y control.

Almacenamiento secundario La memoria secundaria requiere que la computadora use sus canales de entrada/salida para acceder a la información y se utiliza para almacenamiento a largo plazo de información persistente. Sin embargo, la mayoría de los sistemas operativos usan los dispositivos de almacenamiento secundario como área de intercambio para incrementar artificialmente la cantidad aparente de memoria principal en la computadora.(A esta utilización del almacenamiento secundario se le denomina memoria virtual). La memoria secundaria también se llama "de almacenamiento masivo". Un disco duro es un ejemplo de almacenamiento secundario. Habitualmente, la memoria secundaria o de almacenamiento masivo tiene mayor capacidad que la memoria primaria, pero es mucho más lenta. En las computadoras modernas, los discos duros suelen usarse como dispositivos de almacenamiento masivo. El tiempo necesario para acceder a un byte de información dado almacenado en un disco duro de platos magnéticos es de unas milésimas de segundo (milisegundos). En cambio, el tiempo para acceder al mismo tipo de información en una memoria de acceso aleatorio (RAM) se mide en mil-millonésimas de segundo (nanosegundos). Esto ilustra cuan significativa es la diferencia entre la velocidad de las memorias de estado sólido y la velocidad de los dispositivos rotantes de almacenamiento magnético u óptico: los discos duros son del orden de un millón de veces más

lentos que la memoria (primaria). Los dispositivos rotantes de almacenamiento óptico (unidades de CD y DVD) son incluso más lentos que los discos duros, aunque es probable que su velocidad de acceso mejore con los avances tecnológicos. Por lo tanto, el uso de la memoria virtual, que es cerca de un millón de veces más lenta que memoria “verdadera”, ralentiza apreciablemente el funcionamiento de cualquier computadora. Muchos sistemas operativos implementan la memoria virtual usando términos como memoria virtual o "fichero de caché". La principal ventaja histórica de la memoria virtual es el precio; la memoria virtual resultaba mucho más barata que la memoria real. Esa ventaja es menos relevante hoy en día. Aun así, muchos sistemas operativos siguen implementándola, a pesar de provocar un funcionamiento significativamente más lento. Almacenamiento terciario La memoria terciaria es un sistema en el que un brazo robótico montará (conectará) o desmontará (desconectará) un medio de almacenamiento masivo fuera de línea (véase el siguiente punto) según lo solicite el sistema operativo de la computadora. La memoria terciaria se usa en el área del almacenamiento industrial, la computación científica en grandes sistemas informáticos y en redes empresariales. Este tipo de memoria es algo que los usuarios de computadoras personales normales nunca ven de primera mano. Almacenamiento fuera de línea El almacenamiento fuera de línea es un sistema donde el medio de almacenamiento puede ser extraído fácilmente del dispositivo de almacenamiento. Estos medios de almacenamiento suelen usarse para transporte y archivo de datos. En computadoras modernas son de uso habitual para este propósito los disquetes, discos ópticos y las memorias flash, incluyendo las unidades USB. También hay discos duros USB que se pueden conectar en caliente. Los dispositivos de almacenamiento fuera de línea usados en el pasado son cintas magnéticas en muchos tamaños y formatos diferentes, y las baterías extraíbles de discos Winchester. Almacenamiento de red El almacenamiento de red es cualquier tipo de almacenamiento de computadora que incluye el hecho de acceder a la información a través de una red informática. Discutiblemente, el almacenamiento de red permite centralizar el control de información en una organización y reducir la duplicidad de la información. El almacenamiento en red incluye:

El almacenamiento asociado a red es una memoria secundaria o terciaria que reside en una computadora a la que otra de éstas puede acceder a

través de una red de área local, una red de área extensa, una red privada virtual o, en el caso de almacenamientos de archivos en línea, internet. Las redes de computadoras son computadoras que no contienen dispositivos de almacenamiento secundario. En su lugar, los documentos y otros datos son almacenados en un dispositivo de la red.

Características de las memorias La división entre primario, secundario, terciario, fuera de línea se basa en la jerarquía de memoria o distancia desde la unidad central de proceso. Hay otras formas de caracterizar a los distintos tipos de memoria. Volatilidad de la información Foto de memorias RAM tipo DDR instaladas en su socket

La memoria volátil requiere energía constante para mantener la información almacenada. La memoria volátil se suele usar sólo en memorias primarias. La memoria RAM es una memoria volátil, ya que pierde información en la falta de energía eléctrica. La memoria no volátil retendrá la información almacenada incluso si no recibe corriente eléctrica constantemente, como es el caso de la memoria ROM. Se usa para almacenamientos a largo plazo y, por tanto, se usa en memorias secundarias, terciarias y fuera de línea. La memoria dinámica es una memoria volátil que además requiere que periódicamente se refresque la información almacenada, o leída y reescrita sin modificaciones.

Habilidad para acceder a información no contigua

Acceso aleatorio significa que se puede acceder a cualquier localización de la memoria en cualquier momento en el mismo intervalo de tiempo, normalmente pequeño. Acceso secuencial significa que acceder a una unidad de información tomará un intervalo de tiempo variable, dependiendo de la unidad de información que fue leída anteriormente. El dispositivo puede necesitar buscar (posicionar correctamente el cabezal de lectura/escritura de un disco), o dar vueltas (esperando a que la posición adecuada aparezca debajo del cabezal de lectura/escritura en un medio que gira continuamente).

Habilidad para cambiar la información

Las memorias de lectura/escritura o memorias cambiables permiten que la información se reescriba en cualquier momento. Una computadora sin algo de memoria de lectura/escritura como memoria principal sería inútil para

muchas tareas. Las computadora modernas también usan habitualmente memorias de lectura/escritura como memoria secundaria. La memorias de sólo lectura retienen la información almacenada en el momento de fabricarse y la memoria de escritura única (WORM) permite que la información se escriba una sola vez en algún momento tras la fabricación. También están las memorias inmutables, que se utilizan en memorias terciarias y fuera de línea. Un ejemplo son los CD-ROMs. Las memorias de escritura lenta y lectura rápida son memorias de lectura/escritura que permite que la información se reescriba múltiples veces pero con una velocidad de escritura mucho menor que la de lectura. Un ejemplo son los CD-RW.

Direccionamiento de la información

En la memoria de localización direccionable, cada unidad de información accesible individualmente en la memoria se selecciona con su dirección de memoria numérica. En las computadoras modernas, la memoria de localización direccionable se suele limitar a memorias primarias, que se leen internamente por programas de computadora ya que la localización direccionable es muy eficiente, pero difícil de usar para los humanos. En las memorias de sistema de archivos, la información se divide en Archivos informáticos de longitud variable y un fichero concreto se localiza en directorios y nombres de archivos "legible por humanos". El dispositivo subyacente sigue siendo de localización direccionable, pero el sistema operativo de la computadora proporciona la abstracción del sistema de archivos para que la operación sea más entendible. En las computadora modernas, las memorias secundarias, terciarias y fuera de línea usan sistemas de archivos. En las memorias de contenido direccionable (content-addressable memory), cada unidad de información legible individualmente se selecciona con una valor hash o un identificador corto sin relación con la dirección de memoria en la que se almacena la información. La memoria de contenido direccionable pueden construirse usando software o hardware; la opción hardware es la opción más rápida y cara. Capacidad de memoria

Memorias de mayor capacidad son el resultado de la rápida evolución en tecnología de materiales semiconductores. Los primeros programas de ajedrez funcionaban en máquinas que utilizaban memorias de base magnética. A inicios de 1970 aparecen las memorias realizadas por semiconductores, como las utilizadas en la serie de computadoras IBM 370. La velocidad de los computadores se incrementó, multiplicada por 100.000 aproximadamente y la capacidad de memoria creció en una proporción similar. Este hecho es particularmente importante para los programas que utilizan tablas

de transposición: a medida que aumenta la velocidad de la computadora se necesitan memorias de capacidad proporcionalmente mayor para mantener la cantidad extra de posiciones que el programa está buscando. Se espera que la capacidad de procesadores siga aumentando en los próximos años; no es un abuso pensar que la capacidad de memoria continuará creciendo de manera impresionante. Memorias de mayor capacidad podrán ser utilizadas por programas con tablas de Hash de mayor envergadura, las cuales mantendrán la información en forma permanente.

Minicomputadoras: se caracterizan por tener una configuración básica regular que puede estar compuesta por un monitor, unidades de disquete, disco, impresora, etc. Su capacidad de memoria varía de 16 a 256 kbytes. Macrocomputadoras: son aquellas que dentro de su configuración básica contienen unidades que proveen de capacidad masiva de información, terminales (monitores), etc. Su capacidad de memoria varía desde 256 a 512 kbytes, también puede tener varios megabytes o hasta gigabytes según las necesidades de la empresa. Microcomputadores y computadoras personales: con el avance de la microelectrónica en la década de los 70 resultaba posible incluir todos los componente del procesador central de una computadora en un solo circuito integrado llamado microprocesador. Ésta fue la base de creación de unas computadoras a las que se les llamó microcomputadoras. El origen de las microcomputadoras tuvo lugar en los Estados Unidos a partir de la comercialización de los primeros microprocesadores (INTEL 8008, 8080). En la década de los 80 comenzó la verdadera explosión masiva, de los ordenadores personales (Personal Computer PC) de IBM. Esta máquina, basada en el microprocesador INTEL 8008, tenía características interesantes que hacían más amplio su campo de operaciones, sobre todo porque su nuevo sistema operativo estandarizado (MS-DOS, Microsoft Disk Operating Sistem) y una mejor resolución óptica, la hacían más atractiva y fácil de usar. El ordenador personal ha pasado por varias transformaciones y mejoras que se conocen como XT(Tecnología Extendida), AT(Tecnología Avanzada) y PS/2...

Memorias magnéticas Las memorias magnéticas usan diferentes patrones de magnetización sobre una superficie cubierta con una capa magnetizada para almacenar información. Las memorias magnéticas son no volátiles. Se llega a la información usando uno o más cabezales de lectura/escritura. Como el cabezal de lectura/escritura solo cubre una parte de la superficie, el almacenamiento magnético es de acceso secuencial y debe buscar, dar vueltas o las dos cosas. En computadoras modernas, la superficie magnética será de alguno de estos tipos:

   

Disco magnético. Disquete, usado para memoria fuera de línea. Disco duro, usado para memoria secundario. Cinta magnética, usada para memoria terciaria y fuera de línea.

En las primeras computadoras, el almacenamiento magnético se usaba también como memoria principal en forma de memoria de tambor, memoria de núcleo, memoria en hilera de núcleo, memoria película delgada, memoria de Twistor o memoria burbuja. Además, a diferencia de hoy, las cintas magnéticas se solían usar como memoria secundaria. Memoria de semiconductor La memoria de semiconductor usa circuitos integrados basados en semiconductores para almacenar información. Un chip de memoria de semiconductor puede contener millones de minúsculos transistores o condensadores. Existen memorias de semiconductor de ambos tipos: volátiles y no volátiles. En las computadoras modernas, la memoria principal consiste casi exclusivamente en memoria de semiconductor volátil y dinámica, también conocida como memoria dinámica de acceso aleatorio o más comúnmente RAM, su acrónimo inglés. Con el cambio de siglo, ha habido un crecimiento constante en el uso de un nuevo tipo de memoria de semiconductor no volátil llamado memoria flash. Dicho crecimiento se ha dado, principalmente en el campo de las memorias fuera de línea en computadoras domésticas. Las memorias de semiconductor no volátiles se están usando también como memorias secundarias en varios dispositivos de electrónica avanzada y computadoras especializadas y no especializadas. Memorias de disco óptico Las memorias en disco óptico almacenan información usando agujeros minúsculos grabados con un láser en la superficie de un disco circular. La información se lee iluminando la superficie con un diodo láser y observando la reflexión. Los discos ópticos son no volátil y de acceso secuencial. Los siguientes formatos son de uso común:

  

CD, CD-ROM, DVD: Memorias de simplemente solo lectura, usada para distribución masiva de información digital (música, vídeo, programas informáticos). CD-R, DVD-R, DVD+R: Memorias de escritura única usada como memoria terciaria y fuera de línea. CD-RW, DVD-RW, DVD+RW, DVD-RAM: Memoria de escritura lenta y lectura rápida usada como memoria terciaria y fuera de línea. Blu-ray: Formato de disco óptico pensado para almacenar vídeo de alta calidad y datos. Para su desarrollo se creó la BDA, en la que se encuentran, entre otros, Sony o Phillips.

HD DVD

Se han propuesto los siguientes formatos:
 

HVD Discos cambio de fase Dual

Memorias de discos magneto-ópticos Las Memorias de disco magneto óptico son un disco de memoria óptica donde la información se almacena en el estado magnético de una superficie ferromagnética. La información se lee ópticamente y se escribe combinando métodos magnéticos y ópticos. Las memorias de discos magneto ópticos son de tipo no volátiles, de acceso secuencial, de escritura lenta y lectura rápida. Se usa como memoria terciaria y fuera de línea. Organizacion de entrada/salida El subsistema de ENTRADA/SALIDA (E/S) suministra al computador un mecanismo eficiente de comunicación entre el procesador central y el entorno exterior. • La conexión de dispositivos periféricos a un computador no puede llevarse a cabo de forma directa haciendo uso del bus del procesador, esta restricción es debida fundamentalmente a tres razones: – Existe una gran variedad de dispositivos con distintos modos de operación. – El ritmo de transferencia de datos es, en casi todos los casos, mucho menor que hay entre la CPU y la memoria principal. – En ocasiones, el periférico requiere que los datos le sean suministrados en formatos distintos al utilizado por la CPU. Los periféricos de almacenamiento, llamados también periféricos de memoria auxiliar, son unos dispositivos en los que se almacenan, temporal o permanente, los datos que va a manejar la CPU durante el proceso en curso, y que no es posible mantener en la memoria principal. Suponen un apoyo fundamental a la computadora para realizar su trabajo habitual. Los periféricos de almacenamiento se pueden clasificar de acuerdo al modo de acceso a los datos que contienen: • Acceso secuencial. • Acceso aleatorio.

La Interfaz de E/S de las aplicaciones es la que define el modelo de E/S que ven los usuarios, por lo que cuando se diseña el Sistema Operativo se debe tener en cuenta decisiones relativas a la funcionalidad que se va ha ofrecer al exterior: Nombres Independientes de los Dispositivos, E/S No Bloquean o Asíncronas, Control de Acceso a Dispositivos, Indicadores de Error y Uso de Estándares. 1.- QUE SE REFIERE EL TÉRMINO INTERFACE (E/S) La interfaces de entrada y de salida proporciona un método para transferir información entre dispositivos de (E/S) de almacenamiento interno y de (E/S) externas. Los periféricos conectados a una computadora necesitan enlacé de comunicación especial para funcionar como una interfaces con la unidad de procesamiento central. El propósito del enlace de comunicación es resolver las diferencias que existen en la computadora central y de cada periférico. Se llama interfaces porque se comunica tanto con el canal del procesador como con el dispositivo periférico. DIFERENCIAS ENTRE E/S AISLADA Y E/S MAPEADA EN MEMORIA E/S AISLADA 1) En la configuración E/S aislada, la Cpu tiene instrucciones distintas de entrada y salida, y cada una de estas instrucciones se asocia con la dirección de un registro de interfase. Cuando la CPU recupera y decodifica el código de operación de una instrucción de entrada y salida coloca la dirección asociada con la instrucción dentro de las líneas de dirección comunes. 2) El método E/S aislada separa la memoria y las direcciones de E/S para que los valores de la dirección de memoria no se afecten con la asignación de dirección de interfaces, porque cada una tiene espacio de direccionamiento. E/S MAPEADA EN MEMORIA 1) En una organización de E/S mapeada de memoria no hay instrucciones especifica de entrada o salida. La CPU puede manipular datos de entrada y salida que residen en registros de interfaces con la misma instrucción que se utiliza para manipular palabras de memoria: Cada interfase se organiza como un conjunto de registros que responden a peticiones de lectura y escritura en el espacio de direccionamiento normal.

2) La computadora emplea solo un conjunto de señales de lectura y escritura y no hacen diferencia entre direcciones de memoria y entrada y salida. La computadora trata a un registro de interfaces como parte del sistema de memoria las direcciones asignadas para registro de interfaces no pueden utilizarse para palabras de memoria lo cual reducen rango de direcciones de memoria disponible. CONTROL Función del Control.- Una definición que es correcta y a la cual representa el valor de la Función del Control es la de ayudar a los Funcionarios que tienen responsabilidad Administrativa, Técnica y/u Operacional a que no incurran en falta. Y es por ello que aquí el Control es Creativo - Inteligente, y Constructivo de asesoramiento oportuno a todas las Direcciones o Gerencias a fin de que la Toma de Decisiones sea acertada, segura y se logren los objetivos, con la máxima eficiencia. de que, en dicha entidad, antes de realizarse la auditoría, ya se habían detectado fallas. El concepto de auditoría es mucho más que esto. El Control de Sistemas e Informática, consiste en examinar los recursos, las operaciones, los beneficios y los gastos de las producciones (servicios y/o productos de los Sistemas Informáticos), de los Organismos sujetos a control, con al finalidad de evaluar la eficacia y eficiencia Administrativa Técnica y/u Operacional de los Organismos, en concordancia con los principios, normas, técnicas y procedimientos normalmente aceptados. Asimismo de los Sistemas (Planes, Programas y Presupuestos, Diseño, Software, Hardware, Seguridad, Respaldos y otros) adoptados por la Organización para su dinámica de Gestión en salvaguarda de los Recursos del Estado. Existe otra definición sobre el "control técnico" en materia de Sistemas e Informática, y esta se orienta a la revisión del Diseño de los Planes, Diseños de los Sistemas, la demostración de su eficacia, la Supervisión compulsa de rendimientos, Pruebas de Productividad de la Gestión - Demanda llamada "Pruebas intermedias", el análisis de resultados, niveles y medios de seguridad, respaldo, y el almacenamiento. Así mismo medición de la vida útil del Sistema Informático adoptado por la Organización bajo control.

Control Interno Informático es una herramienta enfocada a la adecuada gestión de los Sistemas de la Información. Muchos de los problemas informáticos se originan dentro de la misma empresa.

Por ello es cada vez más necesario un completo análisis del tráfico de: * Los correos electrónicos corporativos. * Las páginas web que se visitan desde los ordenadores de la empresa. Hemos seleccionado los siguientes articulos para usted:
 

Empresas vigilan el acceso de sus empleados a Internet, Fuente externa: infobae.com Las empresas comienzan a controlar el acceso de sus empleados a Internet, Acceso restringido, Una medida antipática, Fuente externa: infobaeprofesional.com Solución a la inseguridad informática, Fuente externa: belt.es

Registros de proposito general Los registros de propósitos generales AX, BX, CX y DX son los caballos de batalla o las herramientas del sistema. Son los únicos en el sentido de que se puede direccionarlos como una palabra o como una parte de un byte. El ultimo byte de la izquierda es la parte "alta", y el ultimo byte de la derecha es la parte "baja" por ejemplo, el registro CX consta de una parte CH (alta) y una parte CL (baja), y usted puede referirse a cualquier parte por si nombre. Ñas instrucciones siguientes mueven ceros a los registros CX, CH y CL respectivamente. Mov CX, 00 Mov CH, 00 Mov CL, 00 Los procesadores 80386 y posteriores permiten el uso de todos registros de propósito general, mas versiones de 32 bits; EAX, EBX y EDCX. Registros AX. El registro AX, el acumulador principal, es utilizado para operaciones que implican entrada/salida y la mayor parte de la aritmética. Por ejemplo, las instrucciones para multiplicar, dividir y traducir suponen el uso del AX. También, algunas operaciones generan código más eficientes si se refiere al AX en lugar de los otros registros. Registro BX. El BX es conocido como el registro base ya que es el único registro de propósitos generales que pueden ser unos índices para direccionamiento indexado. También es común emplear al BX para cálculos. Registro CX. El CX es conocido como el registro contador. Puede contener un valor para controlar el número de veces que un ciclo se repite o un valor para corrimiento de bits, hacia la derecha o hacia la izquierda. El CX también es usado para muchos cálculos.

Registro DX. El DX es conocido como el registro de datos. Algunas operaciones de entrada/salida requieren su uso, y las operaciones de multiplicación y división con cifras grandes suponen al DX y al AX trabajando juntos. Puede usar los registros de propósitos para suma y resta de cifras de 8, 16, 32 bits. 5. Registro índice. Los registros SI y DI están disponibles para direccionamientos indexados y para sumas y restas. Que son la operaciones de punta. Registro SI. El registro índice de 16 bits es requerido por algunas operaciones con cadenas (de caracteres). En este contexto, el SI está asociado con el registro DS. Los procesadores 80386 y posteriores permiten el uso de un registro ampliado a 32 bits, el ESI. Registro DI. El registro índice destino también es requerido por algunas operaciones con cadenas de caracteres. En este contexto, el Di está asociado con el registro ES. Los procesadores 80386 y posteriores permiten el uso de un registro ampliado a 32 bits, el EDI. Registro de bandera. Los registros de banderas sirven parar indicar el estado actual de la maquina y el resultado del procesamiento, Cuando algunas instrucciones piden comparaciones o cálculos aritméticos cambian el estado de las banderas. Las banderas están en el registro de banderas en las siguientes posiciones: bits 15 14 13 12 11 10 9 8 7 6 5 4321 O D I T S Z A P C

Bandera Las banderas mas comunes son las siguientes: OF (Over flow flag, desbordamiento). Indica el desbordamiento de un bit de orden alto (mas a la izquierda) después de una operación aritmética. DF (Direction flag, Direccion). Designa la dirección hacia la izquierda o hacia la derecha para mover o comparar cadenas de caracteres. IF (Interruption flag, Interrupcion). Indica que una interrupción externa, como la entrada desde el teclado sea procesada o ignorada. TF (Trap flag, Trampa). Examina el efecto de una instrucción sobre los registros y la memoria. Los programas depuradores como DEBUG, activan esta bandera de manera que

pueda avanzar en la ejecución de una sola interrupción a un tiempo. SF (Sign flag, Signo). Contiene el signo resultante de una operación aritmética (0=positivo y 1= negativo). ZF (Zero flag, Zero). Indica el resultado de una operación aritmética o de comparación (0= resultado diferente de cero y 1=resultado igual a cero). AF (Auxiliary carry flag, Acarreo auxiliar). Contiene un acarreo externo del bit 3 en un dato de 8 bits, para aritmética especializada PF (Parity flag, Paridad). Indica paridad par o impar de una operación en datos de ocho bits de bajo orden (mas a la derecha). CF (Carry flag, Acarreo). Contiene el acarreo de orden mas alto (mas a la izquierda) después de una operación aritmética; también lleva el contenido del ultimo bit en una operación de corrimiento o rotación. Lenguaje de maquina El lenguaje máquina es el único que entiende la computadora digital, es su "lenguaje natural". En él sólo se pueden utilizar dos símbolos: el cero (0) y el uno (1). Por ello, al lenguaje máquina también se le denomina lenguaje binario. La computadora sólo puede trabajar con bits, sin embargo, para el programador no resulta fácil escribir instrucciones tales como: 10100010 11110011 00100010 00010010 Una dificultad añadida a los lenguajes binarios es el hecho de que son dependientes de la máquina (o mejor dicho, del procesador), es decir, cada procesador utiliza un lenguaje máquina distinto (un juego de instrucciones distinto) que está definido en su propio hardware. En consecuencia, un programa escrito para un tipo de procesador no se podrá usar en otro equipo que utilice un procesador distinto, ya que, el programa no será portable o transportable. Para que dicho programa pueda funcionar en una segunda computadora, habrá que traducir todas las instrucciones escritas en el lenguaje máquina del primer equipo al lenguaje binario de la segunda computadora. El lenguaje máquina es el único lenguaje que puede ejecutar una computadora. El lenguaje de máquina es un código que es interpretado directamente por el microprocesador.

El lenguaje está compuesto por un conjunto de instrucciones ejecutadas en secuencia (con eventuales cambios de flujo causados por el propio programa o eventos externos) que representan acciones que la máquina podrá tomar. Un lenguaje máquina es específico de cada arquitectura de computadora. Todo código fuente en última instancia debe llevarse a un lenguaje máquina mediante el proceso de compilación o interpretación para que la computadora pueda ejecutarlo. Instrucciones Se le llama a un conjunto de datos insertados en una secuencia estructurada o específica que el procesador interpreta y ejecuta. Los tipos de instrucción permitidos están definidos y determinados dentro de cada plataforma en el conjunto de instrucciones (en inglés ISA, instruction set architecture), que también determina los registros de origen y destino de la CPU, y en ocasiones un dato inmediato (aquellos que son especificados explícitamente en la instrucción).

Instrucciones de transferencia de datos: en este tipo de instrucciones, se transfieren datos desde una localización a otra. Los pasos que se siguen para realizarlo son: Determinación de las direcciones de origen y destino de memoria. Realización de la transformación de memoria virtual a memoria real. Comprobación de la caché. Inicio del proceso de lectura/escritura en la memoria. Instrucciones aritméticas: pueden implicar transferencia de datos antes y/o después. Realizan operaciones aritméticas de las que se encarga la ALU. Se pueden clasificar en de 1 operando (valor absoluto, negación) y 2 operandos (suma, resta). Instrucciones lógicas: al igual que las aritméticas, la ALU se encarga de realizar estas operaciones, que en este caso son de tipo lógico. Instrucciones de Conversión: similares a las aritméticas y lógicas. Pueden implicar lógica especial para realizar la conversión. Instrucciones de transferencia de control: actualizan el contador de programa (PC). Administran las llamadas/retornos a las subrutinas, el paso de parámetros y el enlazado. Instrucciones de E/S (entrada/salida): administran los comandos de entrada/salida. Si hay un mapa de memoria de entrada/salida, determina la dirección de este mapa de memoria.

1. 2. 3. 4.

  

Direccionamiento Los llamados modos de direccionamiento son las diferentes maneras de especificar en informática un operando dentro de una instrucción en lenguaje ensamblador. Un modo de direccionamiento especifica la forma de calcular la dirección de memoria efectiva de un operando mediante el uso de la información contenida en registros y / o constantes, contenida dentro de una instrucción de la máquina o en otra parte.
o

¿Cuántos modos de direccionamiento existen? Diferentes arquitecturas de computadores varían mucho en cuanto al número de modos de direccionamiento que ofrecen desde el hardware. Eliminar los modos de direccionamiento más complejos podría presentar una serie de beneficios, aunque podría requerir de instrucciones adicionales, e incluso de otro registro. Se ha comprobado que el diseño de CPUs segmentadas es mucho más fácil si los únicos modos de direccionamiento que proporcionan son simples. La mayoría de las máquinas RISC disponen de apenas cinco modos de direccionamiento simple, mientras que otras máquinas CISC tales como el DEC VAX tienen más de una docena de modos de direccionamiento, algunos de ellos demasiado complejos. El mainframe IBM System/360 disponía únicamente de tres modos de direccionamiento; algunos más fueron añadidos posteriormente para el System/390. Cuando existen solo unos cuantos modos, estos van codificados directamente dentro de la propia instrucción (Un ejemplo lo podemos encontrar en el IBM/390, y en la mayoría de los RISC). Sin embargo, cuando hay demasiados modos, a menudo suele reservarse un campo específico en la propia instrucción, para especificar dicho modo de direccionamiento. El DEC VAX permitía múltiples operandos en memoria en la mayoría de sus instrucciones, y reservaba los primeros bits de cada operando para indicar el modo de direccionamiento de ese operando en particular. Incluso en computadores con muchos modos de direccionamiento, algunas medidas realizadas a programas indican que los modos más simples representan cerca del 90% o más de todos los modos de direccionamiento utilizados. Dado que la mayoría de estas medidas son obtenidas a partir de códigos de alto nivel generados a partir de compiladores, nos da una idea de las limitaciones que presentan los compiladores que se utilizan.

Tipos de Direccionamiento Implícito En este modo de direccionamiento no es necesario poner ninguna dirección de forma explícita, ya que en el propio código de operación se conoce la dirección del (de los) operando(s) al (a los) que se desea acceder o con el (los) que se quiere operar. Supongamos una arquitectura de pila, las operaciones aritméticas no requieren direccionamiento explícito por lo que se ponen como: - add - sub ¿Por qué? Porque cuando se opera con dos datos en esta arquitectura se sabe que son los dos elementos del tope de la pila: Ejemplo de una pila 1 2 3 4 5 6 <- pila top() es 1 ntop() es 2 donde top() representa el tope de la pila y ntop() el siguiente al tope de la pila y son estos argumentos con los que se opera al llamar a una orden en concreto. Otro ejemplo de este tipo de direccionamiento lo podemos encontrar en la arquitectura de acumulador (AC) donde siempre hay un parámetro implícito y este es el AC. Para finalizar y dejar este modo de direccionamiento generalizado para las arquitecturas más usuales, remarcamos que también podemos encontrarlo en la arquitectura con registros de propósito general, por ejemplo con órdenes como setc, que pone a 1 el registro c (acarreo). Inmediato En la instrucción está incluido directamente el operando. En este modo el operando es especificado en la instrucción misma. En otras palabras, una instrucción de modo inmediato tiene un campo de operando en vez de un campo de dirección. El campo del operando contiene el operando actual que se debe utilizar en conjunto con la operación especificada en la instrucción. Las

instrucciones de modo inmediato son útiles para inicializar los registros en un valor constante. Cuando el campo de dirección especifica un registro del procesador, la instrucción se dice que está en el modo de registro.

Directo El campo de operando en la instrucción contiene la dirección en memoria donde se encuentra el operando. En este modo la dirección efectiva es igual a la parte de dirección de la instrucción. El operando reside en la memoria y su dirección es dada directamente por el campo de dirección de la instrucción. En una instrucción de tipo ramificación el campo de dirección especifica la dirección de la rama actual. Con este tipo de direccionamiento, la dirección efectiva es contenida en la misma instrucción, tal como los valores de datos inmediatos que son contenidos en la instrucción. Un procesador de 16 bits suma la dirección efectiva al contenido del segmento de datos previamente desplazado en 4 bits para producir la dirección física del operando.

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

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

Ejemplo: MOV A,R0 Indirecto mediante registros El campo de operando de la instrucción contiene un identificador de registro en el que se encuentra la dirección efectiva del operando. En este modo el campo de la dirección de la instrucción da la dirección en donde la dirección efectiva se almacena en la memoria. El control localiza la instrucción de la memoria y utiliza su parte de dirección para accesar la memoria de nuevo para leer una dirección efectiva. Unos pocos modos de direccionamiento requieren que el campo de dirección de la instrucción sea sumado al control de un registro especificado en el procesador. La dirección efectiva en este modo se obtiene del siguiente cálculo: Dir. efectiva = Dir. de la parte de la instrucción + Contenido del registro del procesador

Ejemplo: MOV A,@R0 De desplazamiento Combina el modo directo e indirecto mediante registros De pila Se utiliza cuando el operando está en memoria y en la cabecera de la pila. Este direccionamiento se basa en las estructuras denominadas Pila(tipo LIFO), las cuales están marcados por el fondo de la pila y el puntero de pila (*SP), El puntero de pila apunta a la última posición ocupada. Así, como puntero de direccionamiento usaremos el SP. El desplazamiento más el valor del SP nos dará la dirección del objeto al que queramos hacer referencia. En ocasiones, si no existe C. de desplazamiento solo se trabajara con la cima de la pila. Este tipo de direccionamiento nos aporta flexibilidad pero por el contrario, es mucho más complejo que otros tipos estudiados más arriba. Respecto a un registro base Este modo de direccionamiento es muy usado por los ensambladores cuando se llaman a las funciones (para acceder a los parámetros apilados en la pila, valga la

redundancia). Consiste, al igual que el indirecto a través de registro, en calcular la EA (Effective Address) como la suma del contenido del registro base y un cierto desplazamiento (u offset) que siempre será positivo. Esta técnica permite códigos reentrantes y acceder de forma fácil y rápida a posiciones cercanas de memoria. EA = RB+offset RB = registro base offset = desplazamiento -> RB se comporta como una dirección de memoria a la que se le sumará el desplazamiento

Direccionamiento absoluto: Consiste en direccionar una posición de memoria de forma directa, esto es, que la dirección hace referencia directamente a dicha posición sin tener que realizar cálculos adicionales para la EA. Direccionamiento relativo: Cuando para direccionar una posición de memoria se hace referencia a otra sobre la cual se especifica un incremento o decremento, es decir, se requiere otro dato para el cálculo de la dirección efectiva.

Generalmente se usan los direccionamientos relativos ya que, al ejecutar un cierto programa se cumple la proximidad espacial y temporal, lo que implica que datos que ya han sido usados o que se encuentran en posiciones cercanas al PC tendrán una alta probabilidad de ser referenciados próximamente. Otras de las ventajas del direccionamiento relativo es que permite los códigos reentrantes y cambiar ciertas direcciones sin tener que volver a compilar el programa. Es también útil porque nunca se sabe en qué posición de memoria se cargará un determinado programa. Por último reduce el número de bits para especificar las direcciones y se facilita la referencia a datos del programa a través de los registros base. El problema viene cuando queremos referenciar un dato al que no podemos acceder de forma relativa (p.e porque los registros base no puedan alcanzar dicha posición aun con el incremento más grande que podamos darle), en este caso se requiere el direccionamiento absoluto que sí es capaz de acceder, por lo general, a cualquier dirección de memoria. Ciclos de ejecución Lo primero es que la UC ordena leer la palabra cuya dirección indica el CP, para lo que se envía dicha dirección al RDM. Una vez leído el contenido se pasará el mismo al RIM con lo que se finaliza el ciclo de instrucción. A continuación el contenido del RIM pasa al RI y es cuando actúa el codificadordecoficador, analizando el tipo de operación (ciclo de operación), y se incrementa el CP en tantas unidades como ciclos de máquina requiera la instrucción (localiza la dirección de la siguiente instrucción). En este momento se irá transfiriendo el contenido del RI al RDM para obtener la dirección de cada operando (ciclo de

dirección o búsqueda), con lo que serán transferidas al RIM por lo que se consume otro nuevo ciclo de memoria, entre tanto toda la información que está recibiendo el RIM está pasando a través de la UC, la cual la irá enviando a la parte de la UAL correspondiente. Una vez que se realiza la operación se pasa el resultado al acumulador para enviarlo luego al RIM, con lo que una vez que se obtiene la dirección donde se almacenará el resultado, la cual esta contenida en el RI, esta se pasa al RDM, con lo que el contenido del RIM se almacenará en la dirección indicada en el RDM, con esto finaliza el ciclo de ejecución. El ordenador alterna entre ciclos de instrucción y ciclos de ejecución. CICLO DE INSTRUCCIÓN • Código de operación (CO) • Dirección del primer operando (OP1) • Dirección del segundo operando (OP2) • Dirección del resultado (OP3) Ensamblador ENSAMBLADORES Ensamblador se refiere a un tipo de programa, informático que se encarga de traducir un fichero fuente escrito en un lenguaje ensamblador, a un fichero objeto que contiene código máquina ejecutable directamente por la máquina para la que se ha generado, en si la funcion de un ensamblador es traducir un programa en lenguaje de ensamblador al código correspondiente en lenguaje de maquina. Ventajas para utilizarlo: Mayor control de la computadora. Independencia de lenguaje. La mayoría de las computadoras pueden ensamblar. Los programas hechos en lenguaje ensamblador son generalmente más rápidos y consumen menos recursos del sistema. Desventajas para no utilizarlo: Demasiado complejo. Comprensión más profunda de la computadora. Errores más frecuentes en el programa. Mayor tiempo de codificación. Difícilmente portable, es decir, un código escrito para un microprocesador en particular necesita ser modificado muchas veces en su totalidad para poder ser usado en otro microprocesador. Tipos de ensambladores:

Ensambladores cruzados: Se denominan así a los ensambladores que se utilizan en una computadora que posee el procesador diferente al que tendrán las computadoras donde se va a ejecutar el programa objeto producido. Ensambladores residentes: Son aquellas que permanecen en la memoria principal de la computadora y cargar para su ejecución al programa objeto producido.

Micro ensambladores: Al programa que indica al intérprete de instrucciones de la CPU como debe actuar se le denomina microprograma. El programa que ayuda a realizar este microprograma se llama micro ensamblador. Macro ensambladores: Son ensambladores que permiten el uso de macroinstrucciones. Ensambladores de una fase: Leen una línea y la traducen directamente para producir una instrucción de lenguaje maquina o la ejecuta si se trata de una pseudosinstrucción. Se construye la tabla de símbolos a medida que aparecen las definiciones de variables, etiquetas, etc. Ensambladores de dos fases: Realiza la traducción en dos etapas: 1° fase leen el programa fuente y construyen la tabla de símbolos, 2° fase vuelve a leer el programa fuente y pueden ir traduciendo totalmente pues reconocen la totalidad de los símbolos.

LENGUAJE ENSAMBLADOR Lenguaje Ensamblador es la primera abstracción del Lenguaje de Máquina , consistente en asociar a los opcodes palabras clave que faciliten su uso por parte del programador Como se puede ver, el Lenguaje Ensamblador es directamente traducible al Lenguaje de Máquina, y viceversa; simplemente, es una abstracción que facilita su uso para los seres humanos. Por otro lado, la computadora no entiende directamente al Lenguaje Ensamblador; es necesario traducirle a Lenguaje de Máquina. Originalmente, este proceso se hacía a mano, usando para ello hojas donde se escribían tablas de programa similares al ejemplo de la calculadora que vimos arriba . Pero, al ser tan directa la traducción, pronto aparecieron los programas Ensambladores, que son traductores que convierten el código fuente (en Lenguaje Ensamblador) a código objeto (es decir, a Lenguaje de Máquina).

Una característica que hay que resaltar, es que al depender estos lenguajes del hardware, hay un distinto Lenguaje de Máquina (y, por consiguiente, un distinto Lenguaje Ensamblador) para cada CPU. Macro-ensambladores Un macro ensamblador es un ensamblador modular, descendiente de los ensambladores básicos. Fueron muy populares en los años 1950 y años 1960, antes de la generalización de los lenguajes de alto nivel. Hacen todo lo que puede hacer un ensamblador, y además proporcionan una serie de Directivas para definir y ejecutar macro instrucciones (o simplemente, Macros). Cuando ejecutamos a una “macro”, ésta se expande al cuerpo que hayamos definido. MACRO Macro, del griego μακρο significa “grande”. En el ámbito informático es la abreviatura del término “macroinstrucción”. Una macro o macroinstrucción es una serie de instrucciones que se almacenan para que se puedan ejecutar de forma secuencial mediante una sola llamada u orden de ejecución. CARACTERISTICAS Una macroinstrucción es por tanto una instrucción compleja, formada por otras instrucciones más sencillas. Además tiene que estar almacenada, el término no se aplica a una serie de instrucciones escritas en la linea de comandos enlazadas unas con otras por redirección de sus resultados (piping) o para su ejecución consecutiva. Las macros suelen almacenarse en el ámbito del propio programa que las utiliza y se ejecutan pulsando una combinación especial de teclas. La diferencia entre una macroinstrucción y un programa es que en las macroinstrucciones la ejecución es secuencial y no existe otro concepto del flujo de programa que por tanto, no puede bifurcarse. MACROS DE APLICACIONES Las macros son grupos de instrucciones que tienen un seguimiento cronológico usadas para economizar tareas; una macro no es más que un conjunto de instrucciones tales como “borrar archivo”, “añadir registro”, etc., y que se almacenan en una ubicación especial (por ejemplo en Microsoft Access observamos que hay una zona para crear macros, una macro en Access

trabajando para una base de datos podría ser un archivo que al llamarse desde otra instrucción: borrara los registros de un cliente o accionista, luego borrara ciertos registros en otras tablas, extraerá su información de un log, entre otras cosas. MACROZ EN PROGRAMACION Con el fin de evitar al programador la tediosa repetición de partes idénticas de un programa, los ensambladores y compiladores cuentan con macroprocesadores que permiten definir una abreviatura para representar una parte de un programa y utilizar esa abreviatura cuantas veces sea necesario. Para utilizar una macro, primero hay que declararla. En la declaración se establece el nombre que se le dará a la macro y el conjunto de instrucciones que representará. El programador escribirá el nombre de la macro en cada uno de los lugares donde se requiera la aplicación de las instrucciones por ella representadas. La declaración se realiza una sola vez, pero la utilización o invocación a la macro (macrollamada) puede hacerse cuantas veces sea necesario. La utilización de macros posibilita la reducción del tamaño del código fuente, aunque el código objeto tiende a ser mayor que cuando se utilizan funciones. Es tan común el empleo de macroinstrucciones que se les considera como una extensión de los lenguajes. De manera similar se considera al procesador de macroinstrucciones o macroprocesador como una extensión del ensamblador o compilador utilizado. El macroprocesador se encarga, en una primera pasada, de registrar todas las declaraciones de macros y de rastrear el programa fuente para detectar todas las macrollamadas. En cada lugar donde encuentre una macro llamada, el macroprocesador hará la sustitución por las instrucciones correspondientes. A este proceso de sustitución se le denomina expansión de la macro. El macroprocesador elabora dos tablas para el manejo de las macros. Ligadores y cargadores CARGADORES Y LIGADORES Un programa objeto contiene instrucciones traducidas y valores de datos del programa fuente, y especifica direcciones en memoria donde se cargarán estos elementos. Un cargador es un programa del sistema que realiza la función de carga (llevar el programa objeto a la memoria para su ejecución). Algunos sistemas tienen un ligador o editor de ligado (combina dos o más programas objeto independientes y proporciona la información necesaria para realizar referencias entre ellos) para realizar las operaciones de enlace, y un cargador separado para manejar la relocalización (modificar el programa objeto de forma que puede cargarse en una dirección diferente de la localidad especificada originalmente) y la carga. En la

mayoría de los casos todos los traductores de programas (esto es, ensambladores y compiladores) de un sistema en particular producen programas objeto en el mismo formato, de esta forma puede usarse el cargador o ligador del sistema con independencia del lenguaje de programación fuente original. FUNCIONES BÁSICAS DEL CARGADOR Las funciones más importantes del cargador son colocar un programa objeto en la memoria e iniciar su ejecución. Se considera un cargador absoluto que podría ser utilizado como el tipo de ensamblador.Como este cargador no necesita realizar las funciones de ligado y relocalización de programas, su operación es muy simple, pues todas las funciones se realizan en un solo paso. Se revisa el registro de encabezamiento para comprobar si se ha presentado el programa correcto para la carga (y que tendrá cabida en la memoria disponible). A medida que se lee cada registro de texto, el código objeto que contiene pasa a la dirección de memoria indicada. Cuando se encuentra el registro de fin, el cargador salta a la dirección especificada para iniciar la ejecución del programa cargado. El contenido de las localidades de memoria para las cuales no hay registro de texto se representa por xxxx. Esto indica que el contenido previo de esas localidades no se altera. Aunque este proceso es muy simple, hay un aspecto que merece ser comentado. En el programa objeto de ejemplo los bytes de código ensamblado se expresan en representación hexadecimal en forma de caracteres. Por ejemplo, el código de operación de máquina para una instrucción STL se representaría por el par de caracteres 14. Así durante la carga, cada pareja de bytes del registro del programa objeto debe empaquetarse en un byte. Es muy importante tener en cuenta que en la figura 3.1(a), cada carácter impreso representa un byte del registro del programa objeto. Por otra parte en la figura 3.1(b), cada carácter impreso representa un digito hexadecimal de la memoria (esto es, medio byte). Este método de representar un programa objeto es eficiente desde el punto de vista del espacio y el tiempo de ejecución por lo que la mayoría de las máquinas almacenan los programas objeto en forma binaria almacenándose cada byte en el programa objeto. Lógicamente, con este tipo de representación un byte puede contener cualquier valor binario. Hay que estar seguro de que las convenciones de archivo y dispositivos no hacen que algunos bytes del programa objeto sean interpretados como caracteres de control, en la que se indica el final de un registro con un byte que contiene un 00 hexadecimal, es inapropiada para usar con un programa objeto binario. CARACTERÍSTICAS DEL CARGADOR DEPENDIENTES DE LA MAQUINA El cargador absoluto es simple y eficiente; sin embargo, este esquema tiene varias desventajas potenciales. Una de las más obvias es que el programador necesita especificar (al ensamblar el programa) la dirección real en la que se cargará la memoria. Si se trata de un computador muy sencillo con poca memoria, esto no crea muchas dificultades, ya que solo hay espacio para ejecutar un programa a la

vez. En maquinas mas grandes y avanzadas, la situación no es tan fácil porque a menudo se quieren ejecutar a la vez varios programas independientes compartiendo la memoria. En esta sección se consideran el diseño e implantación de un cargador más complejo. Este cargador se encarga de la relocalización y ligado del programa, además de las funciones básicas. La necesidad de relocalizar los programas es una consecuencia directa del cambio a computadores mas grandes y potentes. La forma de efectuar la relocalización en un cargador también depende de las características de la maquina.

Relocalización Los cargadores que permiten la relocalización de programas se denominan cargadores relocalizadores o relativos. El primer método se utiliza un registro de modificación para describir cada parte del código objeto que se ha de cambiar al relocalizar el programa. La mayoría de las instrucciones de este programa manejan direccionamiento relativo o inmediato. Las únicas partes del programa ensamblado que contienen direcciones reales son las instrucciones con formato extendido de las líneas 15, 35 y 65. Cada registro de modificación especifica la dirección inicial y la longitud del campo cuyo valor se va alterar y después describe la modificación a realizar. En este Ejemplo, todas las modificaciones suman el valor del símbolo COPY, que representa la dirección inicial del programa. Algunos computadores proporcionan una posibilidad de relocalización por hardware que elimina en parte la necesidad de que el cargador efectúe la relocalización de programas. Tablas y Lógica de un Cargador Ligador El algoritmo de un cargador ligador es mucho más complicado que el del cargador absoluto. La entrada de este cargador consta de un conjunto de programas objeto que se van a ligar. Una sección de control puede hacer una referencia externa a un símbolo cuya definición aparece mas adelante en este flujo de entrada. En ese caso, la operación de ligado requerida no se puede realizar hasta haber asignado una dirección al símbolo externo implicado. Así pues, un cargador ligador suele dar dos pasos sobre su entrada, al igual que hace un ensamblador. El paso 1

asigna direcciones a todos los símbolos externos, y el paso 2 realiza la carga, la relocalización y el ligado. La principal estructura de datos necesaria para el cargador ligador es una tabla de símbolos externos TABSE. Esta tabla, análoga a TABSIM del algoritmo del ensamblador, se usa par almacenar el nombre y la dirección de los símbolos externos en el conjunto de secciones de control que se está cargando. Otras dos variables importantes son DIRPROG (dirección de carga del programa) y DIRSC (dirección de la sección de control). DIRPROG es la dirección inicial de la memoria donde se va a cargar el programa ligado, DIRSC contiene la dirección inicial asignada a la sección de control que está examinando el cargador. CARACTERISTICAS DEL CARGADOR INDEPENDIENTES DE LA MAQUINA Con frecuencia se piensa que el cargado y el ligado son funciones de servicio del sistema operativo. La conexión del programador con estos servicios no es tan directa como la que tiene con, por ejemplo, el ensamblador durante el desarrollo del programa. Por tanto, la mayoría de los cargadores tienen menos características diferentes que las que se pueden encontrar en un ensamblador típico. Búsqueda Automática en Biblioteca En la mayoría de los casos se emplea una biblioteca estándar del sistema, pero se pueden especificar para el cargador otras bibliotecas, mediante proposiciones de control o parámetros. En algunos sistemas, esta característica se denomina llamada automática a biblioteca o búsqueda en biblioteca. Opciones del Cargador Muchos cargadores tienen un lenguaje especial de mandatos que se utiliza para especificar opciones. En algunos sistemas, las opciones se especifican como parte de un lenguaje de control de trabajos que procesa el sistema operativo. Cuando se usa este enfoque el sistema operativo incorpora las opciones especificadas a un bloque de control que se pone a disposición del cargador cuando se le invoca. Lógicamente, la realización de tales opciones es la misma, con independencia del medio empleado para seleccionarla. Los cargadores a menudo incluyen otras opciones; una es la posibilidad de especificar la localidad donde se inicia la ejecución y otra es la posibilidad de controlar si el cargador debe intentar o no la ejecución del programa si se detectan errores durante la carga. Programas de Superposiciones Este método de implantación reduce la cantidad total de memoria requerida para el ensamblado. Las letras representan nombres de secciones de control y las líneas, transferencias de control entre estas secciones. La estructura de un

programa de superposiciones se define al cargador utilizando mandatos. Los segmentos 1, 2 y 4 están cargados y se están ejecutando las instrucciones de la sección de control A. Los segmentos 2 y 4 se cargaron en respuesta a transferencias de control previas. Las áreas de transferencia de control de los segmentos 2 y 4 contienen a las secciones de control B y H; las otras áreas contienen instrucciones que invocan a MANSUP. Por otra parte, supóngase que A ejecuta una llamada a B. El área de transferencia del segmento 6 contiene instrucciones que invocan a MANSUP). El segmento 4 debe eliminarse debido a que su segmento padre ha sido eliminado. Entonces el control se pasa al punto de entrada del segmento 6, completando la transferencia de control a D. OPCIONES DE DISEÑO DEL CARGADOR En esta sección se analiza algunas alternativas comunes de organización de las funciones de carga, incluidas la relocación y ligado. Los cargadores ligadores realizan el ligado y la relocación en el momento de la carga. Se analizan dos opciones: los editores de ligado, que realizan el ligado antes del momento de la carga, y el ligado dinámico, en el cuál la función de ligado se realiza en el momento de la ejecución.

Editores de Ligado La diferencia fundamental entre un editor de ligado y un cargador ligador primero se ensambla o compila el programa fuente, produciendo un programa objeto (que puede contener varias secciones de control diferentes). Un cargador ligador realiza todas las operaciones de ligado y relocalización, incluyendo búsqueda automática en bibliotecas, si se especifica, y carga el programa de ligado directamente en la memoria para su ejecución. Por otro lado, un editor de ligado produce una versión ligada del programa (llamada a menudo módulo de carga o imagen ejecutable), que se escribe en un archivo o biblioteca para su ejecución posterior. Cuando el usuario está listo para ejecutar el programa ligado, se puede utilizar un cargador relocalizador simple para cargar el programa en la memoria. La única modificación necesaria al código objeto es la suma de una dirección de carga real a los valores relativos del programa. El editor de ligado realiza la relocación de todas las secciones de control relativas al inicio del programa de ligado. Ligado Dinámico

En esta sección se analiza un esquema que pospone la función de ligado hasta el momento de la ejecución: una subrutina se carga y liga al resto del programa al llamarla por primera vez. Este tipo de función se suele denominar ligado dinámico, cargado dinámico o carga por llamada. El ligado dinámico proporciona la posibilidad de cargar las rutinas sólo cuando y si se necesitan, también evita la necesidad de cargar la biblioteca completa para cada ejecución. Para realizar la carga y ligado de una subrutina llamada se pueden utilizar varios mecanismos distintos. En lugar de ejecutar una instrucción JSUB que hace referencia a un símbolo externo, el programa hace una solicitud de servicio de carga y llamada al sistema operativo. El parámetro de esta solicitud es el nombre simbólico de la rutina llamada. El sistema operativo examina sus tablas internas para determinar si la rutina ya se ha cargado o no; en caso necesario, la rutina se carga desde la biblioteca de un usuario o desde el sistema especificado.Entonces el control pasa del sistema operativo a la rutina llamada .Cuando se completa el procesamiento de la subrutina llamada, vuelve a quien la llamó. Entones, el sistema operativo devuelve el control al programa que hizo la solicitud; Cargadores de Arranque Si el proceso de carga requiere más instrucciones de las que pueden leerse en un solo registro, el primer registro causa la lectura de otros y estos, a su vez, pueden originar la lectura aún de más registros; de ahí el término arranque (bootstrap). El primer registro suele denominarse cargador de arranque, y se coloca al inicio de todos los programas objeto que se van a cargar en un sistema vacío e inactivo. Esto incluye, por ejemplo, al propio sistema operativo y a todos los programas independientes que se ejecutan sin sistema operativo.

EJEMPLOS DE CARGADORES Y LIGADORES REALES

Editor de Ligado del Sistema/370 El formato de los programas objeto manejado por el editor de ligado del Sistema/370 es muy parecido al analizado para SIC/XE. El programa de salida del editor de ligado se llama módulo de carga, y puede cargarse en la memoria para su ejecución, y suele contener suficiente información para permitir que el editor de ligado los reprocese. El usuario tiene la posibilidad de especificar que un módulo de carga sea “no editable”, en cuyo caso puede omitirse gran parte de la información de control, para producir un módulo de carga más pequeño.

El editor de ligado 370 puede manejar programas de superposiciones, con diversas características extendidas. En cada segmento puede haber varios puntos de entrada. Para manejar esta característica, el editor de ligado crea automáticamente tablas de entradas en todos los segmentos que contienen una llamada que puede causar superposiciones. El proceso de superposiciones tiene lugar automáticamente al llamar a un segmento. La mayoría de los sistemas 370 disponen de un cargador ligador, así como de un editor de ligado. El cargador ofrece menos opciones y posibilidades que las que presenta el editor de ligado. Si no se necesitan las funciones especializadas del editor de ligado, por razones de eficiencia se recomienda utilizar el cargador. Ligador del Sistema VAX El ligador de VAX es un editor de ligado. La acción del ligador en la creación de las secciones de imagen está controlada por el ensamblador o compilador por medio de una secuencia de mandatos que forman parte del programa objeto. El ligador usa una pila interna como almacenamiento de trabajo. Los mandatos del programa objeto pueden especificar el apilamiento de valores a partir de diversas fuentes, guardar valores de la pila en la imagen que se esta creando y realizar operaciones con valores de la pila. El lenguaje de mandatos ofrece una gran diversidad de posibilidades: hay mas de 50 códigos de mandatos posibles. El ligador de VAX puede generar tres tipos de imágenes. Una imagen ejecutable es aquella adecuada para la carga y ejecución; una imagen compartible no es ejecutable, pero el ligador puede reprocesarla. El tercer tipo de imagen que puede crear el ligador es una imagen de sistema, concebida para ser ejecutada directamente en la maquina VAX, sin los servicios del sistema operativo. El ligador de VAX realiza las funciones usuales de ligado y relocalización. Además, hace parte del trabajo que en otros sistemas realizan el ensamblador o el compilador. El ligador de VAX no utiliza programas de superposiciones, debido en parte a la gran memoria virtual de que disponible VAX. Cargador de CYBER El formato del programa objeto utilizado por el cargador de CYBER es un poco más complejo que el descrito para SIC/XE; sin embargo, dispone de la misma información básica.

La técnica de máscara de bits es especialmente útil en CYBER, por no disponer de direccionamiento relativo. Una palabra de CYBER puede contener más de una instrucción, por lo que no es posible usar un solo bit de relocalización por palabra. El cargador de CYBER puede utilizar programas de superposiciones de un tipo más restringido que el descrito. Una estructura de superposiciones está limitada a un máximo de tres niveles. Cada segmento está identificado por un par ordenado de enteros, y un segmento solamente puede tener un punto de entrada. ARQUITECTURAS DE COMPUTADORAS La arquitectura de computadoras es el diseño conceptual y la estructura operacional fundamental de un sistema de computadora. Es decir, es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para varias partes de una computadora, con especial interés en la forma en que la unidad central de proceso (UCP) trabaja internamente y accede a las direcciones de memoria. También suele definirse como la forma de seleccionar e interconectar componentes de hardware para crear computadoras según los requerimientos de funcionalidad, rendimiento y costo. El ordenador recibe y envía la información a través de los periféricos por medio de los canales. La UCP es la encargada de procesar la información que le llega al ordenador. El intercambio de información se tiene que hacer con los periféricos y la UCP. Todas aquellas unidades de un sistema exceptuando la UCP se denomina periférico, por lo que el ordenador tiene dos partes bien diferenciadas, que son: la UCP (encargada de ejecutar programas y que está compuesta por la memoria principal, la UAL y la UC) y los periféricos (que pueden ser de entrada, salida, entrada-salida y comunicaciones).

La implantación de instrucciones es similar al uso de una serie de desmontaje en una fábrica de manufacturación. En las cadenas de montaje, el producto pasa a través de muchas etapas de producción antes de tener el producto desarmado. Cada etapa o segmento de la cadena está especializada en un área específica de la línea de producción y lleva a cabo siempre la misma actividad. Esta tecnología es aplicada en el diseño de procesadores eficientes. A estos procesadores se les conoce como pipeline processors. Estos están compuestos por una lista de segmentos lineales y secuenciales en donde cada segmento lleva a cabo una tarea o un grupo de tareas computacionales. Los datos que provienen del exterior se introducen en el sistema para ser procesados. La computadora realiza operaciones con los datos que tiene almacenados en memoria, produce nuevos datos o información para uso externo.

Las arquitecturas y los conjuntos de instrucciones se pueden clasificar considerando los siguientes aspectos:
 

 

Almacenamiento de operativos en la CPU: dónde se ubican los operadores aparte de la substractora informativa (SI) Número de operandos explícitos por instrucción: cuántos operandos se expresan en forma explícita en una instrucción típica. Normalmente son 0, 1, 2 y 3. Posición del operando: ¿Puede cualquier operando estar en memoria?, o deben estar algunos o todos en los registros internos de la CPU. Cómo se especifica la dirección de memoria (modos de direccionamiento disponibles). Operaciones: Qué operaciones están disponibles en el conjunto de instrucciones. Tipo y tamaño de operandos y cómo se especifican.

Almacenamiento de operandos en la CPU La diferencia básica está en el almacenamiento interno de la CPU. Las principales alternativas son:
  

Acumulador. Conjunto de registros. Memoria

Características: En una arquitectura de acumulador un operando está implícitamente en el acumulador siempre leyendo e ingresando datos. (Ej.: calculadora Standard -estándar-) En la arquitectura de pila no es necesario nombrar a los operandos ya que estos se encuentran en el tope de la pila. (Ej.: calculadora de pila HP) La Arquitectura de registros tiene sólo operandos explícitos (es aquel que se nombra) en registros o memoria. Ventajas de las arquitecturas
  

Pila: Modelo sencillo para evaluación de expresiones Instrucciones cortas pueden dar una buena densidad de código. Acumulador: Instrucciones cortas. Minimiza estados internos de la máquina (unidad de control sencilla). Registro: Modelo más general para el código de instrucciones parecidas. Automatiza generación de código y la reutilización de operandos. Reduce el tráfico a memoria. Una computadora actualmente tiene como estándar 32 registros. El acceso a los datos es más rápido.

Desventajas de las arquitecturas

 

Pila: A una pila no se puede acceder aleatoriamente. Esta limitación hace difícil generar código eficiente. También dificulta una implementación eficiente, ya que la pila llega a ser un cuello de botella es decir que existe dificultad para la transferencia de datos en su velocidad mk. Acumulador: Como el acumulador es solamente almacenamiento temporal, el tráfico de memoria es el más alto en esta aproximación. Registro: Todos los operadores deben ser nombrados, conduciendo a instrucciones más largas.

HARDWARE, FIRMWARE Y SOFTWARE

Hardware Los componentes y dispositivos del Hardware se dividen en Hardware Básico y Hardware Complementario

El Hardware Básico: son las piezas fundamentales e imprescindibles para que la computadora funcione como son: Placa base, monitor, teclado y ratón. El Hardware Complementario: son todos aquellos dispositivos adicionales no esenciales como pueden ser: impresora, escáner, cámara de vídeo digital, webcam, etc.

Placa Base o Placa Madre Los componentes Hardware más importantes de la computadora y esenciales para su funcionamiento se encuentran en la Placa Base (también conocida como Placa Madre), que es una placa de circuito impreso que aloja a la Unidad Central de Procesamiento (CPU) o microprocesador, Chipset (circuito integrado auxiliar), Memoria RAM, BIOS o Flash-ROM, etc., además de comunicarlos entre sí. Grupos de Hardware Según sus funciones, los componentes y dispositivos del hardware se dividen en varios grupos y en el siguiente orden: Dispositivos de Entrada Los Dispositivos de Entrada son aquellos a través de los cuales se envían datos externos a la unidad central de procesamiento, como el teclado, ratón, escáner, o micrófono, entre otros.

Chipset (Circuito Integrado Auxiliar) El Chipset o Circuito Integrado Auxiliar es la médula espinal de la computadora, integrado en la placa base, hace posible que esta funcione como eje del sistema permitiendo el tráfico de información entre el microprocesador (CPU) y el resto de componentes de la placa base, interconectándolos a través de diversos buses que son: el Northbridge (Puente Norte) y el Southbridge (Puente Sur). El Northbridge o Puente Norte es un circuito integrado que hace de puente de enlace entre el microprocesador y la memoria además de las tarjetas gráficas o de vídeo AGP o PCI-Express, así como las comunicaciones con el Puente Sur. El Southbridge o Puente Sur (también conocido como Concentrador de Controladores de Entrada/Salida), es un circuito integrado que coordina dentro de la placa base los dispositivos de entrada y salida además de algunas otras funcionalidades de baja velocidad. El Puente Sur se comunica con la CPU a través del Puente Norte. Unidad Central de Procesamiento (CPU) La CPU (Central Processing Unit o Unidad Central de Procesamiento) puede estar compuesta por uno o varios microprocesadores de circuitos integrados que se encargan de interpretar y ejecutar instrucciones, y de administrar, coordinar y procesar datos, es en definitiva el cerebro del sistema de la computadora. además, la velocidad de la computadora depende de la velocidad de la CPU o microprocesador que se mide en Mhz (unidad de medida de la velocidad de procesamiento). Se divide en varios registros: Unidad de Control La Unidad de Control es la encargada de controlar que las instrucciones se ejecuten, buscándolas en la memoria principal, decodificándolas (interpretándolas) y que después serán ejecutadas en la unidad de proceso. Unidad Aritmético-Lógica La Unidad Aritmético-Lógica es la unidad de proceso donde se lleva a cabo la ejecución de las instrucciones con operaciones aritméticas y lógicas. Unidad de Almacenamiento La Unidad de Almacenamiento o Memoria guarda todos los datos que son procesados en la computadora y se divide en Memoria Principal y Memoria Secundaria o Auxiliar.

Memoria Principal o Primaria (RAM – ROM) En la Memoria Principal o Primaria de la computadora se encuentran las memorias RAM, ROM y CACHÉ. La Memoria RAM (Random Access Memory o Memoria de Acceso Aleatorio) es un circuito integrado o chip que almacena los programas, datos y resultados ejecutados por la computadora y de forma temporal, pues su contenido se pierde cuando esta se apaga. Se llama de acceso aleatorio - o de acceso directo - porque se puede acceder a cualquier posición de memoria sin necesidad de seguir un orden. La Memoria RAM puede ser leída y escrita por lo que su contenido puede ser modificado. La Memoria ROM (Read Only Memory o Memoria de sólo lectura) viene grabada en chips con una serie de programas por el fabricante de hardware y es sólo de lectura, por lo que no puede ser modificada - al menos no muy rápida o fácilmente - y tampoco se altera por cortes de corriente. En esta memoria se almacenan los valores correspondientes a las rutinas de arranque o inicio del sistema y a su configuración. La Memoria Caché o RAM Caché es una memoria auxiliar de alta velocidad, que no es más que una copia de acceso rápido de la memoria principal almacenada en los módulos de RAM. Memoria Secundaria (Disco Duro, Disco Flexibles, etc.) La Memoria Secundaria (también llamada Periférico de Almacenamiento) está compuesta por todos aquellos dispositivos capaces de almacenar datos en dispositivos que pueden ser internos como el disco duro, o extraíble como los discos flexibles (disquetes), CDs, DVDs, etc. Dispositivos de Salida Los Dispositivos de Salida son aquellos que reciben los datos procesados por la computadora y permiten exteriorizarlos a través de periféricos como el monitor, impresora, escáner, plotter, altavoces,etc. Dispositivos de Entrada/Salida (Periféricos mixtos): Hay dispositivos que son tanto de entrada como de salida como los mencionados periféricos de almacenamiento, CDs, DVDs, así como módems, faxes, USBs, o tarjetas de red. Software El Software es el soporte lógico e inmaterial que permite que la computadora pueda desempeñar tareas inteligentes, dirigiendo a los componentes físicos o hardware con instrucciones y datos a través de diferentes tipos de programas.

El Software son los programas de aplicación y los sistemas operativos, que según las funciones que realizan pueden ser clasificados en: Software de Sistema Se llama Software de Sistema o Software de Base al conjunto de programas que sirven para interactuar con el sistema, confiriendo control sobre el hardware, además de dar soporte a otros programas. El Software de Sistema se divide en: Sistema operativo El Sistema Operativo es un conjunto de programas que administran los recursos de la computadora y controlan su funcionamiento. Un Sistema Operativo realiza cinco funciones básicas: Suministro de Interfaz al Usuario, Administración de Recursos, Administración de Archivos, Administración de Tareas y Servicio de Soporte. 1. Suministro de interfaz al usuario: Permite al usuario comunicarse con la computadora por medio de interfaces que se basan en comandos, interfaces que utilizan menús, e interfaces gráficas de usuario. 2. Administración de recursos: Administran los recursos del hardware como la CPU, memoria, dispositivos de almacenamiento secundario y periféricos de entrada y de salida. 3. Administración de archivos: Controla la creación, borrado, copiado y acceso de archivos de datos y de programas. 4. Administración de tareas: Administra la información sobre los programas y procesos que se están ejecutando en la computadora. Puede cambiar la prioridad entre procesos, concluirlos y comprobar el uso de estos en la CPU, así como terminar programas. 5. Servicio de soporte: Los Servicios de Soporte de cada sistema operativo dependen de las implementaciones añadidas a este, y pueden consistir en inclusión de utilidades nuevas, actualización de versiones, mejoras de seguridad, controladores de nuevos periféricos, o corrección de errores de software. Controladores de Dispositivos Los Controladores de Dispositivos son programas que permiten a otros programa de mayor nivel como un sistema operativo interactuar con un dispositivo de hardware.

Programas Utilitarios Los Programas Utilitarios realizan diversas funciones para resolver problemas específicos, además de realizar tareas en general y de mantenimiento. Algunos se incluyen en el sistema operativo. Software de Aplicación El Software de Aplicación son los programas diseñados para o por los usuarios para facilitar la realización de tareas específicas en la computadora, como pueden ser las aplicaciones ofimáticas (procesador de texto, hoja de cálculo, programa de presentación, sistema de gestión de base de datos...), u otros tipos de software especializados como software médico, software educativo, editores de música, programas de contabilidad, etc. Software de Programación El Software de Programación es el conjunto de herramientas que permiten al desarrollador informático escribir programas usando diferentes alternativas y lenguajes de programación. Este tipo de software incluye principalmente compiladores, intérpretes, ensambladores, enlazadores, depuradores, editores de texto y un entorno de desarrollo integrado que contiene las herramientas anteriores, y normalmente cuenta una avanzada interfaz gráfica de usuario (GUI).

El firmware es un bloque de instrucciones de maquina para propósitos específicos, grabado en una memoria de tipo de solo lectura (ROM, EEPROM, flash, etc), que establece la lógica de más bajo nivel que controla los circuitos electrónicos de un dispositivo de cualquier tipo. Está fuertemente integrado con la electrónica del dispositivo siendo el software que tiene directa interacción con el hardware: es el encargado de controlarlo para ejecutar correctamente las instrucciones externas. El programa BIOS de una computadora es un firmware cuyo propósito es activar una máquina desde su encendido y preparar el entorno para la cargar un Sistema Operativo en la memoria RAM.

MICROPROGRAMACION La microprogramación consiste en un conjunto de microinstrucciones, para poder ejecutar líneas de código y operaciones. La microprogramación es un lenguaje de programación a un nivel muy bajo sin llegar al nivel mas bajo (que es donde las operaciones se realizan con números binarios) Para poder realizar la microprogramación, se deben conocer muy bien los registros del procesador en el que se va a trabajar, ya que en este lenguaje se interactúa muy de cerca con ellos. También es importante conocer las instrucciones del mismo para poder usar algunas de ellas que simplifiquen las instrucciones, todo esto con las microinstrucciones que se usen por default para la programación Un ejemplo de microprogramación seria la siguiente línea MOV AX,0000000100000000b PUSH AX POPF Esta instrucción pretende modificar un registro de bandera (If) con un valor de 1, estas microinstrucciones juntas en un lenguaje de alto nivel podrían significar algo como "If b = a", como se ve codificar en microprogramación es un poco mas laborioso, la ventaja de este lenguaje como en la mayoría de los lenguajes de bajo nivel, es la precisión de los datos, ya que en todo momento se sabe donde están los datos, y en que posición se encuentran los registros. Como otro ejemplo se mostrara una rutina de microinstrucciones que representa una búsqueda AR ß PC DR ß M[AR] PC ßPC+1 AR ß DR(0-10) CAR(2-5) ß DR(11-14) CAR(0,1,6) ß 0

SIMULACION Y EMULACION El simulador de la unidad central de procesamiento (CPU) es a menudo la parte más compleja de un emulador. Muchos emuladores son escritos utilizando simuladores de CPU "preempaquetados", para así poder realizar una emulación fiel y eficiente de una máquina específica. El simulador de CPU más simple sería un intérprete informático, que sigue el flujo de ejecución del código de programación emulado y, por cada instrucción de código de la máquina emulada, ejecuta en el procesador en que se carga, instrucciones semánticamente equivalentes a las originales. Esto es posible asignando una variable a cada registro y flag de la CPU emulada. La lógica de la CPU simulada puede ser más o menos traducida directamente a algoritmos de software, creando una reimplementación del software que básicamente refleja la implementación original del hardware. El ejemplo siguiente ilustra el modo en que la simulación de CPU por un intérprete. En este caso, las interrupciones se revisan después de la ejecución de cada instrucción, aunque este comportamiento no es usual en los emuladores en la realidad, por razones de rendimiento. void Execute(void) { if(Interrupt!=INT_NONE) { SuperUser=TRUE; WriteMemory(++StackPointer, ProgramCounter); ProgramCounter=InterruptPointer; } switch(ReadMemory(ProgramCounter++)) { // Handling of every valid instruction default: Interrupt=INT_ILLEGAL; } } Los intérpretes son muy populares en el caso de los simuladores de CPU, ya que son más sencillos de implementar que otras soluciones alternativas de mejor rendimiento, y su velocidad es más que adecuada para emular computadares de hace más de una década en máquinas modernas. Aun así, la penalización de velocidad inherente en la interpretación puede ser un problema al emular computadores cuya velocidad de procesador está en el mismo orden de magnitud que la máquina huésped. Hasta no hace tantos años, la emulación en tales situaciones era considerada impracticable. Lo que permite el rompimiento de esta restricción son las técnicas avanzadas de recompilación dinámica. Una translación simple a priori del código del programa

emulado al código que corre en la arquitectura original es usualmente imposible por varias razones:
 

el código puede ser auto modificable no existe una forma que distinga de forma confiable los segmentos de información (que no deben ser traducidos) de los segmentos de texto (segmentos de código) no existe forma de comunicarse con el sistema operativo emulado para que el emulador reconozca los nuevos códigos cargados (por ejemplo del disco)

Varias formas de recompilación dinámica, incluyendo la popular técnica de compilación en tiempo de ejecución (compilación JIT), trata de bordear estos temas esperando hasta que el proceso de control de flujo se mueva hasta donde esta la parte donde está localizado el código sin traducir, y es solo entonces {"en tiempo de ejecución") cuando los bloques traducidos del código al código anfitrión pueden ser ejecutados. El código traducido se mantiene en el código caché, y el código original no se pierde ni es afectado; de esta forma, incluso los segmentos de data pueden ser trasladados por el recompilador, resultando solo en un gasto de tiempo de traslado. EMULACION La mayoría de los emuladores, como dicho anteriormente, no emulan el sistema principal bus; cada dispositivo de entrada y salida es tratado a menudo como un caso especial, y no existe una interfaz constante para los periféricos virtuales. Esto puede resultar en una ventaja en el funcionamiento, proveyendo que cada módulo de entrada y salida pueda ser adaptado a las características del dispositivo emulado; diseños basados en un estándar, entradas y salidas unificadas por medio de API pueden sin embargo proveer modelos más simples, y además tienen la ventaja adicional de permitir de forma "automática" la utilización de servicios plugins para proveer dispositivos virtuales de terceros en el emulador. Las entradas y salidas unificadas por medio de API no necesariamente reflejan la estructura del bus del hardware real: el diseño del bus está limitado por varios parámetros eléctricos y la necesidad del manejo de programación paralela que la mayoría de las veces puede ser ignorada en la implementación del software. Aún los emuladores que tratan cada dispositivo como un caso especial poseen una infraestructura básica en común para ello:

manejando interruptores, por medio de procedimientos que fijen banderas legibles por el simulador del CPU siempre que un interruptor sea levantado, permitiendo al CPU virtual "convertir los interruptores (virtuales)".

escribiendo y leyendo de la memoria física, por medio de dos procedimientos similares mientras este lidia con la memoria lógica (contrario a este último, el anterior puede comúnmente ser echado a un lado, y en su lugar se emplean las referencias directas al arreglo de memoria)

La Memoria RAM no poden ser iguals que intel ode amd Sistema de ROM

Los emuladores arrancan imágenes ROM, o sea el contenido de los cartuchos, disquetes o cintas que se usaban con los sistemas antiguos. Físicamente en las PC las ROM son archivos binarios que se pueden cargar en la memoria. Es decir, el emulador es un programa que hace las funciones de una consola, por ejemplo la Game Boy Advance o una PDA, y la ROM es un archivo que hace de cartucho, CD-ROM, o cinta, por ejemplo Mario Bros.. MICROPROCESADORES El microprocesador (o simplemente procesador) es el circuito integrado central y más complejo de un sistema informático; a modo de ilustración, se le suele asociar por analogía como el «cerebro» de un computador. Es un circuito integrado constituido por millones de componentes electrónicos. Constituye la unidad central de procesamiento (CPU) de un PC catalogado como microcomputador. Es el encargado de ejecutar los programas; desde el sistema operativo hasta las aplicaciones de usuario; sólo ejecuta instrucciones programadas en lenguaje de bajo nivel, realizando operaciones aritméticas y lógicas simples, tales como sumar, restar, multiplicar, dividir, las lógicas binarias y accesos a memoria. Esta unidad central de procesamiento está constituida, esencialmente, por registros, una unidad de control, una unidad aritmético lógica (ALU) y una unidad de cálculo en coma flotante(conocida antiguamente como «co-procesador matemático»). El microprocesador está conectado, generalmente, mediante un zócalo específico a la placa base de la computadora. Normalmente, para su correcto y estable funcionamiento, se le adosa un sistema de refrigeración, que consta de un disipador de calor fabricado en algún material de alta conductividad térmica, como cobre o aluminio, y de uno o más ventiladores que fuerzan la expulsión del calor absorbido por el disipador; entre éste último y la cápsula del microprocesador suele colocarse pasta térmica para mejorar la conductividad térmica. Existen otros métodos más eficaces, como la refrigeración líquida o el uso de células peltier

para refrigeración extrema, aunque estas técnicas se utilizan casi exclusivamente para aplicaciones especiales, tales como en las prácticas de overclocking. La medición del rendimiento de un microprocesador es una tarea compleja, dado que existen diferentes tipos de "cargas" que pueden ser procesadas con diferente efectividad por procesadores de la misma gama. Una métrica del rendimiento es la frecuencia de reloj que permite comparar procesadores con núcleos de la misma familia, siendo este un indicador muy limitado dada la gran variedad de diseños con los cuales se comercializan los procesadores de una misma marca y referencia. Un sistema informático de alto rendimiento puede estar equipado con varios microprocesadores trabajando en paralelo, y un microprocesador puede, a su vez, estar constituido por varios núcleos físicos o lógicos. Un núcleo físico se refiere a una porción interna del microprocesador cuasi-independiente que realiza todas las actividades de una CPU solitaria, un núcleo lógico es la simulación de un núcleo físico a fin de repartir de manera más eficiente el procesamiento. Existe una tendencia de integrar el mayor número de elementos dentro del propio procesador, aumentando así su eficiencia energética y la miniaturización. Entre los elementos integrados están las unidades de punto flotante, controladores de la memoria RAM, controladores de buses y procesadores dedicados de video.

PROTOCOLOS DE TRANSMICION Sistemas de polling: Estos sistemas controlan las comunicaciones en una red dirigida por un ordenador central, y se organizan de manera que es éste el que les pregunta secuencialmente a todos los ordenadores de la red si tienen algo que comunicar, y les insta a que lo hagan en caso afirmativo, ningún otro componentes de la red toma, en ningún momento, la iniciativa de la comunicación. ADMINISTRACION DEL PROCESADOR En la administración del procesador de paquetes la transmisión se apoya en la propia información contenida en los datos que transitan por las redes de comunicaciones, mientras que en los protocolos anteriores, la responsabilidad del buen funcionamiento de las comunicaciones recae sobre los equipos y las líneas de datos. Para ello los datos se "trocean" y organizan en paquetes, como cartas de correo ordinario, con sus datos de origen y destino y van de equipo en equipo como las cartas van de estafeta en estafeta, de tren correo a camión de reparto y de otra estafeta al bolso del cartero quien finalmente la hace llegar a su destinatario. ADMINISTRACION DE MEMORIA Cuando un ordenador quiere mandar a otro un fichero de datos, lo primero que hace es partirlo en trozos pequeños (alrededor de unos 4 Kb) y posteriormente enviar cada trozo por separado. Cada paquete de información contiene la dirección en la Red donde ha de llegar, y también la dirección de remite, por si hay que recibir respuesta. Los paquetes viajan por la Red de forma independiente. Como entre dos puntos de la Red suele haber muchos caminos posibles, cada paquete escoge el que en ese momento es óptimo, dependiendo de factores como saturación de las rutas o atascos. Así, puede pasar que parte de un fichero que se envía desde EE.UU. hasta España pase por cable submarino hasta el Norte de Europa y de allí hasta España, y otra parte venga por satélite directamente. Esto permite que Internet sea una red estable, ya que, por su propia dimensión y complejidad, existen cientos de vías alternativas para un destino concreto, por lo que, aunque fallen ordenadores intermediarios o no funcionen correctamente algunos canales de información, prácticamente, siempre existe comunicación entre dos puntos de la Red.

Otra consecuencia de la estructura y forma de actuar de TCP/IP es que admite la eventualidad de que algún paquete de información se pierda por el camino por algún suceso indeseado como que un ordenador intermediario se apague o se sature cuando está pasando por él un trozo de un determinado fichero en transmisión. Si esto ocurre, siempre queda abierta la posibilidad de volver a solicitar el paquete perdido, y completar la información sin necesidad de volver a transferir todo el conjunto de datos. En algunos servicios de Internet, como el FTP, automáticamente se vuelve a pedir el envío del paquete perdido, para que el fichero solicitado llegue a su destino íntegramente. Sin embargo, en otros servicios como es la Navegación por la World Wide Web, la pérdida de uno de estos paquetes implica que en la pantalla del receptor no aparezca una imagen o un texto en el lugar donde debería estar, pero siempre existe la posibilidad de volver a solicitar dicha información. ADMINISTRACION DE DISPOSITIVOS Si bien los protocolos pueden variar mucho en propósito y sofisticación, la mayoría especifica una o más de las siguientes propiedades: Detección de la conexión física subyacente (con cable o inalámbrica), o la existencia de otro punto final o nodo.

El segundo grupo de protocolos se refiere a aquellos que realizan las funciones de los niveles de red y transporte, niveles 3 y 4 de OSI, es decir los que se encargan básicamente del encaminamiento de la información y garantizar una comunicación extremo a extremo libre de errores. Estos protocolos transmiten la información a través de la red en pequeños segmentos llamados paquetes. Si un ordenador quiere transmitir un fichero grande a otro, el fichero es dividido en paquetes en el origen y vueltos a ensamblar en el ordenador destino. Cada protocolo define su propio formato de los paquetes en el que se especifica el origen, destino, longitud y tipo del paquete, así como la información redundante para el control de errores. Los protocolos de los niveles 1 y 2 dependen del tipo de red, mientras que para los niveles 3 y 4 hay diferentes alternativas, siendo TCP/IP la configuración mas extendida. Lo que la convierte en un estándar de facto. Por su parte, los protocolos OSI representan una solución técnica muy potente y flexible, pero que actualmente esta escasamente implantada en entornos de red de área local. La jerarquía de protocolo OSI.

ADMINISTRACION DE INFORMACION El control de error se refiere a una combinación de detección de error (y corrección) y reconocimiento. El control de secuencia se refiere a la habilidad de cada entidad para reconstruir una serie de mensajes recibidos en el orden apropiado. El control de flujo se refiere a la habilidad para que ambas partes en un dialogo eviten el flujo de mensajes entre sí. Los protocolos orientados a conexión operan en tres fases. La primera fase es la fase de configuración de la conexión, durante la cual las entidades correspondientes establecen la conexión y negocian los parámetros que definen la conexión. La segunda fase es la fase de transferencia de datos, durante la cual las entidades correspondientes intercambian mensajes (información útil) bajo el amparo de la conexión. Finalmente, la última fase, fase de liberación de la conexión, en la cual ambas entidades se ponen de acuerdo para terminar la conexión. Un ejemplo de la vida diaria de un protocolo orientado a conexión es una llamada telefónica. La parte originadora (el que llama) deberá primero "marcar “el número del teléfono usuario (abonado) destino. La infraestructura telefónica deberá asignar el circuito extremo-extremo, entonces hace timbrar el teléfono del usuario destino. Al momento que éste levanta el teléfono se establece la llamada o conexión y ambos empiezan a conversar. En algún momento, alguno de los dos cuelga, y la conexión de termina y se libera el circuito. Entonces se termina la llamada.

CONFIGURACION DE UNA PC CONCEPTO DE PLUG AND PLAY Plug-and-play tampoco indica que no sea necesario instalar controladores adicionales para el correcto funcionamiento del dispositivo. Plug and Play no debería entenderse como sinónimo de "no necesita controladores.

ug-and-play o PnP (en español "enchufar y usar") es la tecnología que permite a un dispositivo informático ser conectado a una computadora sin tener que configurar, mediante software específico (no controladores) proporcionado por el fabricante, ni proporcionar parámetros a sus controladores. Para que sea posible, el sistema operativo con el que funciona el ordenador debe tener soporte para dicho dispositivo.

MULTIMEDIA (SONIDO Y VIDO) IBM intentando solucionar este problema y para intentar reconquistar el terreno perdido en el mercado de ordenadores personales diseñó su propio bus que no requería ningún tipo de configuración, el bus MCA. Aunque pese a ser tecnológicamente más avanzado que ISA, perdió fuerza comercial por, la mayoría dominante de ISA (y su precio más asequible). Distintos fabricantes de la industria decidieron formar un consorcio con el objetivo de promover un estándar de industria que simplificara el uso de periféricos: la tecnología Plug & Play. Esto requería innovaciones tanto en el hardware como en el sistema operativo. Ambos debían estar diseñados para esta tecnología. Se incorporó en las últimas revisiones de ISA, aunque no fue hasta la llegada del bus PCI cuando el estándar comenzó a funcionar correctamente.

El primer sistema operativo de Microsoft en incorporar plug-and-play fue Windows 95. No obstante, la realidad de este sistema operativo respecto a las prometidas bondades, sumado a los fracasos de Plug and Play en el bus ISA, le hizo valerse el apelativo de plug-and-pray ("enchufar y rezar") entre los usuarios. TARJETAS DE RED Una tarjeta de red o adaptador de red es un periférico que permite la comunicación con aparatos conectados entre si y también permite compartir recursos entre dos o más computadoras (discos duros, CD-ROM, impresoras, etc.). A las tarjetas de red también se les llama NIC (tarjeta de interfaz de red"). Hay diversos tipos de adaptadores en función del tipo de cableado o arquitectura que se utilice en la red (coaxial fino, coaxial grueso, Token Ring, etc.), pero actualmente el más común es del tipo Ethernet utilizando una interfaz o conector RJ-45. Cada tarjeta de red tiene un número de identificación único de 48 bits, en hexadecimal llamado dirección MAC (no confundir con Apple Macintosh). Estas direcciones hardware únicas son administradas por el Institute of Electronic and Electrical Engineers (IEEE). Los tres primeros octetos del número MAC son conocidos como OUI e identifican a proveedores específicos y son designados por la IEEE. Se denomina también NIC al circuito integrado de la tarjeta de red que se encarga de servir como interfaz de Ethernet entre el medio físico (por ejemplo un cable coaxial) y el equipo (por ejemplo una computadora personal o una impresora). Es un circuito integrado usado en computadoras o periféricos tales como las tarjetas de red, impresoras de red o sistemas intergrados (embebed en inglés), para conectar dos o más dispositivos entre sí a través de algún medio, ya sea conexión inalámbrica, cable UTP, cable coaxial, fibra óptica, etc.

La mayoría de tarjetas traen un zócalo vacío rotulado BOOT ROM, para incluir una ROM opcional que permite que el equipo arranque desde un servidor de la red con una imagen de un medio de arranque (generalmente un disquete), lo que permite usar equipos sin disco duro ni unidad de disquete. El que algunas placas madre ya incorporen esa ROM en su BIOS y la posibilidad de usar tarjetas Compac tFlash en lugar del disco duro con sólo un adaptador, hace que comience a ser menos frecuente, principalmente en tarjetas de perfil bajo.

FAX MODEM La velocidad real de transferencia que llega a alcanzar una tarjeta WiFi con protocolo 11.b es de unos 4Mbps (0,5 MB/s) y las de protocolo 11.g llegan como máximo a unos 20Mbps (2,6 MB/s). Actualmente el protocolo que se viene utilizando es 11.n que es capaz de transmitir 600 Mbps. Actualmente la capa física soporta una velocidad de 300Mbps, con el uso de dos flujos espaciales en un canal de 40 MHz. Dependiendo del entorno, esto puede traducirse en un rendimiento percibido por el usuario de 100Mbps.

IMPRESORA Una impresora es un periférico de ordenador que permite producir una copia permanente de textos o gráficos de documentos almacenados en formato electrónico, imprimiéndolos en medios físicos, normalmente en papel o transparencias, utilizando cartuchos de tinta o tecnología láser. Muchas impresoras son usadas como periféricos, y están permanentemente unidas al ordenador por un cable. Otras impresoras, llamadas impresoras de red, tienen una interfaz de red interno (típicamente wireless o ethernet), y que puede servir como un dispositivo para imprimir en papel algún documento para cualquier usuario de la red. SCANNER Y OTROS DISPOSITIVOS Un scanner es un dispositivo de entrada que digitaliza una imagen de un papel u otra superficie, y la almacena en la memoria de una computadora. Una fuente de luz se desplaza sobre el papel, iluminando la sección del papel sobre el que se desplaza. Un motor mueve la cabeza de la lectora por debajo de la pagina cuando se mueve esta captura la luz que se refleja en cada punto del papel. Los espacios en blanco reflejan mas luz que los espacios más oscuros.

Esta luz capturada es reflejada a través de un sistema de espejos que continuamente mantiene estos rayos alineados con una lente. La lente enfoca estos rayos hacia diodos sensibles a la luz que la traducen en una corriente eléctrica. Cuanto mayor es la luz mayor será el voltaje. Un convertidor analógico digital traduce esta señal eléctrica en una señal digital. En los scanner blanco y negro cada pixel se digitaliza en un bit, de modo tal que pueda ser blanco o negro. En los de escala de grises cada punto se digitaliza en 8 bits teniendo 256 tipos de grises. Los scanner de color verdadero, por cada pixel utilizan 24 bits, teniendo así 16 millones de colores. Estos últimos, para poder tomar todos los colores realizan 3 exploraciones de la imagen, cada una pasando por un filtro distinto de color (rojo, verde, azul) La información digital es enviada a la computadora donde el software se encarga de interpretarla y permitir trabajarla en un programa de gráficos o un programa de reconocimiento óptico de caracteres. CONCLUSIONES Con la investigación tendremos los conocimientos necesarios sobre todos los programas de la pc también podremos hacer ejercicios y ejemplos de refuerzos.

Sign up to vote on this title
UsefulNot useful