viernes, 1 de marzo de 2013

TENDENCIAS DEL FUTURO


AMD BULLDOZER

Arquitectura construida a través de módulos con cuatro de ellos en el caso de los más potentes (los primeros de óctuple núcleo de procesamiento nativo que llegan al mercado de consumo) destinados a ordenadores de sobremesa (gama alta / entusiasta) y fabricados en una pastilla de 315 milímetros cuadrados con dos mil millones de transistores.





  
FUENTE: http://www.muycomputer.com/2011/10/12/todo-sobre-lanzamiento-procesadores-         amd-fx-bulldozer

Sus características principales completas son:

  • Ocho núcleos X86 de procesamiento nativo
  • Frecuencia base de 3,6 GHz
  • Frecuencia base ampliada a 4,2 GHz mediante Turbo Core 2.0
  • 256K caché L1 (64KB por modulo) / 128K data cache L1 (16K por modulo)
  • 8 Mbytes de caché de segundo nivel (2 MB por módulo)
  • 8 Mbytes de caché de tercer nivel (1 MB por núcleo)
  • Controladora de memoria integrada 128 bits (2 x 72 bit)
  • Velocidad del controlador de memoria : 2,2 GHz con Dual Dynamic Power Management
  • Memorias soportadas hasta PC3-14900 (DDR3-1866)
  • Hypertransport 3.0: Un link de 16-bit/16-bit hasta 4,44 GHz full duplex (2.2GHz x2)
  • Socket AM3+ 938-pin
  • Instrucciones SSE3, SSE4.1/4.2, AES, AVX Plus FMA4, XOP
  • Black Edition con multiplicador desbloqueado
  • TDP: 125 vatios
  • Tecnología de fabricación 32 nm DSL SOI (GlobalFoundries, Dresden-Alemania)
  • Precio base recomendado por el fabricante: 245 dólares

 

El más rápido de estos chips se llama FX-8150 y cuenta con una frecuencia básica de 3,6 GHz, una frecuencia máxima alcanzada en modo Turbo de 4,2 GHz, 8 MB de memoria caché de nivel 2 y una potencia de diseño térmico (TDP) de 125W.
El siguiente chip destacado es el FX-8120, que también empaqueta ocho núcleos de procesamiento y otras características similares, pero se ejecuta a 3,1 GHz (4 GHz en modo Turbo).
El modelo FX-8120 será el único procesador AMD de la serie FX que estará disponible en dos modelos diferentes, uno con una TDP de 125W y otro con TDP de 95W.
El modelo de seis núcleos, FX-6100, tiene una frecuencia de reloj básica de 3,3 GHz y cuenta con una memoria caché L2 de 6 MB, mientras que la frecuencia máxima en modo Turbo será de 3,9 GHz (según un documento que apareció a mediados de julio).
La cantidad de memoria caché de nivel 2 se reduce aún más al llegar al procesador FX-4100 de cuatro núcleos, que funciona a 3,6 GHz y puede llegar a 3,8 GHz cuando la tecnología Turbo Core está habilitada.
Todos los procesadores detallados se basan en el núcleo AMD Zambezi de 32nm, proporcionan 8 MB de memoria caché L3 compartida, un controlador de memoria DDR3 1866MHz de doble canal, un multiplicador desbloqueado y son compatibles con todas las placas base AM3+.

TABLA DE CARACTERISTICAS DE AMD


FUENTE: http://news.softpedia.es/Las-especificaciones-de-las-CPUs-AMD-Bulldozer-FX-filtradas-accidentalmente-por-Gigabyte-220451.html


INTEL CORE I7

Construído a 45 nm., es el primer procesador del Intel en conseguir poner cuatro y ocho procesadores integrados de forma nativa compartiendo una misma memoria caché y procesador de instrucciones. Asímismo vuelve la tecnología hyperthreading ya utlizada en el Pentium 4, por lo el sistema operativo nos reportaría 16 procesadores si tuvierámos instalado el Intel Core i7 Octo. Además el controlador de memoria va integrado dentro del propio procesador con la nueva tecnología QuickPath, algo a lo que AMD ya nos tiene acostumbrados desde hace bastante tiempo con su tecnología HyperTransport.

Memoria Caché Compartida de Alto-Nivel.

Mejoras en la memoria caché con una nueva arqitectura de tres niveles: la caché L1 con 32 Kb. de caché para intrucciones y otros 32 Kb para caché de datos; nueva caché L2 por núcleo de latencia muy baja con 256 Kb por núcleo para datos e instrucciones; y una nueva caché L3 compartida por todos los núcleos y con diferentes configuraciones en Mb. según el tipo de procesador, 8 Mb en el caso de un Core i7 con cuatro núcelos, aunque con el tiempo se irá ampliando esta memoria caché compartida.

Intel QuickPath

El procesador Intel Core i7 lleva integrado el controlador de memoria dentro del propio procesador. La tecnología Intel QuickPath Interconnect, es una tecnología de interconexión con el procesador punto a punto desarrollada por Intel en competencia con la tecnología HyperTransport de AMD


Carecteristicas Procesador Intel Core i7  Bloomfield  45 nm

Core i7-920 Core i7-930 Core i7-940 Core i7-950 Core i7-960 Core i7-965 Extreme Edition Core i7-975 Extreme Edition

  • Basado en la microarquitectura Nehalem .
  • Todos los modelos soportan: MMX , SSE , SSE2 , SSE3 , SSSE3 , SSE4.1 , SSE4.2 ,  Smart Cache.
  • FSB ha sido sustituido por QPI .
  • Tecnología Intel® Turbo Boost
  • Tecnología Intel® Hyper-Threading
  • Tecnología de virtualización Intel® (VT-x)
  • Intel® 64
  • Estados de inactividad
  • Tecnología Intel SpeedStep® mejorada
  • Bit de desactivación de ejecución
  • Cantidad de canales de memoria 3
 TABLA DE CARACTERISTICAS DE INTEL



FUENTE: http://www.nisfe.com/hardware/caracteristicas-procesadores-intel-core-i7-de-escritorio/

A CONTINUACION UN VIDEO DE QUE NOS MUESTRA LAS DIFERENCIAS ENTRE BULLDOZER E I7


BIBLIOGRAFIA

http://www.nisfe.com/hardware/caracteristicas-procesadores-intel-core-i7-de-escritorio/
http://www.slideshare.net/alemar802/core-i7-caracteristicas-ventajas-y-desventajas
http://infomicros.wordpress.com/2008/08/12/intelcorei7/
http://hardzone.es/2012/07/05/amd-vs-intel-los-procesadores-core-i7-3770k-y-amd-fx-8150-se-enfrentan-a-4-6ghz/
http://hardzone.es/2012/07/05/amd-vs-intel-los-procesadores-core-i7-3770k-y-amd-fx-8150-se-enfrentan-a-4-6ghz/
http://news.softpedia.es/Las-especificaciones-de-las-CPUs-AMD-Bulldozer-FX-filtradas-accidentalmente-por-Gigabyte-220451.html

sábado, 23 de febrero de 2013

EJEMPLOS MULTIPROCESADORES


