Intel Itanium, antes llamada IA-64 es una arquitectura creada por Intel y Hewlett-Packard para su linea de procesadores Itanium e Itanium2, usa direcciones de 64 bits y se basa en el modelo EPIC(Explicitly Parallel Instruction Computing,Procesamiento de Instrucciones Explicitamente en Paralelo).
Los procesadores Intel Itanium 2 representan el diseño de producto más complejo del mundo con más de 1.700 millones de transistores. Esto permite obtener sólidas capacidades de virtualización, mejorar la confiabilidad y niveles de rendimiento líderes del mercado.
A diferencia de productos de los pocos fabricantesde procesadores RISC que siguen operando, la serie de procesadores Intel Itanium 2 ofrece libertad al usuario final a través de una amplia gama de opciones de software con más de 8.000 aplicaciones en producción. Los servidores y sistemas de cómputo de alto desempeño basados en el procesador Itanium ofrecen soporte de misión crítica para Windows, Linux, Unix y otros sistemas operativos.
Ante la inmensa velocidad de los procesadores que a medida del tiempo se va incrementando, el límite es mayor entre la transferencia de la memoria principal (RAM) y el CPU; ante esto se plantearon soluciones, una incrementar la velocidad de la RAM y otra, quizá la más óptima, agregar un nuevo componente al PC: la memoria caché.
Concepto de caché
La memoria caché es una clase de memoria RAMestática (SRAM) de acceso aleatorio y alta velocidad, situada entre el CPU y la RAM; se presenta de forma temporal y automática para el usuario, que proporciona acceso rápido a los datos de uso más frecuente.
La ubicación de la caché entre el microprocesador y la RAM, hace que sea suficientemente rápida para almacenar y transmitir los datos que el microprocesador necesita recibir casi instantáneamente.
La memoria caché es rápida, unas 5 ó 6 veces más que la DRAM (RAM dinámica), por eso su capacidad es mucho menor. Por eso su precio es elevado, hasta 10 ó 20 veces más que la memoria principal dinámica para la misma cantidad de memoria.
La utilización de la memoria caché se describe a continuación:
Acelerar el procesamiento de las instrucciones de memoria en la CPU.
Los ordenadores tienden a utilizar las mismas instrucciones y (en menor medida), los mismos datos repetidamente, por ello la caché contiene las instrucciones más usadas.
Por lo tanto, a mayor instrucciones y datos la CPU pueda obtener directamente de la memoria caché, tanto más rápido será el funcionamiento del ordenador.
Funcionamiento de la memoria caché
La memoria caché se carga desde la RAM con los datos y/o instrucciones que ha buscado la CPU en las últimas operaciones. La CPU siempre busca primero la información en la caché, lo normal es que va encontrar ahí la mayoría de las veces, con lo que el acceso será muy rápido. Pero si no encuentra la información en la caché, se pierde un tiempo extra en acudir a la RAM y copiar dicha información en la caché para su disponibilidad.
Como estos fallos ocurren con una frecuencia relativamente baja, el rendimiento mejora considerablemente, ya que la CPU accede más veces a la caché que a la RAM. En el siguiente diagrama se describe un proceso cuando la CPU requiere operación de lectura de una instrucción, para ello se presentan dos casos:
Una forma de entender el funcionamiento de la memoria caché consiste en la analogía de un videoclub, equipado con un mostrador y una habitación capaz de almacenar cientos de vídeos. Ante la petición de cada cliente, el dependiente deberá acudir hasta el almacén, buscar la película solicitada, volver al mostrador y entregar la cinta al cliente.
Ante la devolución de una cinta, el dependiente debe caminar hacia el almacén y guardar dicha cinta en el lugar apropiado. Esta forma de trabajo no es nada eficiente, ya que implica demasiados desplazamientos y, por tanto, la atención al cliente es lenta. Suponemos ahora que el dependiente dispone de un pequeño archivador de 20 vídeos sobre el mostrador. Cuando un cliente devuelve una cinta, el dependiente coloca la cinta directamente en el archivador, en lugar de caminar hacia el almacén.
Si se va repitiendo dicho proceso, el dependiente dispondrá continuamente de las veinte últimas películas devueltas en el archivador. Cuando se acerque un cliente y pida una película, el dependiente buscará primero en el archivador, y sólo si no la encuentra allí se desplazará hacia el almacén. Este método funciona, sobre todo porque la mayor parte de las películas devueltas serán las de estreno, que al mismo tiempo son las más solicitadas.
La memoria caché también se puede comparar con el cinturón de herramientas de un trabajador, donde guarda las herramientas y las piezas que se necesitan con mayor frecuencia. En este último ejemplo, la memoria principal es como un cinturón de herramienta portátil y el disco duro es como un camión grande para representarlo así.
Tipos de caché
A parte de la caché con respecto a la memoria RAM, en un PC existen muchos otros sistemas de caché, como:
Memoria RAM como caché: Las unidades de almacenamiento (discos duros, discos flexibles, etc.) y otros muchos periféricos utilizan la memoria RAM como sistema de caché, una zona de la RAM contiene la información que se ha buscado últimamente en dichos dispositivos, de forma que basta con acceder a la RAM para recuperarla.
Disco duro como caché: Se emplea al disco duro como caché a dispositivos aún más lentos (unidades CD-ROM). Estos sistemas de caché suelen estar gobernados mediante software, que se suele integrar en el sistema operativo. La caché de disco almacena direcciones concretas de sectores, almacena una copia del directorio y en algunos casos almacena porciones o extensiones del programa o programas en ejecución.
Los navegadoresWeb utilizan el disco duro como caché, al solicitar una página Web, el navegador acude a Internet y comprueba la fecha de la misma. Si la página no ha sido modificada, se toma directamente del disco duro, con lo que la carga es muy rápida. En caso contrario se descarga desde Internet y se actualiza la caché, con un cierto tiempo de espera. En el caso de los navegadores Web, el uso del disco duro es más que suficiente, ya que es extremadamente más rápido que el acceso a Internet.
Los llamados modos de direccionamiento son las diferentes maneras de especificar en informática un operando dentro de una instrucción (lenguaje ensamblador). Cómo se especifican e interpretan las direcciones de memoria según las instrucciones.
Pueden ser:
Inmediato: En la instrucción está incluido directamente el operando.
ejemplo:MOV A,#17H
Directo: El campo de operando en la instrucción contiene la dirección en memoria donde se encuentra el operando.
ejemplo:MOV A,17H
Indirecto: El campo de operando contiene una dirección de memoria, en la que se encuentra la dirección efectiva del operando.
ejemplo:MOV A,@17H
Absoluto: El campo de operando contiene una dirección en memoria, en la que se encuentra la instrucción.
De registro: Sirve para especificar operandos que están en registros.
ejemplo:MOV A,R0
Indirecto mediante registros: El campo de operando de la instrucción contiene un identificador de registro en el que se encuentra la dirección efectiva del operando.
ejemplo:MOV A,@R0
De desplazamiento: Combina el modo directo e indirecto mediante registros
De pila: Se utiliza cuando el operando está en memoria y en la cabecera de la pila.
En computación, entrada/salida, también abreviado E/S o I/O (del original en inglés input/output), es la colección de interfaces que usan las distintas unidades funcionales (subsistemas) de un sistema de procesamiento de información para comunicarse unas con otras, o las señales (información) enviadas a través de esas interfaces. Las entradas son las señales recibidas por la unidad, mientras que las salidas son las señales enviadas por ésta. El término puede ser usado para describir una acción; "realizar una entrada/salida" se refiere a ejecutar una operación de entrada o de salida. Los dispositivos de E/S los usa una persona u otro sistema para comunicarse con una computadora. De hecho, a los teclados y ratones se los considera dispositivos de entrada de una computadora, mientras que los monitores e impresoras son vistos como dispositivos de salida de una computadora. Los dispositivos típicos para la comunicación entre computadoras realizan las dos operaciones, tanto entrada como salida, y entre otros se encuentran los módems y tarjetas de red.
Es importante notar que la designación de un dispositivo, sea de entrada o de salida, cambia al cambiar la perspectiva desde el que se lo ve. Los teclados y ratones toman como entrada el movimiento físico que el usuario produce como salida y lo convierten a una señal eléctrica que la computadora pueda entender. La salida de estos dispositivos son una entrada para la computadora. De manera análoga, los monitores e impresoras toman como entrada las señales que la computadora produce como salida. Luego, convierten esas señales en representaciones inteligibles que puedan ser interpretadas por el usuario. La interpretación será, por ejemplo, por medio de la vista, que funciona como entrada.
En arquitectura de computadoras, a la combinación de una unidad central de procesamiento (CPU) y memoria principal (aquélla que la CPU puede escribir o leer directamente mediante instrucciones individuales) se la considera el corazón de la computadora y cualquier movimiento de información desde o hacia ese conjunto se lo considera entrada/salida. La CPU y su circuitería complementaria proveen métodos de entrada/salida que se usan en programación de bajo nivel para la implementación de controladores de dispositivos.
Los sistemas operativos y lenguajes de programación de más alto nivel brindan conceptos y primitivas de entrada/salida distintos y más abstractos. Por ejemplo, un sistema operativo brinda aplicativos que manejan el concepto de archivos. El lenguaje de programación C define funciones que les permiten a sus programas realizar E/S a través de streams, es decir, les permiten leer datos desde y escribir datos hacia sus programas.
Una alternativa para las funciones primitivas especiales es la mónada de E/S, que permite que los programas describan su E/S y que las acciones se lleven a cabo fuera del programa. Esto resulta interesante, pues las funciones de E/S introducirían un efecto colateral para cualquier lenguaje de programación, pero ahora una programación puramente funcional resultaría práctica.
Dispositivos de entrada y salida
• Entrada: o Teclado o Ratón o Joystick o Lápiz óptico o Micrófono o Webcam o Escáner o Escáner de código de barras o Pantalla táctil • Salida: o Monitor o Altavoz o Auriculares o Impresora o Plotter o Proyector • Entrada/salida: o Unidades de almacenamiento o CD o DVD o Módem o Fax o USB
En Arquitectura de computadores , el bus es un sistema digital que transfiere datos entre los componentes de un computador o entre computadores. Están formado por cables o pistas en un circuito impreso, dispositivos como resistencias y condensadores además de circuitos integrados.
En los primeros computadores electrónicos, todos los buses eran de tipo paralelo, de manera que la comunicación entre las partes de computador se hacía por medio de cintas o muchas pistas en el circuito impreso, en los cuales cada conductor tiene una función fija y la conexión es sencilla requiriendo únicamente puertos de entrada y de salida para cada dispositivo.
La tendencia en los últimos años es el uso de buses seriales como el USB, Firewire para comunicaciones con periféricos y el reemplazo de buses paralelos para conectar toda clase de dispositivos, incluyendo el microprocesador con el chipset en la propia placa base. Son conexiones con lógica compleja que requieren en algunos casos gran poder de computo en los propios dispositivos, pero que poseen grandes ventajas frente al bus paralelo que es menos inteligente.
Existen diversas especificaciones de bus que definen un conjunto de características mecánicas como conectores, cables y tarjetas, además de protocolos eléctricos y de señales.
Funcionamiento
La función del Bus es la de permitir la conexión lógica entre distintos subsistemas de un sistema digital, enviando datos entre dispositivos de distintos ordenes: desde dentro de los mismos circuitos integrados, hasta equipos digitales completos que forman parte de supercomputadoras.
La mayoría de los buses están basados en conductores metálicos por los cuales se trasmiten señales eléctricas que son enviadas y recibidas con la ayuda de integrados que poseen una interfaz del bus dado y se encargan de manejar las señales y entregarlas como datos útiles. Las señales digitales que se trasmiten son de datos, de direcciones o señales de control.
Los buses definen su capacidad de acuerdo a la frecuencia máxima de envío y al ancho de los datos. Por lo general estos valores son inversamente proporcionales: si se tiene una alta frecuencia, el ancho de datos debe ser pequeño. Esto se debe a que la interferencia entre las señales (crosstalk) y la dificultad de sincronizarlas, crecen con la frecuencia, de manera que un bus con pocas señales es menos susceptible a esos problemas y puede funcionar a alta velocidad.
Todos los buses de computador tiene funciones especiales como las interrupciones y las DMA que permiten que un dispositivo periferico acceda a una CPU o a la memoria usando el minimo de recursos.
Tipos de Bus
Existen dos grandes tipos clasificados por el método de envió de la información: bus paralelo o serial. Hay diferencias en el desempeño y hasta hace unos años se consideraba que el uso apropiado dependía de la longitud física de la conexión: para cortas distancias el bus paralelo,para largas el serial.
Bus paralelo
Es un bus en el cual los datos son enviados por bytes al mismo tiempo, con la ayuda de varias lineas que tienen funciones fijas. La cantidad de datos enviada es bastante grande con una frecuencia moderada y es igual al ancho de los datos por la frecuencia de funcionamiento. En los computadores ha sido usado de manera intensiva, desde el bus del procesador, los buses de discos duros, tarjetas de expansión y de vídeo, hasta las impresoras.
Diagrama de un Bus Backplane como extensión del bus de procesador
El Front Side Bus de los procesadores Intel es un bus de este tipo y como cualquier bus presenta unas funciones en lineas dedicadas:
LasLineas de Dirección son las encargadas de indicar la posición de memoria o el dispositivo con el que se desea establecer comunicación.
Las Lineas de Control son las encargadas de enviar señales de arbitraje entre los dispositivos. Entre las más importantes están las lineas de interrupción, DMA y los indicadores de estado.
Las Lineas de Datos trasmiten los bits, de manera que por lo general un bus tiene un ancho que es potencia de 2.
Un bus paralelo tiene conexiones físicas complejas, pero la lógica es sencilla, que lo hace útil en sistemas con poco poder de computo. En los primeros microcomputadores, el bus era simplemente la extensión del bus del procesador y los demás integrados "escuchan" las linea de direcciones, en espera de recibir instrucciones. En el PC IBM original, el diseño del bus fue determinante a la hora de elegir un procesador con I/O de 8 bits (Intel 8088), sobre uno de 16 (el 8086), porque era posible usar hardware diseñado para otros procesadores, abaratando el producto.
Bus serie
En este los datos son enviados, bit a bit y se reconstruyen por medio de registros o rutinas de software. Está formado por pocos conductores y su ancho de banda depende de la frecuencia. Es usado desde hace menos de 10 años en buses para discos duros, tarjetas de expansión y para el bus del procesador.
Las memorias se clasifican por la forma en que se pueden modificar los datos y por su tecnologia epleada, con respecto a esto las memorias se clasifican en dos grandes grupos:
-Memorias Ram
-Memorias Rom
Memorias Ram(Random Acces Memory)
Son memorias en las que se puede leer y escribir, aun que su nombre no presenta este hecho. Por su tecnología pueden ser de ferritas(ya no estan en uso) o electronicas.
Dentro de las memorias electronicas existen las memorias estaticas(SRAM), las cuales su celula de memoria esta basada en un biestable y tambien estan las memorias dinamicas(DRAM) en las que la celula de memoria es un pequeño condensador cuya carga representa la información almacenada.
Las memorias dinamicas necesitan circuitos adicionales de refresco ya que los condensadores tienen muy poca capacidad y atravez de las fugas la informacion puede perderse. Tambien son de lectura destructiva.
Memorias ROM(Read Only Memory)
Son memorias donde solo se puede leer y pueden ser:
-ROM.- Son programadas por mascaras, cuya información se graba en fabrica y no se puede modificar.
-PROM o ROM.- Es programable una sola vez.
-EPROM(Erasable PROM) o RPROM(Reprogramable PROM).-Su contenido puede borrarse mediante rayo ultravioleta para reprogramarlas.
-EAROM(Electrically Alterable ROM) o EEROM(Electrically erasable ROM).- Son memorias que estan en la frontera entre las RAM y las ROM ya que su informacion puede borrarse por medios electricos, se diferencian de las RAM en que no son volátiles. En ocasiones a este tipo de memorias tambien se las denomina NYRAM(no volátil RAM).
- FLASH.- llamada asi por la velocidad en que puede reprogramarse, utilizan tecnológia de borrado eléctrico al igual que las EEPROM. Las memorias flash pueden borrarse enteras en unos cuantos segundos.
Las memoria ROM se basan en una matriz de diodos cuya union se puede destruir aplicando sobre ella una sobretensión(comprendida entre -12.5 y -40v.). De fábrica la memoria sale con 1's en todas sus posiciones, para grabarlas se rompn las uniones en que se quieren poner 0's. A esta manera de realizar lagrabación se denomina Técnica de los fusibles.
Arquitectura de de la Memoria ROM
La estructura de un CI-ROM esta integrado por 3 partes basicas:
-Decodificador de Renglones
-Arreglo de Registros
-Buffer de Salida
Decodificador de Renglones
El código de dirección aplicado A3, A2, A1, A0, determina que registro será habilitado para colocar su palabra de datos en 8 bits en el canal. Los bits de dirección A1,A0, se alimentan de un decodificador uno de 4 que activa una linea de selección de renglon, y los bits de dirección A3, A2, se alimentan de un segundo decodificador uno de 4 que activa una linea de selección de columna. Solamente un registro estará en el renglón y la columna seleccionados por las entradas de difracción, y estará habilitado.
Arreglo de Registros
Aqui el areglo de registros almacena los datos que han sido programados en la ROM.Cada registro contiene un numero de celdas de memoria que es igual al tamaño de la palabra, es decir, cada registro almacena una palabra de 8 bits.Estos registros disponen de un array de matris cuadrada. Se puede especificar la posicion de cada registro como una ubicada en un renglon y una columna especificos.
Las 8 salidas de datos de cada registro se conectan a un canal de datos interno que corre atraves de todo el circuito. Cada uno de estos esta compuestos de 2 entradas de habilitación; ambas tienen que ser altas a fin de que los cuadros del registro sean colocados en el canal.
Buffer de Salida
El registo habilitado por las entradas de selección coloca el dato que tiene sobre el canal de datos. Los datos entrarán en los buffers de salida los cuales se encargan de transmitirlos hacia las salidas externas siempre y cuando el segmento de codigo(CS) este bajo. Si CS esta en alto, los buffers de salida se encuentran en el estado de impedancia, con lo que D7 hasta D0 estaran flotando.
Arquitectura de la Memoria RAM
La Memoria Ram tiene varios registros los cuales solamente almacena una sola palabra de datpos y tiene una dirección unica. Las rams vienen con distintos capacidades de tamaños de palabra los cuales son los siguientes: 1k, 4k, 8k, 16k, 64k, 128k, 256k, y 1024k, y tamaños de palabra de 1,4 u 8 bits.
La memoria ram se divide en 3 partes basicas:
-Operación de Lectura
-Operación de Escritura
-Terminales Comunes de Entrada/Salida
Operación de Lectura
El código de dirección selecciona un registro del circuito de memoria para leer o escribir. A fin de leer el contenido de registro seleccionado, la entrada lectura/escritura (R/-W)* debe ser un 1. además, la entrada (CS) selección de CI debe ser activada (un 0 de este caso). La combinación de R/-W es igual a 1 y CS es igual a 0 habilita los buffers de salida de manera que el contenido de registro seleccionado aparecerá en las cuatro salidas de datos. R/-W igual a 1 también deshabilita los buffers de entrada de manera que las entradas de datos no afecten la memoria durante la operación de lectura.
Operación de Escritura
Para escribir una nueva palabra de cuatro bits en el registro seleccionado se requiere que R/-W igual a 0 y CS igual 0. esta combinación habilita los buffers de entrada de manera que la palabra de cuatro bits aplicada a las entradas de datos se cargara en el registro seccionado. R/-W igual a 0 también deshabilita los buffers de salida que son de tres estados, de manera que las salidas de datos se encuentran en el estado de alta-z, durante una operación de escritura. La operación de escritura, desde luego, destruye la palabra que antes estaba almacenada en la dirección.
Terminales de Entrada Salida
A fin de conservar terminales en un encapsulado de CI, los fabricantes a menudo combinan los funciones de entradas y salida de datos utilizando terminales comunes de entrada/salida. La entrada R/-W controla la función de estas terminales E/S. Durante una operación de lectura, las terminales de entrada y salida actúan como salida de datos que reproducen el contenido de la localidad de dirección seleccionada. Durante una operación de escritura, las terminales de S/E actúan como entrada de datos. A las cuales se aplican los datos al ser escritos.
El desarrollo de las computadoras se divide en las generaciones siguientes:
*Primera Generacion.
Esta generacion se presentó de 1951 a 1958, empleando la utilización de bulbos para el procesamiento de información. Se utilizaban tarjetas perforadas para la realizacion de programas, el almacenamiento interno se lograba garacias a un tambor que giraba rapidamente(conocido como tambor magnetico) sobre el cual un dispositivo de lectura/escritura colocaba marcas magneticas, el costo era muy elevado que solo las compañias podian hacerse de una computadora.
Generaban mucho calor y eran demasiado grande(ocupaban cuartos completos).Los que contribuyeron a la construcción de las computadoras de primera generacion fueron Eckert y Mauchly.
*Segunda Generación.(1959-1964)
Se creán los transistores permitiendo asi la disminución en tamaño de las computadoras, calentandose menos, el costo seguia siendo muy elevado.
Utilizaban redes de nucleos magnéticos en lugar de tambores giratorios para el almacenamiento primario.Estos nucleos estaban formados por pequeños anillos de materioal magnético enlazados entre si, en donde se podía almacenar datos e instrucciones.
Los lenguajes de programación también mejoraron. El COBOL(Common Busines Oriented Lenguaje) que fue desarrollado durante la primera generación salio a la venta, este lenguaje representa uno de los sistemas operativos con mas avances en cuanto portabilidad de programas entre diferentes computadoras. Es uno de los primeros que se puede ejecutar en diferentes PC's despues del proceso de compilación.
Las computadoras de la segunda generación eranmas pequeñas y mas rápidas que las de bulbos, y tenian nuevas aplicaiones: en lineas aereas para control de tráfico aereo y simulacion de uso general.Las empresas comoenzaron a aplicar las PC's a tareas de almacenamiento de registros,manejo de inventario, nómina y contabilidad.
*Tercera Generacion
Esta generacion surge con la creacion de circuitos integrados(que son pastillas de silicio ) en las cuales existen miles de componentes electronicos en una integracion en miniatura, tambien se reduce el tamaño de las computadoras, eran mas rapidas y desprendian menos calor.
La tercera generación se origino gracias a Jack S. Kelvin de Texas Instrument al descubrir el primer circuito integrado en 1958, asi como al Doctor Robert de Noyce de Fairchild Semicon Ductors por su trabajos que realizaba acerca de los circuitos integrados.
En esta generación surge la multiprogramación, es decir, las computadoras podian hacer dos procesos a la vez. Esto permitio que fueran mas rapidas.
*Cuarta Generación (1971-actualidad)
Carectirazada por la sustitucion de memorias con nucleos magneticos por chips de memoria de silicio y por la colocación de mas componentes electronicos en un Chip. Estos eran de un tamaño muy pequeño por lo tanto fue mas la reducción del tamaño de un computador,dando lugar a las computadoras personales.
En 1971 Intel Corporation Presenta el primer microprocesador de 4 bits, el cual usaba un espacion de 4x5 mm y contenía 2250 transistores.
Los avances tecnologicos se realizaron en muy poco tiempo. En 1977 aparecen las primeras microcomputadoras fabricadas por Radio Shack, Apple Computer y Commodore Bussines Machines. IBM entra al mercado de la microcomputadoras con su Personal Computer de ahi el nombre de PC y lo mas importante se utiliza Sistema Operativo estandarizado, el MS-DOS(Microsoft Disk Operation System).
Las computadoras tienen 5 unidades basicas funcionales que son:
-Unidad de Enatrada.
-Unidad de Salida.
-Unidad de Memoria.
-Unidad Aritmética.
-Unidad de Control.
La comunicación entre estas unidades es llevada a cabo utilizando un lenguaje el cual esta formado por una serie de sentencias las cuales estan definidas por simbolos y reglas.
Existen 3 tipos de lenguajes:
Nemotécnicos
Desarrollados
Universales
Lenguajes Nemotécnicos
Estos lenguajes son propios de cada maquina, son las instrucciones elementales de la PC, como son los de CID-201, IRIS 50, etc.
Lenguajes Desarrollados
Estos tambien son propios de la maquina con la diferencia que estos tienen macroinstrucciones como es el AUTOCODE del Elliot y el LEAL de la CID.
Lenguajes Universales
Estos lenguajes son macroinstrucciones con flexibilidad E/S de la información y necesitan de mucha memoria. Ejemplo de estos Lenguajes son: