lunes, 8 de diciembre de 2008

Calificación


Profesor: Este es el blog que he creado para el curso, como usted verá es sencillo, espero que considere eso de ponerme el 10 en la materia, ya que pues creo que le heché ganas y fuí de los promedios altos en el grupo. De cualquier forma espero que le guste el blog y ojalá que nos veamos en próximo semestre o alguno de los que siguen.
Y de verdad considere eso de ponerme el 10 jeje, creo que puedo merecerlo.

domingo, 7 de diciembre de 2008

Agradecimiento

Este blog fué creado con propósitos académicos:

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
FACULTAD DE CONTADURÍA Y ADMINISTRACIÓN
ARQUITECTURA DE COMPUTADORAS
CARRERA INFORMÁTICA
3 SEMESTRE
AXEL CELIS
GRUPO: 1380

Agradesco el haber podido obtener los conocimientos de esta materia ya que es fundamental para el estudio en nuestra carrera, le doy las gracias al profesor que siempre nos auxiló en el conocimiento y que por el tenermos los conocimientos básicos del funiconamiento de nuestra herramienta de trabajo, la computadora.
Espero seguir aprendiendo mas y mas para seguir creciendo como persona y continuar con este laberinto de conocimientos que es: LA INFORMÁTICA.
Axel Celis

Unidades funcionales


En arquitectura de ordenadores, una unidad funcional o unidad de ejecución es una parte de la CPU que realiza las operaciones y cálculos llamados por los programas. Tiene a menudo su propia unidad de control de secuencia (no confundir con la unidad de control principal de la CPU), algunos registros, otras unidades internas como una sub-ALU o una unidad de punto flotante, o algunos componentes menores más específicos.
Es frecuente que las CPU's modernas tengan múltiples unidades funcionales paralelas, tanto en un diseño escalar como
superescalar. El método más simple es utilizar un bus, el bus principal, para gestionar la interfaz de memoria, y el resto para realizar los cálculos. Adicionalmente, las unidades funcionales de las CPU's modernas suelen ser segmentadas.

Registros


En arquitectura de computadoras, un registro es una memoria de alta velocidad y poca capacidad, integrada en el microprocesador, que permite guardar transitoriamente y acceder a valores muy usados, generalmente en operaciones matemáticas.
Los registros están en la cumbre de la
jerarquía de memoria, y son la manera más rápida que tiene el sistema de almacenar datos. Los registros se miden generalmente por el número de bits que almacenan; por ejemplo, un "registro de 8 bits" o un "registro de 32 bits". Los registros generalmente se implementan en un banco de registros, pero antiguamente se usaban biestables individuales, memoria SRAM o formas aún más primitivas.
El término es usado generalmente para referirse al grupo de registros que pueden ser directamente indexados como operandos de una instrucción, como está definido en el
conjunto de instrucciones. Sin embargo, los microprocesadores tienen además muchos otros registros que son usados con un propósito específico, como el contador de programa. Por ejemplo, en la arquitectura IA32, el conjunto de instrucciones define 8 registros de 32 bits.

Tipos de registros
Los registros de datos son usados para guardar números enteros. En algunas computadoras antiguas, existía un único registro donde se guardaba toda la información, llamado acumulador.
Los registros de memoria son usados para guardar exclusivamente direcciones de memoria. Eran muy usados en la
arquitectura Harvard, ya que muchas veces las direcciones tenían un tamaño de palabra distinto que los datos.
Los registros de propósito general (en
inglés GPRs o General Purpose Registers) pueden guardar tanto datos como direcciones. Son fundamentales en la arquitectura de von Neumann. La mayor parte de las computadoras modernas usa GPR.
Los registros de coma flotante son usados para guardar datos en formato de
coma flotante.
Los registros constantes tienen valores creados por hardware de sólo lectura. Por ejemplo, en
MIPS el registro $zero siempre vale 0.
Los registros de propósito específico guardan información específica del estado del sistema, como el puntero de pila o el registro de estado.

Flip Flops


Un biestable, también llamado báscula (flip-flop en inglés), es un multivibrador capaz de permanecer en un estado determinado o en el contrario durante un tiempo indefinido. Esta característica es ampliamente utilizada en electrónica digital para memorizar información. El paso de un estado a otro se realiza variando sus entradas. Dependiendo del tipo de dichas entradas los biestables se dividen en:
Asíncronos: sólo tienen entradas de control. El más empleado es el
biestable RS.
Síncronos: además de las entradas de control posee una entrada de sincronismo o de reloj. Si las entradas de control dependen de la de sincronismo se denominan síncronas y en caso contrario asíncronas. Por lo general, las entradas de control asíncronas prevalecen sobre las síncronas.
La entrada de sincronismo puede ser activada por nivel (alto o bajo) o por
flanco (de subida o de bajada). Dentro de los biestables síncronos activados por nivel están los tipos RS y D, y dentro de los activos por flancos los tipos JK, T y D.

Biestable RS
Descripción

