viernes, 5 de octubre de 2012

CONCEPTOS JUMER

QUE ES MEMORIA
Es un componente indispensable de toda computadora es su memoria, sin embargo no podría haber computadoras como las que conocemos
La memoria sirve para almacenar las instrucciones que se van a ejecutar y también los datos. Los componentes básicos que lo conforma son los siguientes:

LATCHES
Para crear una memoria de un bit necesitamos un circuito que de alguna manera  recuerde los valores de entrada anteriores. Podemos construir un sistema así a partir de dos compuertas NOR

FLIP-FLOPS
En muchos circuitos es necesario muestrear el valor que hay en una línea dada en un instante dado y almacenado. En esta variante llamada flip-flop, la transición de estado no ocurre cuando el reloj es 1, sino durante la transición del reloj de 0 a 1 o de 1 a 0, así la longitud del pulso de reloj no importa en tanto la transición sea rápida

ORGANIZACIÓN DE LA MEMORIA
Una organización de la memoria muy utilizada que satisface este criterio se muestra en la figura,este ejemplo ilustra una memoria con cuatro palabras de 3 bits.Cada operación lee o escribe una palabra de 3 bits completa. Si bien la capacidad total de memoria de 12 bits apenas rebasa la de nuestro flip flop octal, este diseño requiere menos terminales y loque es mas importante es fácil extenderla a memorias grandes

Aunque la memoria de la figura parece complicado en si esmuy sencillo,este circuito tiene ocho líneas de entrada y tres  líneas de salida,en principio esta memoria podría colocarse en un paquete de 14 terminales, incluida la de potencia y la de tierra en comparación con 20 terminales para el flip flop octal

CHIPS DE MEMORIA
Puesto que la tecnología de circuitos integrados se presta a fabricar chips cuya estructura interna sea un patrón bidimensional repetitivo, los chips de memoria son una aplicación ideal de esa tecnología, al mejorar la tecnología el numero de bits que se pueden colocar un chip aumenta continuamente, duplicándose por lo regular cada 18 meses(ley de moore).Los chips mas grandes no siempre hacen que los mas pequeños se vuelvan obsoletos, debido a las diferentes características de capacidad, rapidez, potencia, precio y facilidad de conexión
Puesto que una computadora normalmente tiene muchos chips de memoria, se requiere una señal para seleccionar el chip que se necesita en ese momento, de modo que responda y los demás no lo hagan, se incluye la señas CS para este fin, la señal se habilita para activar el chip, la señal WE sirve para indicar que se van a escribir datos, no a leerse. Por ultimo la señal OE se habilita para alimentar las señales de salida, si no esta habilitada la salida del chip se desconecta del circuito
Los chips de memoria grandes a menudo se construyen como matrices de n*n que se direccionan por renglón y columna. Esta organización reduce el numero de terminales requeridas pero también hace mas lento el direccionamiento del chip, ya que se necesitan dos ciclos de direccionamiento uno para el reglón y otro para la columna

LAS MEMORIAS RAM Y LAS ROM
Una RAM estática se construye internamente empleando circuitos similares a los flip-flop D básico, tienen la propiedad de que su contenido se conserva en tanto se sigue alimentando el circuito, las RAM estáticas son muy rápidas
Una RAM dinámica no usa flip-flops. Una RAM dinámica es una matriz de celdas, cada una de las cuales contienen un transmisor y un diminuto condensador, los condensadores pueden cargarse o descargarse lo que permite almacenar ceros y unos
Las ROM son mucho mas económicos que las RAM cuando se producen en grandes cantidades, pues así el costo de elaborar la mascara se diluye, estas memorias son inflexibles porque no pueden modificarse después de su fabricación y el tiempo que tarde en surtirse un pedido de ROM puede ser de semanas
Una PROM es parecida a la ROM excepto que puede programarse en el campo, lo que elimina el retrase por surtido, muchos PROM contienen una matriz de diminutos fusibles. Un fusible específico puede quemarse seleccionando su renglón y columna y aplicando después de un voltaje alto a una terminal especial del chip
La siguiente fue la EPROM que no solo puede programarse sino también borrarse en el campo, las eprom suelen tener la misma organización que las RAM estáticas, aun mejor que la EPROM es La EEPROM que puede borrarse por aplicación de pulsadores, sin tener que colocarse un una cámara especial para exponerla a luz ultravioleta 

REFERENCIAS BIBLIOGRAFICAS

Andrew S. Tanenbaum (2000), Organización de Computadoras un enfoque estructurado, Estado de México

John L. Hennessy y David A. Patterson (1993), Arquitectura de Computadoras un enfoque cuantitativo, Mcgraw-Hillpnteramericana De España




JERARQUIA DE MEMORIA


