miércoles, 31 de mayo de 2017

Memoria cache



Memoria Caché



Una memoria caché es una memoria en la que se almacenas una serie de datos para su rápido acceso. Existen muchas memorias caché (de disco, de sisteme, incluso de datos, como es el caso de la caché de google), pero en este tutorial nos vamos a centrar en la caché de los procesadores. Básicamente, la memoria caché de un procesador es un tipo de memoria volátil (del tipo RAM), pero de una gran velocidad. En la actualidad esta memoria está integrada en el procesador, y su cometido es almacenar una serie de instrucciones y datos a los que el procesador accede continuamente, con la finalidad de que estos accesos sean instantáneos. Estas instrucciones y datos son aquellas a las que el procesador necesita estar accediendo de forma continua, por lo que para el rendimiento del procesador es imprescindible que este acceso sea lo más rápido y fluido posible.

¿Cuál es su finalidad?

Pues que este tipo de datos sean de acceso instantáneo para el procesador, ya que se trata de información relevante y que debe estar a la mano de manera muy fluida.


Tipos

Hay tres tipos diferentes de memoria caché para procesadores:

 Caché de 1er nivel (L1):  Esta caché está integrada en el núcleo del procesador, trabajando a la misma velocidad que este. La cantidad de memoria caché L1 varía de un procesador a otro, estando normalmente entra los 64KB y los 256KB. Esta memoria suele a su vez estar dividida en dos partes dedicadas, una para instrucciones y otra para datos

. Caché de 2º nivel (L2):  Integrada también en el procesador, aunque no directamente en el núcleo de este, tiene las mismas ventajas que la caché L1, aunque es algo más lenta que esta. La caché L2 suele ser mayor que la caché L1, pudiendo llegar a superar los 2MB. A diferencia de la caché L1, esta no está dividida, y su utilización está más encaminada a programas que al sistema. 

Caché de 3er nivel (L3): Es un tipo de memoria caché más lenta que la L2, muy poco utilizada en la actualidad. En un principio esta caché estaba incorporada a la placa base, no al procesador, y su velocidad de acceso era bastante más lenta que una caché de nivel 2 o 1, ya que si bien sigue siendo una memoria de una gran rapidez (muy superior a la RAM, y mucho más en la época en la que se utilizaba), depende de la comunicación entre el procesador y la placa base. Para hacernos una idea más precisa de esto, imaginemos en un extremo el procesador y en el otro la memoria RAM. Pues bien, entre ambos se encuentra la memoria caché, más rápida cuanto más cerca se encuentre del núcleo del procesador (L1). Las memorias caché son extremadamente rápidas (su velocidad es unas 5 veces superior a la de una RAM de las más rápidas), con la ventaja añadida de no tener latencia, por lo que su acceso no tiene ninguna demora... pero es un tipo de memoria muy cara.


¿Cómo funciona la memoria cache?
Se organiza en niveles, de menor a mayor tamaño según lo alejada que esté del micro. Si el procesador necesita un dato de la memoria se comprueba si este se encuentra en el primer nivel. En caso de no encontrarlo, se busca en el segundo nivel y si no en el tercero. Todo se acelera si se colocan los datos más utilizados en los niveles más cercanos al procesador.
Cada uno de estos niveles tiene un bloque de control el cual se encarga de almacenar y poner los datos a disposición del micro.

El tiempo que tarda en buscar la información es proporcional al tamaño de la propia memoria que administra. Como queremos que los datos lleguen lo antes posible al micro los niveles más bajos tendrán menor capacidad. Cada nivel superior, por tanto, es bastante más grande que el anterior.
La memoria cache es muy pequeña.
 En comparación con la memoria RAM unas mil veces más pequeña. Por suerte, los programas suelen realizar muchas operaciones sobre los mismos datos y por lo tanto se consiguen grandes mejoras al usar esta técnica.

También denominada cache principal, caché de nivel 1 o  caché L1
Es una innovación relativamente reciente; en realidad son dos, cada una con una misión específica: Una para datos y otra para instrucciones.  Están incluidas en el procesador junto con su circuitería de control, lo que significa tres cosas: comparativamente es muy cara; extremadamente rápida, y limitada en tamaño (en cada una de las cachés internas, los 386 tenían 8 KB; el 486 DX4 16 KB, y los primeros Pentium 8 KB). Con una velocidad de acceso   comparable a la de los registros, es decir, es mucho más rápida que la RAM.
 