Cronograma del biestable RS
Dispositivo de almacenamiento temporal de dos estados (alto y bajo), cuyas entradas principales, R y S, a las que debe el nombre, permiten al ser activadas:
R: el borrado (reset en inglés), puesta a 0 ó nivel bajo de la salida.
S: el grabado (set en inglés), puesta a 1 ó nivel alto de la salida.
Si no se activa ninguna de las entradas, el biestable permanece en el estado que poseía tras la última operación de borrado o grabado. En ningún caso deberían activarse ambas entradas a la vez, ya que esto provoca que las salidas directa (Q) y negada (Q') queden con el mismo valor: a bajo, si la báscula está construida con
puertas NO-O (NOR), o a alto, si con puertas NO-Y (NAND). El problema de que ambas salidas queden al mismo estado está en que al desactivar ambas entradas no se podrá determinar el estado en el que quedaría la salida. Por eso, en las tablas de verdad, la activación de ambas entradas se contempla como caso no deseado (N. D.).

Biestable RS síncrono

Circuito Biestable RS síncrono a) y esquema normalizado b).
Además de las entradas R y S, posee una entrada C de sincronismo cuya misión es la de permitir o no el cambio de estado del biestable.

Biestable D

Símbolos normalizados: Biestables D a) activo por nivel alto y b) activo por flanco de subida.
Dispositivo de almacenamiento temporal de dos estados (alto y bajo), cuya salida adquiere el valor de la entrada D cuando se activa la entrada de sincronismo, C. En función del modo de activación de dicha entrada de sincronismo, existen dos tipos de biestables D:
Activo por nivel (alto o bajo), también denominado registro o cerrojo (latch en inglés).
Activo por flanco (de subida o de bajada).
La
ecuación característica del biestable D que describe su comportamiento es:
y su
tabla de verdad:
D Q Qsiguiente
0 X 0
1 X 1
X=no importa
Esta báscula puede verse como una primitiva
línea de retardo o una retención de orden cero (zero order hold en inglés), ya que los datos que se introducen, se obtienen en la salida un ciclo de reloj después. Esta característica es aprovechada para sintetizar funciones de procesamiento digital de señales (DSP en inglés) mediante la transformada en z.
==

Biestable T

Símbolo normalizado: Biestable T activo por flanco de subida.
Dispositivo de almacenamiento temporal de dos estados (alto y bajo). El biestable T cambia de estado ("toggle" en inglés) cada vez que la entrada de sincronismo o de reloj se dispara. Si la entrada T está a nivel bajo, el biestable retiene el nivel previo. Puede obtenerse al unir las entradas de control de un
biestable JK, unión que se corresponde a la entrada T.
La
ecuación característica del biestable T que describe su comportamiento es:
y la
tabla de verdad:
T Q Qsiguiente
0 0 0
01 1
1 0 1
11 0
Biestable JK
Descripción

Cronograma de la báscula JK
Dispositivo de almacenamiento temporal de dos estados (alto y bajo), cuyas entradas principales, J y K, a las que debe el nombre, permiten al ser activadas:
J: El grabado (set en inglés), puesta a 1 ó nivel alto de la salida.
K: El borrado (reset en inglés), puesta a 0 ó nivel bajo de la salida.
Si no se activa ninguna de las entradas, el biestable permanece en el estado que poseía tras la última operación de borrado o grabado. A diferencia del
biestable RS, en el caso de activarse ambas entradas a la vez, la salida adquirirá el estado contrario al que tenía.
La ecuación característica del biestable JK que describe su comportamiento es:
Y su
tabla de verdad es:
J K Q Qsiguiente
0 0 0 0
0 0 1 1
0 1X 0
1 0X 1
1 1 0 1
1 11 0
X=no importa
Una forma más compacta de la
tabla de verdad es (Q representa el estado siguiente de la salida en el próximo flanco de reloj y q el estado actual):
J K Q
0 0 q
0 1 0
1 0 1
1 1


El biestable se denomina así por
Jack Kilby, el inventor de los circuitos integrados en 1958, por lo cual se le concedió el Premio Nobel en física de 2000.

Biestable JK activo por flanco

Símbolos normalizados: Biestables JK activo a) por flanco de subida y b) por flanco de bajada
Junto con las entradas J y K existe una entrada C de sincronismo o de reloj cuya misión es la de permitir el cambio de estado del biestable cuando se produce un
flanco de subida o de bajada, según sea su diseño. Su denominación en inglés es J-K Flip-Flop Edge-Triggered. De acuerdo con la tabla de verdad, cuando las entradas J y K están a nivel lógico 1, a cada flanco activo en la entrada de reloj, la salida del biestable cambia de estado. A este modo de funcionamiento se le denomina modo de basculación (toggle en inglés).

Biestable JK Maestro-Esclavo

Símbolos normalizados: Biestable JK Maestro-Esclavo a) activo por nivel alto y b) activo por nivel bajo
Aunque aún puede encontrarse en algunos equipos, este tipo de biestable, denominado en inglés J-K Flip-Flop Master-Slave, ha quedado obsoleto ya que ha sido reemplazado por el tipo anterior.
Su funcionamiento es similar al JK activo por flanco: en el nivel alto (o bajo) se toman los valores de las entradas J y K y en el flanco de bajada (o de subida) se refleja en la salida.Otra forma de expresar la tabla de verdad del biestable JK es mediante la denominada tabla de excitación: q Q J K

0 0 0 X
0 1 1 X
1 0 X 1
1 1 X 0

Siendo q el estado presente y Q el estado siguiente.

Ejemplo con componentes discretos