INTRODUCCIÓN
La solución para almacenar una gran cantidad de datos es el uso de la jerarquía de memoria

DESARROLLO
En la jerarquía de memoria se reconoce los siguientes niveles:
En la cúspide esta los registros de la CPU a los que puede tenerse acceso a la velocidad máxima del CPU
Memoria cache que actualmente es el orden de 32k a unos cuantos megabytes
Memoria principal con tamaños que actualmente van de los 16M hasta decenas de gigabytes
Discos magnéticos para el almacenamiento permanente
Cinta magnética y discos ópticos para el almacenamiento de archivos

Al bajar por la jerarquía 3 parámetros clave crecen:
Primero.- El tiempo de acceso se alarga, los registros de la CPU se pueden acceder en nanosegundos, la memoria cache requiere un múltiplo pequeño del tiempo de acceso de los registros, los tiempos de acceso a el disco magnético es de por lo menos 10ms, y el  acceso a cinta y a óptico se puede medir en segundos.
Segundo.- la capacidad de almacenamiento aumenta al bajar la jerarquía, los registros tienen por lo menos tienen 128 bytes, los caches a unos megabytes, las memorias principales decenas o miles de megabytes, los discos magnéticos de unos a decenas de gigabytes, la cinta y los discos ópticos se guardan fuera de línea  ósea su límite  depende del propietario.
Tercero.- el número de bits que se obtiene por dólar invertido aumenta al bajar la jerarquía, la memoria principal se mide en dólares/megabytes, almacenamiento de disco centavos de dólar/megabyte, y la cinta en dólares/gigabyte 


REFERENCIAS BIBLIOGRAFICAS

Andrew S. Tanenbaum (2000), Organización de Computadoras un enfoque estructurado, Estado de México

John L. Hennessy y David A. Patterson (1993), Arquitectura de Computadoras un enfoque cuantitativo, Mcgraw-Hillpnteramericana De España





MEMORIA PRINCIPAL

INTRODUCCION
La memoria principal satisface las demandas de as caches y unidades vectoriales y sirve como interfaz de entrada y salida ya que es el destino de la entrada asi como la fuente para la salida, las medidas de rendimiento de la memoria principal hacen énfasis a la latencia y al ancho de banda

 DESARROLLO

LATENCIA EN LA MEMORIA
La latencia de la memoria principal es la preocupación primordial de la cache  mientras que el ancho de banda de la memoria es la preocupación primordial de las E/S y unidades vectoriales.
La latencia de memoria tradicionalmente se expresa usando dos medidas: tiempo de acceso y duración del ciclo
  1. Ø Tiempo de acceso.-es el tiempo desde que se pide una lectura hasta que llega la palabra deseada
  2. Ø  Duración del ciclo.-es el tiempo mínimo entre peticiones a memoria

ORGANIZACIÓN PARA MEJORAR EL RENDIMIENTO DE LA MEMORIA PRINCIPAL
Una mejora en el ancho de banda permitiría incrementar el tamaño de los bloques de cache sin el correspondiente incremento en la peñalizacion de fallos
El rendimiento de la organización básica de memoria es:
  1. Ø  1 ciclo de reloj para enviar la dirección
  2. Ø  6 ciclos de reloj para el tiempo de acceso por palabra
  3. Ø  1 ciclo de reloj para enviar una palabra de datos

Dado un bloque de cache de cuatro palabras, la penalización de fallos es de 32 ciclos de reloj, y un ancho de banda de medio byte por ciclo de reloj
Opciones para conseguir sistemas de memoria más rápidos

MEMORIA PRINCIPAL MÁS ANCHA
Los caches están organizados con una anchura de una palabra porque la mayoría de los accesos de la CPU son de ese tamaño
A su vez la memoria principal tiene el ancho de una palabra para que coincida con la anchura de la cache, duplicar o cuadruplicar el ancho de la memoria es duplicar o cuadruplicar también el ancho de banda de memoria
El ancho de banda es un byte por ciclo de reloj, en un ancho de dos palabras y de dos bytes por ciclo de reloj cuando la memoria tiene un ancho de cuatro palabras

ENTRELAZADO DE DRAM ESPECIFICO PARA MEJORAR EL RENDIMIENTO DE LA MEMORIA PRINCIPAL
Los tiempos de acceso a las DRAM se dividen en accesos a filas y accesos a columnas. Las DRAM disponen de un buffer de una fila de bits dentro de la DRAM para los accesos a las columnas.

 Hay tres versiones para esta optimización:

Modo nibble.-la DRAM puede proporcionar tres bits extra de posiciones secuenciales para cada acceso a filas

Modo de pagina.-El buffer actúa como una SRAM, cambiando las direcciones de las columnas, se puede acceder a bits aleatorios en el buffer hasta el siguiente acceso a fila o tiempo de refresco