Multiprocesadores con Memoria Compartida (MMC).- En los MMC, la memoria se organiza en uno o varios modulos, compartidos por todos los procesadores a través de distintos tipos de interconexión, con un acceso constante. A este tipo de arquitectura se le conoce como UMA (Uniform Memory Access).
El acceso a los modulos por parte de los procesadores se realiza en paralelo, pero cada modulo solamente puede atender una petición en cada instante de tiempo.

Caracteristicas: Las principales caracteristicas de los MMC son:
- Tiempos de acceso a memoria uniformes, ya que todos los procesadores se encuentran igualmente comunicados con la memoria principal.
- Las lecturas y escrituras de cada uno de los procesadores tienen exactamente las mismas latencias.
- La programacion es mucho mas facil que en los MMD, debido a que la gestión de la memoria de cada modulo es transparente para el programador.
- Al acceder simultáneamente a la memoria se producen colisiones y esperas, lo cual es un problema.
- Debido a la organización de la arquitectura, es poco escalable en numero de procesadores, debido a que puede surgir un cuello de botella si se aumenta el numero de CPU's.


Ejemplos:
- IBM 370: Para multiprogramación.
- Intel X86: Para cualquier instrucción (de acceso a memoria).
- SPARC (RISC): Operaciones atómicas registro-memoria.
- MIPS, PowerPC, Alpha: Para pareja de instrucciones.


Memoria Distribuida.- Estas tienen su propia memoria local, la informacion se comparte a traves de mensajes (paso de mensajes).
Esta directamente relacionado con procesamiento paralelo masivo (mpp), donde multiples procesadores trabajan en diferentes partes de un programa, donde cada bloque podra tener su propio sistema operativo y memoria, esta arquitectura se emplea en arreglos tipo cluster.

Caracteristicas: Sus caracteristicas son:
- Alta escalabilidad, se puede agregar memoria y procesador a medida que crece la demanda de recursos.
- Accesos a memoria lentos debido a que existe trafico en el bus de conexión.
- Programación Complicada.




Multiprocesadores con Memoria Distribuida Compartida (MMD).- Este tipo de multiprocesadores distribuye la memoria de manera propia y esta conectado mediante una red de interconexion al resto de procesadores. De esta manera, cada procesador podra acceder tanto a su memoria local, como a la memoria remota de cualquiera del resto de procesadores. Este tipo de arquitectura se denomina NUMA (Non-Uniform Memory Access).

Caracteristicas: Las caracteristicas de los MMD son:
- Cada procesador tiene su memoria.
- La comunicación se realiza por intercambio explicito de mensajes a través de una red.


Ejemplos:








jueves, 21 de febrero de 2013

Pipeline, Load/Store, Microprocesador Sparc



TUBERIAS RISC (RISC PIPELINE)




En la historia del hardware de computadora, algunos procesadores RISC usaban una solucion arquitectonica, ahora llamada Risc Pipeline clasico. Esos CPUs eran: MIPS, SPARC, Motorola 88000 y luego DLX.

Cada uno de estos diseños escalares RISC buscaron e intentaron ejecutar una instruccion por ciclo. El concepto principal comun de cada diseño era una ejecucion de 5 etapas de instrucciones de tuberia. Durante la operacion, cada fase de tuberia podria trabajar en una instruccion a la vez.

Cada una de estas fases consisitia de un set inicial de flip-flops y logica combinacional que operaba en las salidas de estos flops.

Las 5 etapas Risc Pipeline



Busqueda de instruccion


La cache de instrucciones en estas maquinas tenia una latencia de un ciclo. Durante la etapa de busqueda de instruccion, una instruccion de 32 bits era buscada desde la cache.
El predictor de la PC envia el contador de programa a la cache de instrucciones para leer la posicion actual. Al mismo tiempo, se predice la direccion de la siguiente instruccion incrementando el contador en 4 (todas las instrucciones tenian 4 bytes de largo). Esta prediccion siempre estaba equivocada en el caso de tomar una rama, saltar o en el caso de una excepcion. Las proximas maquinas usarian algoritmos mas complicados y precisos para adivinar la siguiente direccion de instruccion.

Decodificación


A diferencia de maquinas con microcodigos mas tempranas, la primera maquina RISC no tenia microcodigo. Una vez realizada la busqueda de la cache de instrucciones, los bits de las instrucciones eran desplazadas hacia abajo en la tuberia (pipeline), para que la logica combinacional simple pueda producir, en cada fase de la tuberia, el control de señales para la direccion de datos directamente desde los bits de instrucciones. Como resultado se realiza muy poca decodificación en el estado tradicionalmente llamado fase de decodificación.
Todas las instrucciones MIPS, SPARC y DLX tienen 2 registros de entrada como maximo. Durante la fase de decodificación estos dos nombres de registro son identificados dentro de las instrucciones, y los dos registros nombrados son relidos desde el archivo de registro. En el diseño MIPS, el archivo de registros tenia 32 entradas.
Al mismo tiempo que el archivo de registros era leido, una instruccion logica en esta fase determinaba si la tuberia estaba lista para ejecutar la instruccion en esta fase. Si no lo estaba, la instruccion logica podia causar que las dos fases, la de busqueda y la de decodificacion, se detengan. En un ciclo detenido, las fases podian prevenir a sus flops iniciales de aceptar nuevos bits.
Si la instruccion decodificada era una rama o un salto, la direccion apuntada de la rama o salto era computada en paralelo con la lectura del archivo de registros. El predictor de la PC en la primera fase es asignado al objetivo de la rama en lugar que la direccion incrementada que habia sido computada.

Ejecución


Las instrucciones en estas maquinas RISC simples, podian ser divididas en tres clases de latencia segun el tipo de operación:
- Registro de operacion de registro (Latencia de un solo ciclo): Suma, resta, comparación y operaciones logicas. Durante la etapa de ejecucion, los dos argumentos eran direccionados a una ALU simple, que generaba el resultado al final de la fase de ejecución.
- Memoria de referencia (Latencia de dos ciclos). Todas las cargas de la memoria. Durante la etapa de ejecución, la ALU combinaba los dos argumentos (un registro y una compensación constante) para producir una direccion virtual al final del ciclo.
- Instrucciones multi ciclo (Muchos ciclos de latencia). Integrales, multiplicaciones, divisiones y todas las operaciones de punto flotante. Durante la etapa de ejecución, los operandos de estas operaciones fueron enviadas a la unidad de multi-ciclos de multiplicar/dividir. El resto de la tuberia estaba libre para continuar con la ejecución mientras la unidad de multiplicacion/division hacia su trabajo. Para evitar complicaciones a la fase de reescritura, las instrucciones multiciclo escribian sus resultados en un set de registros separado.

Acceso a Memoria


Durante esta etapa, las instrucciones simples de un ciclo de latencia tenian sus resultados dirigidos a la siguiente etapa. Este dirigimiento asegura que las instrucciones de un ciclo y de dos ciclos siempre escriban sus resultados en la misma etapa de la tuberia, asi que solo un puerto de escritura al archivo de registros podia ser usado y este siempre disponible.

Reescritura


Durante esta etapa, las instrucciones de uno y dos ciclos escriben sus resultandos en el archivo de registros.

Riesgos