Figura 1.- Circuito multivibrador biestable
Aunque, en general, los biestables utilizados en la práctica están implementados en forma de
circuitos integrados, en la Figura 1 se representa el esquema de un sencillo circuito multivibrador biestable, realizado con componentes discretos, cuyo funcionamiento es el siguiente:
Al aplicar la tensión de alimentación (Vcc), los dos
transistores iniciaran la conducción, ya que sus bases reciben un potencial positivo, TR-1 a través del divisor formado por R-3, R-4 y R-5 y TR-2 a través del formado por R-1, R-2 y R-6, pero como los transistores no serán exactamente idénticos, por el propio proceso de fabricación y el grado de impurezas del material semiconductor, uno conducirá antes o más rápido que el otro.
Supongamos que es TR-1 el que conduce primero. El voltaje en su colector disminuirá, debido a la mayor caída de tensión en R-1, por lo que la tensión aplicada a la base de TR-2 a través del divisor formado por R-2, R-5, disminuirá haciendo que este conduzca menos. Esta disminución de conducción de TR-2 hace que suba su tensión de colector y por tanto la de base de TR-1, este proceso llevará finalmente al bloqueo de TR-2 (salida Y a nivel alto).
Pero si ahora aplicamos un impulso de disparo de nivel alto por la entrada T, a través de los condensadores C-1 y C-2 pasará a las bases de ambos transistores. En el caso de TR-1 no tendrá más efecto que aumentar su tensión positiva, por lo que este seguirá conduciendo. En la base de TR-2 el impulso hará que este transistor conduzca, realizándose un proceso similar al descrito al principio, cuando el que conducía primero era TR-1, que terminará bloqueando a este y dejando en conducción a TR-2 (salida Y a nivel bajo).
La secuencia descrita se repetirá cada vez que se aplique un impulso en T. La salida cambia de estado con el impulso de disparo y permanece en dicho estado hasta la llegada del siguiente impulso, momento en que volverá a cambiar.
La caída de tensión en la resistencia común de emisores (R-7) elimina la indecisión del circuito y aumenta la velocidad de conmutación.

Aplicación
Un biestable puede usarse para almacenar un
bit. La información contenida en muchos biestables puede representar el estado de un secuenciador, el valor de un contador, un carácter ASCII en la memoria de un ordenador, o cualquier otra clase de información.
Un uso corriente es el diseño de
máquinas de estado finitas electrónicas. Los biestables almacenan el estado previo de la máquina que se usa para calcular el siguiente.
El biestable T es útil para contar. Una señal repetitiva en la entrada de reloj hace que el biestable cambie de estado por cada transición alto-bajo si su entrada T está a nivel 1. La salida de un biestable puede conectarse a la entrada de reloj de la siguiente y así sucesivamente. La salida final del conjunto considerado como una cadena de salidas de todos los biestables es el conteo en
código binario del número de ciclos en la primera entrada de reloj hasta un máximo de 2n-1, donde n es el número de biestables usados.
Uno de los problemas con esta configuración de contador (ripple counter en inglés) es que la salida es momentáneamente inválida mientras los cambios se propagan por la cadena justo después de un flanco de reloj. Hay dos soluciones a este problema. La primera es muestrear la salida sólo cuando se sabe que esta es válida. La segunda, más compleja y ampliamente usada, es utilizar un tipo diferente de
contador síncrono, que tiene una lógica más compleja para asegurar que todas las salidas cambian en el mismo momento predeterminado, aunque el precio a pagar es la reducción de la frecuencia máxima a la que puede funcionar.
Una cadena de biestables T como la descrita anteriormente también sirve para la división de la frecuencia de entrada entre 2n, donde n es el número de biestables entre la entrada y la última salida.

Secuenciación y metaestabilidad
Los biestables síncronos son propensos a sufrir un problema denominado
metaestabilidad, que ocurre cuando una entrada de datos o de control está cambiando en el momento en el que llega un flanco de reloj. El resultado es que la salida puede comportarse de forma imprevista, tardando muchas veces más de lo normal en estabilizarse al estado correcto, o incluso podría oscilar repetidas veces hasta terminar en su estado estable. En un ordenador esto puede suponer la corrupción de datos o causar un fallo de programa.
En muchos casos, la metaestabilidad en los biestables se puede evitar asegurándose de que los datos y las entradas de control se mantienen constantes durante un periodo de tiempo especificado antes y después del flanco de reloj, denominados setup time (tsu) y hold time (th) respectivamente. Esos tiempos están establecidos en la hoja de datos del dispositivo en cuestión, y son típicamente entre unos pocos
nanosegundos y unos pocos cientos de nanosegundos para dispositivos modernos.
Desafortunadamente, no siempre es posible cumplir estos requisitos, porque los biestables pueden estar conectados a entradas en tiempo real que son asíncronas, y pueden cambiar en cualquier momento fuera del control del diseñador. En este caso, lo único que puede hacerse es reducir la probabilidad de error a un determinado nivel, dependiendo de la fiabilidad que se desee del circuito. Una técnica para reducir la incidencia es conectar dos o más biestables en cadena, de forma que la salida de una se conecta a la entrada de la siguiente, y con todos los dispositivos compartiendo la misma señal de reloj. De esta forma la probabilidad de un suceso metaestable puede reducirse considerablemente, pero nunca podrá eliminarse por completo.
Existen biestables robustos frente a la metaestabilidad, que funcionan reduciendo los tiempos de setup y hold en todo lo posible, pero incluso estos no pueden eliminar por completo el problema. Esto es debido a que la metaestabilidad es mucho más que un problema de diseño. Cuando el flanco de reloj y la entrada de datos están suficientemente juntos, el biestable tiene que elegir el evento que ocurrió antes. Y por más rápido que se haga el dispositivo, siempre existe la posibilidad de que sucedan lo suficientemente juntos como para que que no se pueda detectar cual es el que ocurrió primero. Así pues, es lógicamente imposible el construir un biestable a prueba de metaestabilidad.
Otro parámetro temporal importante de un biestable es el retardo reloj-a-salida (clock-to-output tCO) o
retardo de propagación (propagation delay tP), que es el tiempo que el biestable tarda en cambiar su salida tras un flanco de reloj. El tiempo para una transición alto-a-bajo (tPHL) es a veces diferente del de las transiciones de bajo-a-alto (tPLH).
Cuando se conectan biestables en cadena, es importante asegurar que el tCO de el primero es mayor que el hold time (tH) del siguiente, ya que en caso contrario, el segundo biestable no recibirá los datos de forma fiable. La relación entre tCO y tH está garantizada normalmente si ambos biestables son del mismo tipo.