Columna estática.-Muy similar al modo de página, excepto que no es necesario acertar la línea de strobe de acceso a columnas cada vez que cambie la dirección de la columna; esta opción se ha denominado SCRAM, para la DRAM de columna estática
A partir de DRAM de Mbit,la mayoría de los dados pueden realizar alguna de las tres opciones, seleccionando la optimización en el instante que el dado se encapsula al escoger los pads que se van a usar, estas operaciones cambian la definición del tiempo del ciclo para las DRAM.

 REFERENCIAS BIBLIOGRAFICAS

Andrew S. Tanenbaum (2000), Organización de Computadoras un enfoque estructurado, Estado de México

John L. Hennessy y David A. Patterson (1993), Arquitectura de Computadoras un enfoque cuantitativo, Mcgraw-Hillpnteramericana De España






MEMORIA CACHE

INTRODUCCION
Cache es el nombre escogido para representar el nivel de jerarquía de memoria entre la CPU y la memoria principal. El concepto de cache es mas joven que la arquitectura IBM 360 pero  hoy aparecen caches en todo tipo de computadoras, la palabra cache a sustituido a “BUFFER “en muchos de los circuitos informáticos

Rango típico de parámetros de la jerarquía de memoria cache

DESARROLLO
El diseño de las caches cada vez es más importante para CPU de alto rendimiento
  1. Ø  Uno de los aspectos es el tamaño de la cache, cuanto mas grande es el cache mejor funciona, pero también cuesta mas
  2. Ø  Un segundo aspecto es el tamaño de la línea de cache, un cache de 16KB se puede dividir en 1k líneas de 16 BYTES ,2k líneas de 8 bytes y otras combinaciones
  3. Ø  Un tercer aspecto es la organización del cache es decir como hace el cache para saber que palabra de memoria contiene en un momento dado
  4. Ø  Un cuarto aspecto es el de las instrucciones y los datos se guardaran en el mismo cache o en caches distintos

Un diseño de cache unificado es mas sencillo y automáticamente equilibra las obtenciones de instrucciones frente a las obtenciones de datos
En un quinto aspecto es el número de caches, hoy en día es raro tener chips con un cache primario en el chip de la CPU, un cache secundario fuera del chip pero en el mismo paquete y un tercer cache todavía más lejos

ORGANIZACIÓN DE LA CACHE
Se divide en tres categorías:
  1. Ø  Si cada bloque solo tiene un lugar donde puede aparecer en la cache se dice que es de correspondencia directa
  2. Ø  Si un bloque se puede colocar en cualquier parte de la cache se lo denomina totalmente asociativa
  3. Ø  Si un bloque se puede colocar en un conjunto restringido de la cache se lo dice que es asociativa por conjuntos

La cache tiene una etiqueta de dirección en cada bloque que identifica la dirección dela estructura del bloque. La etiqueta de cada bloque se lo va verificando para ver si coincide con la dirección de estructura requerida por la CPU
Para verificar que un bloque de cache no tiene información valida, el procedimiento es añadir un  bit de validez a la etiqueta para que este indique si esta entrada contiene o no una dirección valida


La etiqueta se lo utiliza para comprobar todos los bloques del conjunto el índice se utiliza para seleccionar el conjunto y el desplazamiento es la dirección del dato deseado

RENDIMIENTO DE LA CACHE
El tiempo de la CPU se puede dividir en ciclos de reloj  que la CPU maneja en la ejecución de del programa y en los ciclos de reloj que la CPU emplea esperando al sistema de memoria
Tiempo de CPU= (ciclos de reloj de ejecución CPU + ciclos de reloj de detención –memoria).duración de ciclo de reloj
La formula anterior plantea la siguiente pregunta de si los ciclos de reloj para un acceso a cache se debe considerar el reloj de detención de memoria o el de ejecución de CPU. Ambos se los puede usar pero el mas correcto es el uso de los ciclos de reloj de ejecución de CPU
Entonces los ciclos de reloj de detención de memoria se pueden definir como la función del número de accesos a memoria por programa.
Ciclos de reloj de detención de memoria=(acceso a memoria/programa)*frecuencia de fallos*penalización de fallos

FORMULA DE TIEMPO – CPU
Tiempo de CPU=IC+ (CPI+ (Accesos a memoria/instrucciones)*Frecuencia de fallos*Penalización de fallos)*Tiempo de ciclo de reloj

 REFERENCIAS BIBLIOGRAFICAS

Andrew S. Tanenbaum (2000), Organización de Computadoras un enfoque estructurado, Estado de México

John L. Hennessy y David A. Patterson (1993), Arquitectura de Computadoras un enfoque cuantitativo, Mcgraw-Hillpnteramericana De España