Hennessy y Patterson acuñaron el termino "riesgo" para situaciones en las cuales una tuberia completamente trivial podia producir respuestas equivocadas.

Riesgos Estructurales


Estos suceden cuando dos instrucciones podrian tratar de usar los mismos recursos al mismo tiempo. Las tuberias clasicas de RISC evitaban estos riesgos replicando hardware. En particular, instrucciones de rama podian haber usado la ALU para computar la direccion apuntada de la rama. Si la ALU era usada en la etapa de decodificación para ese proposito, una instruccion ALU seguida por una rama podrian haber intentado usar la ALU simultaneamente. Es facil resolver este conflicto diseñando un acumulador de objetivos de rama en la fase de decodificación.

Riesgos de Datos


Estos ocurren cuando una instruccion, ciegamente programada, intentaria usar un dato antes que el dato este disponible en el archivo de registros.
Los riesgos de datos son evitados por cualquiera de las siguientes dos maneras:
- Solucion A, Pasar por alto.
- Solucion B, Entrelazado de tuberias.


ARQUITECTURA LOAD/STORE


En ingenieria de computadoras, una arquitectura load/store, solo permite que la memoria sea accedida por operaciones de carga y almacenamiento, y todos los valores para una operacion sean cargados de la memoria y esten presentes en registros. Siguiendo la operación, el resultado necesita ser almacenado de nuevo en la memoria.
Por ejemplo, en un enfoque de load/sotre, ambos operadores para una operacion de suma deben estar en registros. Esto difiere de una arquitectura de registro-memoria en que uno de los operadores de la suma podria estar en la memoria, mientras que el otro esta en un registro.
El anterior ejemplo de una arquitectura load/store fue el de CDC 6600. Casi todos los procesadores vector usaban el enfoque load/store.
Sistemas RISC como PowerPc, SPARC, ARM o MIPS usan la arquitectura load/store.


PROCESADORES SPARC


SPARC es una arquitectura con un conjunto de instrucciones reducidas.
Fue originalmente diseñada por Sun Microsystems y dirigido por el ingeniero Kaa en 1985, se basa en los diseños RISC I y II de la Universidad de California en Berkeley que fueron definidos entre los años 1980 y 1982.
La empresa Sun Microsystems diseñó esta arquitectura y la licenció a otros fabricantes como Texas Instruments, Cypress Semiconductor, Fujitsu, LSI Logic entre otros.
SPARC es la primera arquitectura RISC abierta y como tal, las especificaciones de diseño están publicadas, así otros fabricantes de microprocesadores pueden desarrollar su propio diseño.
Una de las ideas innovadoras de esta arquitectura es la ventana de registros que permite hacer fácilmente compiladores de alto rendimiento y una significativa reducción de memoria en las instrucciones load/store en relación con otras arquitecturas RISC. Las ventajas se aprecian sobre todo en programas grandes.
La cpu SPARC esta compuesta de una unidad entera, UI (Integer Unit) que procesa la ejecución básica y una FPU (Floating-Point Unit) que ejecuta las operaciones y cálculos de reales. La IU y la FPU pueden o no estar integradas en el mismo chip.
Aunque no es una parte formal de la arquitectura, las computadoras basadas en sistemas SPARC de Sun Microsystems tienen una unidad de manejo de memoria (MMU) y un gran caché de direcciones virtuales (para instrucciones y datos) que están dispuestos periféricamente sobre un bus de datos y direcciones de 32 bits.

martes, 4 de diciembre de 2012

MIPS

MIPS

Con el nombre de MIPS (siglas de Microprocessor without Interlocked Pipeline Stages) se conoce a toda una familia de microprocesadores de arquitectura RISC desarrollados por MIPS Technologies.


La familia de procesadores MIPS hizo su aparicion a mediados de los años ochenta. Desde entonces se han comercializado diversos procesadores de esta familia que se caracterizan por ser procesadores sencillos y potentes de tipo RISC. El primer procesador de la familia fue el MIPS R2000 que aparecio en 1985. Desde entonces han aparecido distintos modelos tanto de 32 como de 64 bits. En 1999, MIPS formalizo dos modelos de arquitectura: MIPS32 para 32 bits y MIPS64 para 64 bits.
En la actualidad muchos dispositivos empotrados utilizan procesadores MIPS. Ademas, estos procesadores han tenido mucho exito en la industria de las consolas de juegos (Ningento 64, Sony PlayStation, Sony PlayStation 2 y Sony PSP).


Historia