Memorias


Memoria, también llamada memoria de computadora, se refiere a componentes de una computadora, dispositivos y medios de grabación que retienen datos informáticos durante algún intervalo de tiempo. Las memorias de computadora proporcionan una de las principales funciones de la computación moderna, la retención de información. Es uno de los componentes fundamentales de todas las computadoras modernas que, acoplados a una Unidad Central de Proceso (CPU por su acrónimo en inglés, Central Processing Unit), implementa lo fundamental del modelo de computadora de Von Neumann, usado desde los años 1940.
En la actualidad, memoria suele referirse a una forma de almacenamiento de
estado sólido conocido como Memoria RAM (memoria de acceso aleatorio, RAM por sus siglas en inglés Random Access Memory) y otras veces se refiere a otras formas de almacenamiento rápido pero temporal. De forma similar, se refiere a formas de almacenamiento masivo como Discos ópticos y tipos de almacenamiento magnético como discos duros y otros tipos de almacenamiento más lentos que las memorias RAM, pero de naturaleza más permanente. Estas distinciones contemporáneas son de ayuda porque son fundamentales para la arquitectura de computadores en general.
Además, se refleja una diferencia técnica importante y significativa entre memoria y dispositivos de almacenamiento masivo, que se ha ido diluyendo por el uso histórico de los términos "almacenamiento primario" (a veces "almacenamiento principal"), para memorias de acceso aleatorio, y "almacenamiento secundario" para dispositivos de almacenamiento masivo. Esto se explica en las siguientes secciones, en las que el término tradicional "almacenamiento" se usa como subtítulo por conveniencia.

Propósitos del almacenamiento
Los componentes fundamentales de las computadoras de propósito general son la
unidad aritmético-lógica, la unidad de control, espacio de almacenamiento y los dispositivos de entrada/salida. Si se elimina el almacenamiento, el aparato sería una simple calculadora en lugar de un computadora. La habilidad para almacenar las instrucciones que forman un programa de computadora y la información que manipulan las instrucciones es lo que hace versátiles a las computadoras diseñadas según la arquitectura de programas almacenados
Una computadora digital representa toda la información usando el sistema binario. Texto, números, imágenes, sonido y casi cualquier otra forma de información puede ser transformada en una sucesión de bits, o dígitos binarios, cada uno de los cuales tiene un valor de 1 ó 0. La unidad de almacenamiento más común es el byte, igual a 8 bits. Una determinada información puede ser manipulada por cualquier computadora cuyo espacio de almacenamiento es suficientemente grande como para que quepa el dato correspondiente o la representación binaria de la información. Por ejemplo, una computadora con un espacio de almacenamiento de ocho millones de bits, o un megabyte, puede ser usado para editar una novela pequeña.
Se han inventado varias formas de almacenamiento basadas en diversos fenómenos naturales. No existen ningún medio de almacenamiento de uso práctico universal y todas las formas de almacenamiento tienen sus desventajas. Por tanto, un sistema informático contiene varios tipos de almacenamiento, cada uno con su propósito individual, como se muestra en el diagrama.