MEMORIA VIRTUAL

INTRODUCCION
En cualquier instante de tiempo los computadores están corriendo múltiples procesos, cada uno con su propio espacio de direcciones, seria muy caro dedicar una memoria de tamaño igual al espacio total de direcciones a cada proceso, especialmente dado que muchos procesos utilizan solo una pequeña parte de su espacio de direcciones, una manera de hacer esto es la memoria virtual, divide la memoria física en bloques y los asigna a diferentes procesos.

DESARROLLO
La memoria virtual es esencial para las computadoras actuales, la compartición no es la razón por la cual se invento la memoria virtual. Si antes un programa era demasiado grande para la memoria física incumbía al programador ajustarlo.
La memoria virtual, inventada para aligerar a los programadores de este peso, gestionaba automáticamente los dos niveles de jerarquía de memoria representada por la memoria principal y la secundaria.
La memoria virtual igual simplifica la carga del programa para su ejecución. Denominado reubicación este procedimiento permite que el mismo programa se ejecute en cualquier posición de la memoria física.
Con la memoria virtual la CPU  produce direcciones virtuales que son traducidas por una combinación de Harvard y software a direcciones físicas, que pueden ser utilizadas para acceder a la memoria principal. Este proceso se denomina correspondencia de memoria o traducción de direcciones.
La memoria virtual controla dos niveles de la jerarquía de la memoria que son la DRAM y los discos magnéticos.

RANGOS TIPICOS DE ÀRAMETROS PARA MEMORIA VIRTUAL


 Los sistemas de memoria virtual se pueden categorizar en dos clases: los de bloques de tamaño fijo, denominados páginas y los de bloques de tamaño variable denominados segmentos. Las paginas normalmente tienen un tamaño fijo entre 512 y  192 bytes, mientras que el tamaño del segmento es variable.
La decisión de utilizar memoria virtual paginada frente a la segmentada afecta a la CPU. Él direccionamiento paginado tiene una única dirección de tamaño fijo dividida en numero de pagina y desplazamiento en una pagina, análogo al direccionamiento de la cache

 REFERENCIAS BIBLIOGRAFICAS

Andrew S. Tanenbaum (2000), Organización de Computadoras un enfoque estructurado, Estado de México

John L. Hennessy y David A. Patterson (1993), Arquitectura de Computadoras un enfoque cuantitativo, Mcgraw-Hillpnteramericana De España







MEMORIAS SECUNDARIAS

INTRODUCCION
Por más grande que sea la memoria principal, siempre es demasiado pequeña. La gente siempre quiere almacenar mas información de la que cabe en la memoria, primordialmente porque a medida que la tecnología mejora se va queriendo guardar mas y mas información.
La solución tradicional para almacenar una gran cantidad de datos es una jerarquía de memoria
En la cúspide de esta pirámide están los registros de la CPU, luego viene la memoria cache que actualmente es del orden de 32KB a unos cuantos megabytes, sigue la memoria principal con tamaños que actualmente van de 16Mb para los sistemas mas económicos hasta decenas de gigabytes, luego se encuentran los discos magnéticos y por ultimo tenemos la cinta magnética y los discos ópticos para el almacenamiento de archivos

DISCOS MAGNETICOS
Un disco magnético consiste en uno o más platos de aluminio con un recubrimiento magnetizable. Originalmente estos platos llegaron a tener 50 cm de diámetro, pero en la actualidad suelen ser de 3 a 12 cm, y algunos discos para computadoras portátiles tienen diámetros de menos de 3cm y se siguen encogiendo. Una cabeza de disco contiene una bobina de inducción flota sobre la superficie y muy cerca de ella, descansando en un colchón de aire. Cuando una corriente positiva o negativa pasa por la cabeza, magnetiza la superficie justo debajo de ella, alineando las partículas magnéticas hacia la izquierda o hacia la derecha, dependiendo de la polaridad de la corriente de la unidad.

 DISCOS FLEXIBLES
Con la llegada de la computadora personal se requiero una forma de distribuir software, la solución fue el disquete o disco flexible, un medio pequeño y removible que recibió ese nombre ya que los primeros eran físicamente flexibles.
Las características generales son las mismas que las de los discos que acabamos de describir, excepto que, a diferencia de los discos duros, en los que las cabezas flotan sobre la superficie en un colchón de aire en rápido movimiento, las cabezas de las unidades de disco si tocan los disquetes, el resultado es que tanto los medios como las cabezas se desgastan con comparativa rapidez, a fin de reducir el desgaste las computadoras personales retraen las cabezas y detienen la rotación cuando una unidad no esta leyendo o escribiendo, por esta razón cuando se emite el orden de leer o escribir hay un retraso de medio segundo.