[Caché Externa

También conocido cache secundaria, cache de nivel 2 o cache L2.
Es más antigua que la interna. Es una memoria de acceso rápido incluida en la placa base, que dispone de su propio bus y controlador independiente que intercepta las llamadas a memoria antes que sean enviadas a la RAM por medio de los Buses locales.
La caché externa típica es un banco SRAM ("Static Random Access Memory") de entre 128 y 256 KB. Esta memoria es considerablemente más rápida que la DRAM ("Dynamic Random Access Memory") convencional, aunque también mucho más cara.
A continuación se ilustra la cache L1 y la cache L2

Dentro del punto de vista Funcional tenemos: Cache de disco.

 Caché de disco

Es la caché de disco, esta destinada a contener los datos de disco que probablemente sean necesitados en un futuro próximo y los que deben ser escritos.  Si la información requerida está en chaché, se ahorra un acceso a disco, lo que es centenares de veces más rápido (recuerde que los tiempos de acceso a RAM se miden en nanosegundos y los de disco en milisegundos).
Su funcionamiento se basa en dos esquemas de operación:
La lectura adelantada ("Read-ahead").- Consiste en anticipar lo que se necesitará de forma inmediata y traerlo a la caché.
La escritura retrasada("Write-behind").- Consiste en mantener los datos en caché hasta que se producen momentos de desocupación del sistema de disco.  En este caso la caché actúa como memoria tampón o "buffer" intermedio, y no se obliga al subsistema a realizar físicamente ninguna escritura, con lo que las cabezas quedan libres para nuevas lecturas.
Puesto que los cachés de disco de escritura retrasada mantienen los datos en memoria volátil después que "supuestamente" se han escrito en el dispositivo,  una caída accidental del sistema, por fallo de energía o apagado intempestivo, puede producir pérdidas de los datos alojados en la caché en ese momento (es esta una de las razones por las que los sistemas Windows y Linux exigen un proceso especial de apagado, que a veces tarda unos segundos, en los que observamos una intensa actividad del sistema de disco).


slots de expansión (ISA, PCI, AGP...)



Slots de expansion (ISA-PCI-AGP) 
Resultado de imagen para slots de expansion
 Slot de Expansión: son unas ranuras de plástico con conectores eléctricos (slots) donde se introducen las tarjetas de expansión (tarjeta de vídeo, de sonido, de red...). Según la tecnología en que se basen presentan un aspecto externo diferente, con diferente tamaño y a veces incluso en distinto color.es un elemento de la placa base de un ordenador que permite conectar a ésta una tarjeta adaptadora adicional o de expansión, la cual suele realizar funciones de control de dispositivos periféricos adicionales, tales como monitores, impresoras o unidades de disco. En las tarjetas madre del tipo LPX los slots de expansión no se encuentran sobre la placa sino en un conector especial denominado riser card.
Los slots están conectados entre sí. Un ordenador personal dispone generalmente de ocho unidades. 

ISA significa Industry Standard Architecture, esta clase de tarjetas es una denominación del diseño de bus del equipo PC/XT de IBM, que permite añadir varios adaptadores adicionales en forma de tarjetas que se conectan en zócalos de expansión. Presentado en un principio con un
canal de datos de 8 bits, el ISA fue ampliado a un canal de 16 bits en 1984, cuando IBM lanzó almercado el PC/AT. ISA se refiere generalmente a 
los propios zócalos de expansión, que se denominan zócalos (slots) de 8 bits o de 16 bits. En realidad, un zócalo de 16 bits está formado por dos zócalos de expansión separados y montados el uno a continuación del otro, de forma que una sola tarjetade 16 bits se conecta a ambos. Una tarjeta de expansión de 8 bits se puede insertar y utilizar en un zócalo de 16 bits (ocupando sólo uno de los dos zócalos), pero una tarjeta de expansión de 16 bits no se puede utilizar en un zócalo de 8 bits.
Resultado de imagen para pci express
 PCI Express (anteriormente conocido por las siglas 3GIO, en el caso de las "Entradas/Salidas de Tercera Generación", en inglés: 3rdGeneration I/O) es un nuevo desarrollo del bus PCI que usa los conceptos de programación y los estándares de comunicación existentes, pero se basa en un sistema de comunicación serie mucho más rápido. Este sistema es apoyado principalmente por Intel, que empezó a desarrollar el estándar con nombre de proyecto Arapahoe después de retirarse del sistema Infiniband.
PCI Express es abreviado como PCI-E o PCIe, aunque erróneamente se le suele abreviar como PCI-X o PCIx. Sin embargo, PCI Express no tiene nada que ver con PCI-X que es una evolución de PCI, en la que se consigue aumentar el ancho de bandamediante el incremento de la frecuencia, llegando a ser 32 veces más rápido que el PCI 2.1. Su velocidad es mayor que PCI-Express, pero presenta el inconveniente de que al instalar más de un dispositivo la frecuencia base se reduce y pierde velocidad de transmisión.A diferencia de los buses ISA, el bus PCI permite configuración dinámica de un dispositivo periférico. En el tiempo de arranque del sistema, las tarjetas PCI y el BIOS interactúan y negocian los recursos solicitados por la tarjeta PCI. Esto permite asignación de IRQs y direcciones del puerto por medio de un proceso dinámico diferente del bus ISA, donde las IRQs tienen que ser configuradas manualmente usando jumpers externos. Las últimas revisiones de ISA y el bus MCA de IBM ya incorporaron tecnologías que automatizaban todo el proceso de configuración de las tarjetas, pero el bus PCI demostró una mayor eficacia en tecnología "plug and play". Aparte de esto, el bus PCI proporciona una descripción detallada de todos los dispositivos PCI conectados a través del espacio de configuración PCI.


El bus AGP (la sigla corresponde a Accelerated Graphics Port que en español significapuerto de gráficos acelerado) apareció por primera vez en mayo de 1997 para los,
chipsets Slot One. Luego se lanzó para los chips Super 7, con el objetivo de administrar los flujos de datos gráficos que se habían vuelto demasiado grandes como para ser controlados por el Bus PCI. De esta manera, el bus AGP se conecta directamente al FSB (Front Side Bus [Bus Frontal]) del procesador y utiliza la misma frecuencia, es decir, un ancho de banda más elevado. 
VESA:
  En 1992 el comité VESA de la empresa NEC crea este slot para dar soporte a las nuevas placas de video. Es fácilmente identificable en la placa base debido a que consiste de un ISA con una extensión color marrón, trabaja a 32 bits y con una frecuencia que varia desde 33 [MHz] a 40 [MHz]. Tiene 22,3[cm] de largo (ISA+EXTENSION) 1,4[cm] de alto, 0,9[cm] de ancho (ISA) Y 0,8[cm] de ancho (EXTENSION).


 XT: Es uno de los slots más antiguos trabaja con una velocidad muy inferior a los slots modernos (8 bits) y a una frecuencia de 4.77 [MHz].

BIOS

La BIOS es el sistema básico de entrada/salida (Basic Input-Output System) y ya viene incorporado a la placa base a través de la memoria flash. Es básicamente la encargada del manejo y configuración de la placa base y sus componentes.
El funcionamiento de la BIOS es muy simple, este se ejecuta cada vez que se reinicia la computadora, el procesador encuentra la instrucción en el vector de reset y ejecuta la primera línea de código del BIOS que es de salto incondicional y remite a una dirección más baja en la BIOS.

Entrada de la Bios

La BIOS ejecuta procedimientos diferentes y esto dependerá de cada fabricante, pero en general lo que hace es cargar una copia del firmware hacia la memoria RAN ya que esta última es mucho más rápida y realiza la detección y configuración de dispositivos que puede contener un sistema operativo mientras realiza una búsqueda del mismo.
La BIOS puede ser accedida mediante la RAM-CMOS del sistema, allí el usuario puede realizar cambios en las configuraciones del sistema, por ejemplo: ajustar la fecha y hora en tiempo real y tener más detalle de algunos componentes como ventiladores, buses y controladores.
Los sistemas operativos están escritos en 32 y 64 bits por lo que se vuelven incompatibles con los controladores de hardware de la BIOS que están en 16 bits y que se cargan durante el arranque, por lo tanto, lo sistemas operativos se encargan de reemplazarlos por sus propias versiones.
Normalmente los fabricantes de motherboard durante su proceso de renovación de lotes detectan algunos problemas insignificantes pero que deben ser corregidos y esto lo hacen a través de la publicación de revisiones del BIOS o actualizaciones que se encargan de mejorar los controladores o de solucionar cualquier otro tipo de problema detectado.

Las actualizaciones de firmware pueden adquirirse por medio de las compañías que fabrican las motherboard a través del internet y debe tenerse mucho cuidado cuando se realiza una actualización pues un mal procedimiento puede causar que la motherboard no arranque.
Para evitar inconvenientes de este tipo algunos fabricantes utilizan un sistema denominado bootblock que es una parte de la BIOS que no es actualizable como el resto del firmware con el fin de proteger de daños.
Además del firmware BIOS de la placa base otros dispositivos como tarjetas de video, red y otras tienen su propio firmware que con ayuda de la BIOS principal hacen que los dispositivos funciones correctamente.

Chipset de control

  Seguramente, hemos oído el término Chipset infinidad de veces, y la mayoría de los          usuarios sabemos que se trata de un componente esencial que se encuentra alojado en la motherboard de nuestra PC, pero puede que no conozcamos por completo cómo funciona este diminuto elemento y cuál es la importancia que posee en el funcionamiento del equipo. 

El Chipset se encarga de entablar la conexión correcta entre la placa madre y diversos componentes esenciales de la PC, como lo son el procesador, las placas de video, las memorias RAM y ROM, entre otros.
Por este motivo, la existencia del chipset es fundamental para que nuestra computadora funcione, ya que es el encargado de enviar las ordenes entre la motherboard y el procesador, para que ambos componentes puedan lograr trabajar con armonía.
En otras palabras, es este pequeño elemento el que permite que la motherboard sea el eje principal de todo el sistema de hardware de nuestra PC, y permite la comunicación constante entre diversos componentes, a través del uso de los buses.
Por otra parte, el chipset mantiene una comunicación directa y permanente con el procesador, y se encarga de administrar la información que ingresa y egresa a través del bus principal del procesador. Incluso su función se extiende a las memorias RAM y ROM y a las placas de video.
Con el fin de permitir que la motherboard se interconecte con los componentes principales de la PC a través del chipset, este elemento suele estar fabricado en base a interfaces estándar que puedan brindar soporte a diversos dispositivos de distintas marcas. 



Resultado de imagen para chipset imagenes png
  El chipset que posee nuestra motherboard suele llegar a determinar las características de dicha placa, ya que sin su existencia no podría ser posible la comunicación entre ella y los componentes que integran nuestra PC.

 Además, el tipo de chipset que utiliza nuestra motherboard es de vital importancia, ya que dependerá del soporte que ofrezca para que nos permita interconectar la motherboard con los componentes asociados.
Si bien el chipset suele ser comparado con la médula espinal o el sistema nervioso del cuerpo humano, debido a su notable importancia en el funcionamiento integral del equipo, lo cierto es que por cuestiones comerciales no suele darse demasiada importancia y difusión, y en general no es uno de los elementos mayormente evaluados en el momento de adquirir una nueva motherboard. 
Debido a que los chipset se encuentran integrados a la motherboard, y son los encargados de comunicar a dicha placa con el resto de componentes y el procesador, son junto con la CPU uno de los elementos imprescindibles para el funcionamiento de la computadora. 

Los chips de la PC


También llamado puente norte, es el encargado de interconectar el microprocesador y la memoria RAM, controlando todas las tareas de acceso entre estos elementos y los puertos PCI y AGP. Al mismo tiempo, el Northbridge mantiene una comunicación permanente Southbridge. 
Actualmente, existen dos tipos de chipset: los denominados Northbridge y Southbridge, que no sólo se caracterizan por estar ubicados en dos extremos opuestos de la motherboard, sino que además se encargar de realizar diferentes tareas

Actualmente, existen dos tipos de chipset: los denominados Northbridge y Southbridge, que no sólo se caracterizan por estar ubicados en dos extremos opuestos de la motherboard, sino que además se encargar de realizar diferentes tareas.

El Northbridge
Conocido también como puente sur, se encarga de comunicar el procesador con todos los periféricos conectados al equipo.

Asimismo, su función también reside en controlar los diversos dispositivos que se hallan asociados a la motherboard, como los puertos USB, la disquetera, las unidades ópticas, los discos rígidos, y un largo etcétera.

A pesar de la vital importancia que poseen los chipset de la motherboard en el correcto funcionamiento de la PC, lo cierto es que durante años ha sido uno de los elementos menos destacados, cuando en realidad el chipset suele determinar las características de muchos de los modelos de placas madres que se comercializan en el mercado actual.









La Bios

La Bios 1      las opciones de la bios Cpu internal cache External cache Quick power on self test Boot sequence Swap flop...