Almacenamiento primario
La
memoria primaria está directamente conectada a la unidad central de proceso de la computadora. Debe estar presente para que la CPU funcione correctamente. El almacenamiento primario consiste en tres tipos de almacenamiento:
Los
registros del procesador son internos de la unidad central de proceso. Contienen información que las unidades aritmético-lógicas necesitan llevar a la instrucción en ejecución. Técnicamente, son los más rápidos de los almacenamientos de la computadora, siendo transistores de conmutación integrados en el chip de silicio de la CPU que funcionan como "flip-flop" electrónicos.
La
memoria caché es un tipo especial de memoria interna usada en muchas unidades centrales de proceso para mejorar su eficiencia o rendimiento. Parte de la información de la memoria principal se duplica en la memoria caché. Comparada con los registros, la caché es ligeramente más lenta pero de mayor capacidad. Sin embargo, es más rápida, aunque de mucha menor capacidad que la memoria principal. También es de uso común la memoria caché multi-nivel - la "caché primaria" que es más pequeña, rápida y cercana al dispositivo de procesamiento; la "caché secundaria" que es más grande y lenta, pero más rápida y mucho más pequeña que la memoria principal.
La
memoria principal contiene los programas en ejecución y los datos con que operan. La unidad aritmético-lógica puede transferir información muy rápidamente entre un registro del procesador y localizaciones del almacenamiento principal, también conocidas como "direcciones de memoria". En las computadoras modernas se usan memorias de acceso aleatorio basadas en electrónica del estado sólido, que está directamente conectada a la CPU a través de un "bus de memoria" y de un "bus de datos". Al bus de memoria también se le llama bus de dirección o bus frontal, (Front Side Bus) y ambos buses son "superautopistas" digitales de alta velocidad. Los métodos de acceso y la velocidad son dos de las diferencias técnicas fundamentales entre memoria y dispositivos de almacenamiento masivo.

Almacenamiento secundario, terciario y fuera de línea

La memoria secundaria requiere que la computadora use sus canales de entrada/salida para acceder a la información y se utiliza para almacenamiento a largo plazo de información persistente. Sin embargo, la mayoría de los sistemas operativos usan los dispositivos de almacenamiento secundario como área de intercambio para incrementar artificialmente la cantidad aparente de memoria principal en la computadora. La memoria secundaria también se llama "de almacenamiento masivo".
Habitualmente, la memoria secundaria o de almacenamiento masivo tiene mayor capacidad que la memoria primaria, pero es mucho más lenta. En las computadoras modernas, los
discos duros suelen usarse como dispositivos de almacenamiento masivo. El tiempo necesario para acceder a un byte de información dado almacenado en un disco duro es de unas milésimas de segundo (milisegundos). En cambio, el tiempo para acceder al mismo tipo de información en una memoria de acceso aleatorio se mide en mil-millonésimas de segundo (nanosegundos).
Esto ilustra cuan significativa es la diferencia entre la velocidad de las memorias de estado sólido y la velocidad de los dispositivos rotantes de almacenamiento magnético u óptico: los discos duros son del orden de un millón de veces más lentos que la memoria (primaria). Los dispositivos rotantes de almacenamiento óptico (unidades de CD y DVD) son incluso más lentos que los discos duros, aunque es probable que su velocidad de acceso mejore con los avances tecnológicos.
Por lo tanto, el uso de la memoria virtual, que es cerca de un millón de veces más lenta que memoria “verdadera”, ralentiza apreciablemente el funcionamiento de cualquier computadora. Muchos sistemas operativos implementan la memoria virtual usando términos como
memoria virtual o "fichero de caché". La principal ventaja histórica de la memoria virtual es el precio; la memoria virtual resultaba mucho más barata que la memoria real. Esa ventaja es menos relevante hoy en día. Aun así, muchos sistemas operativos siguen implementándola, a pesar de provocar un funcionamiento significativamente más lento.
La
memoria terciaria es un sistema en el que un brazo robótico montará (conectará) o desmontará (desconectará) un medio de almacenamiento masivo fuera de línea (ver siguiente punto) según lo solicite el sistema operativo de la computadora. La memoria terciaria se usa en el área del almacenamiento industrial, la computación científica en grandes sistemas informáticos y en redes empresariales. Este tipo de memoria es algo que los usuarios de computadoras personales normales nunca ven de primera mano.
El
almacenamiento fuera de línea es un sistema donde el medio de almacenamiento puede ser extraído fácilmente del dispositivo de almacenamiento. Estos medios de almacenamiento suelen usarse para transporte y archivo de datos. En computadoras modernas son de uso habitual para este propósito los disquetes, discos ópticos y las memorias flash, incluyendo las unidades USB. También hay discos duros USB que se pueden conectar en caliente. Los dispositivos de almacenamiento fuera de línea usados en el pasado son cintas magnéticas en muchos tamaños y formatos diferentes, y las baterías extraíbles de discos Winchester.

Almacenamiento de red
El
almacenamiento de red es cualquier tipo de almacenamiento de computadora que incluye el hecho de acceder a una información a través de una red informática. Discutiblemente, el almacenamiento de red permite centralizar el control de información en una organización y reducir la duplicidad de la información. El almacenamiento en red incluye:
El
almacenamiento asociado a red es una memoria secundaria o terciaria que reside en una computadora a la que otra de éstas puede acceder a través de una red de área local, una red de área extensa, una red privada virtual o, en el caso de almacenamientos de archivos en línea, internet.
Las
redes de computadoras son computadoras que no contienen dispositivos de almacenamiento secundario. En su lugar, los documentos y otros datos son almacenados en un dispositivo de la red.

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

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

Habilidad para acceder a información no contigua

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

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

Direccionamiento de la información

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