DISCOS IDE
Los discos IDE y EIDE eran originalmente solo para sistemas basados en Intel, ya que la interfaz es una copia exacta del bus de la IBM PC, sin embargo hoy día unas cuantas computadoras mas los usan por su bajo precio

DISCOS SCSI
Los discos SCSI no son diferentes de los IDE en cuanto a la organización de sus cilindros, pistas y sectores, pero tienen una interfaz diferente y tasas de transferencia mucho mas altas.
Puesto que los discos SCSI tienen una tasa de transferencia alta, son el disco estándar en casi todas las estaciones de trabajo, también son el disco estándar de las MACINTOSH y son comunes en las PC Intel actuales

CD-ROM
Los discos ópticos tienen una densidad de grabación mayor que los discos magnéticos convencionales. Los discos ópticos en si se crearon originalmente para grabar programas de televisión, pero se les puede dar un uso más estético como dispositivos de almacenamiento para computadora.
Los discos ópticos de primera generación fueron inventados por el conglomerado de electrónica holandés Philips para grabar películas. Tenían 30 cm de diámetro y se vendían con el nombre de LaserVision, pero no se popularizaron fuera de Japón
Los CD-ROM se han vuelto muy populares para publicar juegos, películas, enciclopedias, atlas y obras de referencia de todo tipo. Casi todo el software comercial se vende ahora en CD-ROM, su combinación de alta capacidad y bajo costo de fabricación los hace ideales para un sinnúmero de aplicaciones

REFERENCIAS BIBLIOGRAFICAS

Andrew S. Tanenbaum (2000), Organización de Computadoras un enfoque estructurado, Estado de México

John L. Hennessy y David A. Patterson (1993), Arquitectura de Computadoras un enfoque cuantitativo, Mcgraw-Hillpnteramericana De España






BUSES
La mayor parte de las computadoras tiene una estructura como se lo ve en  la figura de abajo

Esta solo tiene un bus que sirve para conectar la CPU, la memoria y los dispositivos de E/S, casi todos los sistemas tienen dos o mas buses. Cada dispositivo de E/S consta de dos partes una que contiene casi todos los circuitos electrónicos, llamado controlador y una que contiene el dispositivo de E/S  como una unidad de disco
El controlador suele estar contenido en una tarjeta que se inserta en una ranura desocupada, con excepción de los controladores que no son opcionales como el del teclado
El controlador se conecta a su dispositivo con un cable unido a un conector en la parte de trasera del gabinete


La tarea de un controlador es dominar su dispositivo de E/S y manejar su acceso al bus
El bus ISA eran demasiados lentos por lo que se creo un bus mucho mas rápido y se esta utilizando en la actualidad que es el bus PCI Intel diseño este bus pero decidió colocar todas las patentes den el dominio publico para animar a toda la industria a que lo adoptaron
El bus PCI se puede usar en muchas configuraciones, el controlador se comunica con la memoria y con el bus PCI directamente de modo que el trafico entre la CPU y la memoria no usa el bus PCI, en cambio los que necesitan un gran ancho de banda como los discos SCSI se pueden conectar directamente al bus PCI, además el bus PCI tiene un puente con el bus ISA lo que permite seguir usando controladores ISA y sus dispositivos 

REFERENCIAS BIBLIOGRAFICAS

Andrew S. Tanenbaum (2000), Organización de Computadoras un enfoque estructurado, Estado de México

John L. Hennessy y David A. Patterson (1993), Arquitectura de Computadoras un enfoque cuantitativo, Mcgraw-Hillpnteramericana De España




TIPOS DE BUSES
Existen dos grandes tipos clasificados por el método de envío de la información: bus paralelo o bus serie.
Hay diferencias en el desempeño y hasta hace unos años se consideraba que el uso apropiado dependía de la longitud física de la conexión: para cortas distancias el bus paralelo, para largas el serial.

BUS PARALELO
Es un bus en el cual los datos son enviados por bytes al mismo tiempo, con la ayuda de varias líneas que tienen funciones fijas. La cantidad de datos enviada es bastante grande con una frecuencia moderada y es igual al ancho de los datos por la frecuencia de funcionamiento. En los computadores ha sido usado de manera intensiva, desde el bus del procesador, los buses de discos duros, tarjetas de expansión y de vídeo, hasta las impresoras.
El front-side bus de los procesadores Intel es un bus de este tipo y como cualquier bus presenta unas funciones en líneas dedicadas:
Las líneas de dirección son las encargadas de indicar la posición de memoria o el dispositivo con el que se desea establecer comunicación.
Las líneas de control son las encargadas de enviar señales de arbitraje entre los dispositivos. Entre las más importantes están las líneas de interrupción, DMA y los indicadores de estado.
Las líneas de datos transmiten los bits de forma aleatoria de manera que por lo general un bus tiene un ancho que es potencia de 2.
Un bus paralelo tiene conexiones físicas complejas, pero la lógica es sencilla, que lo hace útil en sistemas con poco poder de cómputo. En los primeros microcomputadores, el bus era simplemente la extensión del bus del procesador y los demás integrados "escuchan" las línea de direcciones, en espera de recibir instrucciones. En el PC IBM original, el diseño del bus fue determinante a la hora de elegir un procesador con I/O de 8 bits (Intel 8088), sobre uno de 16 (el 8086), porque era posible usar hardware diseñado para otros procesadores, abaratando el producto.

