Arquitectura de Von Neumann:
UC: Unidad de Control. Es el “cerebro” de la CPU
UAL: Unidad Aritmética Lógica. Maneja cantidad limitadas.
MP: Memoria Principal. RAM, ROM, Cache, La memoria cache tambien puede encontrarse adentro de la CPU.
Registros: Los Registros almacenen datos e instrucciones que esta utilizando la UC pueden ser de 1 byte o mas 2, 4, 8, etc. Esta compuesta por Flip-Flops
Tanto la memoria principal como los registros tiene una capacidad de almacenamiento limitada.
Buses: Están limitados a una palabra de maquina. Por ejemplo 1 byte = 8 bits, palabra de maquina.
Concepto de Palabra:
Cantidad fija de bits con la que se trabaja para representar algo que utiliza la memoria(CPU, Registros, etc).
Palabra de Maquina: Capacidad de Calculo de la CPU.
Palabra de Memoria: Cantidad de bits que se pueden escribir de una sola vez.
Los buses tambien tienen una palabra y es la cantidad de bits que pueden transmitir en un solo envío.
Microprocesadores y palabras:
Un microprocesador es una CPU en un solo circuito integrado.
Algunas empresas fabricantes de microprocesadores son INTEL, AMD, Sun, Motorola, IBM.
Microprocesadores Intel y sus palabras:
4004 palabra de maquina de 4 bits
8008 palabra de maquina de 8 bits
8085 palabra de maquina de 8 bits y 16 bits de memoria
8088, 80286 palabra de maquina y memoria de 16 bits
80386/486 Pentium I,II,III,IV 32 bits
Intel Itanium 64 bits, tambien hay AMD de 64 bits.
Sistemas Numéricos Posicionales:
Sus símbolos básicos poseen un valor absoluto intrínseco y un valor relativo que depende de su posición.
Numero: Idea abstracta de cantidad.
Numeral: Símbolo con el que se representa un numero.
Características:
La combinación de símbolos básicos debe ser finita y contar con por lo menos 2 símbolos básicos, 1 unidad, 0 ausencia.
Los símbolos básicos deben ordenarse en forma monótona creciente.
La cantidad de símbolos básicos se conoce como base del sistema.
La coma (,) como símbolo auxiliar.
Debe tener definido la operación suma (+) y producto (.) para poder expresar un numeral en notación expandida.
Ejemplo:
Donde:
N = numero, b = base del sistema
e = cada uno de los símbolos básicos, correspondientes a la parte entera
d = cada uno de los símbolos básicos, correspondientes a la parte fraccionaria del numero
Los exponentes indican la posición del numeral.
Códigos y Representaciones:
Un código es una relación entre cada símbolo del conjunto del alfabeto general o una parte de el por ejemplo los números, y las palabras código de otro conjunto de símbolos habitualmente compuesto por 1 y 0, pero por ejemplo en el caso del código Morse se trata de una relación entre el alfabeto general y las palabras código del conjunto de puntos y rayitas.
Códigos de longitud variable: por ejemplo el Morse (la palabra código es de distintos tamaños)
Códigos de longitud fija: por ejemplo el alfabeto o el BCD natural (la palabra código es de longitud fija)
Códigos Numéricos: Alfabeto general → Números
BCD natural, Decimal Codificado en Binario
AIKEN, se refleja a partir del 4, pesos ponderados distintos
XS-3, BCD en exceso 3, Gray.
Códigos Alfanuméricos: Números, letras, símbolos.
EBCDIC, 8 bits = 256 caracteres distintos, IBM Mainframe, Extended BCD Código.
ASCII, Código de Intercambio de Informacion Estándar Americano, 7 bits = 128 caracteres y 1 bit de control de paridad.
Algebra de Boole(Circuitos Lógicos):
Es un conjunto: B no vacio, +, *, 0, 1, !(negación)
Este conjunto cumple con los siguientes postulados:
Propiedad Asociativa
Propiedad Conmutativa
Propiedad Distributiva
Existencia del elemento neutro
a+0=a
a.1=aExistencia del inverso
a.!a=0
a+!a=1
Y de estos postulados se desprenden los siguientes teoremas:
Principio de Dualidad(Intercambio de * por . Y 1 por 0).
Acotación a+1=1 y a.0=0.
Idempotencia a.a=a, a+a=a.
Involución !(!a)=a
Leyes de Morgan. !(a+b)=!a.!b; !(ab)=!a+!b
Circuitos Integrados:
Chip: varios circuitos integrados en un zócalo.
Clasificación de los circuitos integrados:
(según la cantidad de compuertas o transistores)
SSI(short scale integrated) compuertas < 100
MSI(medium scale integrated) 100 < compuertas < 1.000
LSI(large scale integrated) 1.000 < compuertas < 10.000
primeros micros y memorias
VLSI(very large scale integrated) 10.000 < com < 100.000
ULSI(ultra large scale integrated) >100.000
Tamaño actual de una compuerta 0,15 um(millonésimas de metro)
otros tamaños 0,25 um
Los circuitos integrados sencillos como los decodificadores fueron analizados en la parte practica de la materia.
Circuitos Secuenciales y Combinacionales:
La logica o circuitos digitales se dividen en combinacionales y secuenciales.
En los circuitos combinacionales el valor de las salidas depende solamente del valor de las entradas.
En los circuitos secuenciales el valor de las salidas depende de las secuencias de entradas y de el valor de las entradas, un cicuito secuencial tiene memoria. Se denomina tambien automata finito. Un circuito secuencial consta esta caracterizado por 5 parametros(x salidas, y entradas, q estados, F, G)
F= funcion de transicion, el proximo estado en funcion del estado T y de las entradas T, el resultado es T+1.
G= Salida en funcion del estado interno y las entradas.
Flip-Flops:
Circuito Biestable o Flip-Flop.
Es una memoria de 1 bit(0,1) de dos estados posibles, de acuerdo a su constitucion pueden ser R-S, J-K, D, T. Y de acuerdo a que utilicen o no reloj en Sincronos y Asincronicos.
Asincrono= el estado interno cambia cuando cambian las entradas.
Sincrono= el estado interno cambia con el pulso del reloj si las entradas lo habilitan a cambiar.
Para ver el comportamiento de un circuito Flip-Flop se debe confeccionar una tabla de transicion.
Registros:
Wiki:En arquitectura de ordenadores, un registro es una memoria de alta velocidad y poca capacidad, integrada en el microprocesador, que permite guardar transitoriamente y acceder a valores muy usados, generalmente en operaciones matemáticas. Los registros están en la cumbre de la jerarquía de memoria, y son la manera más rápida que tiene el sistema de almacenar datos. Los registros se miden generalmente por el número de bits que almacenan; por ejemplo, un "registro de 8 bits" o un "registro de 32 bits". Los registros generalmente se implementan en un banco de registros, pero antiguamente se usaban biestables individuales, memoria SRAM o formas aún más primitivas.
El término es usado generalmente para referirse al grupo de registros que pueden ser directamente indexados como operandos de una instrucción, como está definido en el conjunto de instrucciones. Sin embargo, los microprocesadores tienen además muchos otros registros que son usados con un propósito específico, como el contador de programa. Por ejemplo, en la arquitectura IA32, el conjunto de instrucciones define 8 registros de 32 bits.
Los registros se encuentran adentro de la CPU y son utilizados por la UC para almacenar datos, direcciones de memoria e instrucciones. La cantidad, tipo y funcion de estos depende de cada microprocesador pero se pueden identificar una serie de registros genericos que se encuentran en la estructura IA16:
Registros de Proposito General:
AX: Acumulador, es un registro de 2 bytes aunque antes era de 1 byte, ahora existe un AL de 1 byte y un AH de 1 byte.
BX: Base, direccionamiento.
CX: Counter, contador.
Registros Punteros:
Apuntan a un lugar de la memoria donde estan los datos o las instrucciones de un programa.
BP: Base Pointer, Puntero Base.
SP: Stack Pointer, Puntero de Pila, Para gestionar una memoria pila LIFO Last Input First Output.
SI: Index Pointer, Puntero Indice.
DI: Source/Destination Pointer, Puntero de destino o fuente.
IP: Instruction Pointer, Puntero de Instrucciones, apunta a la proxima instrucción que debe ejecutar la UC y es manejado por la misma. Solo se altera en una interrupcion o en el llamado a una subrutina.
Registros Segmento:
Se cargan dinamicamente.
Se utilizan para organizar la memoria que utiliza la arquitectura, se puede establecer una analogia con un vector o con segmentos. Estos registros guardan el lugar donde comienza un segmento de memoria.
CS: Code Segment, Puntero hacia las instruccione del programa.
SS: Stack Segment, Puntero a la Stack o Pila.
DS: Data Segment, Puntero a donde comienzan los datos.
ES: Extra Segment, Puntero extra.
Los segmentos de memoria a donde apuntan estos resgitros son de longitud variable entre 0 y 64 kb en una estructura de 16 bits.
Registros de Estado:
Estos se cargan una sola vez al inicio de un programa.
Son de 16 bits, donde cada bit es un flag o bandera, osea que guardan un tipo de dato booleano.
CF: Carry Flag, indicador de carry o acarreo, esta asociado al resultado de operaciones aritmeticas y logicas de la UAL, se pone a 1 cuando existe acarreo.
OV: Overflow, indicador de fuera de rango, cuando una operación supera el rango se pone a 1.
ZR: Flag Zero, indicador de 0, se pone a 1 si el resultado de la operación es cero.
SF: Flago de Signo, se pone a 1 si el resultado es negativo y a 0 si es positivo, tal como se vio en “como realiza las operación la cpu”.
Estos registros manejan las estructuras repetitivas de alto nivel como los if, los while o los for.
Ademas existen otros registros que son de uso exclusivo del sistema operativo para conmutacion de tareas y otras cosas(Fueron agregados por intel en IA16).
Registros en IA32:
Los registros que se vieron en IA16 se expanden y se llaman EAX, EBX, ECX, EBP, ESP, etc. Como parte de la compatibilidad entre IA32 e IA16 se pueden llamar a registros de 16 bits de la misma manera que en IA16. Notese que es lo mismo que sucedia con IA16 y las arquitecturas de 8 bits.
Memorias. Tipos de Datos. Clasificaciones de Memorias:
Tipos de Datos:
Los datos utilizados por el microprocesador son los datos primitivos(que se llaman asi justamente por que son comprendidos por la estructura de una cpu).
Enteros: con signo(short[1 byte], int[2 bytes], long[4 bytes], [8 bytes]) o sin signo.
Caracteres(Char): 1 byte que puede ser EBCDIC, ASCII o UNICODE.
Punto Flotante(float): de posicionamiento simple(32 bits, IEEE754) o de doble presicion(64 bits).
La notacion de doble precision esta compuesta por 1 entero(mantisa con signo y magnitud) una base y un exponente.
Booleanos(flags): datos bivalentes de 1 bit.
Como se administra la memoria:
Forma 1:
Forma de vector lineal de bytes, una direccion de memoria representa una direccion exacta donde se encuentra un dato.
Forma 2:
Forma segmentada, se precisan dos valores, uno indica donde comienza el segmento de memoria donde se encuentra el dato y otro la cantidad de posiciones que hay que correrse(desplazamiento) desde el inicio para encontrar el dato especifico.
Forma 3:
Forma Paginada, se divide la memoria en paginas de una longitud fija de 4k, y se leen y utilizan paginas enteras.
Es utilizado por el OS para administrar la memoria virtual, concepto que pretende simular una memoria infinita para trabajar con datos mas grandes, esto implica que por medio de distintos algoritmos se determinan cuales seran los datos mas utilizados o los proximos a utilizar. Principios de referencia temporal y espacial que seran vistos mas adelante en clasificaciones de memorias.
Clasificacion de las Memorias:
Los dispositivos o componentes habitualmente reconocidos como memorias son: RAM, Cache, ROM, Flip-Flop, Registros, Disco Duro, Pen Drive, CD, Disketes. La suma de los tiempos que tarda un memoria en responder se denomina Latencia.
Las memorias se pueden clasificar de distintas formas:
Volatilidad: volatiles o no volatiles.
Tecnologia de Fabricacion: Magneticas o Ferromagneticas, Opticas y Semiconductores.
Forma de Acceso: Aleatorio(RAM), Secuencial(Cintas Magneticas) Directo(Discos Magneticos).
Operaciones con Memorias: Solo lectura(R, ROM) y Lectura Escritura(RW, RAM).
Velocidad de Transferencia: cantidad de bits/seg.
Tiempo de acceso: periodo que se tarda en acceder a los datos.
Tamaño: Se mide en bits, bytes, kbytes, mbytes, etc, etc.
Jerarquias de memorias:
La jerarquia de memorias establece que las memorias de menor tiempo de acceso y menor tamaño son las primeras y las de mayor tiempo de acceso y mayor tamaño son las ultimas.
De acuerdo a lo visto hasta ahora se puede hacer un pequeño paneo de esta jerarquia:
Registros(> 1 kbyte, se encuentran adentro de la CPU)
Cache(1 mbyte, Memoria rapida ubicada entre la CPU y la MP)
RAM(1 gb, MP donde se almacenan los datos y procesos en ejecucion)
Discos Magneticos(80 gigabytes – 1 terabyte)
Ademas a medida que el tiempo de acceso a las memorias disminuye el costo por byte de las mismas aumenta.
Clasificacion de las Memorias RAM:
Las memorias RAM son volatiles, de acceso aleatorio y de 1 ns de acceso.
Estaticas:
SRAM(Static RAM)
Son mas rapidas que las dinamicas, de densidad mas baja y por ende resultan mas caras.
Flip-Flop(Tiene aproximadamente 6 transistores)(Caché)
Dinamicas:
DRAM (Dinamic RAM)
Compuestas por un transistor y un capacitor, necesitan una operación de refresco.
Asincronas
Son memorias viejas como las FPM o EDO.
Sincronas
SDRAM(Simple Dinamic Ram, 1 vez por pulso del clock, 1 flanco)
DDRRAM(Dual Data Rate RAM, 2 veces por pulso del clock, 2 flancos, acelera la velocidad)
DDR2 y DDR3 mejoran DDRRAM por que aumentan la frecuencia y disminuyen la tension de alimentacion. Con lo cual se acelera la velocidad, se disminuye el consumo y el calor.
Nota: la relacion de tamaño de DRAM a SRAM es que 1 bit en SRAM ocupa el misma espacio que 6 bits en DRAM.
Memoria Caché:
La memoria caché es una memoria fabricada con Flip-Flops que se encuentra ubicada en la jerarquia de memorias entre los Registros y la MP, con las consiguientes relaciones de tamaño y tiempo de acceso.
La memoria Caché se utiliza para guardar copias de datos e instrucciones que se encuentra en la MP que serán utilizados proximamente o habitualmente por la CPU.
El uso de las memorias Caché se basa en Los Principios de la Localidad de las Referencias.
Espacial: Si la CPU busca algo en la direccion x lo mas provable es que el proximo dato este en la direccion x+1.
Temporal: Si en un tiempo t la CPU busco algo en la direccion x, es provable que en el tiempo t+1 vuelva a buscar x.
A partir de la 80486 la memoria Caché se ubico adentro de la CPU denominada como L1. La memoria caché comun paso a denominarse L2.
A partir del Pentium L2 tambien se integra a la CPU y aparece una L3 afuera.
En algunos servidores puede encontrarse una memoria L3 integrada a la CPU.
Clasificacion de la memoria ROM:
Las memorias ROM son de solo lectura, no se pueden borrar ni escribir por metodos directos.
Rom de Mascara: Se fabrican a partir de un molde que se diseña a medida compuesto por 1 y 0, se hacen copias (unidades de memoria) por ejemplo las ROM BIOS antiguas(BIOS: Sistema Basico de Entrada/ Salida, Basic Input Output System).
PROM: Es una memoria programable compuesta por fusibles, se puede grabar una sola vez con un aparato que quema los fusibles(1 se deja fusible, 0 se quema fusible).
EPROM: (Erassable PROM) Se puede programar y borrar con luz ultravioleta(tienen una ventanita para ello).
EEPROM: (Electrical Erassable PROM) Se puede borrar electricamente con un aparato.
FLASH: (USB) Las primeras se utilizaron en BIOS y ahora se usan en dispositivos USB (Las BIOS Flash se pueden actualizar).
Le memoria RAM denota que es una memoria de lectura/escritura(punto de vista comercial), pero el significado de RAM es que tiene acceso aleatorio, osea el mismo tiempo de acceso a todas las posiciones de la memoria.
Factor de Forma:
Las memorias vienen en una plaqueta con distintas formas y conexiones(factor de forma → Tecnologia de la memoria → Capacidad, Rapidez).
Memorias SIMM: Son asincronas y S quiere decir simple una linea de contactos. Posee 30 contactos de los cuales 8 pertenecen al bus de datos, se necesitaban 4 bancos para llegar a ocupar la capacidad del bus que es de 32 bits. Tambien existe una SIMM de 72 contactos.
Memorias DIMM:
Son sincronas y D significa Dual, tienen dos lineas de contactos.
SDRAM: 168 contactos, bus de datos de 64 bits → Pentium.
DDRRAM: 184 contactos.
DDR2, DDR3: 240 contactos y distintas frecuencias.
Algunos Conceptos sobre las memorias e Instrucciones:
El registro de instruciones IP apunta a una direccion de memoria donde esta alojado el programa en ejecucion, a medida que una instrucción se ejecuta el IP se va corriendo para poder acceder a la proxima instrucción. El IP tambien es denominado a veces PC(contador de programa).
En la arquitectura IA16 los registros y la UAL trabajan con palabras de 16 bits, sin embargo el bus de direcciones no es necesariamente de 16 bits ya que se podria direccionar a muy poca memoria(solo 64k, mi maquina tiene 1.048.576 k) por lo general los buses de direcciones son de 32 bits. Por eso las notaciones habituales para acceder a una memoria son numeros hexa entre 0000 y FFFF.
En la cpu existen otros registros que no fueron vistos en la arquitectura IA16 desarrollada:
IR: Registro de Instrucciones, almacena la instrucción en curso.
MAR: (Registry Adress Memory)Registro de direccionamiento actual de memoria, se refieren a direcciones de datos.
DR: Data Registry (Registra un dato).
MAR y DR son registros genericos.
La CPU busca instrucciones, las interpreta y ejecuta. Cuando se prende la CPU el IP=FFFF esa direccion de memoria tiene un jump a la primera direccion de la BIOS. La CPU puede de esta manera comenzar a cargar los datos y programas basicos que utilizara para funcionar(controladores de discos, de video, etc).
Esto es gracias a que IP siempre apunta a la proxima direccion de memoria de donde esta alojada la instrucción actual y por que los programas habitualmente se guardan en lugares consecutivos de la memoria. Los datos por lo general tambien se encuentran en orden consecutivo.
Buses. Conceptos y Clasificaciones:
Los buses conforman un sistema de interconexion compartido, varios dispositivos comparten un mismo camino. Concepto tambien visto en redes similar al que se da en la conexión entre ciudades por medio de rutas.
Clasficaciones:
De acuerdo a la temporizacion: en sincronos(las transferencias se hacen en los flancos del clock, un ejemplo de bus sincrono es el Front Side Bus MP-CPU) y asincronos(las transferencias se realizan de acuerdo al Hand Shake, Apreton de manos osea un acuerdo. Tipico bus asincrono: el bus paralelo, el bus serial).
En general los buses ubicados en la mother son sincronos(mas rapidos y faciles de diseñar) y los de entrada y salida son asincronos debido a la variedad de dispositivos que soportan.
En interno y externos: si estan adentro de un chip son internos(buses que conectan los registros con la UC) mientraz que si estan en la mother son externos(Buses que conectan la CPU con la MP).
De acuerdo a la informacion que transmiten: Datos, Direcciones(de su capacidad depende la cantidad de memoria direccionable), Control(genera señales de lectura escritura), Potencia(Envian energia a los dispositivos).
De acuerdo a la cantidad de lineas:
Serial: 1 bit por vez, trasnferencia en una sola linea, ejemplo USB,(SATA es Serail ATA). Aunque paresca una contradiccion el hecho de emitir un dato por vez genera menos interferencia y ruido por lo que se puede elevar mucho la frecuencia y entonces se gana en velocidad de trabajo.
Paralelo: mas de 1 bit por vez, esto afecta a la trasnmision con ruidos e interferencias por lo que no tienen mucha velocidad, tipico bus paralelo el Puerto Paralelo, en general los bus de las internos son paralelos.
El ruido tiene que ver con distintos factores como la distancia, la potencia y la frecuencia de las señales.
De acuerdo a la direccion de transferencia:
Los buses pueden ser bidireccionales(como por ejemplo el bus de datos que escribe y lee) y unidireccionales(como el bus de direcciones que solo puede ser seteado por la CPU).
Metodo HandShake(apreton de manos, acuerdo):
Utilizado en los buses asincronos para que 2 dispositivos se pongan de acuerdo. En el bus hay lineas de datos, control y estado. Un ejemplo puede ser un bus de 8 bits que conecta la CPU con la impreso los bits de posiciones 7=busy, 6=ack y 0=strobe.
Estos estados son activos por bajo osea que informar ese estado cuando se ponen a 0.
Strobe= La impresora le avisa a la CPU que puede tomar sus datos.
Ack= La Impresora avisa a la CPU que puede seguir enviando informacion.
Busy: La Impresora le avisa a la CPU que esta ocupada y deje de mandar informacion.
Proceso de Arbitraje:
El proceso de arbitraje que existe en todos los sistemas de computacion es el que administra la utilizacion de los buses es decir decide quien es el Master. En una primera aproximacion podria decirse que el Master debe ser la CPU, pero pueden existir varias CPU(Dual Core) y ademas hay un DMA(Controlador de Acceso Directo a Memoria). Entonces por medio de este proceso de arbitraje los buses van cambiendo de Master(uno por vez) según quien tenga la prioridad.
El proceso de arbitraje puede ser Centralizado o Distribuido.
DMA: El Controlador de Acceso Directo a Memoria transfiere archivos y trabajos con la memoria sin que la CPU tenga que intervenir y asi la libera para que realice otros trabajos.
Jerarquia de Buses:
El primer bus fabricado que fue standart(respeta determindas normas para que todo el mundo pueda fabricar componentes y perifericos para usarlo) fue el ISA(Industry Standart Architecture). Este bus se utilizaba en las maquinas de Intel 286 y conectaba la CPU con la MP, E/S, y el Video.
Cuando salio Windows(se necesitaba un video mas rapido) aparecio EISA(Extended ISA) y VESA(Video equipement standart asociation, creado por algunas empresas del sector que era un bus local entre el video y la CPU).
El problema de VESA era que al cambiar por ese bus habia que cambiar la placa y por ende el micro.
Por otro lado Intel saco al mercado el PCI(Periferal Component Interface). Este bus se extendio su palabra era de 32 bits y la frecuencia de 33mhz. PCI siguio evolucionando y aumentando su frecuencia y llevando la palabra a 64 bits.
Existe un bus llamado PCIX que se utiliza en servidores.
Tambien esta el PCI Express(serial) que es como switch o hub, habitual para conectar placas de video pero no exclusivo.
En esta epoca aparecen las memorias caché, el Front Side Bus que une la CPU con la MP y el Bad Side Bus que conecta la CPU con la memoria caché, el bus PCI y el bus ISA(buses de distintas velocidades y palabras, ante esto hace falta algo que compatibilice estos rangos) esto es una interfaz o puente.
Puente o Bridge: permite unir buses de distintas caracteristicas(frecuencia, velocidad, tamaño, etc).
En la carpeta hay un grafico sobre como se organiza la arquitectura de un Pentium 4 de 3.6 Ghz.
Las capacidades de una mother dependen de las capacidades de los chipsets(Puentes o Bridges).
MCH(Memory Control Hub): Compatibiliza el bus de la CPU con la MP.
AGP(Advanced Graphic Procesor): PCI mejorado.
IOH(Input Ouput Hub): Antes llamado puente sur
Super IO: Es un ISA de baja velocidad.
Metodos de Control de E/S:
Metodos de control de entrada salida:
E/S programada(pooling): Los procesos estan controlados por la CPU, y esta pregunta constantemente el estado del dispositivo. Los procesos de transmicion estan controlados constantemente por la CPU que pregunta a cada dispositivo su estado y si estan listos. El 1 equivale a listo, el 0 a ocupado.
Pooling: Abrir puerta.
Interrupciones: El dispositivo avisa que ya termino la tarea o el estado. Al contrario del Pooling en las interrupciones es el dispositivo el que avisa que esta listo o que termino una determinada tarea.
DMA(Direct Access Memory): La CPU le cede el control a chipset DMA, le pasa la informacion a transmitir y el DMA toma control del bus, de esta forma la CPU puede seguir trabajando siempre y cuando no necesite usar el bus. Un ejemplo tipico es dejar las actividades entre el Disco y la MP al DMA.
Puede establecerse una analogia con una casa donde en la E/S programada el dueño de la casa abre constantemente la puerta para saber si llego alguien. En cambio en las Interrupciones la casa tiene un timbre entonces la persona que llega avisa de su llegada.
Interrupciones:
Interrupcion: Algun dispositivo interrumpe a la CPU para hacer algo, la CPU deja de hacer su tarea actual y atiende la nueva tarea, una vez concluida esta la CPU recupera sus actividades anteriores.
Las interrupciones se pueden clasificar de acuerdo a su origen en:
Interrupciones de Hardware: Es una señal interna que interrumpe a la CPU emitida por algun componente o dispositivo.
Interrupciones de Software: Es una instrucción en la CPU que simula una interrupcion de Hardware.
Excepciones: Generadas internamente por la CPU, un caso tipico es cuando una operación que implica una division por 0 o un acceso indebido a memoria(Pantalla Azul de win9X).
A su vez las interrupciones de hardware pueden ser:
Enmascarables: Representan la mayoria de las interrupciones, estas bajo determinadas circunstancias pueden no atenderse, de alli que son como capturables o enmascarables.
No Enmascarables: Son anormales y representan sucesos graves como el fallo de una memoria o una caida de tension, estas interrupciones no pueden ser ignoradas por la CPU.
La CPU tiene dos lineas de estado de interrupciones una para las enmascarables(INTR) y otra para las no enmascarables(NMI).
Como se atiende una interrupcion:
Interrupciones enmascarables
La CPU tiene una sola entrada de interrupciones, mientras que los dispositvos pueden ser muchos y teoricamente la CPU si bien puede saber que existe una interrupcion no puede saber cual de los dispositivos la esta emitiendo.
Como sabemos la CPU esta esperando que algun dispositivo le envie el aviso de interrupcion, para administrar estas interrupciones existen dos formas:
Un Programa: Un programa en la CPU que pregunte a cada flag de estado de los dispositivos cada vez que INTR se pone en 1. Esta idea no parece una gran innovacion!
Controlador Programable de Interrupciones(PIC): Es la opcion utilizada por las computadoras actuales. Este controlador se ubica entre INTR y IRQ0...IRQ4(4 es para un ejemplo con 4 dispositivos) Este controlador sabe que dispositivo es el que esta enviando la interrupcion y tiene acceso a una tabla de prioridades para el caso de interrupciones simultaneas. El PIC le envia por el bus de datos a la CPU la informacion sobre el dispositivo(un numero entre 0 y 255).
El PIC se encuentra en el chipset sur, I/O Hub.
Idea de Interrupcion, Como es atendida por la CPU:
Supongamos que la CPU esta ejecutando una seria de instrucciones almacenadas en la memoria, en el momento que la CPU esta ejecutando la instrucción numero 3 se produce una interrupcion.
Primero la CPU termina de ejecutar la instrucción numero 3.
Luego guarda la direccion de memoria de la instrucción 4(PI, Puntero de Instrucciones) y los flags de estado(registros) en la pila(stack) en ese orden.
El PI se carga con una direccion n que corresponde a la subrutina que debe atender la interrupcion, algo debe hacerse y esto depende de que dispositivo envio la interrupcion. Estos programas estan en la MP. Esta subrutina termina con RDI(Retorno de Interrupcion) el cual indica que la subrutina que atiende la interrupcion ha terminado. Este RDI es la señal para la CPU para que vuelva a cargar el PI y los flags de estado por los que se encuentran en la Stack.
De esta manera la CPU puede administrar la interrupciones sin dejar de lado las tareas habituales. Incluso el algoritmo es valido para administrar varias interrupciones dependiendo de las prioridades o para ejecutar subrutinas.
Como se sabe cual de las subrutinas se debe ejecutar:
Cada IRQ esta asociado con un numero de interrupcion, este numero es enviado por el PIC a la CPU. La CPU busca en una tabla de vectores de interrupcion la direccion de memoria donde empieza la subrutina de interrupcion. Codigo de Interrupcion = Direccion de memoria = subrutina.
Este metodo es el que se utiliza en modo real(DOS) para modo protegido(Win) se utilizan estructuras mas complejas de direccionamiento para acceder a las subrutinas.
Estructura de E/S Puertos:
La CPU esta conectada con la memoria principal por un bus y tambien con los dispositivos de E/S por otro bus, este ultimo en realidad esta conectado a una serie de controladores y memorias que administran los dispositivos de E/S.
En la primer capa de ese conjunto se encuentran los controladores de E/S, luego la Interfaz de E/S y finalmente los Puertos de E/S. Ademas hay una memoria llamada Buffer, la controladora de discos, la controladora de viedo.
Buffer: Memoria tampon.
Interfaz: Se encarga de gestionar las transferencias entre la CPU y los dispositivos, soluciona las diferencias de velocidad, de buses, de tension, etc.
Puertos: Es un registro donde se pueden escribir o leer datos y que hacen referencia a un dispositivo, por ejemplo las posiciones x e y del mouse se pueden leer en cualquier instante en los puertos asignados al mouse, o cualquier pixel del monitor se puede colorear enviado la informacion a tres puertos relacionados con el monitor.
Controladora de Discos: Activa los discos y se encarga de enviar la informacion o recibirla es decir hace de interfaz entre la CPU y el disco.
Controladora de Video: Transforma la señal digital a analogica.
Tipos de Interfaces de E/S:
Dedicacas(Custom): Teclado, Mouse, IDE/ATA.
Proposito General: Paralelo(LPT1), USB, SCSI.
Esta seria la estructura del bus de E/S:
Datos E
Datos S
Estado
Control
De un lado se encuentra la CPU y del otro la seria de placas de control.
Set de Instrucciones, Instroduccion:
Los sets de instrucciones se dividen en SISK o RISK, dependiendo de la complejidad del set, la mayoria de los micros comerciales son SISK(set de instrucciones complejos).
INTEL en su serie de micros comerciales ofrece un set de instrucciones compatibles donde cualquier aplicación con instrucciones de un set anterior funciona en uno mas moderno.
IA(Intel Arquitecture)
IA16 (16 bits palabra de maquina) 80286
IA32 (32 bits palabra de maquina) 80386/486, seria Pentium
IA64 (64 bits palabra de maquina) Itanium Intel, AMD
Con el IA64 se cambia bastante el set de instrucciones por lo que los programas para IA32 y IA64 deben ser compilados por separado.
Basicamente las profesiones dedicadas al estudio de el set de instrucciones son los desarroladores en ensamblador(controladores de hardware, programacion de microcontroladores), los desarrolladores de compiladores de alto nivel como los creadores de Turbo C, o los desarrolladores de sistemas operativos.
Formato Tipico de una instrucción:
[codigo de operacion][][]Campos de operandos o direcciones de la MP o registros.
Los operandos pueden ser 0 o mas lo mas comun es que se trate de 2 pero puede haber hasta 4 operandos.
Estos campos pueden ser de longitud fija(16 o 32 bits) o de longitud variable, esto depende de la arquitectura del micro.
Por ejemplo esta seria una operación en lenguaje ensamblador donde cada operación[1010001] esta asociada a un mnemonico mas facil de recordar.
[add][AX][BX]//guarda en AX la suma de AX y BX.
En una hipotetica maquina de 16 bits los campos miden:
[4 bits][6 bits][6 bits]
Pero como se puede apreciar esto limita la cantidad de operaciones posibles asi como tambien el rango de los operandos que solo pueden tomar 31 estados. Por eso es mas conveniente(y asi es en la realidad) utilizar campos de longitud variable.
La cantidad de operaciones que un micro tiene depende principalmente del tipo de arquitectura(SISK o RISK) SISK tiene mayor cantidad de operaciones y es mas compleja y es la mas utilizada por ejemplo en los preocesadores Intel. Esto es asi por que una mayor cantidad de operaciones permite simplificar el proceso de diseño de software, aunque por otro lado aumenta la complicacion del hardware del micro.
Considerar: A mayor complejidad de Software el Hardware es mas sencillo y a mayor complejidad de Hardware el Software se hace mas sencillo.
Como procesa la CPU un instrucción:
Buscar instrucción en memoria
A. Poner el contenido de IP(Puntero de Instrucciones) en el bus de direcciones.B. Poner 1(Lectura de memoria) en el bus de control(UC genera una señal de lectura hacia la memoria).
C. La memoria pone la instrucción correspondiente en el bus de datos.
D. La UC pone el contenido del bus de datos en IR(Registro de instrucciones).Decodificacion de la instrucción: UC interpreta el significado del contenido de IR.
Ejecucion: Se generan señales de control a los componentes de la CPU(Registros, UAL), a los puertos, al memoria, etc.
Incrementar IP: de esta manera se vuelve al punto 1, este proceso es automatico, este paso generalmente no esta contemplado en las bibliografias sobre el tema.
Este es el denominado Ciclo de Instrucciones. La CPU siempre esta ejecutando el ciclo de instrucciones, siempre esta buscando que hacer. Es decir que la CPU siempre esta controlada por un programa(Oficce, SO, etc) el cual se encuentra cargado en la MP o en la BIOS.
ASI: Arquitectura del Set de Instrucciones:
Lenguaje de maquina: Instrucciones en un formato que puede ser entendido por la UC y que por lo tanto se ejecuta de una sola vez.
Cada CPU esta caracterizada por un Set de Instrucciones (Instrucciones en el lenguaje de maquina que pueden ser interpretadas por UC) que es propio de cada modelo de CPU.
El ASI a veces es compatible como pasa con los IA8, IA16 e IA32.
Formato:
[instruccion]
[instruccion][operando]
[instruccion][operando]....[operando]
El codigo de maquina esta compuesto por 0 y 1, pero como esto es dificil de interpretar por una persona existe el lenguaje ensamblador donde cada mnemonico equivale a una seria binaria que si es interpretada por la CPU.
De ahora en adelante nos referiremos a los mnemonico de ensamblador como instrucciones y a las direcciones de memoria, registros y datos como se hace en el lenguaje ensamblador.
En una instrucción hay distintos modos de direccionamiento, forma en que se especifican los operandos:
Modo de direccionamiento de registro:
AX, Los operandos son registros, osea que se hace referencia al contenido del registro.
Modo de Direccionamiento Inmediato:
1000, El operando es un numero, se hace referencia al dato explicito 1000.
Modo de Direccionamiento Directo:
[1000], Los corchetes indican que se hace referencia a una direccion de memoria, osea que se esta indicando que el dato es el que se encuentra en la posicion de memoria 1000.
Modo de Direccionamiento Indirecto por Registro:
[AX], Los corchetes indican que se hace referencia a una direccion de memoria, osea que se esta indicando que el dato se encuentra en la posicion de memoria que esta indicada por el valor del registro AX.
Estos modos de direccionamiento se pueden combinar entre si en distintas instrucciones.
El codigo de operación fija lo que la maquina debe hacer, en funcion del tipo de operación estas se clasifican en distintos tipos:
Instrucciones de Transferencia:
Se trata de instrucciones que leen o escriben desde o hacia la memoria o los registros, se pueden encontrar todas las combinaciones menos la de transferir de memoria a memoria.
Ejemplos:
MOV AX, BX //mueve lo que esta en el registro BX al registro AX.
Instrucciones Aritmeticas:
Son instrucciones que realizan instrucciones aritmeticas. ADD, SUB, MUL, INC(c++), DEC(c--).
Ejemplos:
ADD AX, BX //Suma los dos registros y los guarda en AX.
Instrucciones Logicas:
Estas instrucciones evaluan uno o mas operandos y modifican los flags según sea el resultado, se trata de las misma operaciones logicas del algebra de boole o compuertas logicas. AND, OR, NOT.
AND AX, BX //Realiza una operación logica Y entre AX y BX y modifica el flag de estado correspondiente con 1 o 0 según sea el resultado de la operación.
Instrucciones de Control de Flujo:
Saltos Incondicionales:
JMP [1000] //Saltar a la instrucción que se encuentra en la direccion de memoria 1000.
JMP AX //Saltar a la direccion de memoria guardada en AX.
Saltos Condicionales:
JE AX //Saltar a la direccion de memoria guardada por AX si el flag que indica igualdad esta a 1. Jump Equal.
JZ AX //Saltar a la direccion de memoria guardada por AX si el flag Z esta en 1. Jump Zero.
Otras: JG, JGE, JLE.
Llamadas a Subrutinas
CALL [1000] //Se llama a una subrutina que empieza en la direccion de memoria 1000, la cual termina con un codigo RET(el cual le indica a UC que debe volver a la direccion siguiente de CALL [1000])
Estas son las encargadas de administrar las estrucutras repetitivas de alto nivel(WHILE, FOR, etc.)
Instrucciones Interrupciones:
Generan una interrupcion de software.
INT (Codigo de Interrupcion) //Interrumpe el programa, haciendose pasar por una dispositivo de hardware y por ende carga una subrutina para administrar una interrupcion de Hardware.
Instrucciones de Entrada Salida:
Son instrucciones de transferencia que hacen referencia a memoria, registros o datos pero que ademas hacen referencia a un numero de puerto.
IN AX, 2555 //Cargar en AX lo que se encuentra en el puerto 2555.
OUT 2555, AX //Cargar en el puerto 2555 lo que se encuentra en AX.
DISCO RIGIDO
Es un dispositivo de almacenamiento masivo de gran capacidad y velocidad. Es el ultimo eslabón en la jerarquía de memorias de una computadora compatible con la estructura Von Neumann.
Arquitectura Básica
Los elementos que se pueden identificar como principales y genéricos en un disco rígido son los siguientes:
Platos o Discos: Pueden ser 1 o mas apilados, son plásticos o cerámicos y están recubiertos por un material ferromagnético.
El DR se compone de uno o mas Platos, los cuales están apilados y unidos por un eje.
Pueden estar construidos con material cerámico, plástico o de aluminio y están recubiertos en ambas superficies por un material ferromagnético el cual permite grabar información sobre los mismos platos.
Eje y Motor: Los Discos están unidos a un eje y motor, el cual hace girar los mismos a 3600, 4500, 7200, 10000 rpm siendo la mas usada la velocidad de 7200 rpm.
La velocidad a la que gira el Disco se conoce como “Velocidad de Rotación”.
Cabezal de Lectura/Escritura: Es un dispositivo electromagnético capaz de leer y escribir en medios magnéticos. Los cabezales nunca tocan la superficie del disco debido al efecto Bernoulli, generado por la velocidad de rotación del motor que crea corrientes de aire que producen que los cabezales literalmente levanten vuelo.
Los discos giran permanentemente desde que se enciende hasta que se apaga la maquina.
Algunos discos tienen una zona de landing o aterrizaje para que el cabezal no roce la pista 0, sector 1 cada vez que se enciende o apaga a la pc.
Posicionador o Actuador: Es un brazo mecánico al cual están sujetos todos los cabezales y es el que los posiciona sobre la pista que tienen que leer o escribir. Posiciona a todos los cabezales en forma sincrónica y simultanea aunque solo entre en acción uno de ellos.
Circuito Lógico: Recibe información de la controladora del disco y la traduce o transforma en movimientos del cabezal, ya sea que tenga que leer o escribir.
FAT(Información en una parte del disco): File Allocation Table o Tabla de ubicación de Archivos.
Es un indice que indica en que sectores del disco esta grabado un archivo y que sectores están disponibles para poder grabar información.
Carcasa: Es un recubrimiento metálico que protege al disco del polvo del ambiente.
Proceso de Lectura y Escritura en Disco Rígido
[Gráfico de la carpeta]
Escritura: Las partículas ferromagnéticas están esparcidas sobre la superficie de los platos, para organizarlas se aplican pulsos eléctricos a través de una bobina enrollada en un núcleo de hierro(Cabezal de Lectura Escritura).
Entonces el campo magnético inducido por la bobina pasa a la superficie del disco y magnetiza las partículas forzándolas a alinear sus polos positivos con los negativos del cabezal y viceversa. De esta manera, el cabezal crea una banda magnética sobre el disco y próxima a esta una segunda banda magnética, que ambas representan un bit. Si ambas bandas se alinean en la misma dirección representan un o si están enfrentadas representan un 1.
Lectura: Ahora se envían corrientes eléctricas al cabezal; ya que estas corrientes son generadas por los campos magnéticos de las bandas cuando el cabezal de lectura/escritura pasa sobre ellas; detectando la dirección de las corrientes generadas la controladora detectará si hay un 1 o un 0.
Organización Física del Disco Rígido
[Gráfico de la carpeta]
Formato de bajo nivel: Esta organización la realiza el fabricante del Disco Rígido, primero divide cada plato en pistas y cilindros(Conjunto de pistas que ocupan la misma posición en cada disco). La cantidad de pistas que se concentran en un espacio determinado se conoce como densidad de pistas.
A su vez las pistas se dividen en forma radial en sectores. Normalmente cada sector almacena 512 bytes.
Los métodos de grabación antiguos dividían todas las pistas en la misma cantidad de sectores. Produciéndose un desaprovechamiento de la capacidad del disco en las pistas de la periferia del disco.
El método de grabación actual BZR “Bit Zone Recording” que divide las pistas mas cercanas a la periferia en mayor cantidad de sectores es mucho mas optimo.
Capacidad de un Disco Rígido
Dependiendo de que tipo de división tenga el Disco, con o sin BZR se pueden utilizar dos formulas para calcular la capacidad:
Sin BZR: Es la forma antigua.
Capacidad DR = 512*N° Sectores(por pista)*N° Pistas*N° Cabezales
Con BZR: Forma actual.
Capacidad Bruta Aproximada =
= (N° Sec(Centro)+N° Sec(Periferia))/2*512*N° Pistas*N° Cabezales
Organización Lógica del Disco Rígido
Partición Lógica:
Una vez que el DR esta organizado físicamente el sistema operativo se encarga de dividirlo lógicamente.
Lo primero que hace el SO es dividir el disco en una o mas divisiones lógicas. Un disco puede tratarse como una sola partición o puede tener varias particiones, estas se identifican con las letras C, D, E, etc. estando reservadas A y B para las disqueteras.
Cada partición lógica posee su propia FAT.
Cluster:
Una vez que se estableció la primera división lógica del disco, el SO lo divide en otras unidades de asignación llamadas clusters, son las partes mas pequeñas de un disco rígido lógico. Un cluster puede corresponder con la unidad física sector o puede comprender a varios de ellos.
Sistema de Archivos:
Es una estructura que permite el almacenamiento de información en una partición y también su modificación y recuperación. Veremos las características de algunas FAT que funcionan en Win.
FAT16: ya caída en desuso.
-No permitía particiones de mas de 2 GB.
-Permitía arrancar desde DOS.
-No permite archivos con nombres largos(8 caracteres).
-Los clusters son muy grandes(se desaprovecha la capacidad y el disco esta muy fragmentado).
FAT32: se utilizan en algunas pc.
-Permite particiones de mas de 2Gb.
-No permite arrancar desde DOS.
-Permite nombres de archivos largos.
-Los Clusters son mas pequeños que en FAT16(Por lo tanto no se desaprovechan tantos espacios y no se desfragmenta tanto).
NTFS: (New Technology File System) Sistema de Archivos para nuevas tecnologías, surgió en servidores antes que FAT32 pero luego se extendió a las pc de escritorio.
-Particiones de mas de 2GB.
-No permite arrancar desde DOS.
-Permite nombres de archivo largos.
-Los Clusters son aun mas pequeños que en FAT32(con las consiguientes ventajas).
-Tiene la capacidad de proveer seguridad y protección a los archivos.
Placa Lógica
[Gráfico de la carpeta]
En la placa lógica se pueden identificar distintos componentes electrónicos como:
Flex-Foil: Bus que conecta la placa con la parte mecánica.
Drivers: Controladores del motor.
Controlador Principal de la Placa: Si este circuito electrónico tiene una falla no será reconocido por la BIOS.
Diodos y Capacitores.
La Placa Lógica coordina la mecánica de la unidad y actúa de interfaz entre la información alojada en el DR y el sistema.
Se encarga de manejar el movimiento del eje, el motor, los cabezales, el brazo actuador y también de la transferencia de datos entre el DR y la Placa Madre.
Interfaces para DR(IDE, SCSI, SATA)
La interfaz es la encargada de traducir los datos recibidos de la controladora del disco rígido al formato compatible con el microprocesador y viceversa. Es decir, es un canal de comunicación entre el DR y el procesador a través del bus de sistema.
IDE(Intergrated Drive Electronics – Electrónica Integrada a la Unidad):
En 1986 en busca de Discos Rígidos mas pequeños, mas rápidos, menos costosos, de mas capacidad y de mayor confiabilidad nace la interfaz IDE.
En ese momento existía el standart ST-506, sus grandes desventajas eran que la controladora estaba afuera de la unidad siendo el cable que conectaba la controladora con el DR era mas largo, muy susceptible a los ruidos e interferencias viéndose reducida la velocidad de transferencia de datos como así también la confiabilidad de los mismos.
Ventajas de IDE:
-Menos costoso.
-Mas veloz.
-Mas pequeño.
-Mas confiable.
-Se puede conectar a 2 DR a través del cable IDE de 40 pines.
Desventaja de IDE:
-Se pueden conectar 2 DR pero ningún otro dispositivo.
EIDE(IDE mejorado, Extended IDE):
Ademas de las características del IDE se agrega otro conector en la placa madre por lo que se pueden conectar 4 DR.
prymary: master, slave.
Secondary: master, slave.
Empieza a soportar la Norma ATAPI la cual permite que se conecten periféricos como lectoras de CD o DVD.
SCSI(Small Computer System Interface – Interfaz para sistemas de computación pequeña):
Esta Interfaz agrega un pequeño procesador que permite liberar al microprocesador de alguna subrutinas relacionadas con los DR o con los periféricos conectados a SCSI.
Aparece en 1980 en las computadoras grandes, luego se desplazo a las pc de escritorio cuando Apple incluyo un puerto SCSI en sus maquinas.
Es mas un bus que una simple interfaz, ya que en su tarjeta
adaptadora pueden conectarse hasta 8 periféricos. La controladora esta incluida en la unidad.
La Interfaz SCSI es por si sola una CPU, por lo tanto es capaz de liberar al procesador principal administrando solicitudes de datos, tomar el control y dejar que el micro se encargue de otras tareas. El concepto es el del Chipset DMA, no se si no sera lo mismo o se refiere a algo mas avanzado.
SATA(Serial ATA – Serial Advance Technology Attachmient – Enlace de Tecnología Avanzada Serial):
La interfaz IDE era una interfaz ATA paralela osea “Paralel ATA”(PATA) en este caso SATA es serial.
Las desventajas de IDE frente a las nuevas necesidades de los equipos eran ser paralelo, tener un alto consumo de potencia y tener cables largos. Buscando solucionar esos problemas de velocidad e interferencias(ruidos) se diseña una Interfaz parecida pero Serial.
Las ventajas de esta nueva interfaz SATA:
-Trabaja a menor voltaje(3,3 v.) mientras que IDE(entre 5 y 12 v.)
-Cable punto a punto(no se puede conectar otro dispositivo).
Sobre este punto es importante aclarar que las interfaces anteriores siguen estando y se suman otras como el USB. SATA se utiliza para conectar DR con excelentes resultados.
-Mayor velocidad de transferencia:
SATA I: 150 Mb./s.
SATA II: 300 Mb./s.
........ 600 Mb./s.
Existe un SATA externo, e-SATA a través de los puertos USB y Fireware.
IMPRESORAS(wikipedia.org)
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 un 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.
Además, muchas impresoras modernas permiten la conexión directa de aparatos de multimedia electrónicos como las Memory Sticks o las memory cards, o aparatos de captura de imagen como cámaras digitales y escáneres. También existen aparatos multifunción que constan de impresora, escáner o máquinas de fax en un solo aparato. Una impresora combinada con un escáner puede funcionar básicamente como una fotocopiadora.
Las impresoras suelen diseñarse para realizar trabajos repetitivos de poco volumen, que no requieran virtualmente un tiempo de configuración para conseguir una copia de un determinado documento. Sin embargo, las impresoras son generalmente dispositivos lentos (10 páginas por minuto es considerado rápido), y el coste por página es relativamente alto.
Para trabajos de mayor volumen existen las imprentas, que son máquinas que realizan la misma función que las impresoras pero están diseñadas y optimizadas para realizar trabajos de impresión de gran volumen como sería la impresión de periódicos. Las imprentas son capaces de imprimir cientos de páginas por minuto o más.
Las impresoras han aumentado su calidad y rendimiento, lo que ha permitido que los usuarios puedan realizar en su impresora local trabajos que solían realizarse en tiendas especializadas en impresión.
Impresoras monocromáticas, color o de fotos
Una impresora monocromática sólo puede producir imágenes de un color, usualmente el negro. También puede ser capaz de producir graduaciones de tonos de este color, tal como una escala de grises.
Una impresora a color produce imágenes de múltiples colores, a partir de la combinación simultánea de al menos tres de los siguientes colores fundamentales: el magenta, el cyan y el amarillo. La cantidad depositada en la hoja de cada uno de estos, produce visualmente la sensación de todos los demás. El color negro acompaña y mejora la impresión de diversas tonalidades. Este sistema se conoce con el nombre de Sistema CMYK.
Existen dispositivos profesionales y semiprofesionales, que se utilizan en casas de revelado fotográfico o en el hogar. Estos dispositivos suelen ser conocidos como impresora fotográfica, impresora con calidad fotográfica o bases de impresión fotográfica. Estos dispositivos imprimen en color, produciendo imágenes que imitan el rango de colores y resoluciones de los métodos de revelado fotográfico previos a esta tecnología.
1. Métodos de impresión
Las impresoras son clasificadas por los métodos de impresión subyacentes que emplean; numerosas tecnologías han sido desarrolladas estos años.
La elección del motor de impresión tiene un efecto substancial en los trabajos a los que una impresora esta destinada. Hay diferentes tecnologías que tienen diferentes niveles de calidad de imagen, velocidad de impresión, coste, ruido y además, algunas tecnologías son inapropiadas para ciertos tipos de medios físicos (como papel carbón o transparencias).
Otro aspecto de la tecnología de impresión que es frecuentemente olvidado es la resistencia a la alteración: tinta líquida como de una cabeza de inyección de tinta son absorbidos por las fibras del papel, y por eso los documentos impresos con tinta líquida son más difíciles de alterar que los que están impresos por toner o tinta sólida, que no penetran por debajo de la superficie del papel.
1.1 Toner:
Las impresoras de láser e impresoras térmicas utilizan este método para adherir tóner al medio. Trabajan utilizando el principio Xerografía que está funcionando en la mayoría de las fotocopiadoras: adhiriendo tóner a un tambor de impresión sensible a la luz, y utilizando electricidad estática para transferir el tóner al medio de impresión al cual se une gracias al calor y la presión.
Las impresoras láser son conocidas por su impresión de alta calidad, buena velocidad de impresión y su bajo coste por copia; son las impresoras más comunes para muchas de las aplicaciones de oficina de propósito general. Son menos utilizadas por el consumidor generalmente debido a su alto coste inicial. Las impresoras láser están disponibles tanto en color como en monocromo.
El advenimiento de láseres de precisión a precio razonable ha hecho a la impresora monocromática basada en tóner dominante en aplicaciones para la oficina.
Otro tipo de impresora basada en tóner es la impresora LED la cual utiliza una colección de LEDs en lugar de láser para causar la adhesión del tóner al tambor de impresión.
El tóner (del inglés, toner), también denominado tinta seca por analogía funcional con la tinta, es un polvo fino, normalmente de color negro, que se deposita en el papel que se pretende imprimir por medio de atracción electrostática.
Una vez adherido el pigmento, éste se fija en el papel por medio de presión o calor adecuados.
Debido a que en el proceso no intervienen diluyentes, originalmente se ha denominado Xerografía, del griego xeros que significa seco.
1.2 Inyección de tinta (Ink Jet):
Las impresoras de inyección de tinta (Ink Jet) rocían hacia el medio cantidades muy pequeñas de tinta, usualmente unos pico litros. Para aplicaciones de color incluyendo impresión de fotos, los métodos de chorro de tinta son los dominantes, ya que las impresoras de alta calidad son poco costosas de producir. Virtualmente todas las impresoras de inyección son dispositivos a color; algunas, conocidas como impresoras fotográficas, incluyen pigmentos extra para una mejor reproducción de la gama de colores necesaria para la impresión de fotografías de alta calidad (y son adicionalmente capaces de imprimir en papel fotográfico, en contraposición al papel normal de oficina).
Las impresoras de inyección de tinta consisten en inyectores que producen burbujas muy pequeñas de tinta que se convierten en pequeñísimas gotitas de tinta. Los puntos formados son el tamaño de los pequeños pixels. Las impresoras de inyección pueden imprimir textos y gráficos de alta calidad de manera casi silenciosa.
Existen dos métodos para inyectar la tinta:
Método térmico:
Un impulso eléctrico produce un aumento de temperatura (aprox. 480ºC durante microsegundos) que hace hervir una pequeña cantidad de tinta dentro de una cámara formando una burbuja de vapor que fuerza su salida por los inyectores. Al salir al exterior, este vapor se condensa y forma una minúscula gota de tinta sobre el papel. Después, el vacío resultante arrastra nueva tinta hacia la cámara. Este método tiene el inconveniente de limitar en gran medida la vida de los inyectores, es por eso que estos inyectores se encuentran en los cartuchos de tinta.
Método piezoeléctrico:
Cada inyector está formado por un elemento piezoeléctrico que, al recibir un impulso eléctrico, cambia de forma aumentando bruscamente la presión en el interior del cabezal provocando la inyección de una partícula de tinta. Su ciclo de inyección es más rápido que el térmico.
Las impresoras de inyección tienen un coste inicial mucho menor que las impresoras láser, pero tienen un coste por copia mucho mayor, ya que la tinta necesita ser repuesta frecuentemente. Las impresoras de inyección son también más lentas que las impresoras láser, además de tener la desventaja de dejar secar las páginas antes de poder ser manipuladas agresivamente; la manipulación prematura puede causar que la tinta (que esta adherida a la página en forma liquida) se mueva.
1.3 Tinta sólida (Solid Ink):
Las impresoras de tinta sólida, también llamadas de cambio de fase, son un tipo de impresora de transferencia termal pero utiliza barras sólidas de tinta a color CMYK (similar en consistencia a la cera de las velas). La tinta se derrite y alimenta una cabeza de impresión operada por un cristal piezoeléctrico (por ejemplo cuarzo). La cabeza distribuye la tinta en un tambor engrasado. El papel entonces pasa sobre el tambor al tiempo que la imagen se transfiere al papel.
Son comúnmente utilizadas como impresoras a color en las oficinas ya que son excelentes imprimiendo transparencias y otros medios no porosos, y pueden conseguir grandes resultados. Los costes de adquisición y utilización son similares a las impresoras láser.
Las desventajas de esta tecnología son el alto consumo energético y los largos periodos de espera (calentamiento) de la maquina. También hay algunos usuarios que se quejan de que la escritura es difícil sobre las impresiones de tinta sólida (la cera tiende a repeler la tinta de los bolígrafos), y son difíciles de alimentar de papel automáticamente, aunque estos rasgos han sido significativamente reducidos en los últimos modelos. Además, este tipo de impresora solo se puede obtener de un único fabricante, Xerox, como parte de su línea de impresoras de oficina Xerox Phaser. Previamente las impresoras de tinta sólida fueron fabricadas por Tektronix, pero vendió su división de impresión a Xerox en el año 2000.
1.4 Impacto (Impact):
Las impresoras de impacto se basan en la fuerza de impacto para transferir tinta al medio, de forma similar a las máquinas de escribir, están típicamente limitadas a reproducir texto. En su momento dominaron la impresión de calidad. Hay dos tipos principales:
Impresora de margarita: llamada así por tener los tipos contenidos radicalmente en una rueda, de ahí su aspecto de una margarita.
Impresora de bola: llamada así por tener todos los tipos contenidos en una esfera. Es el caso de las máquinas de escribir eléctricas IBM Selectric.
1.5 Matriz de puntos (Dot-Matrix):
En el sentido general, muchas impresoras se basan en una matriz de píxeles o puntos que, juntos, forman la imagen más grande. Sin embargo, el término matriz o de puntos se usa específicamente para las impresoras de impacto que utilizan una matriz de pequeños alfileres para crear puntos precisos. Dichas impresoras son conocidas como matriciales. La ventaja de la matriz de puntos sobre otras impresoras de impacto es que estas pueden producir imágenes gráficas además de texto. Sin embargo, el texto es generalmente de calidad más pobre que las impresoras basadas en impacto de tipos.
Algunas sub-clasificaciones de impresoras de matriz de puntos son las impresoras de alambre balístico y las impresoras de energía almacenada.
Las impresoras de matriz de puntos pueden estar basadas bien en caracteres o bien en líneas, refiriéndose a la configuración de la cabeza de impresión.
Las impresoras de matriz de puntos son todavía de uso común para aplicaciones de bajo costo y baja calidad como las cajas registradoras. El hecho de que usen el método de impresión de impacto les permite ser usadas para la impresión de documentos autocopiativos como los recibos de tarjetas de crédito, donde otros métodos de impresión no pueden utilizar este tipo de papel. Las impresoras de matriz de puntos han sido superadas para el uso general en computación.
1.6 Sublimación de tinta (Dye-sublimation o Dye-sub):
Las impresoras de sublimación de tinta emplean un proceso de impresión que utiliza calor para transferir tinta a medios como tarjetas de plástico, papel o lienzos. El proceso consiste usualmente en poner un color cada vez utilizando una cinta que tiene paneles de color. Estas impresoras están principalmente pensadas para aplicaciones de color de alta calidad, incluyendo fotografía a color, y son menos recomendables para texto. Primeramente utilizadas en las copisterías, cada vez más se están dirigiendo a los consumidores de impresoras fotográficas.
2. Velocidad de impresión:
La velocidad de las primeras impresoras se medía en unidad de caracteres por segundo. Las impresoras más modernas son medidas en páginas por minuto. Estas medidas se usan principalmente como una herramienta de marketing y no están bien estandarizadas. Normalmente la medida páginas por minuto se refiere a documentos monocromáticos más que a documentos con dibujos densos que normalmente se imprimen mucho más lento.
3. Controlador de La Impresora:
En informática, un controlador de impresora o driver de impresora es una parte del software que convierte los datos a imprimir al formato específico de una impresora. El propósito de un controlador es permitir a las aplicaciones imprimir dejándoles aparte de los detalles técnicos de cada modelo de impresora.
Los controladores de impresora no deben confundirse con los “spoolers”, que encolan los trabajos a imprimir y los envían a la impresora uno detrás de otro.
En sistemas UNIX, los controladores son usualmente implementados como filtros. Son comúnmente llamados “front end” del sistema de impresión, mientras que los “spoolers” constituyen el “back end”. Los “back end” son también utilizados para determinar los dispositivos disponibles. En el arranque, a cada “back end” se le pregunta por una lista de dispositivos que soporta, y por cualquier información disponible. Esto permite la unión paralela del “back end” con el “spooler”, `por ejemplo, que una EPSON Stylus Color 600 este conectada al puerto paralelo 1.
En MS-DOS, no ha habido controladores de impresión para el sistema ampliamente. Cada aplicación era comercializada con sus propios controladores de impresión, que eran esencialmente descripciones de los comandos de impresión. Las impresoras han proporcionado controladores para las aplicaciones más populares también. En suma a esto, las aplicaciones incluían herramientas para editar la descripción de la impresora, en caso de que no hubiese ninguna controlador listo.
En Windows, los drivers de las impresoras hacen uso de GDI (basado en PostScript) o XPS. Las aplicaciones usan los mismos APIs para imprimir tanto por pantalla como en papel. Las impresoras que usan GDI nativamente son comúnmente llamadas Winprinters y son incompatibles con otros sistemas operativos.
Normalmente, el sistema operativo necesita saber las características de una impresora. Habitualmente esto se lleva a cabo mediante los ficheros PPD (PostScript Printer Description). Tienen la ventaja de ser independientes del sistema y que hay una amplia lista de ellos de libre acceso (Foomatic). Un ejemplo de fichero PPD es el siguiente, que corresponde a las impresoras HP Color LaserJet:
*% =================================
*% Basic Device Capabilities
*% =================================
*LanguageLevel: "2"
*ColorDevice: True
*DefaultColorSpace: CMYK
*TTRasterizer: Type42
*FileSystem: False
*Throughput: "10"
Este ejemplo especifica que la impresora entiende el nivel 2 de PostScript, que es un impresora a color, etc.
En los ficheros PPD también se pueden especificar tamaños de papel disponibles, configuraciones de memoria o el conjunto mínimo de fuentes para la impresora.
RESTO DE LOS PERIFERICOS EN LA CARPETA Y MONOGRAFIAS
0 comentarios:
Publicar un comentario en la entrada