arquitectura de computadoras
DESCRIPTION
El hardware de las computadoras es el centro de la Informática, cualquiera que sea el área de un profesional de Informática en cualquier campo de la informática, no debe considerar al equipo de cómputo como solo sistema al que se le introducen datos y da las respuestas después que ejecuta programas, sin tener conciencia de que es lo que está ocurriendo dentro de este equipo. Todos los estudiantes de la informática deben adquirir cierta comprensión y apreciación de los componentes funcionales de un ordenador, sus características, su desempeño, y sus interacciones. Los estudiantes necesitan entender la arquitectura de computadores, con el fin de hacer el mejor uso de las herramientas de software y lenguajes de programación que utilizan para crear programas.TRANSCRIPT
Arquitectura de Computadoras
Parte I
Ing. Luis Augusto Zuñe Bispo
2 Autor: Ing. Luis Augusto Zuñe Bispo
Cuaderno de Trabajo Arquitectura de Computadoras Parte I
Autor: Luis Augusto Zuñe Bispo
Chiclayo 2012
Escuela de Ingeniería de Sistemas y Computación
Facultad de Ingeniería
Universidad Católica Santo Toribio de Mogrovejo
Copyright 2012, by the Contributing Authors, Esta obra se publica bajo una Creative Commons License.
Cuaderno de trabajo elaborado para la Escuela de Ing. De Ssitemas y Computación. Facultad de Ingeniería. Universidad Católica Santo Toribio de Mogrovejo-USAT is licensed under a creative Commons Reconocimiento-No Comercial- Compartir Igual 3.0 Unported License
3 Autor: Ing. Luis Augusto Zuñe Bispo
INDICE
INTRODUCCION 6
CAPITULO 1: LÓGICA DIGITAL Y REPRESENTACIÓN DE DATOS 7
1.1. REPRESENTACIÓN DE DATOS 7 1.2. INTRODUCCIÓN A LA LÓGICA DIGITAL (PUERTAS LÓGICAS, FLIP FLOPS, CIRCUITOS) 7 1.2.1. PUERTA LÓGICA “Y” 7 1.2.2. PUERTA LÓGICA “O” 8 1.2.3. PUERTA LÓGICA “NO” 9 1.2.4. PUERTA LÓGICA “NO Y” 9 1.2.5. PUERTA LÓGICA “NO 0” 10 1.2.6. PUERTA LÓGICA “0 EXCLUSIVA” 10 1.2.7. PUERTA LÓGICA “NO 0 EXCLUSIVA” 10 1.2.8. FLIP FLOPS 11 1.2.9. CIRCUITOS DIGITALES 11 1.3. LÓGICA DE EXPRESIONES Y FUNCIONES BOOLEANAS 11 1.4. REDUCCIÓN DE EXPRESIONES 12 1.5. REPRESENTACIÓN DE DATOS NUMÉRICOS 12 1.5.1. NÚMEROS ENTEROS POSITIVOS 12 1.5.2. NÚMEROS NEGATIVOS 12 1.5.3. NOTACIÓN COMPLEMENTO A DOS 13 1.6. NÚMEROS EN COMA FLOTANTE 13 1.7. REPRESENTACIÓN DE CARACTERES 13 1.8. REPRESENTACIÓN DE AUDIO E IMÁGENES 13 1.8.1. CONVERSIÓN ANALÓGICA A DIGITAL 14 1.9. COMPRESIÓN DE DATOS 16 1.10. PROBLEMAS RESUELTOS 16
CAPITULO 2: ARQUITECTURA Y ORGANIZACIÓN 21
2.1. ARQUITECTURA Y ORGANIZACIÓN DE COMPUTADORAS 21 2.2. HISTORIA DE LAS COMPUTADORAS 22 2.3. NIVELES DE UNA COMPUTADORA 28 2.4. ESTRUCTURA Y FUNCIONAMIENTO 30 2.4.1. ESTRUCTURA 30 2.4.2. FUNCIONES 30 2.5. MODELO DE VON NEUMANN 33 2.6. EVOLUCIÓN DEL MODELO DE VON NEUMAN 33 2.7. MODELO DE HARVARD 35 2.8. TENDENCIAS TECNOLÓGICAS 36 2.9. INVESTIGACIÓN COMPLEMENTARIA 36
CAPITULO 3: INTERFACES Y ESTRATEGIAS DE E/S 38
3.1. INTRODUCCIÓN 38 3.2. MODELOS DE COMPUTADORAS 38 3.3. ESTRUCTURAS DE INTERCONEXIÓN 39 3.4. ESTRUCTURAS DE BUS 39 3.5. CLASIFICACIÓN DE BUSES 41 3.6. PARÁMETROS DE UN BUS 41 3.6.1. ANCHO DE BANDA 41 3.6.2. TASA DE TRANSFERENCIA 41 3.8. PROBLEMAS 43
4 Autor: Ing. Luis Augusto Zuñe Bispo
CAPITULO 4: ESTRATEGIAS DE E/S 46
CAPITULO 5: MEMORIAS EN LAS COMPUTADORAS 48
5.1. DEFINICIÓN DE MEMORIA DE COMPUTADORA 48 5.2. CLASIFICACIÓN DE MEMORIAS EN LA COMPUTADORAS 48 5.2.1. UBICACIÓN 49 5.2.2. MÉTODO DE ACCESO 49 5.3. JERARQUÍA DE MEMORIAS EN LAS COMPUTADORAS. 49 5.4. INVESTIGACIÓN COMPLEMENTARIA 50
CAPITULO 6: MEMORIA EXTERNA 51
6.1. MEMORIA EXTERNA DE LAS COMPUTADORAS 51 6.2. DISCO DURO MAGNÉTICO 51 6.3. ESTRUCTURA FÍSICA DE UN DISCO DURO. 52 6.4. GRABACIÓN DE LOS DATOS EN LOS DISCOS DUROS 53 6.4.1. INTEGRATED DRIVE ELECTRONICS (IDE/ATA) 55 6.4.2. SERIAL ADVANCED TECHNOLOGY ATTACHMENT (SATA) 55 6.4.3. SMALL COMPUTER SYSTEM INTERFACE (SCSI) 56 6.5. FORMATO DE LOS DISCOS 56 6.5.1. FORMATO FÍSICO 57 6.6. PARÁMETROS MEDICIÓN DE LAS PRESTACIONES DE UN DISCO DURO. 59 6.7. SISTEMA DE ARCHIVOS 62 6.7.1. SISTEMA DE ARCHIVOS FAT 63 6.7.2. SISTEMA DE ARCHIVOS NTFS 64 6.8. PLANIFICACIÓN DE SOLICITUDES 64 6.8.1. PRIMERO EN LLEGAR PRIMERO EN SERVIR (FCFS) 64 6.8.2. PRIMERO EL DE MENOR TIEMPO DE BÚSQUEDA (SSTF) 65 6.8.3. PLANIFICACIÓN SCAN 65 6.8.4. PLANIFICACIÓN SCAN N-PASOS 65 6.8.5. PLANIFICACIÓN C-SCAN 66 6.8.6. PLANIFICACIÓN LOOK 66 6.8.7. ESQUEMA ESCHEMBACH 67 6.9. OPTIMIZACION ROTACIONAL EN DISCOS 67 6.10. RAID 68 6.10.1. RAID NIVEL 0 68 6.10.2. RAID NIVEL 1 68 6.10.3. RAID NIVEL 2 69 6.10.4. RAID NIVEL 3 69 6.10.5. RAID NIVEL 4 69 6.10.6. RAID NIVEL 5 70 6.10.7. RAID NIVEL 6 70 6.10.8. COMPARACIÓN DE RAIDS 70 6.11. PROBLEMAS RESUELTOS 71 6.12. EJERCICIOS 78 6.13. PROBLEMA PROPUESTOS 78 6.14. INVESTIGACIÓN COMPLEMENTARIA 81
BIBLIOGRAFÍA 82
5 Autor: Ing. Luis Augusto Zuñe Bispo
INDICE DE FIGURAS
FIGURA 1: DISTRIBUCIÓN DE PINES DE LA COMPUERTA AND 7408 8 FIGURA 2: DISTRIBUCIÓN DE PINES DE LA COMPUERTA OR 7408 9 FIGURA 3: DISTRIBUCIÓN DE PINES DE LA COMPUERTA INVERSOR 7404 9 FIGURA 4: SEÑAL ANALÓGICA BASE 14 FIGURA 5: SEÑAL MUESTREADA 15 FIGURA 6: SEÑAL CODIFICADA 15 FIGURA 7: ABACO CHINO 22 FIGURA 8: TELA DE TARJETAS PERFORADAS DE JAQCUARD 23 FIGURA 9: MÁQUINA DIFERENCIAL BABBAGE 23 FIGURA 10: MAQUINA DE HOLLERITH 24 FIGURA 11: REPLICA DE LA ABC 25 FIGURA 12: VON NEUMANN CON LA COMPUTADORA EDVAC 26 FIGURA 13: LA COMPUTADORA ENIAC 27 FIGURA 15: NIVELES DE UNA COMPUTADORA 29 FIGURA 16: VISIÓN GENERAL DE UNA COMPUTADORA 30 FIGURA 17: TRANSFERENCIA DE DATOS 31 FIGURA 18: ALMACENAMIENTO DATOS 31 FIGURA 19: PROCESAMIENTO DATOS LOCAL 32 FIGURA 20: PROCESAMIENTO DE DATOS REMOTO 32 FIGURA 21: MODELO DE VON NEUMANN 33 FIGURA 22: MODELO EVOLUCIONADO DE VON NEUMMAN 34 FIGURA 23: MODELO DE HARVARD 36 FIGURA 24: SISTEMAS BÁSICO DE UNA COMPUTADORA 38 FIGURA 25: ANCHO DE BANDA 41 FIGURA 26: CLASIFICACIÓN DE LAS MEMORIA DE LAS COMPUTADORAS 48 FIGURA 27: JERARQUÍA DE MEMORIAS 50 FIGURA 28: DISCO DURO 52 FIGURA 29: ESTRUCTURA MECÁNICA- ELÉCTRICA DE UN DISCO DURO 53 FIGURA 30: CABEZALES LECTURA/ESCRITURA Y SU SOPORTE 53 FIGURA 31: PLATOS DE UN DISCO DURO 54 FIGURA 32: CONECTOR IDE DE 40 HILOS 55 FIGURA 33: SECTORES, CILINDROS, CABEZALES, DE UN DISCO DURO 57 FIGURA 34: ESTRUCTURA LÓGICA DISCO DURO 58 FIGURA 35: DISTRIBUCIÓN DE BYTES EN UN SECTOR 58 FIGURA 36: DETALLA DE BYTES DEL CRC 59 FIGURA 37: DETALLE DE BYTES DEL CAMPO DE DATOS 59 FIGURA 38: ALGUNOS PARÁMETROS DE LOS DISCOS DUROS SEAGATE ATA 60 FIGURA 39: PARÁMETROS DE UN DISCO DURO SAMSUNG 61 FIGURA 40: TIEMPOS ASOCIADOS A UN DISCO DURO 62
6 Autor: Ing. Luis Augusto Zuñe Bispo
INTRODUCCION
El hardware de las computadoras es el centro de la Informática, cualquiera que
sea el área de un profesional de Informática en cualquier campo de la informática, no
debe considerar al equipo de cómputo como solo sistema al que se le introducen datos y
da las respuestas después que ejecuta programas, sin tener conciencia de que es lo que
está ocurriendo dentro de este equipo. Todos los estudiantes de la informática deben
adquirir cierta comprensión y apreciación de los componentes funcionales de un
ordenador, sus características, su desempeño, y sus interacciones. Los estudiantes
necesitan entender la arquitectura de computadores, con el fin de hacer el mejor uso de
las herramientas de software y lenguajes de programación que utilizan para crear
programas.
El presente cuaderno de trabajo a sido diseñado para estudiantes de Ingeniería de
computación, sistemas o afines; especialmente para los planes de estudio en los cuales
donde la base de la física eléctrica o circuitos digitales no estén presentes. La orientación
de la asignatura, está referida a las tareas de configuración, y medición del rendimiento
de computadoras. Con la finalidad de seguir un orden lógico del análisis de una
arquitectura de computadora, desde el punto de vista del rendimiento, se trataran desde
lo dispositivos críticos que afectan directamente al rendimiento de una computadora,
hacia los que menos intervienen. Algunos de los temas tratados, deberán ser
necesariamente profundizados en el curso de sistemas operativos, en los temas de
relativos a la gestión de memoria.
7 Autor: Ing. Luis Augusto Zuñe Bispo
CAPITULO 1: LÓGICA DIGITAL Y REPRESENTACIÓN DE DATOS
Competencia:
Identificar como se representan los datos en una computadora.
1.1. Representación de datos
Para representar los datos en las computadoras sean números o caracteres, se
suelen emplear como fundamento matemático, a los números binarios. Esto porque los
números binarios son fácilmente representables por los sistemas básicos eléctricos, por
ejemplo usando un sistema compuesto por un interruptor, una batería y un foco, se puede
representar el estado de encendido y apagado. El número binario “1” se representa en un
sistema eléctrico como encendido, y al número “0” como apagado. Esto es una
representación lógica, en realidad el “0” es un valor eléctrico que por lo general es 0
voltios, y el valor lógico “1” que los sistemas computacionales es +5 voltios, aunque en
algunos sistemas computacionales de tipo industrial o militar tiene valores superiores (por
lo general 9 voltios o 12 voltios). [1]
Para representar un número o un carácter, se usan cadenas de bits para
representarlos, por ejemplo:
A = 01000001 H = 01001000
1.2. Introducción a la lógica digital (puertas lógicas, flip flops, circuitos)
Las compuertas lógicas, son dispositivos electrónicos que implementan las
funciones lógicas como “Y”, “O”, y “NO”. La valoración de una expresión compuesta por
premisas conectadas con un o la combinación de los conectivos lógicos mencionados,
nos conduce a la valoración de la verdad o falsedad de la expresión. [2]
1.2.1. Puerta Lógica “Y”
8 Autor: Ing. Luis Augusto Zuñe Bispo
Con tecnología electrónica se implementa con los siguientes dispositivos básicos
Figura 1: Distribución de Pines de la compuerta AND 7408
1.2.2. Puerta Lógica “O”
9 Autor: Ing. Luis Augusto Zuñe Bispo
Figura 2: Distribución de Pines de la compuerta OR 7408
1.2.3. Puerta Lógica “NO”
Figura 3: Distribución de Pines de la compuerta Inversor 7404
1.2.4. Puerta Lógica “NO Y”
10 Autor: Ing. Luis Augusto Zuñe Bispo
1.2.5. Puerta Lógica “NO 0”
1.2.6. Puerta Lógica “0 exclusiva”
1.2.7. Puerta Lógica “NO 0 exclusiva”
11 Autor: Ing. Luis Augusto Zuñe Bispo
1.2.8. Flip Flops
Son los dispositivos electrónicos capaces de “memorizar” un “1” o “0” en un
determinado tiempo, los flip flops básicos se implementan con compuertas lógicas
realimentadas como se muestra en la figura siguiente. La implementación de varios
módulos de flip flops permite que se puedan tener una cadena de “N” bits que funcionan
en paralelo de tal manera que un dato de “N” bits, usualmente se le denomina registro. Si
se desea memorizar una determinada cantidad de datos se requieren varias de estas
agrupaciones como datos se requiera memorizar. [2]
1.2.9. Circuitos Digitales
Los circuitos digitales son componentes electrónicos comerciales, que
implementan las compuertas lógicas mencionadas en los apartados anteriores, existen
dos tecnológicas con los que habitualmente son implementados con la tecnología TTL
para computadoras de alta velocidad o la tecnología CMOS que es usada generalmente
para aplicaciones industriales.
1.3. Lógica de expresiones y funciones booleanas
Mediante las expresiones lógicas se pueden implementar funciones que permiten
automatizar algunos procesos, o permiten de alguna forma representar el conocimiento
de tal manera de dar respuesta a un problema específico. La lógica clásica puede
representarse por intermedio del sistema de numeración binario (como ya se había
tratado) de tal forma que se pueden usar las funciones booleanas de tal manera que se
puedan construir estas funciones usando software o hardware. [2]
12 Autor: Ing. Luis Augusto Zuñe Bispo
1.4. Reducción de Expresiones
Las expresiones obtenidas de un determinado problema se pueden reducir
utilizando las reglas y propiedades de las funciones lógicas, pero esta operación es muy
tediosa, y muchas veces se presta a tener algunos errores. Existe una técnica visual para
resolver este problema y se denominan los mapas de karnaught que con la aplicación de
un método matricial grafico, se puede resolver estos problemas de reducción y obtener
las expresiones en forma más rápida y segura en forma de suma de productos.
1.5. Representación de datos numéricos
Los números ya sean enteros negativos y positivos, o los números reales se
expresan en forma binaria de una determinada manera.
1.5.1. Números enteros positivos
Según Carter [1] “Los enteros positivos se representan utilizando un sistema
posicional binario (base 2), similar al sistema usado en la aritmética decimal (base 10).
En base 10 los números se representan como suma de múltiplos de cada potencia de 10,
así el número:
( ) ( ) ( ) ( )
Con números binarios, la base del número e 2, así cada posición del número
representa una potencia de 2, en lugar de una de 10, creciente.
Por ejemplo, el número:
( ) ( ) ( ) ( ) ( ) ( )
Los números binarios suelen ir precedidos del prefijo <<0b>> para identificarlos
como binarios.”
1.5.2. Números negativos
Para representar el signo, se utiliza el bit más significativo para indicar si el
número es positivo o negativo, y el resto del número representa el valor absoluto del
número, utilizando el mismo formato que en la representación sin signo.
Por ejemplo para representar el número -152 se representaría así:
13 Autor: Ing. Luis Augusto Zuñe Bispo
0b 1000 0000 1001 1000
El número +152 se representaría de la siguiente manera:
0b 0000 0000 1001 1000
1.5.3. Notación Complemento a Dos
En Carter [1] “En la notación en complemento a dos, un número negativo se
representa invirtiendo cada bit de la representación sin signo del número y sumando 1 al
resultado (descartando cualquier bit desbordamiento que no se ajuste al ancho de la
representación). El nombre de <<complemento a dos>> viene del hecho de que la suma
sin signo de un número en complemento a dos de n bits y su negativo es 2”
1.6. Números en coma flotante
Estos números se utilizan para representar cantidades que no se pueden
representar con números enteros, dado a que contienen fracciones o porque están fuera
del rango representable dentro de la longitud de bits del sistema. Estas operaciones se
especifican dentro del estándar IEEE 754, en la que los números se representan con una
mantisa y un exponente.
1.7. Representación de Caracteres
Usualmente para la representación de los caracteres en binario se utiliza un
determinado sistema de codificación que puede ser ASCII (American Standard Code for
Information Interchange) el cual usa una cadena de 8 bits para representar los
caracteres, este sistema tiene 5 categorías de caracteres:
Caracteres alfabéticos (a, b,.., z, A,B..)
Caracteres numéricos (0,1,2,..,9)
Caracteres especiales (signos puntuación, ¿ ? ¡ ! \|@)
Caracteres de control (órdenes como pitido, fin de página, etc...)
Caracteres expandidos (ñ ç á à € & μ Ø ßü ...)
El otro sistema se denomina UNICODE (www.unicode.org) el cual proporciona un
número único a cada carácter sin importa la plataforma, idioma o el programa que se use.
1.8. Representación de audio e imágenes
14 Autor: Ing. Luis Augusto Zuñe Bispo
Tanto la información de audio como de video es de naturaleza analógica, por tanto
para poderla representar en forma digital esta señal analógica tiene que ser convertida a
digital para que esta pueda ser codificada y comprimida.
1.8.1. Conversión Analógica a Digital
La conversión analógica digital es proceso que se realiza en tres etapas:
(a) Muestreo de la señal analógica.
El muestreo es un proceso que consta de extraer una muestra de la señal
analógica, para ello se utiliza el teorema de Nyquist el cual indica que la
frecuencia mínima de muestreo debe ser al doble de la frecuencia máxima de
la señal analógica. Mientras la frecuencia de muestreo sea mayor mejor es la
resolución que se obtendrá.
Figura 4: Señal Analógica Base
En señales de audio las frecuencias típicas de muestreo son de:
FRECUENCIA (muestras/s)
APLICACIONES
8000 Telefonía Digital solo para voz. Permite reproducir frecuencia de voz hasta de 3kHz.
22050 Radio, permite reproducir señales con componentes de hasta 10 kHz, que pueden incluir voz y música.
32000 Vídeo digital en formato miniDV.
44100 Permite reproducir señales con componentes de hasta 20 kHz
47250 Permite reproducir señales con componentes de hasta 22 kHz.
48000 Sonido digital para películas, audio profesional y sistemas
La señal muestreada quedaría como se muestra en la figura siguiente:
15 Autor: Ing. Luis Augusto Zuñe Bispo
Figura 5: Señal Muestreada
(b) Cuantización de la propia señal
Una vez realizado el muestreo se procede a asignarle un valor en el domino
de la amplitud a cada una de las muestras, en este proceso se establecen
“niveles de cuantización”, lo que significa que las muestras deberán asumir el
valor de amplitud cercano a uno de estos niveles. Por tanto, la señal resultante
sólo puede contener un conjunto finito de niveles de tensión. Cada nivel de
cuantización tiene asociado un número binario. Por ejemplo, si se decide usar
un código binario de 4 bits, se podrían establecer 24 niveles de Cuantización o
sea 16 niveles.
(c) Codificación del resultado de la cuantización, en código binario.
El proceso de codificación consta en asignar a cada nivel de Cuantización un
valor binario que parte desde 0000 hasta 1111, o sea cada muestra cercana a
un determinado nivel de Cuantización asumirá un valor binario.
Figura 6: Señal Codificada
16 Autor: Ing. Luis Augusto Zuñe Bispo
1.9. Compresión de datos
Consiste en la reducir el volumen de información que se desea tratar, ya sea para
el procesamiento, transmisión o almacenamiento. Con la compresión se pretende
transportar la misma información, pero empleando una menor cantidad de espacio.
La información codificada ya sea en su forma de datos, audio, imagen o video, sin
comprimir ocupa una determinada cantidad de espacio. Para que esta se pueda
comprimir se utilizan algunos algoritmos matemáticos que permiten identificar los
caracteres repetidos de un mensaje, de tal manera que pueda recomponer este archivo
de modo que pueda ser de un tamaño menor. Cuando se usa comprensión existen dos
conceptos que son importantes:
a) Redundancia: Datos que son repetitivos o previsibles
b) Entropía: La información nueva o esencial que se define como la diferencia
entre la cantidad total de datos de un mensaje y su redundancia.
La información que transmiten los datos puede ser de tres tipos:
a) Redundante: información repetitiva o predecible.
b) Irrelevante: es toda aquella información que es imperceptible para los
sentidos del ser humano, y cuya eliminación por tanto no afecta al contenido
del mensaje, por ejemplo como algunas frecuencias de audio o de luz.
c) Básica: la relevante. La que no es ni redundante ni irrelevante. La que debe
ser transmitida para que se pueda reconstruir la señal.
De acuerdo al tipo de información tratada, se puede establecer que existen tres
tipos de comprensión de la información que se podrían utilizar:
a) Sin pérdidas reales: se transmite toda la toda la información básica e
irrelevante, pero se elimina la redundante.
b) Subjetivamente sin pérdidas: cuando se elimina la información redundante, y
la irrelevante.
c) Subjetivamente con pérdidas: se elimina cierta cantidad de información
básica, por lo que el mensaje puede reconstruirse con algunos errores que
pueden en algunos casos perceptibles, pero tolerables aplicable a las audio y
video conferencias.
1.10. Problemas Resueltos
17 Autor: Ing. Luis Augusto Zuñe Bispo
I) Se desea construir un sistema de detección de errores de un semáforo
electrónico, con la finalidad de detectar el mal funcionamiento de las luces
para evitar accidentes. Diseñar un circuito lógico que permita resolver este
problema.
Solución
Se considera a que la alarma se dispara con “0” ante una condición de error
en el semáforo.
V A R Z
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 0
Tomando los “1s”, la expresión resultante sería:
A partir de esta expresión se puede construir un circuito lógico.
II) En un avión existen un sistema que permite determinar si es que un avión se
encuentra en la posibilidad de aterrizar o no, para esto el avión cuenta con un
conjunto de sensores que brindan la información necesaria para este sistema.
El sensor de tren aterrizaje verifica si es que el tren de aterrizaje se encuentra
desplegado o no, el sensor de velocidad del avión determina si se tiene
velocidad de crucero (de viaje) o velocidad de aterrizaje, y el sensor de
velocidad del viento que puede ser normal o anormal. La condición para que el
avión aterrice es que el tren de aterrizaje este abajo, que la velocidad del
avión sea de aterrizaje y que la velocidad del viento sea normal.
Hallar la ecuación y el circuito que cumple con las características indicadas.
Solución
Variable entrada A, Sensor de tren de aterrizaje, “0” tren arriba, “1” tren abajo.
Variable de entrada B, Sensor de velocidad del avión, “0” velocidad de
crucero, “1” velocidad de aterrizaje.
18 Autor: Ing. Luis Augusto Zuñe Bispo
Variable de entrada C, Sensor de velocidad del viento, “0” velocidad anormal,
“1” velocidad normal.
A B C Z
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1
00 01 11 10
00
01
11
10
00 01 11 10
0
1
III) Se tiene un caldero es utilizado para el proceso de fabricación de un
determinado producto. Este caldero se controla por medio de un sistema
electrónico que cuenta con los siguientes dispositivos de alarma:
Sensor de temperatura del Agua
Sensor de Presión de Vapor
Sensor de Mechero (llama de calentamiento)
El cual funciona bajo la siguiente lógica:
Si la Presión del vapor es alta y la temperatura del agua es alta y el mechero
esta encendido se debe generar una alarma.
Si la Presión del vapor es alta y la temperatura del agua es alta y el mechero
está apagado se debe generar una alarma.
Si la Presión del Vapor es alta o la temperatura del agua es alta y el mechero
esta encendido se debe generar una señal de alarma.
19 Autor: Ing. Luis Augusto Zuñe Bispo
En todos los casos anteriores no existe peligro.
SOLUCION
I) Definición de variables
Variables de Entrada
Sensor de Temperatura Agua = ST
0 = Temperatura Baja
1 = Temperatura Alta
Sensor de Presión de Vapor = SP
0 = Presión baja
1 = Presión alta
Sensor de Mechero = SM
0 = Mechero Apagado
1 = Mechero Encendido
Variable de Salida
Señal de Alarma = SA
0 = apagado
1 = encendido
II) Tabla de Verdad o Matriz de verdad
ST SP SM SA
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
III) Mapas Karnaught para obtener la ecuación mínima
1.11. Laboratorio
Usando los el simulador de circuitos digitales implementar en los circuitos de los
problemas resueltos.
20 Autor: Ing. Luis Augusto Zuñe Bispo
21 Autor: Ing. Luis Augusto Zuñe Bispo
CAPITULO 2: ARQUITECTURA Y ORGANIZACIÓN
Competencias:
Distinguir que es una arquitectura y que es una organización en una computadora.
2.1. Arquitectura y Organización de Computadoras
Según Murdocca [2] indica que: “El concepto de arquitectura de computadoras,
enfocado desde el punto de vista de un programador, se relaciona con el comportamiento
funcional de un sistema de computación.” Para iniciar el estudio de las computadoras es
necesario definir claramente los términos utilizados. Se define entonces que una
Arquitectura de Computadora, son los aspectos que están relacionados con la
funcionalidad de un sistema computacional aspectos que incluyen la forma de cómo se
representan los datos, las técnicas de direccionamiento de memoria, los mecanismos de
entrada y salida, y de que operaciones son posibles en este sistema.
Murdocca [2] dice que: “La organización de computadoras se refiere a las
relaciones estructurales, que no son visibles para el programador, como las interfaces
hacia los dispositivos periféricos, la frecuencia del reloj y la tecnología utilizada en las
memorias.” El termino Organización de una computadora, está orientado a definir la
estructura interna de una computadora, las diferentes interfaces entre los diferentes
subsistemas, y el detalle de cómo se implementan las diferentes funciones de la
computadora. La organización de las computadoras está referida a los componentes
básicos que conforman una computadora. Entender una estructura de una computadora
implica entender los conceptos básicos de los elementos de una computadora, y ser
capaz de describir su funcionamiento, además de comprender las funciones básicas de
los sistemas operativos. [1]
La Arquitectura de una Computadora es de interés de un usuario convencional, el
cual desea conocer las funcionalidades de una computadora, y cuáles son las
limitaciones de las mismas. En una Organización de una computadora, el usuario
especializado se interesa en la forma de cómo están relacionadas las diferentes partes
22 Autor: Ing. Luis Augusto Zuñe Bispo
de una computadora y como lograr de estas sus mayores prestaciones, al más bajo
costo. [3]
2.2. Historia de las Computadoras
La historia de las computadoras data de épocas en que no se conocía la energía
eléctrica, que es la fuente de energía con la cual operan hoy en día. Las máquinas
antecesoras a las primeras computadoras, fueron concebidas en base a dispositivos
mecánicos muchos de los cuales solo fueron solo fueron proyectos que nunca se
cristalizaron, y quedaron en las buenas intenciones de sus autores.
Figura 7: Abaco Chino
Imagen: Cortesía de Computer History Museum
Los primeros intentos de tener dispositivos de cálculo datan de épocas en las que
solo se contaban con cuentas y cuerdas, con los que se pretendió realizar algunas
operaciones aritméticas básicas. Posteriormente los descubrimientos de cómo tratar los
metales, permitió que se intentaran crear dispositivos que realizaran algunos trabajos
simples en forma automática, que dieron la idea de la posibilidad de realizar otras
operaciones de cierta complejidad aritmética. Algunas de estas ideas fueron utilizadas
para implementar las primeras computadoras electrónicas. [5]
23 Autor: Ing. Luis Augusto Zuñe Bispo
Figura 8: Tela de Tarjetas perforadas de Jaqcuard
Imagen: Cortesía de Computer History Museum
El deseo de realzar cálculos exactos a muy altas velocidades, generaron ideas de
dispositivos mecánicos muy ingeniosos como el abaco, la sumadora mecánica de
Leonardo Da Vinci, la pascalina del matemático y filosofo Blas Pascal y la maquina
diferencial de Charles Babbage cuyos conceptos de memoria, impresora, tarjetas
perforadas y control de programas secuenciales marcaron un hito en la historia de las
computadoras. [4] [5]
Figura 9: Máquina Diferencial Babbage
Imagen: Fotógrafo Andrew Dun
24 Autor: Ing. Luis Augusto Zuñe Bispo
Posteriormente surge la idea de Lady Ada Lovelace, de tratar de emplear las
tarjetas perforadas utilizadas en los telares industriales en la máquina diferencial de
Babbage. Hollerith creó la idea de la “fotografía de perforación”, idea surgida de
utilización de perforaciones que hacían los controladores en boletos de los trenes con la
finalidad de recordar las características físicas de los pasajeros, permitió que se ideara la
caracterización de una persona por medio de perforaciones.
Figura 10: Maquina de Hollerith
Imagen: Cortesía de Computer History Museum
Hollerit, desarrolla una prensa manual que detectaba los orificios en las tarjetas
perforadas, un alambre que pasaba a través de los huecos dentro de una copa de
mercurio debajo de la tarjeta, cerrando de este modo el circuito eléctrico. Este proceso
disparaba unos contadores mecánicos y ordenaba los recipientes de las tarjetas,
tabulando así en forma apropiada la información. La máquina de Hollerith era
electromecánica, y procesaba los hoyos en las tarjetas basándose en la lógica de Boole.
Hollerith fundó la compañía Computing-Tabulating-Recording-Company para fabricar
su maquina de tabulación, en 1919 esta se convirtió en la International Bussines
Machine (IBM). [4]
Aunque el HP 200A construido Por David Packard y Bill Hewlett en 1939, no es
una computadora se constituye en el primer dispositivo que permite generar diversos
efectos de sonido, el modelo 200B fue usado por Disney en 1940 para el rodaje de la
película “Fantasía”. En 1939 en los laboratorios Bell Telephone, se termina de construir el
Calculador de números Complejos (CNC), la cual fue presentada por su inventor George
Stibitz en 1940, en una conferencia de la American Mathematical Society.
25 Autor: Ing. Luis Augusto Zuñe Bispo
La primera computadora terminada y operativa fue la Z3, construida por Konrad
Zuse en 1941. Este Ingeniero Alemán concluyo su trabajo aislado del mundo, construyo
este equipo a base de 2300 relés, el Z3 utilizo la aritmética binaria en punto flotante y
tenía una longitud de palabra de 22 bits. El original fue destruido durante un bombardeo a
Berlín a finales de 1943. En ese mismo año fue terminado el BOMBE, dispositivo
electromecánico para descifrar mensaje encriptados alemanes, fue inventado por Alan
Turing & Bletcheley Park bajo la el prototipo construido en 1939, mejorado por Gordon
Wlchman, y construido por Harold Keen. La idea principal fue recogida del proyecto del
criptologo polaco Marian Rejewski quien construyo un equipo denominado la “Bomba
Cripotologica”. [4]
Los pioneros de las computadoras modernas fueron el Dr. Jhon V. Atanasoff
catedrático de la Universidad de Iowa y su estudiante graduado Clifford Berry, los cuales
inventaron entre 1937 a 1942 la primera computadora digital, la cual fue llamada ABC
(Atanasoff Berry Computer). (NSF 2006, MHC 2006). Respecto a la patente relativa a la
invención de este equipo existieron controversias legales que llegaron hasta 1973. En
1997 se construyo un prototipo del ABC que funciono de acuerdo a lo reclamado por
Atanasoff.
Figura 11: Replica de la ABC
Imagen: Cortesía de Computer History Museum
En 1943 en el MIT se inicia con la construcción de simulador de vuelos analógico
denominado “Proyecto Whrilwind” el cual fue completado en 1951, perdiendo el interés de
la Marina dado a que vieron más ventajas en las computadoras digitales. Ese mismo año
el “interpolador de relays”, usado para probar el cañón antiaéreo M-9.
26 Autor: Ing. Luis Augusto Zuñe Bispo
En 1.944 se construyó en la Universidad de Harvard el primer calculador
universal, el cual empleaba Relés y elementos mecánicos. Este calculador recibió el
nombre de Harvard Mark I, medía más de 15 metros de longitud y 24 de altura y
contenía más de 7.600 piezas conectadas por unos 800 Km. de cable, este ordenador
tardaba tres décimas de segundo en restar o sumar veintitrés dígitos. Ese mismo año se
pone en funcionamiento el Colosus, diseñado por Tommy Flowers, para romper el
sistema de cifrado Lorenz usado por los nazis durante las Segunda Guerra Mundial. La
existencia de este equipo no se publico hasta 1970.
En 1945 John Von Neumann, publicó un artículo sobre el concepto de programas
almacenados, el cual permitió la leer y ejecutar un programa en la memoria de la
computadora si necesidad de reescribir el programa. La primera computadora en usar
este concepto fue la computadora llamada EDVAC (Electronic Discrete- Variable
Automatic Computer), desarrollada por Von Neumann, Eckert y Mauchly. [5]
Figura 12: Von Neumann con la computadora EDVAC
Imagen: Cortesía de Computer History Museum
Las computadoras tal como las conocemos en la actualidad ha sido el producto de
muchos esfuerzos realizados por muchos científicos e inventores, especialmente se
considera al científico alemán Von Neuman como el padre de las computadoras
modernas. (NSF 2006, MHC 2006).
El 9 de setiembre de 1945, Grace Hopper registro el primer error computacional,
provocada por una polilla atrapada entre los relays del Mark II. Colaboro con el desarrollo
de los programas para la Harvard I y II, y desarrollo el primer compilador A-0.
Posteriormente trabajo en el desarrollo de COBOL, lenguaje especificado para trabajar
sobre maquinas de distintos fabricantes.
27 Autor: Ing. Luis Augusto Zuñe Bispo
También en 1945 Konrad Zuse inicio el desarrollo del “Plan de Calculo”, el primer
lenguaje de programación algorítmica, con la intención de crear las condiciones para la
resolución de problemas de carácter general.
En 1946, Mauchly y Eckert, después de estudiar la computadora de Atanasoff y
Berry, desarrollaron una máquina para calcular tablas de trayectorias para el ejército de
estados unidos, el cual díó como producto final una computadora electrónica a la cual
llamaron ENIAC (Electronic Numerical Integrator And Computer), que exclusivamente
construida para usos militares durante la segunda guerra mundial. ENIAC podía ejecutar
multiplicaciones en 3 milésimas de segundo (Mark I tardaba 3 segundos). Sin embargo,
las instrucciones de ENIAC debían ser dadas por medio de una combinación de
contactos externos, ya que no tenía cómo almacenarlas internamente. [5]
Figura 13: La computadora ENIAC
Imagen: Cortesía de Computer History Museum
En 1947 Sir Frederick Williams de la Universidad de Machenster modifica un tubo
de rayos catódicos y logra dibujar rayas y puntos en la pantalla, representando a los unos
y ceros binarios, más adelante el IBM 701 utiliza este recurso. El 23 de diciembre William
Shockey, Walter Brattain y Jhon Bardeen probaron con éxito el transistor de contacto,
que mas a delante sustituyeron a los tubos de vacío en las computadoras. Este mismo
año los pioneros de la computación Eckert y Mauchly, fundaron una compañía para la
construcción de equipos basados en su experiencia en la construcción de ENIAC y
EDVAC, producto de este esfuerzo construyeron la maquina BINAC.
En 1948 IBM construye SSEC (Calculadora de Secuencia Selectiva), la cual se
utiliza para calcular la posición de la luna para trazar el curso del vuelo del APOLO 11.
28 Autor: Ing. Luis Augusto Zuñe Bispo
Usa tarjetas y cintas perforadas como dispositivo de entrada y salida, y puede realizar 50
multiplicaciones por segundo, construida con 20000 relés, 125000 tubos al vacio. En ese
mismo año Norber Wiener, plantea publica “Cibernética” que influencia sobre temas
relacionados a la Inteligencia Artificial. Claude Shannon, plantea la “Teoría Matemática
para Comunicaciones” [5]
En 1949 Maurice Wilkes construye EDSAC, primer ordenador práctico de
programa almacenado, estableció una biblioteca de programas cortos llamadas
subrutinas almacenadas en cintas de papel perforado, la memoria de este equipo era de
1k palabras de 17 bits, con una velocidad de 714 operaciones por segundo. En ese año,
la Mark I utiliza el tubo de Williams para la memoria, utiliza cinta de papel, teleimpresora y
interruptores como dispositivos de entrada y salida, tubo de rayos catódicos y tambor
magnético.
En 1950 se construye ERA 1101, la primera computadora comercial, se podía
almacenar hasta 1 millos de bits en una tambor magnético, la cual se registraban por
pulsos magnéticos. En los tambores se podía almacenar hasta 4000 palabras, y
recuperar cualquiera de ellas en 5 milésimas de segundo. Ese mismo año la Oficina
Nacional de Normas SEAC, fue la primera computadora que uso en su totalidad diodos
lógicos, tecnológica más fiable que los tubos al vacio, y la primera computadora con
programa almacenado completo. La cinta magnética en las unidades de almacenamiento
externo, almacena la información de la programación, de las subrutinas codificadas,
datos numéricos y los datos producidos; además construye SWAC para ser construido a
pequeña escala y de rápido desarrollo, solo contenía 256 palabras de 37 bits, y solo tenía
siete operaciones básicas, sumar, restar, multiplicar, comparación, extracción de datos,
entrada y salida. En ese mismo año se concluye ACE, proyecto que inicio en 1948 este
equipo tenía como sistema de entrada y salida tarjetas perforadas, una memoria de 352
palabras de 32 dígitos, construido con 800 tubos al vacio, las memorias fueron
construidas con líneas de retardo construidas de mercurio. [5]
2.3. Niveles de una Computadora
En una computadora se pueden distinguir dos niveles estructurales, un nivel físico y
nivel lógico. El nivel físico está compuesto por la parte tangible de un computador (el
hardware), es decir los circuitos integrados el sistema de interconexión físico, las
interfaces de entrada y salida. Y el nivel lógico (el software) conformado por los
programas que se encuentran en sus diversas instancias y que son elementos no
29 Autor: Ing. Luis Augusto Zuñe Bispo
tangibles. Hay que reconocer la importancia de los niveles que se se encuentran en la
frontera del nivel físico y lógico.
Los Usuarios convencionales se desplazan por el nivel lógico, usando las
aplicaciones que se ejecutan bajo un determinado Sistema Operativo. El Firmware es un
bloque de instrucciones que se encuentra almacenado en una memoria ROM, establece
un nivel de control de los dispositivos de la computadora a bajo nivel; algunas de las
funciones del Firmware son liberadas al cargarse el sistema operativo. El propósito de
este dispositivo es de preparar el entorno de trabajo en una computadora y permitir la
ejecución del Sistema Operativo.
Figura 14: Niveles de una Computadora
Un compilador es un programa que acepta a los programas escritos en un
lenguaje de alto nivel, y los traduce a un lenguaje equivalente que puede ser ejecutado
por el procesador llamado regularmente “lenguaje de máquina”. Los procesadores solo
pueden ejecutar el conjunto de instrucciones asignado a ese procesador, los
procesadores no entienden los lenguajes de alto nivel, lenguajes que fueron creados por
la complejidad de manejo del lenguaje de bajo nivel.
Este conjunto de instrucciones que es propio de cada procesador, actúa sobre
distintos dispositivos de la computadora en especial sobre los dispositivos de entrada y
salida. [2]
30 Autor: Ing. Luis Augusto Zuñe Bispo
El Datapath y Control, y los otros dispositivos que se encuentran en los niveles
inferiores es de interés para los diseñadores de computadoras.
2.4. Estructura y Funcionamiento
2.4.1. Estructura
Una computadora desde un nivel general cumple funciones de almacenamiento y
procesamiento. Para poder cumplir con estas funciones generales, los computadores
pueden necesitar comunicarse en forma local o remota con otros dispositivos u otras
computadoras. Cuando se conecta en forma local se comunica con dispositivos
periféricos como impresoras, scanner, lectoras ópticas, dispositivos de almacenamiento
externos, etc. Mientras que en forma remota puede comunicarse a través de una red con
otras computadoras haciendo uso de tarjetas de red, módems, etc. [3]
Figura 15: Visión General de una Computadora
2.4.2. Funciones
El computador visto como un Sistema Integral, cumple con las siguientes
funciones:
La función básica que realiza el computador es la ejecución de programas.
El programa esta compuesto por un conjunto de instrucciones almacenadas en
memoria.
La Unidad Central de Proceso es la que se encarga de la ejecución de las
instrucciones
Las funciones operacionales de una computadora, son las siguientes:
a) Transferencias de Datos
31 Autor: Ing. Luis Augusto Zuñe Bispo
Una computadora tiene la capacidad de transferir datos, esta transferencia
puede ocurrir en entre los dispositivos locales o remotos. Tal como se indica la
figura, esta transferencia es controlada por un sistema de control, el cual
determina el inicio y fin de esta actividad. [3]
Figura 16: Transferencia de Datos
b) Almacenamiento de Datos
El almacenamiento de los datos es una de las tareas que se realizan con
regular frecuencia en una computadora como el caso anterior, el
almacenamiento de datos puede ocurrir en forma local a la computadora, o en
forma remota en otras computadoras. En esta actividad se debe tener en
cuenta los elementos intervinientes en esta operación según se ve en la figura.
[3]
Figura 17: Almacenamiento Datos
32 Autor: Ing. Luis Augusto Zuñe Bispo
c) Procesamiento de Datos
Esta es una de la funciones de mayor frecuencia en una computadora, por lo
general es necesario obtener los datos de un medio de almacenamiento local,
y en algunos casos de uno remoto, es por eso que requiere de alguna
transferencia tal como se indica en la figura. [3]
Figura 18: Procesamiento Datos Local
El procesamiento remoto, ocurre cuando una estación de trabajo solicita que
se ejecute un proceso en una computadora remota. Por ejemplo,
supongamos que una estación requiere del procesamiento matemático de
una determinada función, la estación de trabajo ordena la ejecución de la
tarea en el servidor, y espera hasta que el proceso culmine para recibir los
resultados.
Figura 19: Procesamiento de Datos Remoto
33 Autor: Ing. Luis Augusto Zuñe Bispo
2.5. Modelo de Von Neumann
En 1945 John Von Neumann (1903 – 1957) creó un modelo computacional que
hasta la actualidad se encuentra vigente, este modelo se caracteriza porque los
programas y los datos se encuentran almacenados en una sola ubicación. Se considera a
la computadora como una estructura de registros direccionables, la máquina operaba en
un ciclo repetitivo de pasos para localizar y ejecutar en secuencia las instrucciones del
programa. [2]
Figura 20: Modelo de Von Neumann
2.6. Evolución del Modelo de Von Neuman
Esta estructura ha evolucionado en el tiempo, a una estructura donde existe
Unidad Central de proceso que contiene a la unidad de control y al decodificador de
instrucciones, memoria para datos y programas, y un sistema de entrada y salida los
cuales se encuentran interconectados entre si a través de un canal común de
comunicaciones.
Estos sistemas se basan en un dispositivo centra llamado microprocesador el
cual encapsula a la Unidad Aritmética Lógica, la unidad de Control y un grupo registros
internos, estos sistemas se entienden mejor si se les trata como una colección de
registros direccionables. Los Registros que residen dentro del microprocesador se
denominan registros internos y aquellos que existen en ROM, RWM y puertos de E/S
son los registros externos.
34 Autor: Ing. Luis Augusto Zuñe Bispo
Figura 21: Modelo Evolucionado de Von Neumman
El conjunto de registros que constituyen un sistema en particular y las
transferencias de datos que sean posibles entre ellos forman la arquitectura del sistema
ó la arquitectura de la computadora. Los tipos de registro en el microprocesador y las
posibles transferencias de datos entre ellos determinan la arquitectura del
microprocesador.
Una arquitectura de computadora esta conformada por 4 subsistemas:
Sistemas de Memoria
Sistemas de Interconexión.
Sistemas de Entrada y Salida.
Sistema de Procesamiento
Un sistema con microprocesadores implementa sus funciones a base de transferir
y transformar datos en registros del sistema. Típicamente, las transformaciones en los
datos tienen lugar en los registros internos, muchos de los cuales son registros de
operación. Los registros de operación se diferencian de los registros de
almacenamiento en que con sus dispositivos y circuitos asociadas implementan
operaciones aritmética o lógicas en los datos contenidos en dichos registros.
El microprocesador controla y sincroniza las transferencias de datos y las
transformaciones de acuerdo a unas instrucciones leídas desde el programa de
aplicación.
Los registros de los diversos subsistemas del microprocesador se interconectan
externamente por el bus del sistema, que incluye el bus de direcciones, el bus de datos
y el bus de control. Generalmente, el bus de control contiene señales adicionales.
35 Autor: Ing. Luis Augusto Zuñe Bispo
Los dispositivos externos ó periféricos que generan datos para la entrada de
un sistema con microprocesador reciben el nombre de dispositivos de entrada. Existen
una gran variedad de estos dispositivos de entrada, que pueden ser electrónicos o
electromecánico. Su complejidad varía de acuerdo a la aplicación, estos podrían ser
desde un simple interruptor o entradas provenientes de señales de otros
microprocesadores.
Los dispositivos de salida, de los cuales existen una gran variedad, la
información primaria recibida por estos provienen de sistemas con microprocesador. Los
datos a enviar se colocan en un registro conectado al bus de datos. Este registro recibe el
nombre de puerto de salida y es sincronizado mediante un pulso de selección de
dispositivo de salida.
2.7. Modelo de Harvard
La Arquitectura de Harvard se diferencia de la Arquitectura de Von Neuman,
porque esta tiene memorias independientes para datos y para programas cada una de
ellas con una estructura de interconexión, lo que permite que se pueda leer datos y a la
vez programas en paralelo.
El que la información se almacene en palabras tiene una gran ventaja y es que
tanto el código de operación como el dato asociado a este están en la misma posición por
lo que su lectura es mucho más rápida. Esta es una gran ventaja ya que dota al
microcontrolador de gran agilidad. La técnica de procesar varias instrucciones al mismo
tiempo se conoce como pipelining o segmentación. Con esta técnica se dividen las
instrucciones en distintas etapas de modo que el procesador puede procesar distintas
instrucciones en estas etapas.
Una desventaja de este sistema es que la adición de memoria externa es mucho
mas compleja en incluso a veces imposible.
Este modelo presenta más rapidez de ejecución de código, incluso en algoritmos
de división que vienen implementados con más código en los RISC que el los CISC, la
velocidad de ejecución es mayor en los primeros.
36 Autor: Ing. Luis Augusto Zuñe Bispo
Figura 22: Modelo de Harvard
2.8. Tendencias Tecnológicas
Según Carter [1] “El hecho que las prestaciones mejoren geométricamente en
lugar de linealmente, se le suele denominar ley de Moore.”
Desde la invención de la computadora a nuestros días, se observa que esta a
evolucionado mucho tanto en su estructura como organización, esto ha originado que las
computadoras puedan hacer más cosas y en menor tiempo.
Carter [1] indica “El aumento en la velocidad de las prestaciones se ha debido a
los avances en la arquitectura y organización de los computadores (los arquitectos de
computadores han sido capaces de aprovechar el aumento de la densidad de circuitos
para añadir características a los microprocesadores y a los dispositivos de memoria para
mejorar sus prestaciones por encima y sobre las mejoras en la velocidad de los
transistores subyacentes).”
El término prestaciones del computador es muy borroso cuando se usa en el
contexto computacional. Carter (2004) indica que “Las prestaciones describen la rapidez
de un sistema dado para ejecutar uno o varios programas. Los sistemas que tardan
menos en ejecutar se dicen mejores prestaciones.”
2.9. Investigación Complementaria
Buscar otras definiciones actualizadas referente a los concepto de
Organización y Arquitectura de Computadoras (indicar las fuentes de
extracción de acuerdo a la norma de estilo chicago)
37 Autor: Ing. Luis Augusto Zuñe Bispo
¿Cuál es la importancia de tener diferentes organizaciones y arquitecturas de
computadoras?
Investigar aspectos técnicos relacionados con la evolución histórica de las
computadoras electrónicas, las capacidades y aplicaciones que se utilizaban
sobre estas.
De acuerdo a los avances tecnológicos de la actualidad. ¿Piensa que La ley de
Moore, todavía se cumple hoy en día? ¿Por qué?
38 Autor: Ing. Luis Augusto Zuñe Bispo
CAPITULO 3: INTERFACES Y ESTRATEGIAS DE E/S
Competencias:
Conocer el funcionamiento de las interfaces de entrada y salida.
3.1. Introducción
El Sistema de Interconexión es un conjunto de cables que conecta a los diferentes
subsistemas de una computadora, en estos cables tenemos a los bus de datos, bus de
direcciones y bus de control los cuales permiten el paso de datos, direcciones y señales
de control digital para las comunicaciones de los distinto periféricos conectados al bus
mediante las apropiadas interfaces. [3]
La compresión del este tema es vital para comprender, analizar y dimensionar las
necesidades para nuestros sistemas de información, de igual forma permitirá analizar los
retrasos en la adquisición de datos cuando se utiliza una determinada aplicación.
Figura 23: Sistemas Básico de una Computadora
3.2. Modelos de Computadoras
Las computadoras que desde a inicios de la década de 1940, se han desarrollado
bajo el concepto desarrollado por John Von Neumann en el Instituto de Estudios
Avanzados (lnstitute for Advances Studies) de Princeton, conocido como arquitectura de
39 Autor: Ing. Luis Augusto Zuñe Bispo
Von Neuman, y se basa en los siguientes conceptos:
Una única memoria de lectura-escritura.
Los contenidos de esta memoria se direccionan indicando su posición, sin
considerar el tipo de dato contenido en la misma.
La ejecución se produce siguiendo una secuencia de instrucción tras
instrucción (a no ser que dicha secuencia se modifique explícitamente).
Una nueva estructura de computadoras aparece en la década de 1970, en
universidad de Harvard, denominadas arquitectura de Harvard. Esta se caracteriza por
qué posee una memoria de lectura escritura para datos, y una memoria de lectura
escritura para programas. Esta situación agrega a la estructura de computadora un
adicional espacio de juego de buses.
3.3. Estructuras de Interconexión
Los tres módulos fundamentales de una computadora (procesador, memoria, y
E/S) se comunican entre sí. Por tanto debe existir un sistema de interconexión que
permita la interconexión de estos módulos de tal forma que pueda asegurar la
comunicación entre los módulos que componen a la computadora, dando cobertura a las
siguientes transferencias, según Stallings [4],
“Memoria a procesador: cuando procesador lee una instrucción o un dato desde
la memoria.
Procesador a memoria: el procesador escribe un dato en la memoria.
Entrada y salida a procesador: el procesador le datos de un dispositivo de E/S a
través de un módulo de E/S.
Procesador a E/S: el procesador envía datos al dispositivo de E/S.
Memoria a E/S y viceversa: en estos dos casos, un módulo de E/S puede
intercambiar datos directamente con la memoria, sin que tenga que pasar a través
del procesador, utilizando el acceso directo a memoria (DMA).”
3.4. Estructuras De Bus
El bus del sistema está constituido, usualmente, por entre 50 y 100 líneas.
Espacio a cada línea se le asigna un significado o una función particular. Aunque existen
diversos diseños de buses, en todos ellos la línea se puede clasificar en tres grupos
funcionales:
40 Autor: Ing. Luis Augusto Zuñe Bispo
a) La línea de datos este conjunto está constituido por un grupo de líneas
denominado bus de datos, generalmente este consta de 816 o 32 líneas, a
este número se le conoce como anchura de bus de datos. La anchura de bus
de datos es un factor clave al ahora determinar las prestaciones del conjunto
del sistema.
b) Las líneas de dirección, estas líneas de dirección se utilizan para ubicar un
determinado registro en estructura de registros de la memoria, o también estas
direcciones son utilizadas para dirección a un puerto de entrada y salida;
generalmente las direcciones de los puertos de entrada y salida se ubican en
las posiciones más altas de la memoria. La anchura del bulo direcciones
determina la capacidad máxima de memoria posible inicio en el sistema.
c) La línea de control estas se utilizan para controlar el acceso y el uso de la
línea de datos y direcciones. Puesto que las líneas de datos y direcciones son
compartidas por todos los componentes, debe existir una forma de controlar su
uso. Algunas líneas de control típicas son: [4]
Escritura en memoria: hace que el dato del bus se escriba en la posición
direccionada.
Lectura de memoria: hace que el dato de la posición direccionada se
sitúe en voz.
Escritura de entrada y salida: así que el dato rebusco se transfiera a
través del puerto de entrada y salida direccionada.
Lectura de entrada y salida: hace que el dato del puerto dentro de
seleccionado se sitúe en el voz.
Transferencia reconocida: indica que el dato sea aceptado o ser situado
en el bus.
Petición de bus: indica que un módulo necesita disponer del control de
bus.
Sesión de bus: indica que se cede el control del bus a un módulo que lo
había solicitado.
Petición de interrupción: indica si haya una interrupción pendiente.
Interrupción reconocida: señala que la interrupción pendiente sea
aceptado.
Reloj: se utiliza para sincronizar las operaciones.
Inicio: pone los módulos conectados en su estado inicial.
41 Autor: Ing. Luis Augusto Zuñe Bispo
3.5. Clasificación de Buses
El sistema de interconexión no solo se encuentra conectando a los diversos
subsistemas componentes de una computadora1, si no que también se encuentran
presentes en la estructura interna de un procesador que por su ubicación se les
denomina “Bus Interno”.
3.6. Parámetros de un Bus
Un bus es un conjunto de cables por el cual la información se desplaza en forma
binaria (banda base), la velocidad de este desplazamiento es identificable por dos
factores:
- Ancho de Banda
- Tasa de Transferencia
3.6.1. Ancho de Banda
El ancho de banda es la expresión de un rango frecuencias, que se expresa en
hertz e indica la mayor concentración de la potencia de una señal, usualmente usada
para señales analógicas ó para indicar la capacidad de los medios comunicación digitales
asimétricos.
Figura 24: Ancho de banda
3.6.2. Tasa de Transferencia
La tasa de transferencia es la cantidad de Bits, que viajan por un canal de
comunicaciones, esta velocidad de transferencia se suele expresar en la cantidad de bits
1 The PC has a hierarchy, in a way, of different buses. Most modern PCs have at least four buses. I consider them a
hierarchy because each bus is to some extent further removed from the processor; each one connects to the level above it, integrating the various parts of the PC together. (http://www.pcguide.com/ref/mbsys/buses/func.htm )
42 Autor: Ing. Luis Augusto Zuñe Bispo
que circulan en un segundo (bps). En el caso de los Buses de computadoras, esta
velocidad se expresa en la cantidad de Bytes por segundo2 que circulan por los canales
de comunicaciones (Bps).
Regularmente encontramos que las computadoras tienen unos determinados tipos
de buses incluidos en sus estructuras, las computadoras han evolucionado respecto a los
buses. En el siguiente cuadro se muestra:
Tabla 1: Velocidades de los Buses
Bus Width
(bits)
Bus Speed
(MHz)
Bus Bandwidth
(MBytes/sec)
8-bit ISA 8 8.3 7.9
16-bit ISA 16 8.3 15.9
EISA 32 8.3 31.8
VLB 32 33 127.2
PCI 32 33 127.2
64-bit PCI 2.1 64 66 508.6
AGP 32 66 254.3
AGP (x2 mode) 32 66x2 508.6
AGP (x4 mode) 32 66x4 1,017.3
3.7. Relación Entre Ancho Banda Y Banda Base
)1(log* 2 N
SHVT
VT= Velocidad de Transferencia den bits por segundo bps
H = Ancho de banda
N
S Relación Señal a Ruído
2 Bandwidth, also called throughput, refers to the total amount of data that can theoretically be transferred on the bus in a given unit of time. Using the highway analogy, if the bus width is the number of lanes, and the bus speed is how fast the cars are driving, then the bandwidth is the product of these two and reflects the amount of traffic that the channel can convey per second. The table below shows the theoretical bandwidth of most of the common I/O buses on PCs today. Note the italics on the word "theoretical"; most buses can't actually transmit anywhere near these maximum numbers because of command overhead and other factors. This is especially true of older buses. For example, the theoretical bandwidth of the 8-bit ISA bus might be about MBytes/sec, but in reality there are wait states inserted during I/O that drop this figure down dramatically. (http://www.pcguide.com/ref/mbsys/buses/func.htm)
43 Autor: Ing. Luis Augusto Zuñe Bispo
3.8. Problemas
Problema 3.8.1.
Se tienen dos canales de comunicaciones uno de ellos con un ancho de banda de
100 Mhz con una relación señal a ruido de 45db, y otro con un ancho de banda
133 Mhz con una relación señal a ruido de 35 db. ¿Cuál de los sistemas
seleccionaría por ser el más rápido?
Solución
Para el Canal de 100 Mhz con S/N 45db
(
)
(
) (
)
(
)
(
)
(
)
Entonces tenemos que:
( )
( ) bps
Para el Canal de 133 Mhz con S/N 35db
(
)
44 Autor: Ing. Luis Augusto Zuñe Bispo
(
) (
)
(
)
(
)
(
)
Entonces tenemos que:
( )
( ) bps
Problema 3.8.2.
Las líneas de comunicaciones telefónicas proveen un servicio de voz de un ancho
de banda de 3Khz, sobre este servicio de voz se pueden instalar módems para
datos binarios los cuales pueden transmitir a los siguiente velocidades de
transferencia 56600, 33600 y 28800 bps. Indicar en cada caso cual es la relación
S/N expresada en decibelio.
Solución:
Cuando VT=56600, se tiene que H=3000 hz, entonces:
)1(log*300056600 2 N
S
87.18)1(log2 N
S
Aplicando exponencial en base 2 a ambos miembros se tiene que:
4791111N
S
45 Autor: Ing. Luis Augusto Zuñe Bispo
Entonces:
8.46
dbN
S
Cuando VT=33600, se tiene que H=3000 hz, entonces:
)1(log*300033600 2 N
S
2.11)1(log2 N
S
Aplicando exponencial en base 2 a ambos miembros se tiene que:
53.23521N
S
Entonces:
71.33
dbN
S
46 Autor: Ing. Luis Augusto Zuñe Bispo
CAPITULO 4: ESTRATEGIAS DE E/S
Competencias:
Las competencias que se pretenden lograr son
4.1. Sistema de entrada y salida
Son módulos que se encuentran conectados al sistema de interconexión, de tal
manera que permite la conexión de dispositivos externos que proporcionan una forma de
interconexión para poder intercambiar datos entre el exterior y el computador. Por estos
enlaces se intercambian señales de control, estado, y datos entre el modulo de E/S y el
dispositivo externo.
Según Stallings [4] las razones por las cuales no se conectan los dispositivos
externos en forma directa son: “…
Hay una amplia variedad de periféricos con formas de funcionamiento
diferentes. Podría ser imposible incorporar la lógica necesaria dentro del
procesador para controlar tal diversidad de dispositivos.
A menudo la velocidad de transferencia de datos de los periféricos es mucho
menor que la de la memoria o procesador. Así, no es práctico utilizar un bus
de sistema de alta velocidad para comunicarse directamente con un periférico.
Por otro lado, la velocidad de transferencia de algunos periféricos es mayor
que la de memoria o procesador. De nuevo, esta diferencia daría lugar a
comportamientos poco eficientes si no se gestionase correctamente,
Con frecuencia los periféricos utilizan datos con formatos y tamaños de
palabra diferentes de los del computador a los que se conectan.”
De acuerdo a lo indicado anteriormente, las funciones del subsistema de E/S,
serían:
Interface entre el procesador y memoria, por el sistema de interconexión o un
conmutador central.
Interface entre uno o más dispositivos periféricos mediante enlaces de datos
específicos.
47 Autor: Ing. Luis Augusto Zuñe Bispo
4.2. Clasificación de Dispositivos de entrada y Salida
Según Stalling [4] “… los dispositivos externos se pueden clasificarse en tres
categorías:
De interacción con humanos: permiten la comunicación con el usuario del
computador.
De interacción con máquinas: permiten la comunicación con elementos del
equipo.
De Comunicación: permiten la comunicación con dispositivos remotos.
4.3. Modelo Básico de E/S
4.3.1. Funciones de un Modulo
Según Stalling [4] “Las principales funciones y requisitos de un modulo de E/S se
encuentran dentro de las siguientes categorías:
Control y Temporización
Comunicación con el procesador
Comunicación con los dispositivos
Almacenamiento temporal de datos
Detección de errores.”
48 Autor: Ing. Luis Augusto Zuñe Bispo
CAPITULO 5: MEMORIAS EN LAS COMPUTADORAS
Competencias:
Las competencias que se pretenden lograr son
5.1. Definición de Memoria de Computadora
Las memorias de la computadora, es un subsistema de la computadora que está
compuesto dispositivos semiconductores, y otros de almacenamiento magnético y óptico,
y que tiene funciones especificas de acuerdo al tipo de memoria que se este haciendo
referencia, por ejemplo la memoria principal o interna se usa como área de trabajo; es
decir donde se realizaran las operaciones que realizan los programas sobre los datos. En
la memoria secundaría o externa se almacena en forma temporal la información. [3], [4]
5.2. Clasificación de memorias en la computadoras
Las memorias de las computadoras se pueden clasificar de diversas formas, por
su material, función, ubicación, etc. El aporte de Stallings en su libro arquitectura de
computadoras, se hace una clasificación de la memoria por sus características como
sigue:
Figura 25: Clasificación de las Memoria de las Computadoras
49 Autor: Ing. Luis Augusto Zuñe Bispo
5.2.1. Ubicación
En las computadoras las memorias pueden ubicarse en diversos niveles, dentro
de la Unidad Central de Proceso en forma de registros y memoria Cache, la memoria
Interna es la que se ubica en la placa madre (main board), y la memoria externa es la que
encontramos en los diversos dispositivos periféricos como el disco duros, óptico,
memorias USB, e incluso se podría considerar a la memoria de las placas de video.
5.2.2. Método de Acceso
Es la forma de cómo el hardware de las computadoras localiza las posiciones de
las memorias que serán leídas o escritas.
a) Acceso secuencial
Se accesa a un determinado registro de tal forma que se recorre uno a uno
cada uno de los registros hasta llegar a la posición de memoria que es
requerida, cada acceso siempre se inicia en la primera memoria.
b) Acceso Directo
Mediante circuitos digitales se produce un posicionamiento inicial, cercano a
los datos a leer. A continuación, mediante acceso secuencial, se leen o
escriben los datos.
c) Acceso Aleatorio
Mediante un puntero de direcciones se accede a la dirección correspondiente,
las posiciones de memoria asociadas a esa dirección son leídas o escritas
simultáneamente.
d) Acceso Asociativo
Es un acceso aleatorio pero permite la comparación de ciertos datos como bits
de paridad, etc.
5.3. Jerarquía de memorias en las computadoras.
Las computadoras puede concebirse como una estructura de registros de
memorias que puede ser referenciada.
A las memorias de una computadora siguen una jerarquía de acuerdo a su
velocidad. En la base de esta pirámide se encuentran los dispositivos de velocidad más
baja como las lectoras de CD y DVD y según el grafico se observa que los dispositivos
de mas alta velocidad son aquellos que se encuentra en la cima de la misma y allí se
encuentran los registros y la memoria cache.
50 Autor: Ing. Luis Augusto Zuñe Bispo
Figura 26: Jerarquía de Memorias
Dado a que los dispositivos más lentos en una computadora son aquellos que en
forma directa afectan a un mejor rendimiento de la computadora como sistema, la
optimización de la memoria debe iniciarse desde los dispositivos más lentos hacia lo más
rápidos, tratando de que en cada dispositivo alcance el máximo rendimiento. Un
incremento del rendimiento por lo general siempre se traduce en un incremento del costo
de la memoria, y del sistema en general. [3]
5.4. Investigación complementaria
Investigar los antecedentes históricos de las memorias, analizar desde el
punto de vista tecnológico.
Porque se considera a los dispositivos de almacenamiento como un disco duro
o disco óptico como una memoria de computadora? Analizar las diferentes
concepciones e ideas que existen al respecto.
¿Dónde se usan las memorias de acceso secuencial?
51 Autor: Ing. Luis Augusto Zuñe Bispo
CAPITULO 6: MEMORIA EXTERNA
Competencias:
Conocer los dispositivos de reconocidos como memorias externas.
Realizar cálculos relacionados a su rendimiento y capacidad.
6.1. Memoria externa de las computadoras
Con esta denominación se suele indicar a todos los dispositivos de almacenamiento
externo del tipo óptico o magnético, estos dispositivos almacenan programas y
datos que son cargados en la memoria para ser ejecutados o procesados
respectivamente. Estos por lo general son dispositivos que tienen un tiempo de
acceso lento en comparación a la memoria semiconductora, pero la característica
principal es que pueden conservar la información aun cuando se retire la fuente de
energía que alimenta al dispositivo. Por lo general se suele referirse que estos
dispositivos de soporte de almacenamiento que son los disquetes, discos duros,
discos compactos, y las torres de disco que controlan el manejo de estos soportes.
[7]
6.2. Disco duro magnético
Según Stallings [4] “Un disco magnético es un plato circular construido con un
material no magnético, llamado sustrato, cubierto por un material magnetizable.
Tradicionalmente, el sustrato es aluminio o una aleación de aluminio.
Recientemente, se han utilizado sustratos de cristal. Los sustratos de cristal tienen
una serie de ventajas entre las cuales se encuentran:
Mejora en la uniformidad de la superficie magnética para incrementar la
fiabilidad del disco.
Reducción significativa de los defectos en todas la superficie lo que ayuda a
reducir los errores de lectura/escritura.
Capacidad para soportar grabaciones de gran proximidad (Fly heights, que se
describirán posteriormente)
Mejor rigidez para reducir la dinámica del disco.
52 Autor: Ing. Luis Augusto Zuñe Bispo
Mayor capacidad para resistir golpes y daños.”
Un disco duro es un dispositivo electromecánico con soporte magnético para el
almacenamiento masivo de datos. Las operaciones que pueden realizarse sobre
este dispositivo pueden ser de lectura ó escritura de datos. Se clasifica como una
memoria del tipo externa, en esta unidad los datos son no volátiles (es decir que no
se borran cuando la energía se corta en la unidad) y son menos rápidas
comparadas con la memorias internas.
Figura 27: Disco Duro
Usualmente es utilizado para almacenar los programas y datos, que no están
siendo utilizados, y por lo tanto no son necesarios que se encuentren cargados en
la memoria principal. [4]
6.3. Estructura física de un disco duro.
En un disco duro se se distinguen dos elementos no intercambiables: la Interface
de lectura y escritura y la Unidad de Soporte de datos.
a) Interface de lectura y escritura
Es un conjunto de componentes electrónicos y mecánicos (brazo de lectura y
escritura) que hacen posible la escritura y lectura de los datos en el disco.
53 Autor: Ing. Luis Augusto Zuñe Bispo
Figura 28: Estructura Mecánica- Eléctrica de un Disco Duro
b) Unidad de soporte de datos
Que son platos de estructura metálica que por lo general es de alumino, cuya
superficie ha sido tratada con elementos ferro magnéticos sobre la cual se
graban y recuperan los datos, utilizando cabezales electromagnéticos de
lectura/escritura. Los platos por lo general pueden utilizarse por ambas caras, y
se apilan varios de estos en forma concéntrica. Aunque esta practica esta en
desuso dado a que ahora sobre un solo plato se usan pistas diferentes a fin de
emular múltiples platos.
6.4. Grabación de los datos en los discos duros
Cada superficie magnética de cada plato tiene asignado un cabezal de
lectura/escritura, esto quiere decir que el número de cabezales depende del
número de superficies magnéticas útiles.
Figura 29: Cabezales Lectura/Escritura y su soporte
54 Autor: Ing. Luis Augusto Zuñe Bispo
Los cabezales se encuentran montados sobre unos brazos mecánicos, que pueden
desplazar a los cabezales en forma lineal sobre la superficie de un plato. En el caso
de la Figura 21, se observa a 4 cabezales de lectura/escritura.
Los platos se encuentran montados sobre un eje común, el cual se encuentra
conectado a un motor que rota a una velocidad constante, y en forma continua
hasta que se apague el computador. La velocidad de giro por lo regular es de 3600
RPM para los discos de tecnología IDE, aunque esta tecnología a evolucionado que
existen discos cuya velocidad de giro es de 7200 RPM. Los de tecnología SCSI,
pueden llegar hasta 10000 RPM.
Figura 30: Platos de un Disco Duro
En una operación de lectura/escritura los cabezales de lectura/escritura, se
desplazan hasta el área inicial donde se grabaran los datos, y luego de esto
deberán transferirse los datos desde o hacia esta área. Mientras los datos se van
transfiriendo las áreas que se van ocupando de datos, ya no se utilizan. Los datos
se graban sobre esta superficie en forma serial, es decir bit a bit.
Los datos son grabados sobre la superficie magnética del soporte magnético de los
discos duros bit por bit, utilizando para ello algún tipo de codificación analógica, la
misma que se realiza y depende de la interface electrónica la cual conecta al bus de
datos con el disco duro, la cual define un determinado tipo de codificación, las
tecnologías usadas en actualidad son:
Integrated Drive Electronics (IDE/ATA)
Serial Advanced Technology Attachment (SATA)
Small Computer System Interface (SCSI)
55 Autor: Ing. Luis Augusto Zuñe Bispo
Serial Attached SCSI (SAS)
Universal Serial Bus (USB)
IEEE 1394 o FireWire
6.4.1. Integrated Drive Electronics (IDE/ATA)
Esta Interface fue creada por Wester Digital, por encargo de Compaq que
deseaba desarrollar un nuevo tipo de computadora, con la finalidad de evitar las
interfaces para discos duros que existían en la tecnología ISA y que requerían de
una controladora que se insertaba en un uno de los slots de expansión, ocupando
un espacio muy necesario para la conexión de dispositivos periféricos. Este
sistema tiene 7 versiones que se clasifican desde ATA-1 hasta ATA-2, cuyas
velocidades de transferencia llegan hasta los 133 MBps.
Figura 31: Conector IDE de 40 hilos
El cable de la figura 23 es un cable usado para velocidades máximas de 33 MBps,
para velocidades de transferencia superiores se debe utilizar el cable de 80 hilos.
Los 40 hilos adicionales están conectados a tierra y se intercalan con uno de
datos con la finalidad de que se eliminen las interferencias e inducciones propias
del paso de datos de alta velocidad. El cable de 80 hilos se reconoce fácilmente
porque uno de los conectores el que va a la placa es de color azul.
6.4.2. Serial Advanced Technology Attachment (SATA)
Es un nuevo estándar de discos duros donde los cables usan pares de cables
para transmisión y otro par para recepción, usa un cable de 7 hilos y puede llegar
hasta velocidades de hasta 150 Mbytes/seg, frente a los 133 Mbytes/seg teóricos
de la tecnología ATA que usa un cable de 40 hilos y la transmisión de datos es en
56 Autor: Ing. Luis Augusto Zuñe Bispo
paralelo. Además SATA presenta la ventaja que estos discos requieren voltajes de
+5 voltios y el consumo de energía es menor. Los conectores son:
Tabla 2: Configuración de Conector SATA
PIN NOMBRE DESCRIPCION
1 GND Tierra
2 A+ Transmisión +
3 A- Transmisión -
4 GND Tierra
5 B- Recepción -
6 B+ Recepción+
7 GND Tierra
6.4.3. Small Computer System Interface (SCSI)
Actualmente existen varios tipos de tecnologías SCSI:
SCSI-1: Utiliza un bus de 8 bits, y soporta un tasa de transferencia de 4
MBPS
SCSI-2: Igual que SCSI-1, pero utiliza un conector de los 50 contactos en vez
de un conector de los 25-contactos, y soporta dispositivos múltiples. Esto es
lo que la mayoría del medio de la gente cuando ella refiere a SCSI llano
SCSI ancho: Utiliza un cable más ancho (168 cablegrafían las líneas a 68
contactos) para utilizar las transferencias 16 bits.
SCSI rápido: Utiliza un bus 8 bits, pero con un reloj doble que soporta una
tasa de transferencia de 10 MBPS.
SCSI ancho rápido: Utiliza un bus 16 bits y soporta un tasa de transferencia
de 20 MBPS.
Ultra SCSI: Utiliza un bus 8 bits, y soporta un tasa de transferencia de 20
MBPS.
SCSI-3: Utiliza un bus 16 bits y soporta un tasa de transferencia de 40
MBPS. SCSI ultra ancho también llamado.
Ultra2 SCSI: Utiliza un bus 8 bits y soporta un tasa de transferencia de 40
MBPS.
Ultra2 ancho SCSI: Utiliza un bus de 16 bits y soporta un tasa de
transferencia de 80 MBPS.
6.5. Formato de los discos
57 Autor: Ing. Luis Augusto Zuñe Bispo
La información en los discos duros esta organizada de tal manera que esta se
pueda ubicar fácilmente, el formato de los discos en una forma de organizar al
disco para que los datos puedan escribirse y leerse, y recuperarse en forma rápida.
Los discos deber tener un formato físico y lógico.
El formato físico es realizado por el fabricante del disco, es en fabrica donde se
establece la cantidad de cilindros y sectores que debe tener un disco duro, durante
este proceso también se puede hacer una prueba del estado de cada una de las
pistas donde se almacenara la información, deshabilitando para el almacenamiento
a aquellas que presente defectos.
El formato lógico puede ser realizado por el usuario del dispositivo, que quien
decidirá el tipo de formato que usará bajo un determinado Sistema Operativo.
6.5.1. Formato Físico
A cada superficie de un plato se le conoce como cara, cada una de las caras de
un plato se dividen en anillos concéntricos llamados pistas, dado a que un disco
tiene varios platos con varias caras útiles al conjunto de pistas que se encuentran
en la misma posición en las diferentes caras y platos de los discos se le denomina
cilindro.
Figura 32: Sectores, Cilindros, Cabezales, de un Disco Duro
Es decir las pistas que se encuentran en cada plato y de una misma posición
numérica, se encuentran a la misma distancia del centro formando un cilindro
imaginario. Cada cara se puede dividir en un número definidos de partes y que
cortan a todas las pistas de una superficie. A la porción de una pista cortada por
58 Autor: Ing. Luis Augusto Zuñe Bispo
un sector se le conoce con el nombre de sector. Cada pista y cada sector se
encuentra separada por un espacio vacío (no se graban datos), que sirve para
diferenciar a una pista de otra; a este espacio se le llama gap.
Figura 33: Estructura Lógica Disco Duro
En cada uno de estos sectores generalmente se almacenan 512 bytes de datos,
aunque en realidad cada sector contiene un tamaño de 600 bytes, estos 88 bytes
son utilizados para indicar información relativa a al sector seleccionado además
de contener gaps, que separan a los diferentes campos que conforman al sector.
Las cabezas y cilindros comienzan a numerarse desde el cero, y los sectores
desde el uno. En consecuencia, el primer sector de un disco duro será el
correspondiente a la cabeza 0, cilindro 0 y sector 1.
Figura 34: Distribución de bytes en un Sector
El en campo de identificación tenemos un conjunto de datos que identifican la
ubicación de sector:
59 Autor: Ing. Luis Augusto Zuñe Bispo
Figura 35: Detalla de Bytes del CRC
El campo de datos tiene la siguiente configuración de campos:
Figura 36: Detalle de Bytes del Campo de Datos
Ejemplo: Si se tiene un disco duro que tiene las siguientes especificaciones:
Cilindros = 6253
Cabezas = 16
Sectores = 63
El número total de sectors = 6.253*16*63
La capacidad total disco = 6303024 sectors*600 bytes/sector
= 3781814400 bytes ~ 3.5 GB
La capacidad máxima datos = 6303024 sectors * 512 bytes/sector
= 3.227.148.228 bytes ~ 3 GB.
6.6. Parámetros medición de las prestaciones de un disco duro.
Los detalles de las operaciones de E/S, de un disco duro dependen de:
Tipo de Computador.
Sistema Operativo.
Naturaleza de los Canales Entrada/Salida.
Hardware Controlador de Disco.
En general si se toma en cuenta solo a los parámetros del disco duro tendremos
que los siguientes parámetros permiten evaluar las prestaciones de un disco duro:
Tiempo de búsqueda
Tiempo de retardo (latencia) rotacional
60 Autor: Ing. Luis Augusto Zuñe Bispo
Tiempo de trasferencia
(a) Tiempo de búsqueda.
Es el tiempo que toma un cabezal en posicionarse sobre la pista donde se
encuentra la información que se quiere leer o grabar.
Ts= mxn+s
Ts = tiempo de búsqueda estimado.
n= número de pistas atravesadas.
m= constante que depende del discos
s= tiempo de comienzo
Ejemplo: m=0,3ms, s=20ms
(b) Velocidad de Rotación
Tal vez el más importante porque existen retardos en la lectura y velocidad de
transferencia asociados. Suele oscilar entre 3600 y las 10000 rpm
(revoluciones por minuto) dependiendo de la tecnología de disco duro.
Figura 37: Algunos parámetros de los Discos Duros Seagate ATA
(c) Retardo rotacional
61 Autor: Ing. Luis Augusto Zuñe Bispo
Que es el tiempo en que el cabezal alcanza el sector, una vez posicionado
sobre la pista que contiene los datos. Es igual a la media del tiempo que un
disco tarda en dar una vuelta, y depende de la velocidad de rotación. También
se le conoce como tiempo de latencia rotacional. [7]
(d) Tiempo de acceso
Indica la capacidad para acceder de manera aleatoria a cualquier sector del
disco. La suma del tiempo de búsqueda y el retardo rotacional se llama
tiempo de acceso, o tiempo que se tarda en llegar a la posición de lectura o
escritura. Esta operación con lleva un tiempo de transferencia de datos.
Tiempo acceso = tiempo búsqueda + retardo rotacional
(e) Velocidad de Transferencia
Directamente relacionada con el interface. En un dispositivo Ultra-2 SCSI es
de 80 MBytes/seg. mientras que en el Ultra DMA/33 (IDE) es de 33,3
MBytes/seg. En el modo DMA-2. Esta velocidad es la máxima que admite el
interface, y no quiere decir que el disco sea capaz de alcanzarla.
Figura 38: Parámetros de un Disco Duro Samsung
62 Autor: Ing. Luis Augusto Zuñe Bispo
La velocidad que el disco alcanza depende de la velocidad de rotación y se
puede obtener mediante la siguiente fórmula:
T = b
rN
T = tiempo de transferencia
b = numero de bytes a transferir
N = número de bytes de una pista
r = velocidad de rotación en R.P.M.
Figura 39: Tiempos asociados a un Disco Duro
También se puede calcular este valor con la siguiente fórmula: [7]
rotacional ad x velocidsectores de número
1 ciaTransferen Tiempo
(f) Parámetros de segunda importancia
Los parámetros que deben considerarse en forma específica para un
determinado tipo de disco son:
Capacidad: que e la capacidad máxima de almacenamiento de datos que
tiene un disco y que se determina a partir de las características técnicas de
cada disco.
Caché de disco: La memoria caché implementada en el disco es
importante, pero más que la cantidad es importante la manera en que ésta
se organiza. Por ello este dato normalmente no nos da por si solo
demasiadas pistas. Son normales valores entre 64 y 256 Kb.
6.7. Sistema de Archivos
63 Autor: Ing. Luis Augusto Zuñe Bispo
El sistema de archivos es la forma en que el sistema operativo organizar la
información en disco duro, para el almacenamiento y recuperación. Cada sistema
operativo tiene su propio y único sistema de archivos, no existiendo compatibilidad con
otros.
Por ejemplo, en los Sistemas Operativos de Microsoft se tiene a:
DOS y Windows 3.11: FAT 8 o 12.
Windows 95: FAT 16 o 32.
Windows 98, ME, XP: FAT 32.
Windows XP, 2000, NT: NTFS.
Windows Vista y Seven: NTFS.
6.7.1. Sistema de Archivos FAT
FAT sigla en inglés que significan File Allocation Table, en español Tabla de
Asignación de Archivos, consiste en una serie de sectores que alojan la mínima porción
de información, y una tabla que enlista los sectores libres y los ocupados. Los sectores
del sistema de archivos FAT tienen dos características que con el tiempo lo sacaron del
mercado, la primera es que tienen un tamaño fijo, y que cuando el disco la capacidad del
disco aumenta, el tamaño del sector también aumenta. En los primeros discos duros
estas características no fueron importantes, cuando los discos duros incrementan su
capacidad. En los discos duros pequeños menores a 1GB, los sectores regularmente
eran de 512 KB, pero a medida que la capacidad aumenta estos podrían ser de 32KB,
entonces un archivo de 40KB tendría que ocupar dos sectores de 32 KB, dejando vacio
24 KB libres, lo que traer un desperdicio de espacio por los sectores no usados. En el
sistema de archivos FAT se tenía: [6]
i) FAT16: Es el mejor para unidades o particiones con menos de 200Mb,
porque FAT se inicia con muy poca carga. Preferiblemente, en unidades o
particiones de más de 200Mb no se debería utilizar este sistema de archivos
FAT ya que a medida que aumenta el tamaño del volumen, el rendimiento
disminuye rápidamente. Las particiones FAT tienen un tamaño máximo de
4Gb en Win NT y de 2Gb en MS-DOS. Los archivos están restringidos a
nombres de tan sólo 8 caracteres y 3 de extensión. No soporta archivos
extremadamente grandes. Es menos "robusto" que NTFS ya que no permite
la automática recuperación del disco.
ii) FAT32: Mantiene la misma estructura de sectores y tablas, pero disminuye el
tamaño de los sectores. En discos entre los 512Mb, así el espacio
64 Autor: Ing. Luis Augusto Zuñe Bispo
desperdiciado es mucho menor. Admite unidades de hasta 2Tb de tamaño.
Utiliza clústeres menores (de 4Kb a 8Kb), lo que significa un 10 y un 15 % de
mejora en el uso del espacio con respecto a unidades grandes con sistemas
de archivos FAT o FAT16. Es incompatible con todo lo anterior e incluso parte
de lo posterior. El problema principal es que las utilidades de disco no
conocían este sistema: por lo que Microsoft actualizó todas sus utilidades.
Aún así FAT 32 es la mejor alternativa para usuarios de Win 98 y las
versiones de Win95 que lo soportan.
6.7.2. Sistema de Archivos NTFS
El Sistema de archivos NTFS las siglas en inglés de New Technology File System,
en español Nueva Tecnología de Archivos de Sistema, es un sistema de seguridad
completa. Donde se pueden configurar los tipos de acceso a los archivos y directorios.
Además guarda un LOG (archivo) de actividades para reconstruir el disco en el caso de
problemas eléctricos. Soporta nombres de archivos y directorios de hasta 256 caracteres.
Automáticamente genera archivos de corrección en DOS que pueden ser utilizados y
compartidos. [5] [6]
6.8. Planificación de solicitudes
Según Carter [1] “Una forma en la que el sistema operativo o el hardware pueden
influir en el rendimiento del disco duro es mediante la selección del orden en el se van a
atender las peticiones, suponiendo que existen varias de ellas. Existen tres políticas
empleadas comúnmente: primero en llegar primero en servir (first-come-first-serve,
FCFS), primero el de menor tiempo de búsqueda (shortest-seek-time-first, SSTF) y
planificación LOOK.”
6.8.1. Primero en llegar primero en servir (FCFS)
En la política primero en llegar primero en servir (FCFS), el disco gestiona las
peticiones en el orden en que se realizaron, como se muestra en la figura 11.9 La
Planificación FCFS tiene la ventaja de que es fácil implementar, pero puede requerir
mucho más movimiento de la cabeza del disco que otras políticas de planificación.
Puesto que el tiempo de búsqueda de una solicitud es proporcional al número de pistas
que la cabeza del disco tiene que atravesar para satisfacer la petición, este aumento en
el movimiento sobre el disco conlleva un tiempo de búsqueda medio mayor y un menor
rendimiento.
65 Autor: Ing. Luis Augusto Zuñe Bispo
6.8.2. Primero el de menor tiempo de búsqueda (SSTF)
En la política de “primero el de menor tiempo de búsqueda” (SSTF) se reduce el
tiempo de búsqueda, puesto que siempre se gestiona aquella solicitud cuya pista se
encuentre lás cercana de la posición actual de la cabeza del disco. La figura 11.10
muestra como se gestionaría esa política de planificación ka secuencia de solicitudes de
la figura 11.19. La planificación SSTF puede reducir significativamente el tiempo medio
de búsqueda de un disco, pero presenta la desventaja de una secuencia de pistas
contiguas puede impedir que una solicitud de una pista alejada de éstas sea atendida
(inanición). Por ejemplo, consideremos un programa que comienza realizando solicitudes
de las pistas 1, 2 y 100 y a continuación realiza una secuencia de solicitudes de la pista 1
y 2. Si la solicitud de la pista se gestiona primero, la solicitud de la pista 2 se gestionara
después, seguida de la siguiente solicitud de la pista 1, continuando así. Hasta que la
secuencia de peticiones de las pistas 1 y 2 finalice, la solicitud de la pista 100 nunca sería
satisfecha.
6.8.3. Planificación SCAN
En el algoritmo SCAN, el brazo del disco parte de un extremo del disco y se
mueve hacia otro, atendiendo a las solicitudes a mediad que llega la cilindros, hasta
llegar al otro extremo del disco. La dirección del disco se invierte, y continua la atención,
barriendo el disco de un extremo a otro.
Esta política opera como el SSTF, excepto que busca la dirección de la distancia
de petición mas corta. SCAN no cambia de dirección hasta que el cabezal haya llegado
hasta el último cilindro de la dirección de desplazamiento o hasta que no haya peticiones
pendientes en la dirección de referencia.
6.8.4. Planificación SCAN n-pasos
En la estrategia, el brazo se mueve de un lado a otro como el SCAN, pero solo le
da servicio a las peticiones que se encuentran en espera cuando comienza en un
recorrido en particular. Las peticiones qe llegan durante un recorrido son agrupadas u
ordenadas par un servicio óptimo durante el recorrido de regreso.
La SCAN de n-pasos ofrece un buen rendimiento de la capacidad de ejecución y
de la medida de los tiempos de respuesta. Su característica mas significativa es una
menor varianza de los tiempos de respuesta que las planeaciones SSTF y SCAN
66 Autor: Ing. Luis Augusto Zuñe Bispo
convencionales. La SCAN de n-pasos evita la posibilidad de postergación indefinida que
tiene lugar si un número de peticiones que llegan al cilindro que está siendo servido y
guarda esas peticiones para ser servidas durante el recorrido de regreso.
6.8.5. Planificación C-SCAN
Planificación Circular SCAN (C-SCAN) es una variante de SCAN para dar un
tiempo de espera mas uniforme. Al igual que SCAN, C-SCAN mueve la cabeza de un
extremo del disco al otro, atendiendo las solicitudes en el camino, sólo que cuando la
cabeza llega al otro extremo regresa de inmediato al principio del disco sin atender
solicitudes. El algoritmo C-SCAN básicamente trata a los cilindro como una lista circular
que continúa del último cilindro al primero.
En la estrategia C-SCAN, el brazo se mueve del cilindro exterior al interior,
sirviendo a las peticiones con menor tempo de búsqueda. Cuando el brazo ha
completado su recorrido hacia adentro, salta a la petición mas cercana al cilindro exterior
y a continuación reanuda su recorrido hacia adentro procesando peticiones.
La C-SCAN puede implementarse de forma que las peticiones que llegan durante
un recorrido sean servidos en el siguiente. De esta forma C-SCAN elimina
completamente la discriminación contra las peticiones para los cilindros exterior e interior.
Tiene una varianza de los tiempos de respuesta muy pequeña.
6.8.6. Planificación LOOK
La planificación LOOK (también denominada planificación del ascensor) supone
un compromiso entre FCFS y SSTF que generalmente proporciona mejor rendimiento
que FCFS y evita la posibilidad de inanición. En la planificación LOOK, la cabeza
comienza a moverse bien hacia el exterior o bien hacia el interior del plato, satisfaciendo
las solicitudes de las pistas que recorre. Una vez que alcanza la pista más lejana o
cercana del centro del plato, invierte su dirección, gestionando las solicitudes pendientes
conforme recorre sus pistas, funciona de manera análoga a cómo lo hacen la mayoría de
los ascensores: una vez que le ascensor comienza a subir, continua subiendo hasta
alcanzar la planta más alta que un individuo haya solicitado. A continuación comienza a
ajar hasta que llega a la planta mas baja requerida.
LOOK inicia la exploración del disco con un movimiento hacia el exterior (hacia
pistas con números más altos) del disco. Este algoritmo evita la inanición puesto que
garantiza que una vez que la pista comienza moverse hacia la pista requerida por una
67 Autor: Ing. Luis Augusto Zuñe Bispo
determinada solicitud, continúa moviéndose hacia esa dirección hasta satisfacer la
solicitud.
Los sistemas actuales suelen emplear la planificación SSFT o LOOK, junto con
ligeras modificaciones de los algoritmos aquí descritos. En general, la planificación LOOK
es preferible en sistemas propensos a tener una alta carga de solicitudes de disco,
puesto que la probabilidad de inanición con SSTF aumenta conforme la proporción de
tiempo en que el disco está ocupado.
6.8.7. Esquema Eschembach
En esta estrategia el movimiento del brazo del disco es circular como el C-SCAN,
pero con varias excepciones. Cada cilindro es servido exactamente por un pista completa
de información, haya o no peticiones para este cilindro. Las peticiones se redondean a se
servidas dentro de un cilindro para tomar ventaja de la posición rotacional, pero si dos
peticiones traslapan posiciones de sectores dentro de un cilindro, solamente se sirve una
en el movimiento actual del brazo del disco.
Con carga baja, la política SCAN es mejor, mientras que con cargas medias y
pesadas, la C-SCAN produce mejores resultados. La C-SCAN con optimización
rotacional maneja de manera efectiva condiciones de carga muy pesadas y ha
demostrado ser mejor que el esquema Eschenbach bajo todas las condiciones de carga.
6.9. OPTIMIZACION ROTACIONAL EN DISCOS
En condiciones de carga pesada, la probabilidad de que ocurran referencias al
mismo cilindro y aumenta y resulta útil considerar la optimización rotacional de la misma
forma que la optimización de búsqueda.
Una forma paralela a la estrategia de optimización de la búsqueda SSTF es la
estrategia SLFT (tiempo de latencia más corto primero) de optimización rotacional. Una
vez que el brazo del disco llega a un cilindro en particular, pueden existir muchas
peticiones pendientes en las distintas pistas de ese cilindro. La estrategia SBIF examina
todas estas peticiones y sirve primero a aquella petición que tiene el retardo rotacional
mas corto. Esta estrategia ha demostrado estar muy cercana del óptimo teórico y es
relativamente fácil de implementar.
68 Autor: Ing. Luis Augusto Zuñe Bispo
6.10. RAID
El problema principal de los discos duros, es que algunas aplicaciones exigen
tiempo de respuesta que muchas veces no puede ser superado por hardware
convencional. En estas circunstancias una de las opciones para mejorar, es la
implementación de un arreglo de discos, que permita lograr un gran ancho de banda
tanto para la lectura como para escritura de datos, o algún sistema que proporcione la
seguridad de los mismos.
RAID (Redundant Array of Independent Disk) es decir una Arreglo Redundantes
de Discos Independiente, estos de acuerdo al tipo de aplicación pueden disponerse en
una forma de arreglo especial que requiere de software o hardware (en algunos casos
ambas cosas), con la finalidad de responder a un determinado tipo de aplicación.
6.10.1. RAID Nivel 0
Stalling [4] “El nivel 0 de RAID no es un verdadero miembro de la familia RAID,
porque no incluye redundancia para mejorar las prestaciones, Sin embargo, hay algunas
aplicaciones, como algunas ejecuciones en supercomputadores, en los que las
prestaciones y la capacidad son la preocupación primaria y un costo bajo es más
importante que mejorar la seguridad.”
Stalling [4] “Pero RAID 0, como todos los niveles RAID, va más lejos que una
sencilla distribución de datos a través del conjunto de discos: los datos son organizados
en forma de tiras de datos a través de los discos disponibles”
Respecto a la aplicación del RAID 0, Stallings [4] indica “En los entornos
orientados a transacciones, el usuario se suele preocupar más del tiempo de respuesta
que de la velocidad de transferencia. Para una petición individual de E/S de una pequeña
cantidad de datos, el tiempo de E/S está dominado por el movimiento de las cabezas del
disco (tiempo de búsqueda) y el movimiento del disco (latencia rotacional)”
6.10.2. RAID Nivel 1
Stallings [4] “RAID 1 se diferencia de los niveles 2 al 6 en cómo se consigue la
redundancia; en RAID 1, la redundancia se logra con el sencillo recurso de duplicar todos
los datos.”
Stallings [4] “Debido a esto, una configuración RAID 1 posiblemente está limitada
a unidades que almacenan el software del sistema y los datos, y otros ficheros altamente
críticos. En estos casos, RAID proporciona una copia de seguridad en tiempo real de
69 Autor: Ing. Luis Augusto Zuñe Bispo
todos los datos, de forma que en caso de fallo de disco, todos laos datos críticos están
inmediatamente disponibles.”
6.10.3. RAID Nivel 2
Stallings [4] “Es un conjunto de acceso paralelo, todos los discos miembro
participan en la ejecución de cada petición de E/S. Típicamente, el giro de cada unidad
individual está sincronizado de forma que cada cabeza de disco está en la misma
posición en cada disco en un instante dado.”
Stallings [4] “El número de discos redundantes es proporcional al logaritmo del
número de discos de datos. En una sola lectura, e accede a todos los discos
simultáneamente.”
Stallings [4] “RAID 2 debería ser solamente una elección efectiva en un entorno en
el que haya muchos errores de disco. Si hay una alta seguridad den los discos
individuales y en las unidades de disco, RAID 32 es excesivo y no se implementa.”
6.10.4. RAID Nivel 3
Stallings [4] “La diferencia es que RAID 3 se requiere solo un disco redundante,
sin importar que sea el conjunto de discos. RAID 3 utiliza un acceso paralelo, con datos
distribuidos en pequeña tiras. En vez de un código de corrección de errores, se calcula un
sencillo bit de paridad para el conjunto de bits individuales en la misma posición en todos
los discos de datos.”
Stallings [4] “Puesto que los datos se dividen en tiras muy pequeñas, RAID 3
puede conseguir velocidades de transferencia de datos muy altas. Cualquier petición E/S.
Por tanto, en un entorno orientado a transacciones, el rendimiento sufre.”
6.10.5. RAID Nivel 4
Stallings [4] “En un conjunto de acceso independiente, cada disco opera
independientemente, de forma que peticiones de E/S separadas se atienden en paralelo.
Debido a esto, son más adecuados los conjuntos de acceso independiente para
aplicaciones que requieren velocidades de petición de E/S altas, y son menos adecuados
para aplicaciones que requieren velocidades altas de transferencia de datos.”
Stallings [4] “RAID 4 lleva consigo una penalización en la escritura cuando se
realiza una petición de escritura de E/S pequeña. Cada vez que se realiza una escritura,
el software de gestión del conjunto debe actualizar no solo los datos del usuario, sino
también los bits de paridad correspondientes.”
70 Autor: Ing. Luis Augusto Zuñe Bispo
6.10.6. RAID Nivel 5
Stallings [4] “La diferencia es que RAID 5 distribuye las tira de paridad a lo largo
de todos los discos. Un distribución típica es un esquema cíclico, ...”
Stallings [4] “Para un conjunto de n discos, la tira de paridad está en diferentes
discos para las primeras n tiras, y este patrón se repite.”
Stallings [4] “La distribución de las tiras de paridad a lo largo de todas las
unidades evita el potencia cuello de botella de E/S encontrado en RAID 4.”
6.10.7. RAID Nivel 6
Stallings [4] “Es el esquema del nivel 6 de RAID, se hacen dos cálculos de paridad
distintos, que se almacenan en bloques separados en distintos discos. Por tanto un
conjunto RAID 6 cuyos datos requieran N discos consta de N + 2 discos.”
Stallings [4] “La ventaja de RAID 6 es que proporciona una disponibilidad de los
datos extremadamente alta. Tendrían que fallar tres discos en el intervalo MTTR (tiempo
medio de reparación) para no poder disponer de datos. Por otra parte , RAID 6 incurre en
una penalización de escritura ya que cada escritura afecta a dos bloques de paridad.”
6.10.8. Comparación de RAIDs
Nivel Ventajas Inconvenientes Aplicaciones
0 Mejora de las prestaciones de E/S, se reparte la carga entre varios canales.
El control de errores es mínimo
Diseño muy sencillo
Fácil de Implementar
La falla de un disco afecta a todos los datos.
Producción e Edición de video.
Edición de imágenes.
Cualquier aplicación que requiere ancho de banda.
1 Puede soportar fallo de varias unidades
Diseño de subsistema de almacenamiento RAID mas sencillo.
Realiza imagen idéntica de todo el disco.
Sobrecarga con respecto a todos los tipos de RAID, es sumamente ineficiente.
Contabilidad.
Nominas.
Finanzas.
Aplicaciones que requieren alta disponibilidad de datos.
2 Velocidades de transferencias extremadamente altas
Diseño de controlador es sencillo a comparación de los niveles superiores
Mejor relación entre discos de datos y discos ECC
Alta Relación entre discos ECC y discos de datos con tamaños de datos pequeños
Costo del nivel de entrada muy alto.
No existen implementaciones comerciales.
3 Alta velocidad de lectura Velocidad de Producción de
71 Autor: Ing. Luis Augusto Zuñe Bispo
Nivel Ventajas Inconvenientes Aplicaciones
de datos.
Velocidad alta de escritura de datos.
Impacto insignificante de fallas en disco.
Baja relación entre discos ECC (paridad) y discos de datos implica alta eficiencia.
transacción igual que la de una única unidad de disco.
El diseño del controlador es muy complejo.
video y secuencias en vivo.
Edición de imagen.
Edición de video
Aplicaciones que requieren alto rendimiento.
4 Velocidad de transacción de lectura muy alta
Baja relación entre discos ECC (paridad) y discos de datos implica alta eficiencia.
Diseño bastante complejo de controlador.
Peor velocidad de transacción de escritura y velocidad total de escritura.
Reconstrucción de datos difícil e ineficiente en caso de fallas en disco
No existe implementación comercial.
5 La mayor velocidad de transacción de datos.
Una baja relación entre discos ECC y datos implica alta eficiencia.
Buena velocidad de transferencia en conjunto.
Diseño de controlador mas complejo.
Difícil reconstrucción de caso de fallas de disco.
Servidor de archivos y aplicaciones.
Servidores de bases de datos.
Servidores de páginas web, correo electrónico y noticias.
Servidores Intranet.
6 Proporciona una tolerancia a fallos extremadamente alta y puede soportar varios fallos de unidades simultáneos
Diseño de controlador muy complejo.
Sobrecarga de controlador para calcular direcciones de paridad extremadamente alta.
Solución perfecta para aplicaciones con objetivos críticos.
6.11. Problemas resueltos
(i) Un disco duro de la marca Seagate como el de la figura 39, tiene los
siguientes parámetros:
Cilindros = 142029 cilindros
Cabezas = 16 cabezas
Sectores = 63 sectores
Tiempo de búsqueda promedio= 8.9 ms
Tiempo de salto de pista a pista= 0.8 ms
72 Autor: Ing. Luis Augusto Zuñe Bispo
Velocidad Rotación: 7200 rpm
Tiempo de transferencia del medio al buffer= 741 Mbits/sec
Tiempo de transferencia del buffer al host = 133 Mbytes/sec
Tamaño del buffer = 2 Mbytes
(a) Hallar la capacidad total en el disco
CT= 600 bytes/sector * 16 cabezal * 63 sector/cilindro* 142029 cilindros/cabezal
CT= 80 Gbytes
(b) Hallar la capacidad total para datos
CT= 512 bytes/sector * 16 cabezal * 63 sector/cilindro* 142029 cilindros/cabezal
CT= 68.27 Gbytes
(c) Halla el tiempo de retardo ó latencia rotacional
El tiempo de retardo rotacional es fácilmente obtenible usando una regla de
tres simple:
7200 vueltas -------- en ------ 1m (60000ms)
1 vuelta -------- en ------ x = 8.33 ms
Entonces: Tiempo Retardo Rotacional = 4.17 ms
(d) Cuál sería el tiempo de total de lectura o escritura de la información
considerando que los datos se encuentran en el Buffer (velocidad de
transferencia del medio al buffer)
La velocidad de transferencia del medio al buffer (VTMB=741Mbits/s)
Entonces el Tiempo de transferencia del medio al buffer TTMB es:
mssegMbit
bytesTTMB 0053.0
/741
512
73 Autor: Ing. Luis Augusto Zuñe Bispo
El resultado puede ser irrelevante para unos pocos datos, pero cuando se
tratan de millones de datos la cifra es significativa.
(g) Suponer que Usted desea leer un archivo que tiene 1.8 Mbytes, calcular el
tiempo que tomaría leer este archivo, suponiendo que los archivos se
encuentran dispuestos en forma aleatoria en el disco duro (es decir que
ninguno de ellos se encuentra ordenado)
Para resolver este problema debemos asumir que no conocemos la posición
inicial del cabezal, por tanto usaremos un tiempo de búsqueda promedio.
Entonces el tiempo de búsqueda de un sector es:Tseek= 8.9 ms
Un archivo de 1.8 Mbytes ocupa un número de sectores igual a:
bytes
MbytesSectores
512
8.1#
#Sectores= 3686.4 Sectores
Se tiene que redondear al inmediato superior dado a que un sector utilizado
por un archivo, ya no puede ser utilizado por otro.
#Sectores= 3687 Sectores
El tiempo de retardo rotacional calculado en (b) es: 4.17 ms
El tiempo de lectura de un sector es:
TSEEK un sector 8.9000 ms
TRR 4.1700 ms
TREAD 0.0053 ms
13.0753 ms
Entonces para leer los 3687 Sectores se necesita:
Tiempo Total Lectura = 13.0753 ms/sector * 3687 sectores
Tiempo Total Lectura = 48208.6311 ms = 48.21 seg
74 Autor: Ing. Luis Augusto Zuñe Bispo
(h) En el caso (g), calcular el tiempo que tomaría leer este archivo, suponiendo
que los archivos se encuentran dispuestos en forma secuencial en el disco
duro (es decir ordenados en forma consecutiva en una misma pista)
Una pista tienes 63 sectores, por tanto para leer 3687 sectores requiere al
menos 59 operaciones de búsqueda. Entonces el tiempo total de leer una
pista:
TSEEK 8.9000 ms
TRR 4.1700 ms
TREAD (63 sectores) 0.3339 ms
13.4039 ms
Suponiendo que solo se requiere un tiempo de búsqueda dado a la
disposición secuencial, entonces la lectura de las 58 pistas restantes no
incluyen el tiempo de búsqueda, por tanto:
TSEEK 0.0000 ms
TRR 4.1700 ms
TREAD (63 sectores) 0.3339 ms
4.5039 ms
T58Pistas= 4.5039 ms * 58= 261.2262 ms
Entonces para las 59 pistas tenemos:
T59Pistas= 261.2262 ms + 13.4039 ms = 274.6301 ms
T59Pistas = 0.2746301 seg
Aproximadamente 88 veces más rápido que cuando los datos se encuentran
desordenados. En vista que no es probable que los datos se encuentren
totalmente desordenado o totalmente ordenados. El tiempo de real de lectura
se encontraría dentro del rango de 0.275 seg y 48.21 seg. Tiempo que se
tendría que tener en cuenta frente a una implementación en la cual se buscan
tiempos de respuesta.
75 Autor: Ing. Luis Augusto Zuñe Bispo
(ii) Con los datos del problema anterior:
(a) Hallar el tiempo de búsqueda para las políticas de búsqueda FCFS, SSTF, y
LOOK de las siguientes peticiones de información 12, 47, 55, 38, 102 si la
posición inicial del cabezal es la pista 75.
Solución
Para FCFS
Posición
Inicial Final Tiempo
75 12 50.9
12 47 28.5
47 55 6.9
55 38 14.1
38 102 51.7
152.1
Si las peticiones solo incluyeran la búsqueda entonces el tiempo total
empleado para las peticiones del ejemplo seria 152.1 ms.
Para SSTF
Posición
Inicial Final Tiempo
75 55 16.5
55 47 6.9
47 38 7.7
38 12 21.3
12 102 72.5
124.9
Si las peticiones solo incluyeran la búsqueda entonces el tiempo total
empleado para las peticiones del ejemplo seria 124.9 ms.
Para LOOK
Posición
Inicial Final Tiempo
75 102 22.1
102 55 38.1
55 47 6.9
47 38 7.7
76 Autor: Ing. Luis Augusto Zuñe Bispo
38 12 21.3
96.1
Si las peticiones solo incluyeran la búsqueda entonces el tiempo total
empleado para las peticiones del ejemplo seria 96.1 ms.
(b) Cual sería el tiempo de acceso para cada caso de la sección (a)
Solución
Para FCFS
Posición
Inicial Final Tseek Tacc
75 12 50.9 55.07
12 47 28.5 32.67
47 55 6.9 11.07
55 38 14.1 18.27
38 102 51.7 55.87
152.1 172.95
No se considera en la suma total de la tabla el tiempo de lectura de cada
petición. La totalización es referencial.
Para SSTF
Posición
Inicial Final Tseek Tacc
75 55 16.5 20.67
55 47 6.9 11.07
47 38 7.7 11.87
38 12 21.3 25.47
12 102 72.5 76.67
124.9 145.75
No se considera en la suma total de la tabla el tiempo de lectura de cada
petición. La totalización es referencial.
Para LOOK
Posición
Inicial Final Tseek Tacc
75 102 22.1 26.27
102 55 38.1 42.27
55 47 6.9 11.07
47 38 7.7 11.87
38 12 21.3 25.47
77 Autor: Ing. Luis Augusto Zuñe Bispo
96.1 116.95
No se considera en la suma total de la tabla el tiempo de lectura de cada
petición. La totalización es referencial.
Para FCFS
Posición
Inicial Final Tseek Tacc Tread
75 12 50.9 55.07 55.075
12 47 28.5 32.67 32.675
47 55 6.9 11.07 11.075
55 38 14.1 18.27 18.275
38 102 51.7 55.87 55.875
172.977
Para SSTF
Posición
Inicial Final Tseek Tacc Tread
75 55 16.5 20.67 20.675
55 47 6.9 11.07 11.075
47 38 7.7 11.87 11.875
38 12 21.3 25.47 25.475
12 102 72.5 76.67 76.675
145.777
Para LOOK
Posición
Inicial Final Tseek Tacc Tread
75 102 22.1 26.27 26.275
102 55 38.1 42.27 42.275
55 47 6.9 11.07 11.075
47 38 7.7 11.87 11.875
38 12 21.3 25.47 25.475
116.977
78 Autor: Ing. Luis Augusto Zuñe Bispo
6.12. Ejercicios
Ejercicio N° 1
Se tiene un disco duro que tiene las siguientes características:
Cilindros = 142029 cilindros
Cabezas = 16 cabezas
Sectores = 63 sectores
Tiempo de búsqueda promedio= 8.9 ms
Tiempo de salto de pista a pista= 0.8 ms
Tiempo de inicio = 0.5 ms
Velocidad Rotación: 7200 rpm
Tiempo de transferencia del medio al buffer= 741 Mbits/sec
Tiempo de transferencia del buffer al host = 133 Mbytes/sec
Tamaño del buffer = 5 Mbytes
Hallar:
Capacidad física total, capacidad para datos, tiempo de retardo rotacional.
Usando las tres políticas principales de búsqueda de peticiones, hallar el
tiempo total en cada caso cuando el cabezal se encuentra en la posición 345 y
se tienen las siguientes solicitudes 12, 45 , 38, 560, 239, 245 124, 412.
Si tiene un archivo de 4.5 Mbytes que tiempo tomaría en leer el archivo si este
se encuentra dispuesto en una forma secuencial y cuanto tiempo se tomaría
en leerlo si este esta dispuesto en forma aleatoria. Suponer que este archivo
se encuentra en el Buffer.
Cuanto tiempo tomaría en transferir el archivo de 4.5 Mbytes del buffer al host.
6.13. Problema propuestos
(1) Se tiene un disco duro que tiene las siguientes características:
Cilindros = 35540 cilindros
Cabezas = 16 cabezas
Sectores = 63 sectores
Tiempo de búsqueda promedio= 8.9 ms
Tiempo de salto de pista a pista= 0.8 ms
Tiempo de inicio = 0.5 ms
79 Autor: Ing. Luis Augusto Zuñe Bispo
Velocidad Rotación: 7200 rpm
Tiempo de transferencia del medio al buffer= 741 Mbits/sec
Tiempo de transferencia del buffer al host = 150 Mbytes/sec
Tamaño del buffer = 5 Mbytes
Hallar:
Capacidad física total, capacidad para datos, tiempo de retardo rotacional.
Usando las tres políticas principales de búsqueda de peticiones, hallar el
tiempo total en cada caso cuando el cabezal se encuentra en la posición
345 y se tienen las siguientes solicitudes 12, 45 , 38, 560, 239, 245 124,
412.
Si tiene un archivo de 4.5 Mbytes que tiempo tomaría en leer el archivo si
este se encuentra dispuesto en una forma secuencial y cuanto tiempo se
tomaría en leerlo si este esta dispuesto en forma aleatoria. Suponer que
este archivo se almacena en el Buffer.
Cuanto tiempo tomaría en transferir el archivo de 4.5 Mbytes del buffer al
host.
(2) Un fabricante desea diseñar un disco duro con una capacidad de, al menos,
30 GB (empleando la definición de 1GB= 1024 Mbytes). Si la tecnología
empleada para fabricar los discos permite sectores de 1024 byes, 2048
sectores por pista y 4096 pistas por plato, ¿Cuántos platos se necesitan?
(Asuma un número fijo de sectores por pista)
(3) Un disco duro de 5 platos contiene 2048 pistas por plato, 1024 sectores por
pista (número fijo de sectores por pista) y 512 bytes por sector. ¿Cuál es su
capacidad total?
(4) Se desea un disco con un solo plato con lo siguientes parámetros: velocidad de
rotación: 7200 rpm; el número de pistas de una cara del plato: 3000; número de
sectores por pista: 600; tiempo de búsqueda: 1ms por cada cien pistas
atravesadas. El disco recibe una petición de acceso a un sector aleatorio en
una pita aleatoria y suponer que la cabeza se encuentra estacionada en la pista
0.
¿Cuál es el tiempo de búsqueda medio?
¿Cuál es la latencia rotacional media?
¿Cuál es el tiempo de transferencia de un sector?
80 Autor: Ing. Luis Augusto Zuñe Bispo
¿Cuál es el tiempo total medio para realizar una petición?
(5) Se desea un disco con un solo plato con lo siguientes parámetros: velocidad de
rotación: 7200 rpm; el número de pitas de una car del plato: 3000; número de
sectores por pista: 600; tiempo de búsqueda: 1ms por cada cien pistas
atravesadas. El disco recibe una petición de acceso a un sector aleatorio en
una pita aleatoria y suponer que la cabeza se encuentra estacionada en la pista
0.
¿Cuál es el tiempo de búsqueda medio?
¿Cuál es la latencia rotacional media?
¿Cuál es el tiempo de transferencia de un sector?
¿Cuál es el tiempo total medio para realizar una petición?
(6) Se distingue entre registros físicos y lógicos. Un registro lógico es una serie de
datos relacionados tratados como una unidad conceptual, independientemente
de donde está almacenada la información. Un registro físico es una zona
contigua de espacio de almacenaje que viene definida por las características
del dispositivo de almacenamiento y por el sistema operativo. Suponer un disco
en el que cada registro físico contiene treinta registros lógicos de 120 bytes.
Calcular cuánto espacio en disco (en sectores, pistas y superficies) se
necesitaran para almacenar 300000 registros lógicos si el disco tiene sectores
fijos de 512 bytes/sector, con 96 sectores/pistas, 110 pistas por superficie, y
ocho superficies útiles. Ignorar registros de cabecera del archivo e índices de
pista, y suponer que los registros ni pueden ocupar dos sectores.
81 Autor: Ing. Luis Augusto Zuñe Bispo
6.14. Investigación complementaria
¿Por qué la información que brinda el Windows respecto a la capacidad total de
un disco difiere de la que se proporcionan en las especificaciones técnicas de
un disco duro?
¿Cuál es el algoritmo que utiliza el CRC? De un ejemplo.
Explique su importancia, como se organiza la memoria cache en un disco duro,
de un ejemplo
Que parámetros manejan hoy en día para discos de tecnología IDE y SCSI.
Indique las fuentes de información donde obtuvo los datos. (sugerencia: se
recomienda visitar las páginas de los fabricantes de discos duros ó visitar a
algún distribuidor local)
Estado del arte en tecnologías de almacenamiento.
82 Autor: Ing. Luis Augusto Zuñe Bispo
Bibliografía
[1] Nicholas Carter, Arquitectura de Computadoras. Madrid, España: Mc Graw Hill, 2004.
[2] enrique Mandado Perez, Sistemas Electrónicos Digitales, 9th ed.: Marcombo, 2007.
[3] Miles J. Murdocca and Vincent Heuring, Principios de Arquitectura de Computadoras. Brasil: Pearson Educación, 2002.
[4] Williams Stallings, Organización y Arquitectura de Computadores. España: Prentice Hall, 2006.
[5] Museo de Historia de las Computadoras. (2012, Marzo) Historia de las Computadoras Linea del Tiempo. [Online]. http://www.computerhistory.org/
[6] Michelle A. Hoyle. (2012, Marzo) Historia de la Ciencia de la Computación. [Online]. http://www.eingang.org/Lecture/
[7] Irv Englader, Arquitectura Computacional, 2nd ed. España: Continental, 2002.
[8] Cris Taylor. (2012, Marzo) NTFS and FAT32. [Online]. http://people.msoe.edu/~taylor/cs384/sitania.pdf
[9] Cheong Kai Wee. (2012, Marzo) Forensic Focus. [Online]. http://www.forensicfocus.com/downloads/ntfs-hidden-data-analysis.pdf
[10] Jason Madeiros. (2012, Marzo) NTFS Forensic. [Online]. http://grayscale-research.org/new/pdfs/NTFS%20forensics.pdf