BUS SERIE
En este los datos son enviados, bit a bit y se reconstruyen por medio de registros o rutinas de software. Está formado por pocos conductores y su ancho de banda depende de la frecuencia. Es usado desde hace menos de 10 años en buses para discos duros, unidades de estado sólido, tarjetas de expansión y para el bus del procesador.





REFERENCIAS BIBLIOGRAFICAS

Andrew S. Tanenbaum (2000), Organización de Computadoras un enfoque estructurado, Estado de México

John L. Hennessy y David A. Patterson (1993), Arquitectura de Computadoras un enfoque cuantitativo, Mcgraw-Hillpnteramericana De España






UNIDAD CENTRAL DE PROCESAMIENTO

INTRODUCCION

Es el cerebro de la computadora, su función principal es de ejecutar programas almacenados en la memoria principal buscando sus instrucciones y examinándolas para después ejecutarlas una tras otra. Los componentes están conectados por un  bus para transmitir direcciones datos y señales de control

DESARROLLO

La CPU se compone de varias partes, la unidad de control se encarga de buscar instrucciones de la memoria principal y determinar su tipo. La unidad aritmética y lógica realiza operaciones como suma y AND booleana necesarias para ejecutar las instrucciones
La cpu también contiene una memoria pequeña y de alta velocidad que sirve para almacenar resultados temporales y cierta información de control. Esta memoria se compone de varios registros, cada uno de los cuales tiene cierto tamaño y función. Los registros pueden leerse y escribirse a alta velocidad porque están dentro de la CPU
El registro mas importante es el contador de programa que apunta a la siguiente instrucción que debe buscarse para ejecutarse. Otro registro importante es el registro de instrucciones que contiene la instrucción que se esta ejecutando. Casi todas las computadoras tienen varios registros más, algunos de propósito general y otros para fines específicos

La CPU ejecuta cada instrucción en una serie de pasos pequeños, los pasos son los siguientes:
  1. Ø  Buscar la siguiente instrucción de la memoria y colocarla en el registro de instrucciones
  2. Ø  Modificar el contador de programa de modo que apunte a la siguiente instrucción
  3. Ø  Determinar el tipo de instrucción que se trajo
  4. Ø  Si la instrucción utiliza una palabra de la memoria determinar donde esta
  5. Ø  Buscar la palabra, si es necesario, y colocarla en un registro de la CPU
  6. Ø  Ejecutar la instrucción
  7. Ø  Volver al paso 1 para comenzar a ejecutar la siguiente instrucción

REFERENCIAS BIBLIOGRAFICAS

Andrew S. Tanenbaum (2000), Organización de Computadoras un enfoque estructurado, Estado de México

John L. Hennessy y David A. Patterson (1993), Arquitectura de Computadoras un enfoque cuantitativo, Mcgraw-Hillpnteramericana De España







UNIDAD ARITMETICA LOGICA

INTRODUCCION
Todas la computadoras contienen un circuito para obtener el and, el or y la suma de dos palabras de maquina. Por lo regular, un circuito de este tipo para palabras de n bits se construye con n circuitos idénticos para las posiciones de bit individuales.

DESARROLLO

La esquina izquierda de la ALU contiene un decodificador de 2 bits que genera señales de habilitación para las cuatro operaciones, con base en las señales de control F0 Y F1. Dependiendo de los valores de F0 y f1 una y solo una de las cuatros líneas de habilitación se selecciona
La esquina superior izquierda contiene la lógica necesaria para calcular A AND B A OR B Y B NEGADO, pero solo uno de estos resultados pasa a la compuerta or final, dependiendo de las líneas de habilitación que salen del decodificador
La esquina inferior derecha de la ALU contiene un sumador completo para calcular la suma de A Y B  e incluye manejo de acarreos porque es probable que se conecten juntos varios de estos circuitos para efectuar operaciones con palabras enteras
La siguiente figura es una ALU de un bit conectadas para formar una ALU de ocho bits



REFERENCIAS BIBLIOGRAFICAS

Andrew S. Tanenbaum (2000), Organización de Computadoras un enfoque estructurado, Estado de México