En 1981, un equipo liderado por John L. Hennessy en la Universidad de Stanford comenzó a trabajar en lo que se convertiría en el primer procesador MIPS. La idea básica era mejorar drásticamente el rendimiento mediante el uso de la segmentación, una técnica que ya era entonces muy conocida pero también difícil de implementar. Su funcionamiento puede resumirse en que la ejecución de una instrucción es dividida en varias etapas, comenzando la "etapa 1" de una instrucción antes de que haya finalizado la ejecución de la instrucción anterior. En contraste, los diseños tradicionales esperaban la finalización por completo de una instrucción antes de pasar a la siguiente, de modo que grandes áreas de la CPU permanecían inactivas mientras el proceso continuaba. Además, la frecuencia de reloj de toda la CPU venía dictada por la latencia del ciclo completo, en lugar de por el llamado camino crítico, latencia de la etapa de segmentación que más tarda en completarse.
Otra de las grandes barreras a superar por la segmentación era la necesidad de introducir bloqueos para poder asegurarse de que las instrucciones que necesitan varios ciclos de reloj para completarse dejan de cargar datos desde los registros de segmentación. Estos bloqueos pueden durar cantidades de tiempo considerables, y suponían una gran barrera a mejoras de velocidad posteriores. Por ello, uno de los principales aspectos del diseño del MIPS fue el marcarse como objetivo que todas las subfases (incluyendo el acceso a memoria) de todas las instrucciones tardasen un único ciclo en completarse, dejando así de ser necesarios los bloqueos, y permitiendo un rendimiento de un solo ciclo.
Aunque esta idea de diseño eliminó numerosas instrucciones útiles, destacando el hecho de que la multiplicación y la división necesitarían varias instrucciones, en conjunto se sabía que el rendimiento general del sistema sería drásticamente mejorado al poder funcionar los chips a frecuencias mucho mayores. Este ascenso de la velocidad sería difícil con la intervención de los bloqueos, pues el tiempo necesario es función del tamaño del chip y de la frecuencia de reloj: añadir el hardware necesario para evitarlos reduciría notablemente la velocidad del sistema.
La eliminación de estas instrucciones se convirtió en un tema polémico. Muchos observadores afirmaron que ese diseño (y los procesadores RISC en general) nunca superaría sus ambiciosas expectativas ("Si uno sencillamente sustituye la instrucción compleja de multiplicación por una simple serie de sumas, ¿dónde se produce el incremento de velocidad?"). Este análisis tan simplista ignoraba el hecho de que la velocidad del diseño residía en la segmentación, no en las instrucciones.
En 1984 Hennessy se convenció del futuro potencial comercial del diseño, dejando Stanford para formar MIPS Computer Systems. La empresa presentó su primer diseño, el R2000, en 1985, siendo mejorado con el R3000 de 1988. Estas CPU's de 32 bits fueron la base de la compañía durante los 80, y fueron empleadas principalmente en algunas series de workstations de SGI. Estos diseños comerciales se diferenciaron de los de investigación académica de Stanford en aspectos como la implementación de la mayoría de los bloqueos con hardware y el proporcionar instrucciones completas para la multiplicación y la división, entre otros.
En 1991 MIPS presentó su primer procesador de 64 bits, el R4000. Sin embargo, MIPS tuvo dificultades financieras en su lanzamiento al mercado. El diseño era tan importante para SGI, entonces uno de los pocos grandes clientes de MIPS, que en 1992 compró sin recelo alguno la compañía para evitar que se perdiera el diseño. Como subsidiaria de SGI, la compañía pasó a llamarse MIPS Technologies.
A principios de los 90 MIPS comenzó a otorgar licencias de sus diseños a terceros. Esto probó con justo éxito la simplicidad del núcleo, algo que le permitía ser empleado en numerosas aplicaciones que anteriormente utilizaban diseños CISC mucho menos capaces y de precio y número de puertas similares (comentar que ambas magnitudes están estrechamente relacionadas; el precio de una CPU está generalmente relacionado con el número de puertas y pins externos). Sun Microsystems intentó subirse al carro otorgando licencias de su núcleo SPARC, pero ni llegó a rozar el éxito del MIPS. A finales de los 90 MIPS tenía un caballo de batalla en los procesadores integrados, y en 1997 fue entregado el procesador MIPS 48 millones, convirtiéndose en la primera CPU RISC en desbancar a la famosa familia 68k de Motorola. La familia MIPS tuvo tanto éxito que SGI relanzó a MIPS Technologies en 1998. Más de la mitad de los ingresos de MIPS actualmente proceden de las concesiones de licencias, mientras que gran parte del resto procede de contratos de diseño de núcleos para ser fabricados por terceros.
En 1999 MIPS consolidó su sistema de licencias alrededor de dos diseños básicos, el MIPS32 de 32 bits y el MIPS64 de 64 bits. NEC, Toshiba y SiByte (posteriormente adquirida por Broadcom) obtuvieron licencias para el MIPS64 tan pronto como este procesador fue anunciado; a estas empresas les siguieron otras como Philips, LSI Logic e IDT. Los éxitos se sucedieron, y actualmente los núcleos MIPS son uno de los pesos pesados del mercado de dispositivos como los ordenadores de mano o decodificadores y sintonizadoras de TV. Un indicio de su éxito es el hecho de que Freescale (filial de Motorola) utilice procesadores MIPS en sus aparatos, en lugar de otros propios basados en el PowerPC.
Desde que la arquitectura MIPS es licenciable, ha atraído a numerosas compañías jóvenes a lo largo de los años. Una de las primeras nuevas compañías en diseñar procesadores MIPS fue Quantum Effect Devices. El equipo de diseño de MIPS encargado del R4300 fundó SandCraft, que diseñó el R5432 para NEC y posteriormente el SR7100, uno de los primeros procesadores basados en ejecución fuera de orden para sistemas embebidos. El equipo original de diseño del DEC StrongARM finalmente se dividió en dos compañías MIPS: SiByte, fabricante del SB-1250, uno de los primeros sistemas de chip único de alto rendimiento basados en el MIPS; y Alchemy Semiconductor (más tarde comprada por AMD), que fabricaba el sistema de chip único Au-1000 para aplicaciones poco exigentes. Lexra utilizó arquitectura pseudo-MIPS y añadió extensiones DSP para el mercado de los chips de audio y soporte multithreading para el mercado de redes. Debido a que Lexra no era concesionaria de ninguna licencia MIPS, dos pleitos fueron abiertos entre ambas empresas. El primero se resolvió rápidamente al prometer Lexra no seguir anunciando sus procesadores como MIPS-compatibles. El segundo fue largo y dañó los intereses de ambas compañías, terminando con la concesión por parte de MIPS de una licencia gratuita a Lexra, así como el pago de una gran cantidad de dinero.

La arquitectura MIPS32

MIPS32 es un modelo de arquitectura implementado por diversos modelos de procesador. Un procesador conforme a la arquitectura MIPS32 esta formado por un procesador principal y puede tener hasta cuatro coprocesadores: 
- El coprocesador 0 ofrece funcionalidades de apoyo al sistema de memoria asi como a la gestion de excepciones.
- El coprocesador 1 esta reservado para la unidad de coma flotando (FPU o floating point unit).
- Los coprocesadores 2 y 3 estan reservados para extensiones especificas.

El simulador spim ofrece una implementacion parcial del coprocesador 0, asi como la implementacion del coprocesador 1, dejando sin implementar los coprocesadores 2 y 3.

Banco de registros

La arquitectura MIPS32 define un banco de registros generales de 32 registros de 4 bytes. De ellos, uno es un registro de solo lectura que mantiene siempre el valor cero, y el resto son registros de lectura y escritura. El listado completo de registros puede consultar el Apendice A. Los convenios de programacion MIPS asignan usos especificos a cada uno de ellos. Estos son los siguientes.
- El registro $zero tiene cableado el valor numerico cero.
- Los registros $a0, $a1, $a2, $a3 se utilizan para pasar parametros a subrutinas. No se garantiza que sus valores se preserven entre llamadas.
- Los registros $v0 y $v1 se utilizan para devolver valores de subrutinas.
- El registro $ra contiene la direccion de retorno y se utiliza para volver despues de una llamada a subrutina.
- Los registros $s0, $s1, $s2, $s3, $s4, $s5, $s6 y $s7 son registros salvados. Esto quiere decir que si una subrutina modifica su valor, debe guardar su valor anterior y restaurarlo posteriormente.
- Los registros $t0, $t1, $t2, $t3, $t4, $t5, $t6, $t7, $t8 y $t9 son registros temporales. Es decir, no hay garantia de que una subrutina no vaya a modificar su valor.
- El registro $gp contiene el puntero global.
- Los registros $k0 y $k1 estan reservados para s uso por el nucleo del sistema operativo.

Existen dos formas de hacer referencia a un registro, por su nombre simbolico o por su numero de registro. De este modo el registro $a0 tambien puede referenciarse como registro $4. No obstante, a la hora de escribir un programa en ensamblador, se prefiere el uso de nombres simbolicos.
Ademas de los registros generales, existen tres registros especiales de 32 bits.
- pc. Es el registro contador de programa, que almacena la direccion de la siguiente instruccion a ejecutar.
- hi y lo. Son un par de registros que almacenan el resultado de operaciones de multiplicacion o division que generan resultados de 64 bits. En el registro hi se almacena la parte alta del resultado y en el registro lo se almacena la parte baja.

Modelo de memoria.

Un aspecto importante en cualquier procesador con un ancho de palabra superior a 1 byte es el ordenamiento de los bytes dentro de una palabra. Dicho ordenamiento puede tomar dos alternativas: big endian o little endian. La figura muestra las diferencias entre los dos tipos de ordenamiento.