Capacidad de memoria
Memorias de mayor capacidad son el resultado de la rápida evolución en tecnología de
materiales semiconductores. Los primeros programas de ajedrez funcionaban en máquinas que utilizaban memorias de base magnética. A inicios de 1970 aparecen las memorias realizadas por semiconductores, como las utilizadas en la serie de computadoras IBM 370.
La velocidad de los computadores se incrementó, multiplicada por 100.000 aproximadamente y la capacidad de memoria creció en una proporción similar. Este hecho es particularmente importante para los programas que utilizan tablas de transposición: a medida que aumenta la velocidad de la computadora se necesitan memorias de capacidad proporcionalmente mayor para mantener la cantidad extra de posiciones que el programa está buscando.
Se espera que la capacidad de procesadores siga aumentando en los próximos años; no es un abuso pensar que la capacidad de memoria continuará creciendo de manera impresionante. Memorias de mayor capacidad podrán ser utilizadas por programas con tablas de Hash de mayor envergadura, las cuales mantendrán la información en forma permanente.
Minicomputadoras: se caracterizan por tener una configuración básica regular que puede estar compuesta por un monitor, unidades de disquete, disco, impresora, etc. Su capacidad de memoria varía de 16 a 256 kbytes.
Macrocomputadoras: son aquellas que dentro de su configuración básica contienen unidades que proveen de capacidad masiva de información, terminales (monitores), etc. Su capacidad de memoria varía desde 256 a 512 kbytes, también puede tener varios megabytes o hasta gigabytes según las necesidades de la empresa.
Microcomputadores y computadoras personales: con el avance de la microelectrónica en la década de los 70 resultaba posible incluir todos los componente del procesador central de una computadora en un solo circuito integrado llamado microprocesador. Ésta fue la base de creación de unas computadoras a las que se les llamó microcomputadoras. El origen de las microcomputadoras tuvo lugar en los Estados Unidos a partir de la comercialización de los primeros microprocesadores (INTEL 8008, 8080). En la década de los 80 comenzó la verdadera explosión masiva, de los ordenadores personales (Personal Computer PC) de IBM. Esta máquina, basada en el microprocesador INTEL 8008, tenía características interesantes que hacían más amplio su campo de operaciones, sobre todo porque su nuevo sistema operativo estandarizado (MS-DOS, Microsoft Disk Operating Sistem) y una mejor resolución óptica, la hacían más atractiva y fácil de usar. El ordenador personal ha pasado por varias transformaciones y mejoras que se conocen como XT(Tecnología Extendida), AT(Tecnología Avanzada) y PS/2.

Tecnologías, dispositivos y medios

Memorias Magnéticas
Las memorias magnéticas usan diferentes patrones de
magnetización sobre una superficie cubierta con una capa magnetizada para almacenar información. Las memorias magnéticas son no volátiles. Se llega a la información usando uno o más cabezales de lectura/escritura. Como el cabezal de lectura/escritura solo cubre una parte de la superficie, el almacenamiento magnético es de acceso secuencial y debe buscar, dar vueltas o las dos cosas. En computadoras modernas, la superficie magnética será de alguno de estos tipos:
Disco magnético
Disquete, usado para memoria fuera de línea
Disco duro, usado para memoria secundario
Cinta magnética, usada para memoria terciaria y fuera de línea.
En las primeras computadoras, el almacenamiento magnético se usaba también como memoria principal en forma de
memoria de tambor, memoria de núcleo, memoria en hilera de núcleo, memoria película delgada, memoria de Twistor o memoria burbuja. Además, a diferencia de hoy, las cintas magnéticas se solían usar como memoria secundaria.

Memoria de semiconductor
La
memoria de semiconductor usa circuitos integrados basados en semiconductores para almacenar información. Un chip de memoria de semiconductor puede contener millones de minúsculos transistores o condensadores. Existen memorias de semiconductor de ambos tipos: volátiles y no volátiles. En las computadoras modernas, la memoria principal consiste casi exclusivamente en memoria de semiconductor volátil y dinámica, también conocida como memoria dinámica de acceso aleatorio o más comunmente RAM, su acrónimo inglés. Con el cambio de siglo, ha habido un crecimiento constante en el uso de un nuevo tipo de memoria de semiconductor no volátil llamado memoria flash. Dicho crecimiento se ha dado, principalmente en el campo de las memorias fuera de línea en computadoras domésticas. Las memorias de semiconductor no volátiles se están usando también como memorias secundarias en varios dispositivos de electrónica avanzada y computadoras especializadas.

Memorias de disco óptico
Las
memorias en disco óptico almacenan información usando agujeros minúsculos grabados con un láser en la superficie de un disco circular. La información se lee iluminando la superficie con un diodo laser y observando la reflexión. Los discos ópticos son no volátil y de acceso secuencial. Los siguientes formatos son de uso común:
CD, CD-ROM, DVD: Memorias de simplemente solo lectura, usada para distribución masiva de información digital (música, vídeo, programas informáticos).
CD-R, DVD-R, DVD+R: Memorias de escritura única usada como memoria terciaria y fuera de línea.
CD-RW, DVD-RW, DVD+RW, DVD-RAM: Memoria de escritura lenta y lectura rápida usada como memoria terciaria y fuera de línea.
Blu-ray: Formato de disco óptico pensado para almacenar vídeo de alta calidad y datos. Para su desarrollo se creó la BDA, en la que se encuentran, entre otros, Sony o Phillips.
HD DVD
Se han propuesto los siguientes formatos:
HVD
Discos
cambio de fase Dual