John L. Hennessy y David A. Patterson (1993), Arquitectura de Computadoras un enfoque cuantitativo, Mcgraw-Hillpnteramericana De España








UNIDAD DE CONTROL

INTRODUCCION
La unidad de control (UC) es uno de los tres bloques funcionales principales en los que se divide una unidad central de procesamiento (CPU). Los otros dos bloques son la unidad de proceso y el bus de entrada/salida.

DESARROLLO
Su función es buscar las instrucciones en la memoria principal, decodificarlas (interpretación) y ejecutarlas, empleando para ello la unidad.
Existen dos tipos de unidades de control, las cableadas, usadas generalmente en máquinas sencillas, y las microprogramadas, propias de máquinas más complejas. En el primer caso, los componentes principales son el circuito de lógica secuencial, el de control de estado, el de lógica combinacional y el de emisión de reconocimiento de señales de control. En el segundo caso, la microprogramación de la unidad de control se encuentra almacenada en una micromemoria, a la cual se accede de manera secuencial para posteriormente ir ejecutando cada una de las microinstrucciones.
En computadoras, la unidad de control fue históricamente definida como una parte distinta del modelo de referencia de 1946 de la Arquitectura de von Neumann. En diseños modernos de computadores, la unidad de control es típicamente una parte interna del CPU.

OPERACIÓN GENERAL
Las salidas de la unidad de control se encargan de controlar la actividad del resto del dispositivo. Se puede pensar en una unidad de control como una máquina de estado finito.
La unidad de control es la circuitería que controla el flujo de datos a través del procesador, y coordina las actividades de las otras unidades dentro de él. De una manera, es el "cerebro dentro del cerebro", pues controla lo que sucede dentro del procesador, que a su vez controla el resto del PC.
Algunos ejemplos de dispositivos que requieren una unidad de control son los CPUs y los GPUs. La edad de la información moderna no sería posible sin diseños complejos de la unidad de control.

FUNCIONES
Las funciones realizadas por la unidad de control varían grandemente por la arquitectura interna del CPU, pues la unidad de control realmente implementa esta arquitectura. En un procesador regular que ejecuta las instrucciones x86 nativamente, la unidad de control realiza las tareas de leer, decodificar, manejo de la ejecución y almacenamiento de los resultados. En un procesador x86 con un núcleo RISC, la unidad de control tiene considerablemente más trabajo que hacer. Ella maneja la traducción de las instrucciones x86 a las microinstrucciones del RISC, maneja la planificación de las microinstrucciones entre las varias unidades de ejecución, y maneja la salida de estas unidades para cerciorarse de que terminen donde supuestamente deben ir. En uno de estos procesadores la unidad de control está dividida en otras unidades debido a la complejidad del trabajo que debe realizar, almacena los datos mas utilizados de modo que se buscan primero en la computadora y luego en la RAM


REFERENCIAS BIBLIOGRAFICAS

Andrew S. Tanenbaum (2000), Organización de Computadoras un enfoque estructurado, Estado de México

John L. Hennessy y David A. Patterson (1993), Arquitectura de Computadoras un enfoque cuantitativo, Mcgraw-Hillpnteramericana De España






SISTEMAS DE E/S

INTRODUCCION

En las computadoras personales actuales se usan tres esquemas de E/S distintos, estos son:
  1. Ø  E/S programada con espera actica
  2. Ø  E/S controlada por interrupciones
  3. Ø  E/S de acceso directo a memoria

DESARROLLO

El método de E/S mas sencillo posible es la E/S programada, que suele usarse en los microprocesadores de bajo costo, como  los sistemas incorporados o en los sistemas que deben responder rápidamente a cambios externos  estas CPU por lo regular tienen una sola instrucción de entrada y una sola instrucción de entrada y una sola instrucción de salida. Cada una de estas instrucciones secciona uno de los dispositivos de E/S. el procesador debe ejecutar una sucesión explicita de instrucciones para cada uno de los caracteres leídos o escritos

La principal ventaja de la E/S programada es que la CPU pasa casi todo su tiempo en un ciclo corto esperando que el dispositivo este listo. Este enfoque se llama espera activa. Si la CPU no tiene nada más que hacer la espera actica podría ser lo mejor, pero si hay otras cosas que hacer como ejecutar otros programas, la espera activa es un desperdicio de recursos y se necesita un método de E/S distinto
La forma de deshacerse de la espera activa es hacer que la CPU inicie el dispositivo de E/S y le diga que genere una interrupción cuando haya terminado
La señal de interrupción se genera obteniendo el AND del bit HABILITAR INTERRUPCIONES y el bit READY. Si el software habilita las interrupciones primero ocurrirá una interrupción de inmediato, porque el bit READY será 1.
Aunque la E/S controlada por interrupciones es un gran adelanto en comparación a la programada le falta mucho para ser perfecta, el problema es que se requiere una interrupción por cada carácter transmitido, y la solución fue un controlador directo a la memoria (DMA, Direct Memory Access)