El simulador spim no usa el ordenamiento real del procesador MIPS. En vez de ellos, y por motivos de implementacion, toma el ordenamiento de la maquina en la que se ejecuta.
En cuanto al direccionamiento de la memoria, este se realiza por bytes. Esto quiere decir que las direcciones de memoria de dos palabras consecutivas estaran separadas en 4 unidades (ya que las palabras son de 4 bytes). No obstante, debe tenerse en cuenta que la mayor parte de las instrucciones que acceden a memoria lo hacen de forma alineada, por lo que la direccion a la que se accede debe ser multiplo de 4.

Las direcciones validas de un proceso van desde la direccion 0x00400000 hasta la direccion 0x7fffefff.
Las direcciones inferiores y superiores a este rango quedan reservadas para el nucleo del sistema operativo. Esto incluye una region de 4 MB en la parte inferior y los 2 GB superiores de la memoria.
Tal y como puede observarse en la siguiente figura, el espacio de memoria utilizable por un programa de usuario es algo menor de 2 GB.




Instrucciones del MIPS

El conjunto de instrucciones permite realizar instrucciones de carga y almacenamiento desde y hacia memoria, tiene capacidad de desarrollar programas que resuelven problemas aritmeticos y logicos, y ofrece la posibilidad de controlar el flujo de la ejecucion del programa mediante instrucciones de comparaciones y salto. En este ultimo caso dispone de instrucciones de salto tanto condicional como incondicional. Una breve clasificacion seria:
- Instrucciones aritmeticas.
- Instrucciones logicas.
- Instrucciones de salto incondicional.

Todas las instrucciones del MIPS R2000 tienen el mismo tamaño (32 bits). Se pueden clasificar en funcion de los elementos que utilizan. Cada uno de los componentes que utiliza la instruccion se debe especificar en una serie de bits. Los distintos tipos de instrucciones constan de diferentes tamaños para los espacios reservados para esos bits es decir, utilizan diferentes formatos para codificar sus campos.

En el caso del MIPS R2000 se distinguen tres tipos de formatos de instruccion:
- Formato R o tipo registro.
- Formato I o de tipo inmediato.
- Formato J o de salto incondicional.





sábado, 10 de noviembre de 2012

Memorias

Introducción

Ninguna computadora seria funcional si esta no pudiera almacenar los datos que necesitemos aun cuando apaguemos el sistema.
El almacenamiento es guardar datos que la computadora no este usando. Tiene tres ventajas sobre la memoria:
1. Hay más espacio en almacenamiento que en memoria.
2. El almacenamiento retiene su contenido cuando se apaga el computador.
3. El almacenamiento es más barato que la memoria.

La manera mas común de almacenar datos es en un disco magnético. Dicho disco esta contenido en una unidad de disco (drive). La mayoria de las computadoras personales tienen un disco duro no removible. Pero cuentan con una o dos unidades de disco flexible, las cuales le permiten usar discos flexibles removibles. El disco duro puede guardar mucho mas datos que los discos flexibles y por esta razon el disco duro es el dispositivo por excelencia para el almacenamiento de datos. Los discos flexibles pueden ser usados para cargar nuevos programas o datos al disco duro, además sirven para intercambiar datos con otros usuarios o para realizar una copia de respaldo de los datos del disco duro.

Las computadoras pueden leer y escribir datos en un disco duro de forma mas rapida que la que pueden leer y escribir datos en un disco flexible. Esto se debe a que el disco duro esta construido con materiales mas pesados, tiene una velocidad giratoria mas alta que un disco flexible y además esta sellado dentro de una camara de aire, por lo tanto las particulas de polvo no pueden entrar en contacto con los cabezales.

La capacidad de registrar una cadena de caracteres o de instrucciones y de volver a incorporarlo en determinado proceso o ejecutarlo bajo ciertas circunstancias se denomina memorización.

El computador dispone de varios dispositivos de memorización:
- Memoria ROM.
- Memoria RAM.
- Memorias externas.
- Acumulador.

La principal memoria externa es el disco duro, conformado por un aparato independiente, que contiene un conjunto de placas de plástico magnetizado apto para registrar la grabacion de los datos que constituyen los archivos y sistemas de programas. Estos discos giran a gran velocidad impulsados por un motor y es recorrido por un conjunto de brazos que leen sus registros. Tambien contiene un circuito electronico propio, que recepciona y graba, como tambien lee y dirige hacia otros componentes del computador la informacion registrada.

Unidades de Memoria

- Bit: Puede tener valores de 0 o 1, es decir codigo binario.
- Byte: Son el conjunto de 8 bits.
- Kilobyte (Kb) = Agrupacion de 1024 bytes.
- Megabyte (Mb) = Agrupación de 1024 kilobytes.
- Gigabyte (Gb) = Agrupación de 1024 megabytes.
- Terabyte (Tb) = Agrupación de 1024 terabytes.

Aún pueden ir aumentando estas unidades usando la misma nomenclatura, por ejemplo podriamos hablar de megaterabytes, gigaterabytes, etc, estas unidades son infinitas pero con la tecnología actual solo usamos las ya mencionadas.


Memoria RAM

Memoria RAM viene de Random Access Memory (Memoria de acceso aleatorio) es la memoria donde el ordenador guarda los datos que estan siendo utilizados en ese instante. Es definido aleatorio porque el procesador accede a la informacion que esta en la memoria en cualquier punto, no es necesario acceder a la informacion anterior o posterior. La memoria RAM esta actualizandose constantemente mientras el ordenador esta en uso. Esta memoria pierde los datos guardados una vez que el ordenador se apaga.

Cuando una aplicacion es ejecutada, primero se carga en la memoria RAM. El procesador realiza accesos a dicha memoria para cargar instrucciones y enviar o recibir datos. Reduce el tiempo de acceso a la memoria, ayuda a mejorar las prestaciones del sistema. La RAM es bastante rapida, pero como ya mencionamos pierde la informacion al apagar el sistema.


Esta memoria guarda los bits que le corresponden en pequeños condensadores a los que se aplican una pequeña carga electrica y se mantienen durante un tiempo en funcion de la constante de descarga. Es por eso que se realizan "refrescos" de memoria para optimizar el tiempo requerido para la operacion del refresco y para controlar estos condensadores.


Tipos de memorias RAM