Memorias de discos magneto ópticos
Las
Memorias de disco magneto óptico son un disco de memoria óptica donde la información se almacena en el estado magnético de una superficie ferromagnética. La información se lee ópticamente y se escribe combinando métodos magnéticos y ópticos. Las memorias de discos magneto ópticos son de tipo no volátil, de acceso secuencial, de escritura lenta y lectura rápida. Se usa como memoria terciaria y fuera de línea.

Otros métodos iniciales
La
cinta de papel y las tarjetas perforadas se usaron para almacenar información para procesamiento automático desde los 1980s, mucho antes de que existieran las computadoras de propósito general. La información se grababa perforando agujeros en el papel o la tarjeta. La lectura se realizaba por sensores eléctricos (más tarde ópticos) donde una localización particular podía estar agujereada o no.
Para almacenar información, los
tubos Williams usaban un tubo de rayos catódicos y los tubos Selectrón usaban un gran tubo de vacío. Estos dispositivos de memoria primaria tuvieron una corta vida en el mercado ya que el tubo de Williams no era fiable y el tubo de Selectron era caro.
La
memoria de línea de retardo usaba ondas sonoras en una sustancia como podía ser el Mercurio para guardar información. La memoria de línea de retardo era una memoria dinámica volátil, ciclo secuencial de lectura/escritura. Se usaba como memoria principal.

Otros métodos propuestos
La
memoria de cambio de fase usa las fases de un material de cambio de fase para almacenar información. Dicha información se lee observando la resistencia eléctrica variable del material. La memoria de cambio de fase sería una memoria de lectura/escritura no volátil, de acceso aleatorio podría ser usada como memoria primaria, secundaria y fuera de línea. La memoria holográfica almacena ópticamente la información dentro de cristales o fotopolímeros. Las memorias holográficas pueden utilizar todo el volumen del medio de almacenamiento, a diferencia de las memorias de discos ópticos, que están limitadas a un pequeño número de superficies en capas. La memoria holográfica podría ser no volátil, de acceso secuencial y tanto de escritura única como de lectura/escritura. Puede ser usada tanto como memoria secundaria como fuera de línea.
La
memoria molecular almacena la información en polímeros que pueden almacenar puntas de carga eléctrica. La memoria molecular puede ser especialmente interesante como memoria principal.

Multiplexores


En el campo de las telecomunicaciones el multiplexor se utiliza como dispositivo que puede recibir varias entradas y transmitirlas por un medio de transmisión compartido. Para ello lo que hace es dividir el medio de transmisión en múltiples canales, para que varios nodos puedan comunicarse al mismo tiempo.
Una señal que está multiplexada debe desmultiplexarse en el otro extremo.
Según la forma en que se realice esta división del medio de transmisión, existen varias clases de multiplexación:










  • Multiplexación por división de longitud de onda

    Electrónica digital

    Esquema de un multiplexor 2 a 1. Puede ser comparado a un conmutador controlado.
    En
    electrónica digital, un multiplexor, es un circuito usado para el control de un flujo de información que equivale a un conmutador. En su forma más básica se compone de dos entradas de datos (A y B), una salida de datos y una entrada de control. Cuando la entrada de control se pone a 0 lógico, la señal de datos A es conectada a la salida; cuando la entrada de control se pone a 1 lógico, la señal de datos B es la que se conecta a la salida...
    El multiplexor es una aplicación particular de los decodificadores, tal que existe una entrada de habilitación (EN) por cada
    puerta AND y al final se hace un OR entre todas las salidas de las puertas AND.
    La función de un multiplexor da lugar a diversas aplicaciones:
    Selector de entradas.
    Serializador: Convierte datos desde el formato paralelo al formato serie.
    Transmisión multiplexada: Utilizando las mismas líneas de conexión, se transmiten diferentes datos de distinta procedencia.
    Realización de funciones lógicas: Utilizando
    inversores y conectando a 0 ó 1 las entradas según interese, se consigue diseñar funciones complejas, de un modo más compacto que con las tradicionales puertas lógicas.

Decodificadores


Un decodificador o descodificador es un circuito combinacional, cuya función es inversa a la del codificador, esto es, convierte un código binario de entrada (natural, BCD, etc.) de N bits de entrada y M líneas de salida (N puede ser cualquier entero y M es un entero menor o igual a 2N), tales que cada línea de salida será activada para una sola de las combinaciones posibles de entrada. Estos circuitos, normalmente, se suelen encontrar como decodificador / demultiplexor. Esto es debido a que un demultiplexor puede comportarse como un decodificador.
Si por ejemplo tenemos un decodificador de 2 entradas con 22=4 salidas, en el que las entradas, su funcionamiento sería el que se indica en la siguiente tabla, donde se ha considerado que las salidas se activen con un "uno" lógico:

Ejemplo decodificador
Tabla de verdad para el decodificador 2 a 4
Entradas Salidas A B D3 D2 D1 D0
0 0 00 0 1 0 1 0 0 1

0 1 00 1 0 0 1 1 1 0

Un tipo de decodificador muy empleado es el de siete segmentos. Este circuito decodifica la información de entrada en BCD a un código de siete segmentos adecuado para que se muestre en un
visualizador de siete segmentos.