REFERENCIAS BIBLIOGRAFICAS

Andrew S. Tanenbaum (2000), Organización de Computadoras un enfoque estructurado, Estado de México

John L. Hennessy y David A. Patterson (1993), Arquitectura de Computadoras un enfoque cuantitativo, Mcgraw-Hillpnteramericana De España








ENTRADA Y SALIDA DE DMA

El chip DMA contiene cuatro registros, todos los cuales pueden ser cargados por software que se ejecuta en la CPU.
  1. El primero contiene la dirección de memoria que se leerá o en la que se escribirá.
  2. El segundo contiene el número de bytes (o palabras) que se transfieren
  3. El tercero especifica el número de dispositivo o espacio de direcciones de E/S que se usara, con lo que se especifica que dispositivo de E/S se desea
  4. El cuarto indica si los datos se escribirán en el dispositivo de E/S o se leerán de el

Para escribir un bloque de 32 bytes de la dirección de memoria 100 en una terminal la CPU escribe los números 100,32 y 4 en los primeros tres registros de DMA, y luego el código de escribir en el cuarto
Una vez inicializado con estos valores, el controlador de DMA emita una solicitud de bus para leer el BYTE 100 de la memoria, del mismo modo como la CPU leería de la memoria, una vez que obtiene el byte el controlador de DMA emite una solicitud de E/S al dispositivo 4, para escribir el byte en el. Una vez completadas ambas operaciones el controlador de DMA incrementa en uno su registro de dirección y decrementa en 1 su registro de cuenta
Cuando la cuenta por fin llega a 0, el controlador de DMA deja de transmitir datos y habilita la línea de interrupción en el chip de CPU. Con DMA, la CPU solo tiene que inicializar unos cuantos registros. Algunos controladores de DMA tienen dos o más conjuntos de registros, lo que les permite controlar varias transferencias simultáneas
Si bien el DMA alivia a la CPU de la gran carga de E/S, el proceso no es totalmente gratuito, si un dispositivo de alta velocidad como un disco s esta controlando por DMA se requerirán muchos ciclos de bus, tanto para las referencias a la memoria como para las referencias al dispositivo. Durante estos ciclos la CPU tendrá que esperar. El proceso por el que el controlador de DMA quita ciclos de bus a la CPU se denomina robo de ciclos

REFERENCIAS BIBLIOGRAFICAS

Andrew S. Tanenbaum (2000), Organización de Computadoras un enfoque estructurado, Estado de México

John L. Hennessy y David A. Patterson (1993), Arquitectura de Computadoras un enfoque cuantitativo, Mcgraw-Hillpnteramericana De España







ENTRADAS Y SALIDAS MAPEADAS


INTRODUCCION

E/S mapeada en memoria es un método de implementar entradas/salidas entre los periféricos y la CPU en un computador.

DESARROLLO
La E/S mapeada en memoria usa el mismo bus de direcciones para memoria y dispositivos de E/S, y las instrucciones de la CPU usadas para acceder a la memoria son también usadas para acceder a los dispositivos. Para tener espacio para los dispositivos de E/S, las áreas del espacio direccionable por la CPU deben ser reservadas para E/S más que para memoria. Esta reserva puede ser temporal –Commodore 64 podía usar bank switch entre dispositivos de E/S y memoria- o permanente. Cada dispositivo de E/S monitoriza el bus de direcciones de la CPU y responde a cualquier acceso de esta al espacio de direcciones del dispositivo, conectando el bus de datos con la localización en memoria física del dispositivo deseado.

VENTAJAS
La ventaja de usar E/S mapeadas en memoria es, dejando a un lado la complejidad extra que conlleva la E/S independiente, que la CPU requiere menos lógica interna y es mas barata, rápida y fácil de construir; esto sigue los principios básicos de RISC, y es también ventajoso en sistemas embebidos. El hecho de que instrucciones regulares de memoria sean usadas para direccionar dispositivos también significa que todos los modos de direccionamiento de la CPU que están disponibles para E/S lo estén también para memoria. Ya que los periféricos de 16 bits han quedado anticuados y han sido sustituidos por los de 32 y 64 bits, reservar rangos del espacio de direcciones para E/S no supone un gran problema.

REFERENCIAS BIBLIOGRAFICAS

Andrew S. Tanenbaum (2000), Organización de Computadoras un enfoque estructurado, Estado de México

John L. Hennessy y David A. Patterson (1993), Arquitectura de Computadoras un enfoque cuantitativo, Mcgraw-Hillpnteramericana De España









No hay comentarios:

Publicar un comentario