DRAM: acrónimo de "Dynamic Random Access Memory", o simplemente RAM ya que es la original, y por tanto la más lenta.
Usada hasta la época del 386, su velocidad de refresco típica es de 80 ó 70 nanosegundos (ns), tiempo éste que tarda en vaciarse para poder dar entrada a la siguiente serie de datos. Por ello, la más rápida es la de 70 ns. Físicamente, aparece en forma de DIMMs o de SIMMs, siendo estos últimos de 30 contactos.
FPM (Fast Page Mode): a veces llamada DRAM, puesto que evoluciona directamente de ella, y se usa desde hace tanto que pocas veces se las diferencia. Algo más rápida, tanto por su estructura (el modo de Página Rápida) como por ser de 70 ó 60 ns. Es lo que se da en llamar la RAM normal o estándar. Usada hasta con los primeros Pentium, físicamente aparece como SIMMs de 30 ó 72 contactos (los de 72 en los Pentium y algunos 486).
Para acceder a este tipo de memoria se debe especificar la fila (página) y seguidamente la columna. Para los sucesivos accesos de la misma fila sólo es necesario especificar la columna, quedando la columna seleccionada desde el primer acceso. Esto hace que el tiempo de acceso en la misma fila (página) sea mucho más rápido. Era el tipo de memoria normal en los ordenadores 386, 486 y los primeros Pentium y llegó a alcanzar velocidades de hasta 60 ns. Se presentaba en módulos SIMM de 30 contactos (16 bits) para los 386 y 486 y en módulos de 72 contactos (32 bits) para las últimas placas 486 y las placas para Pentium.
EDO o EDO-RAM: Extended Data Output-RAM. Evoluciona de la FPM. Permite empezar a introducir nuevos datos mientras los anteriores están saliendo (haciendo su Output), lo que la hace algo más rápida (un 5%, más o menos). Mientras que la memoria tipo FPM sólo podía acceder a un solo byte (una instrucción o valor) de información de cada vez, la memoria EDO permite mover un bloque completo de memoria a la caché interna del procesador para un acceso más rápido por parte de éste. La estándar se encontraba con refrescos de 70, 60 ó 50 ns. Se instala sobre todo en SIMMs de 72 contactos, aunque existe en forma de DIMMs de 168.
La ventaja de la memoria EDO es que mantiene los datos en la salida hasta el siguiente acceso a memoria. Esto permite al procesador ocuparse de otras tareas sin tener que atender a la lenta memoria. Esto es, el procesador selecciona la posición de memoria, realiza otras tareas y cuando vuelva a consultar la DRAM los datos en la salida seguirán siendo válidos. Se presenta en módulos SIMM de 72 contactos (32 bits) y módulos DIMM de 168 contactos (64 bits).
SDRAM: Sincronic-RAM. Es un tipo síncrono de memoria, que, lógicamente, se sincroniza con el procesador, es decir, el procesador puede obtener información en cada ciclo de reloj, sin estados de espera, como en el caso de los tipos anteriores. Sólo se presenta en forma de DIMMs de 168 contactos; es la opción para ordenadores nuevos.
SDRAM funciona de manera totalmente diferente a FPM o EDO. DRAM, FPM y EDO transmiten los datos mediante señales de control, en la memoria SDRAM el acceso a los datos esta sincronizado con una señal de reloj externa.
La memoria EDO está pensada para funcionar a una velocidad máxima de BUS de 66 Mhz, llegando a alcanzar 75MHz y 83 MHz. Sin embargo, la memoria SDRAM puede aceptar velocidades de BUS de hasta 100 MHz, lo que dice mucho a favor de su estabilidad y ha llegado a alcanzar velocidades de 10 ns. Se presenta en módulos DIMM de 168 contactos (64 bits). El ser una memoria de 64 bits, implica que no es necesario instalar los módulos por parejas de módulos de igual tamaño, velocidad y marca
PC-100 DRAM: Este tipo de memoria, en principio con tecnología SDRAM, aunque también la habrá EDO. La especificación para esta memoria se basa sobre todo en el uso no sólo de chips de memoria de alta calidad, sino también en circuitos impresos de alta calidad de 6 o 8 capas, en vez de las habituales 4; en cuanto al circuito impreso este debe cumplir unas tolerancias mínimas de interferencia eléctrica; por último, los ciclos de memoria también deben cumplir unas especificaciones muy exigentes. De cara a evitar posibles confusiones, los módulos compatibles con este estándar deben estar identificados así: PC100-abc-def.
BEDO (burst Extended Data Output): Fue diseñada originalmente para soportar mayores velocidades de BUS. Al igual que la memoria SDRAM, esta memoria es capaz de transferir datos al procesador en cada ciclo de reloj, pero no de forma continuada, como la anterior, sino a ráfagas (bursts), reduciendo, aunque no suprimiendo totalmente, los tiempos de espera del procesador para escribir o leer datos de memoria.
RDRAM: (Direct Rambus DRAM). Es un tipo de memoria de 64 bits que puede producir ráfagas de 2ns y puede alcanzar tasas de transferencia de 533 MHz, con picos de 1,6 GB/s. Pronto podrá verse en el mercado y es posible que tu próximo equipo tenga instalado este tipo de memoria. Es el componente ideal para las tarjetas gráficas AGP, evitando los cuellos de botella en la transferencia entre la tarjeta gráfica y la memoria de sistema durante el acceso directo a memoria (DIME) para el almacenamiento de texturas gráficas. Hoy en día la podemos encontrar en las consolas NINTENDO 64.
DDR SDRAM: (Double Data Rate SDRAM o SDRAM-II). Funciona a velocidades de 83, 100 y 125MHz, pudiendo doblar estas velocidades en la transferencia de datos a memoria. En un futuro, esta velocidad puede incluso llegar a triplicarse o cuadriplicarse, con lo que se adaptaría a los nuevos procesadores. Este tipo de memoria tiene la ventaja de ser una extensión de la memoria SDRAM, con lo que facilita su implementación por la mayoría de los fabricantes.
SLDRAM: Funcionará a velocidades de 400MHz, alcanzando en modo doble 800MHz, con transferencias de 800MB/s, llegando a alcanzar 1,6GHz, 3,2GHz en modo doble, y hasta 4GB/s de transferencia. Se cree que puede ser la memoria a utilizar en los grandes servidores por la alta transferencia de datos.
ESDRAM: Este tipo de memoria funciona a 133MHz y alcanza transferencias de hasta 1,6 GB/s, pudiendo llegar a alcanzar en modo doble, con una velocidad de 150MHz hasta 3,2 GB/s.
 La memoria FPM (Fast Page Mode) y la memoria EDO también se utilizan en tarjetas gráficas, pero existen además otros tipos de memoria DRAM, pero que SÓLO de utilizan en TARJETAS GRÁFICAS, y son los siguientes:
MDRAM (Multibank DRAM) Es increíblemente rápida, con transferencias de hasta 1 GIGA/s, pero su coste también es muy elevado.
SGRAM (Synchronous Graphic RAM) Ofrece las sorprendentes capacidades de la memoria SDRAM para las tarjetas gráficas. Es el tipo de memoria más popular en las nuevas tarjetas gráficas aceleradoras 3D.
VRAM Es como la memoria RAM normal, pero puede ser accedida al mismo tiempo por el monitor y por el procesador de la tarjeta gráfica, para suavizar la presentación gráfica en pantalla, es decir, se puede leer y escribir en ella al mismo tiempo.
WRAM (Window RAM) Permite leer y escribir información de la memoria al mismo tiempo, como en la VRAM, pero está optimizada para la presentación de un gran número de colores y para altas resoluciones de pantalla. Es un poco más económica que la anterior.
Para procesadores lentos, por ejemplo el 486, la memoria FPM era suficiente. Con procesadores más rápidos, como los Pentium de primera generación, se utilizaban memorias EDO. Con los últimos procesadores Pentium de segunda y tercera generación, la memoria SDRAM es la mejor solución.

Dispositivos de Almacenamiento Secundario