Aplicaciones del Decodificador
Su función principal es la de direccionar espacios de memoria. Un decodificador de N entradas puede direccionar 2N espacios de memoria.
Para poder direccionar 1kb de memoria necesitaría 10 bits, ya que la cantidad de salidas seria 210, igual a 1024.
De esta manera: Con 20 bits => 220 = 1Mb; Con 30 bits => 230 = 1Gb, etc.

Los mapas de karnaugh


Un mapa de Karnaugh (también conocido como tabla de Karnaugh o diagrama de Veitch, abreviado como K-Mapa o KV-Mapa) es un diagrama utilizado para la minimización de funciones algebraicas booleanas. El mapa de Karnaugh fue inventado en 1950 por Maurice Karnaugh, un físico y matemático de los laboratorios Bell.
Los mapas K aprovechan la capacidad del cerebro humano de trabajar mejor con patrones que con ecuaciones y otras formas de expresión analítica. Externamente, un mapa de Karnaugh consiste de una serie de cuadrados, cada uno de los cuales representa una línea de la
tabla de verdad. Puesto que la tabla de verdad de una función de N variables posee 2N filas, el mapa K correspondiente debe poseer también 2N cuadrados. Cada cuadrado alberga un 0 ó un 1, dependiendo del valor que toma la función en cada fila. Las tablas de Karnaugh se pueden utilizar para funciones de hasta 6 variables.

Algebra de Boole


Las álgebras booleanas, estudiadas por primera vez en detalle por George Boole , constituyen un área de las matemáticas que ha pasado a ocupar un lugar prominente con el advenimiento de la computadora digital. Son usadas ampliamente en el diseño de circuitos de distribución y computadoras, y sus aplicaciones van en aumento en muchas otras áreas. En el nivel de lógica digital de una computadora, lo que comúnmente se llama hardware, y que está formado por los componentes electrónicos de la máquina, se trabaja con diferencias de tensión, las cuales generan funciones que son calculadas por los circuitos que forman el nivel. Éstas funciones, en la etapa de diseña del hardware, son interpretadas como funciones de boole. En el presente trabajo se intenta dar una definición de lo que es un álgebra de boole; se tratan las funciones booleanas,haciendo una correlación con las fórmulas proposicionales. Asimismo, se plantean dos formas canónicas de las funciones booleanas, que son útiles para varios propósitos, tales como el de determinar si dos expresiones representan o no la misma función. Pero para otros propósitos son a menudo engorrosas, por tener más operaciones que las necesarias. Particularmente, cuando estamos construyendo los circuitos electrónicos con que implementar funciones booleanas, el problema de determinar una expresión mínima para una función es a menudo crucial. No resultan de la misma eficiencia en dinero y tiempo, principalmente, dos funciones las cuales calculan lo mismo pero donde una tiene menos variables y lo hace en menor tiempo. Como solución a este problema, se plantea un método de simplificación, que hace uso de unos diagramas especiales llamados mapas o diagramas de Karnaugh, y el cual tiene la limitación de poder trabajar adecuadamente sólo con pocas variables.Se realizan estas presentaciones con el fin de demostrar la afinidad existente entre el álgebra de boole y la lógica proposicional, y con el objeto de cimentar el procedimiento de simplificación presentado en la lógica de proposiciones.

El álgebra booleana es un sistema matemático deductivo centrado en los valores cero y uno (falso y verdadero). Un operador binario " º " definido en éste juego de valores acepta un par de entradas y produce un solo valor booleano, por ejemplo, el operador booleano AND acepta dos entradas booleanas y produce una sola salida booleana.Para cualquier sistema algebraico existen una serie de postulados iniciales, de aquí se pueden deducir reglas adicionales, teoremas y otras propiedades del sistema, el álgebra booleana a menudo emplea los siguientes postulados:
Cerrado. El sistema booleano se considera cerrado con respecto a un operador binario si para cada par de valores booleanos se produce un solo resultado booleano.
Conmutativo. Se dice que un operador binario " º " es conmutativo si A º B = B º A para todos los posibles valores de A y B.
Asociativo. Se dice que un operador binario " º " es asociativo si (A º B) º C = A º (B º C) para todos
los valores booleanos A, B, y C.
Distributivo. Dos operadores binarios " º " y " % " son distributivos si A º (B % C) = (A º B) % (A º C) para todos los valores booleanos A, B, y C.
Identidad. Un
valor booleano I se dice que es un elemento de identidad con respecto a un operador binario " º " si A º I = A.
Inverso. Un valor booleano I es un elemento inverso con respecto a un operador booleano " º " si A º I = B, y B es diferente de A, es decir, B es el valor opuesto de A.



  • Teorema 1: A + A = A


  • Teorema 2: A · A = A


  • Teorema 3: A + 0 = A


  • Teorema 4: A · 1 = A


  • Teorema 5: A · 0 = 0


  • Teorema 6: A + 1 = 1


  • Teorema 7: (A + B)' = A' · B'


  • Teorema 8: (A · B)' = A' + B'


  • Teorema 9: A + A · B = A


  • Teorema 10: A · (A + B) = A


  • Teorema 11: A + A'B = A + B


  • Teorema 12: A' · (A + B') = A'B'


  • Teorema 13: AB + AB' = A


  • Teorema 14: (A' + B') · (A' + B) = A'


  • Teorema 15: A + A' = 1


  • Teorema 16: A · A' = 0