La memoria secundaria son todas las unidades de disco que en un computador puede tener, se usan para almacenar programas ejecutables y grandes volúmenes de datos que requieren ser acsesados en algún momento.
Los Floppy drives: Por mala y anticuada que sea una computadora, siempre dispone de al menos uno de estos aparatos. Su capacidad es totalmente insuficiente para las necesidades actuales, pero cuentan con la ventaja que les dan los muchos años que llevan como estándar absoluto para almacenamiento portátil.
Las disqueteras son compatibles "hacia atrás"; es decir, que en una disquetera de 3,5" de alta densidad (de 1,44 MB) podemos usar discos de 720 Kb o de 1,44 MB, pero en una de doble densidad, más antigua, sólo podemos usarlos de 720 Kb.
Unidades de disco Ls-120: es una unidad diseñada para la lecutra y escritura en disquetes de 3 ½ pulgadas de gran capacidad de almacenamiento (120 MB) en especial para archivos y programas modernos mas amplios. La tecnología del LS -120 utiliza una interfase IDE que graba en pistas de alta densidad, las cuales son leídas por un rayo láser en cabezas de alta precisión.
Discos duros
Pertenecen a la llamada memoria secundaria o almacenamiento secundario. Al disco duro se le conoce con gran cantidad de denominaciones como disco duro, rígido (frente a los discos flexibles o por su fabricación a base de una capa rígida de aluminio), fijo (por su situación en la computadora de manera permanente), Winchester (por ser esta la primera marca de cabezas para disco duro). Estas denominaciones aunque son las habituales no son exactas ya que existen discos de iguales prestaciones pero son flexibles, o bien removibles o transportables.
Las capacidades de los discos duros varían desde 10 Mb. hasta varios GB. en minis y grandes computadoras. Para conectar un disco duro a una computadora es necesario disponer de una tarjeta controladora (o interfaz). La velocidad de acceso depende en gran parte de la tecnología del propio disco duro y de la tarjeta controladora asociada al discos duro.
Estos están compuestos por varios platos, es decir varios discos de material magnético montados sobre un eje central sobre el que se mueven. Para leer y escribir datos en estos platos se usan las cabezas de lectura/escritura que mediante un proceso electromagnético codifican / decodifican la información que han de leer o escribir. La cabeza de lectura/escritura en un disco duro está muy cerca de la superficie, de forma que casi vuela sobre ella, sobre el colchón de aire formado por su propio movimiento. Debido a esto, están cerrados herméticamente, porque cualquier partícula de polvo puede dañarlos.
Los discos duros han evolucionado mucho desde los modelos primitivos de 10 ó 20 MB. Actualmente los tamaños son del orden de varios gigabytes, el tiempo medio de acceso es muy bajo (menos de 20 ms) y su velocidad de transferencia es tan alta que deben girar a más de 5000 r.p.m. (revoluciones por minuto), lo que desgraciadamente hace que se calienten como demonios, por lo que no es ninguna tontería instalarles un ventilador para su refrigeración.
Una diferencia fundamental entre unos y otros discos duros es su interfaz de conexión. Antiguamente se usaban diversos tipos, como MFM, RLL o ESDI, aunque en la actualidad sólo se emplean dos: IDE y SCSI.
El interfaz usado por el disco duro: El interfaz es la conexión entre el mecanismo de la unidad de disco y el bus del sistema. El interfaz define la forma en que las señales pasan entre el bus del sistema y el disco duro. En el caso del disco, su interfaz se denomina controladora o tarjeta controladora, y se encarga no sólo de transmitir y transformar la información que parte de y llega al disco, sino también de seleccionar la unidad a la que se quiere acceder, del formato, y de todas las órdenes de bajo nivel en general. La controladora a veces se encuentra dentro de la placa madre.
Se encuentran gobernados por una controladora y un determinado interfaz que puede ser:
· ST506: Es un interfaz a nivel de dispositivo; el primer interfase utilizado en los PC’s. Proporciona un valor máximo de transferencia de datos de menos de 1 Mbyte por segundo (625k por segundo con codificación MFM, y 984k por segundo con codificación RLL). Actualmente esta desfasado y ya no hay modelos de disco duro con este tipo de interfaz.
· ESDI: Es un interfaz a nivel de dispositivo diseñado como un sucesor del ST506 pero con un valor más alto de transferencia de datos (entre 1.25 y 2.5 Mbytes por segundo).Ya ha dejado de utilizarse este interfaz y es difícil de encontrar.
· IDE: Es un interfase a nivel de sistema que cumple la norma ANSI de acoplamiento a los AT y que usa una variación sobre el bus de expansión del AT (por eso también llamados discos tipo AT) para conectar una unidad de disco a la CPU, con un valor máximo de transferencia de 4 Mbytes por segundo. En principio, IDE era un término genérico para cualquier interfaz a nivel de sistema. La especificación inicial de este interfaz  está mal definida. Es más rápida que los antiguos interfaz ST506 y ESDI pero con la desaparición de los ATs este interfaz desaparecerá para dejar paso al SCSI y el SCSI-2.
Íntimamente relacionado con el IDE, tenemos lo que se conoce como ATA, concepto que define un conjunto de normas que deben cumplir los dispositivos. Años atrás la compañía Western Digital introdujo el standard E-IDE (Enhanced IDE), que mejoraba la tecnología superando el límite de acceso a particiones mayores de 528 Mb. y se definió ATAPI, normas para la implementación de lectores de CD-ROM y unidades de cinta con interfaz IDE. E-IDE se basa en el conjunto de especificaciones ATA-2. Como contrapartida comercial a E-IDE, la empresa Seagate presento el sistema FAST-ATA-2, basado principalmente en las normas ATA-2. En cualquier caso a los discos que sean o bien E-IDE o FAST-ATA, se les sigue aplicando la denominación IDE como referencia.
Para romper la barrera de los 528 Mb. las nuevas unidades IDE proponen varias soluciones:
* El CHS es una traducción entre los parámetros que la BIOS contiene de cilindros, cabezas y sectores (ligeramente incongruentes) y los incluidos en el software de sólo lectura (Firmware) que incorpora la unidad de disco.
* El LBA (dirección lógica de bloque), estriba en traducir la información CHS en una dirección de 28 bits manejables por el sistema operativo, para el controlador de dispositivo y para la interfaz de la unidad.
Debido a la dificultad que entraña la implementación de la compatibilidad LBA en BIOS, muchos de las computadoras personales de fabricación más reciente continúan ofreciendo únicamente compatibilidad con CHS. El techo de la capacidad que permite las solución CHS se sitúa en los 8.4 GB, que por el momento parecen suficientes.
· SCSI: Es un interfase a nivel de sistema, diseñado para aplicaciones de propósito general, que permite que se conecten hasta siete dispositivos a un único controlador. Usa una conexión paralela de 8 bits que consigue un valor máximo de transferencia de 5 Mbytes por segundo. Actualmente se puede oír hablar también de SCSI-2 que no es más que una versión actualizada y mejorada de este interfase. Es el interfase con más futuro, si bien tiene problemas de compatibilidad entre las diferentes opciones de controladoras, discos duros, impresoras, unidades de CD-ROM y demás dispositivos que usan este interfase debido a la falta de un estándar verdaderamente sólido.
Las mejoras del SCSI-2 sobre el SCSI tradicional son el aumento de la velocidad a través del bus, desde 5 Mhz a 10 Mhz, duplicando de esta forma el caudal de datos. Además se aumenta el ancho del bus de 8 a 16 bits, doblando también el flujo de datos. Actualmente se ha logrado el ancho de 32 bits, consiguiendo velocidades teóricas de hasta 40 Mbytes / seg.
Los interfaces IDE y SCSI llevan la electrónica del controlador en el disco, por lo que el controlador realmente no suele ser más que un adaptador principal para conectar el disco al PC. Como se puede ver unos son interfaz a nivel de dispositivo y otros a nivel de sistema, la diferencia entre ambos es:
· INTERFAZ A NIVEL DE DISPOSITIVO: Es un interfaz que usa un controlador externo para conectar discos al PC. Entre otras funciones, el controlador convierte la ristra de datos del disco en datos paralelos para el bus del microprocesador principal del sistema. ST506 y ESDI son interfaz a nivel de dispositivo.
· INTERFAZ A NIVEL DE SISTEMA: Es una conexión entre el disco duro y su sistema principal que pone funciones de control y separación de datos sobre el propio disco (y no en el controlador externo), SCSI e IDE son interfaz a nivel de sistema.
Discos duros IDE
El interfaz IDE (más correctamente denominado ATA, el estándar de normas en que se basa) es el más usado en PCs normales, debido a que tiene un balance bastante adecuado entre precio y prestaciones. Los discos duros IDE se distribuyen en canales en los que puede haber un máximo de 2 dispositivos por canal; en el estándar IDE inicial sólo se disponía de un canal, por lo que el número máximo de dispositivos IDE era 2.
El estándar IDE fue ampliado por la norma ATA-2 en lo que se ha dado en denominar EIDE (Enhanced IDE o IDE mejorado). Los sistemas EIDE disponen de 2 canales IDE, primario y secundario, con lo que pueden aceptar hasta 4 dispositivos, que no tienen porqué ser discos duros mientras cumplan las normas de conectores ATAPI; por ejemplo, los CD-ROMs y algunas unidades SuperDisk se presentan con este tipo de conector.
En cada uno de los canales IDE debe haber un dispositivo Maestro (master) y otro Esclavo (slave). El maestro es el primero de los dos y se suele situar al final del cable, asignándosele generalmente la letra "C" en DOS. El esclavo es el segundo, normalmente conectado en el centro del cable entre el maestro y la controladora, la cual muchas veces está integrada en la propia placa base; se le asignaría la letra "D".
Los dispositivos IDE o EIDE como discos duros o CD-ROMs disponen de unos microinterruptores (jumpers), situados generalmente en la parte posterior o inferior de los mismos, que permiten seleccionar su carácter de maestro, esclavo o incluso otras posibilidades como "maestro sin esclavo". Las posiciones de los jumpers vienen indicadas en una etiqueta en la superficie del disco, o bien en el manual o serigrafiadas en la placa de circuito del disco duro, con las letras M para designar "maestro" y S para "esclavo".
Los modos DMA tienen la ventaja de que liberan al microprocesador de gran parte del trabajo de la transferencia de datos, encargándoselo al chipset de la placa (si es que éste tiene esa capacidad, como ocurre desde los tiempos de los Intel Tritón), algo parecido a lo que hace la tecnología SCSI. Sin embargo, la activación de esta característica (conocida como bus mastering) requiere utilizar los drivers adecuados y puede dar problemas con el CD-ROM, por lo que en realidad el único modo útil es el UltraDMA.
Discos duros SCSI
Sobre este interfaz ya hemos hablado antes en el apartado de generalidades; sólo recalcar que la ventaja de estos discos no está en su mecánica, que puede ser idéntica a la de uno IDE (misma velocidad de rotación, mismo tiempo medio de acceso...) sino en que la transferencia de datos es más constante y casi independiente de la carga de trabajo del microprocesador.
Esto hace que la ventaja de los discos duros SCSI sea apreciable en computadoras cargadas de trabajo, como servidores, computadoras para CAD o vídeo, o cuando se realiza multitarea de forma intensiva, mientras que si lo único que queremos es cargar Word y hacer una carta la diferencia de rendimiento con un disco UltraDMA será inapreciable.
En los discos SCSI resulta raro llegar a los 20 MB/s de transferencia teórica del modo Ultra SCSI, y ni de lejos a los 80 MB/s del modo Ultra-2 Wide SCSI, pero sí a cifras quizá alcanzables pero nunca superables por un disco IDE. De lo que no hay duda es que los discos SCSI son una opción profesional, de precio y prestaciones elevadas, por lo que los fabricantes siempre escogen este tipo de interfaz para sus discos de mayor capacidad y velocidad. Resulta francamente difícil encontrar un disco duro SCSI de mala calidad, pero debido a su alto precio conviene proteger nuestra inversión buscando uno con una garantía de varios años, 3 ó más por lo que pueda pasar... aunque sea improbable.
Los componentes físicos de una unidad de disco duro
· CABEZA DE LECTURA / ESCRITURA: Es la parte de la unidad de disco que escribe y lee los datos del disco. Su funcionamiento consiste en una bobina de hilo que se acciona según el campo magnético que detecte sobre el soporte magnético, produciendo una pequeña corriente que es detectada y amplificada por la electrónica de la unidad de disco.
· DISCO: Convencionalmente los discos duros están compuestos por varios platos, es decir varios discos de material magnético montados sobre un eje central. Estos discos normalmente tienen dos caras que pueden usarse para el almacenamiento de datos, si bien suele reservarse una para almacenar información de control.
· EJE: Es la parte del disco duro que actúa como soporte, sobre el cual están montados y giran los platos del disco.
· IMPULSOR DE CABEZA: Es el mecanismo que mueve las cabezas de lectura / escritura radialmente a través de la superficie de los platos de la unidad de disco.
Mientras que lógicamente la capacidad de un disco duro puede ser medida según los siguientes parámetros:
· CILINDRO: Es una pila tridimensional de pistas verticales de los múltiples platos. El número de cilindros de un disco corresponde al número de posiciones diferentes en las cuales las cabezas de lectura/escritura pueden moverse.
· CLUSTER: Es un grupo de sectores que es la unidad más pequeña de almacenamiento reconocida por el DOS. Normalmente 4 sectores de 512 bytes constituyen un Cluster (racimo), y uno o más Cluster forman una pista.
· PISTA: Es la trayectoria circular trazada a través de la superficie circular del plato de un disco por la cabeza de lectura / escritura. Cada pista está formada por uno o más Cluster.
· SECTOR: Es la unidad básica de almacenamiento de datos sobre discos duros. En la mayoría de los discos duros los sectores son de 512 Bytes cada uno, cuatro sectores constituyen un Cluster.
Otros elementos a tener en cuenta en el funcionamiento de la unidad es el tiempo medio entre fallos, MTBF (Mean Time Between Failures), se mide en horas (15000, 20000, 30000..) y a mayor numero mas fiabilidad del disco, ya que hay menor posibilidad de fallo de la unidad. Otro factor es el AUTOPARK o aparcamiento automático de las cabezas, consiste en el posicionamiento de las cabezas en un lugar fuera del alcance de la superficie del disco duro de manera automático al apagar la computadora, esto evita posibles daños en la superficie del disco duro cuando la unidad es sometida a vibraciones o golpes en un posible traslado.