Page 1

Arquitectura de Computadoras Parte I

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

Autor: Ing. Luis Augusto Zuñe Bispo

2


INDICE INTRODUCCION

6

CAPITULO 1: LÓGICA DIGITAL Y REPRESENTACIÓN DE DATOS

7

1.1. REPRESENTACIÓN DE DATOS 1.2. INTRODUCCIÓN A LA LÓGICA DIGITAL (PUERTAS LÓGICAS, FLIP FLOPS, CIRCUITOS) 1.2.1. PUERTA LÓGICA “Y” 1.2.2. PUERTA LÓGICA “O” 1.2.3. PUERTA LÓGICA “NO” 1.2.4. PUERTA LÓGICA “NO Y” 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” 1.2.8. FLIP FLOPS 1.2.9. CIRCUITOS DIGITALES 1.3. LÓGICA DE EXPRESIONES Y FUNCIONES BOOLEANAS 1.4. REDUCCIÓN DE EXPRESIONES 1.5. REPRESENTACIÓN DE DATOS NUMÉRICOS 1.5.1. NÚMEROS ENTEROS POSITIVOS 1.5.2. NÚMEROS NEGATIVOS 1.5.3. NOTACIÓN COMPLEMENTO A DOS 1.6. NÚMEROS EN COMA FLOTANTE 1.7. REPRESENTACIÓN DE CARACTERES 1.8. REPRESENTACIÓN DE AUDIO E IMÁGENES 1.8.1. CONVERSIÓN ANALÓGICA A DIGITAL 1.9. COMPRESIÓN DE DATOS 1.10. PROBLEMAS RESUELTOS

7 7 7 8 9 9 10 10 10 11 11 11 12 12 12 12 13 13 13 13 14 16 16

CAPITULO 2: ARQUITECTURA Y ORGANIZACIÓN

21

2.1. ARQUITECTURA Y ORGANIZACIÓN DE COMPUTADORAS 2.2. HISTORIA DE LAS COMPUTADORAS 2.3. NIVELES DE UNA COMPUTADORA 2.4. ESTRUCTURA Y FUNCIONAMIENTO 2.4.1. ESTRUCTURA 2.4.2. FUNCIONES 2.5. MODELO DE VON NEUMANN 2.6. EVOLUCIÓN DEL MODELO DE VON NEUMAN 2.7. MODELO DE HARVARD 2.8. TENDENCIAS TECNOLÓGICAS 2.9. INVESTIGACIÓN COMPLEMENTARIA

21 22 28 30 30 30 33 33 35 36 36

CAPITULO 3: INTERFACES Y ESTRATEGIAS DE E/S

38

3.1. INTRODUCCIÓN 3.2. MODELOS DE COMPUTADORAS 3.3. ESTRUCTURAS DE INTERCONEXIÓN 3.4. ESTRUCTURAS DE BUS 3.5. CLASIFICACIÓN DE BUSES 3.6. PARÁMETROS DE UN BUS 3.6.1. ANCHO DE BANDA 3.6.2. TASA DE TRANSFERENCIA 3.8. PROBLEMAS

38 38 39 39 41 41 41 41 43

Autor: Ing. Luis Augusto Zuñe Bispo

3


CAPITULO 4: ESTRATEGIAS DE E/S

46

CAPITULO 5: MEMORIAS EN LAS COMPUTADORAS

48

5.1. DEFINICIÓN DE MEMORIA DE COMPUTADORA 5.2. CLASIFICACIÓN DE MEMORIAS EN LA COMPUTADORAS 5.2.1. UBICACIÓN 5.2.2. MÉTODO DE ACCESO 5.3. JERARQUÍA DE MEMORIAS EN LAS COMPUTADORAS. 5.4. INVESTIGACIÓN COMPLEMENTARIA

48 48 49 49 49 50

CAPITULO 6: MEMORIA EXTERNA

51

6.1. MEMORIA EXTERNA DE LAS COMPUTADORAS 6.2. DISCO DURO MAGNÉTICO 6.3. ESTRUCTURA FÍSICA DE UN DISCO DURO. 6.4. GRABACIÓN DE LOS DATOS EN LOS DISCOS DUROS 6.4.1. INTEGRATED DRIVE ELECTRONICS (IDE/ATA) 6.4.2. SERIAL ADVANCED TECHNOLOGY ATTACHMENT (SATA) 6.4.3. SMALL COMPUTER SYSTEM INTERFACE (SCSI) 6.5. FORMATO DE LOS DISCOS 6.5.1. FORMATO FÍSICO 6.6. PARÁMETROS MEDICIÓN DE LAS PRESTACIONES DE UN DISCO DURO. 6.7. SISTEMA DE ARCHIVOS 6.7.1. SISTEMA DE ARCHIVOS FAT 6.7.2. SISTEMA DE ARCHIVOS NTFS 6.8. PLANIFICACIÓN DE SOLICITUDES 6.8.1. PRIMERO EN LLEGAR PRIMERO EN SERVIR (FCFS) 6.8.2. PRIMERO EL DE MENOR TIEMPO DE BÚSQUEDA (SSTF) 6.8.3. PLANIFICACIÓN SCAN 6.8.4. PLANIFICACIÓN SCAN N-PASOS 6.8.5. PLANIFICACIÓN C-SCAN 6.8.6. PLANIFICACIÓN LOOK 6.8.7. ESQUEMA ESCHEMBACH 6.9. OPTIMIZACION ROTACIONAL EN DISCOS 6.10. RAID 6.10.1. RAID NIVEL 0 6.10.2. RAID NIVEL 1 6.10.3. RAID NIVEL 2 6.10.4. RAID NIVEL 3 6.10.5. RAID NIVEL 4 6.10.6. RAID NIVEL 5 6.10.7. RAID NIVEL 6 6.10.8. COMPARACIÓN DE RAIDS 6.11. PROBLEMAS RESUELTOS 6.12. EJERCICIOS 6.13. PROBLEMA PROPUESTOS 6.14. INVESTIGACIÓN COMPLEMENTARIA

51 51 52 53 55 55 56 56 57 59 62 63 64 64 64 65 65 65 66 66 67 67 68 68 68 69 69 69 70 70 70 71 78 78 81

BIBLIOGRAFÍA

82

Autor: Ing. Luis Augusto Zuñe Bispo

4


INDICE DE FIGURAS FIGURA 1: DISTRIBUCIÓN DE PINES DE LA COMPUERTA AND 7408 FIGURA 2: DISTRIBUCIÓN DE PINES DE LA COMPUERTA OR 7408 FIGURA 3: DISTRIBUCIÓN DE PINES DE LA COMPUERTA INVERSOR 7404 FIGURA 4: SEÑAL ANALÓGICA BASE FIGURA 5: SEÑAL MUESTREADA FIGURA 6: SEÑAL CODIFICADA FIGURA 7: ABACO CHINO FIGURA 8: TELA DE TARJETAS PERFORADAS DE JAQCUARD FIGURA 9: MÁQUINA DIFERENCIAL BABBAGE FIGURA 10: MAQUINA DE HOLLERITH FIGURA 11: REPLICA DE LA ABC FIGURA 12: VON NEUMANN CON LA COMPUTADORA EDVAC FIGURA 13: LA COMPUTADORA ENIAC FIGURA 15: NIVELES DE UNA COMPUTADORA FIGURA 16: VISIÓN GENERAL DE UNA COMPUTADORA FIGURA 17: TRANSFERENCIA DE DATOS FIGURA 18: ALMACENAMIENTO DATOS FIGURA 19: PROCESAMIENTO DATOS LOCAL FIGURA 20: PROCESAMIENTO DE DATOS REMOTO FIGURA 21: MODELO DE VON NEUMANN FIGURA 22: MODELO EVOLUCIONADO DE VON NEUMMAN FIGURA 23: MODELO DE HARVARD FIGURA 24: SISTEMAS BÁSICO DE UNA COMPUTADORA FIGURA 25: ANCHO DE BANDA FIGURA 26: CLASIFICACIÓN DE LAS MEMORIA DE LAS COMPUTADORAS FIGURA 27: JERARQUÍA DE MEMORIAS FIGURA 28: DISCO DURO FIGURA 29: ESTRUCTURA MECÁNICA- ELÉCTRICA DE UN DISCO DURO FIGURA 30: CABEZALES LECTURA/ESCRITURA Y SU SOPORTE FIGURA 31: PLATOS DE UN DISCO DURO FIGURA 32: CONECTOR IDE DE 40 HILOS FIGURA 33: SECTORES, CILINDROS, CABEZALES, DE UN DISCO DURO FIGURA 34: ESTRUCTURA LÓGICA DISCO DURO FIGURA 35: DISTRIBUCIÓN DE BYTES EN UN SECTOR FIGURA 36: DETALLA DE BYTES DEL CRC FIGURA 37: DETALLE DE BYTES DEL CAMPO DE DATOS FIGURA 38: ALGUNOS PARÁMETROS DE LOS DISCOS DUROS SEAGATE ATA FIGURA 39: PARÁMETROS DE UN DISCO DURO SAMSUNG FIGURA 40: TIEMPOS ASOCIADOS A UN DISCO DURO

Autor: Ing. Luis Augusto Zuñe Bispo

8 9 9 14 15 15 22 23 23 24 25 26 27 29 30 31 31 32 32 33 34 36 38 41 48 50 52 53 53 54 55 57 58 58 59 59 60 61 62

5


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.

Autor: Ing. Luis Augusto Zuñe Bispo

6


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”

Autor: Ing. Luis Augusto Zuñe Bispo

7


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”

Autor: Ing. Luis Augusto Zuñe Bispo

8


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” Autor: Ing. Luis Augusto Zuñe Bispo

9


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” Autor: Ing. Luis Augusto Zuñe Bispo

10


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]

Autor: Ing. Luis Augusto Zuñe Bispo

11


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í:

Autor: Ing. Luis Augusto Zuñe Bispo

12


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

Autor: Ing. Luis Augusto Zuñe Bispo

13


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) 8000 22050 32000 44100 47250 48000

APLICACIONES Telefonía Digital solo para voz. Permite reproducir frecuencia de voz hasta de 3kHz. Radio, permite reproducir señales con componentes de hasta 10 kHz, que pueden incluir voz y música. Vídeo digital en formato miniDV. Permite reproducir señales con componentes de hasta 20 kHz Permite reproducir señales con componentes de hasta 22 kHz. Sonido digital para películas, audio profesional y sistemas

La señal muestreada quedaría como se muestra en la figura siguiente:

Autor: Ing. Luis Augusto Zuñe Bispo

14


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

Autor: Ing. Luis Augusto Zuñe Bispo

15


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

Autor: Ing. Luis Augusto Zuñe Bispo

16


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 0 0 0 0 1 1 1 1

A 0 0 1 1 0 0 1 1

R 0 1 0 1 0 1 0 1

Z 0 1 1 0 1 0 0 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.

Autor: Ing. Luis Augusto Zuñe Bispo

17


Variable de entrada C, Sensor de velocidad del viento, “0” velocidad anormal, “1” velocidad normal.

A 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1

C 0 1 0 1 0 1 0 1

Z 0 0 0 0 0 0 0 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. Autor: Ing. Luis Augusto Zuñe Bispo

18


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 0 0 0 0 1 1 1 1 III) 1.11.

SP 0 0 1 1 0 0 1 1

SM 0 1 0 1 0 1 0 1

SA 0 0 0 1 0 1 1 1

Mapas Karnaught para obtener la ecuación mínima

Laboratorio Usando los el simulador de circuitos digitales implementar en los circuitos de los problemas resueltos.

Autor: Ing. Luis Augusto Zuñe Bispo

19


Autor: Ing. Luis Augusto Zu単e Bispo

20


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 Autor: Ing. Luis Augusto Zuñe Bispo

21


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]

Autor: Ing. Luis Augusto Zuñe Bispo

22


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

Autor: Ing. Luis Augusto Zuñe Bispo

23


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. Autor: Ing. Luis Augusto Zuñe Bispo

24


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.

Autor: Ing. Luis Augusto Zuñe Bispo

25


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.

Autor: Ing. Luis Augusto Zuñe Bispo

26


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. Autor: Ing. Luis Augusto Zuñe Bispo

27


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 Autor: Ing. Luis Augusto Zuñe Bispo

28


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]

Autor: Ing. Luis Augusto Zuñe Bispo

29


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 Autor: Ing. Luis Augusto Zuñe Bispo

30


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

Autor: Ing. Luis Augusto ZuĂąe Bispo

31


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

Autor: Ing. Luis Augusto Zuñe Bispo

32


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.

Autor: Ing. Luis Augusto Zuñe Bispo

33


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.

Autor: Ing. Luis Augusto Zuñe Bispo

34


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.

Autor: Ing. Luis Augusto Zuñe Bispo

35


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)

Autor: Ing. Luis Augusto Zuñe Bispo

36


¿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é?

Autor: Ing. Luis Augusto Zuñe Bispo

37


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 Autor: Ing. Luis Augusto Zuñe Bispo

38


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:

Autor: Ing. Luis Augusto Zuñe Bispo

39


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.

Autor: Ing. Luis Augusto Zuñe Bispo

40


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 ) Autor: Ing. Luis Augusto Zuñe Bispo

41


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

3.7.

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

Relación Entre Ancho Banda Y Banda Base

VT  H * log 2 (

S  1) N

VT= Velocidad de Transferencia den bits por segundo bps H = Ancho de banda

S  Relación Señal a Ruído N 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) Autor: Ing. Luis Augusto Zuñe Bispo

42


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

(

Autor: Ing. Luis Augusto Zuñe Bispo

)

43


( )

( )

( )

( )

( )

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:

56600  3000 * log 2 (

log 2 (

S  1) N

S  1)  18.87 N

Aplicando exponencial en base 2 a ambos miembros se tiene que:

S  1  479111 N

Autor: Ing. Luis Augusto Zuñe Bispo

44


Entonces:

S    46.8  N db

Cuando VT=33600, se tiene que H=3000 hz, entonces:

33600  3000 * log 2 (

log 2 (

S  1) N

S  1)  11.2 N

Aplicando exponencial en base 2 a ambos miembros se tiene que:

S  1  2352.53 N Entonces:

S    33.71  N db

Autor: Ing. Luis Augusto Zuñe Bispo

45


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.

Autor: Ing. Luis Augusto Zuñe Bispo

46


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.

4.3.

De Comunicación: permiten la comunicación con dispositivos remotos.

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.”

Autor: Ing. Luis Augusto Zuñe Bispo

47


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

Autor: Ing. Luis Augusto Zuñe Bispo

48


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.

Autor: Ing. Luis Augusto Zuñe Bispo

49


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?

Autor: Ing. Luis Augusto Zuñe Bispo

50


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.

Autor: Ing. Luis Augusto Zuñe Bispo

51


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.

Autor: Ing. Luis Augusto Zuñe Bispo

52


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

Autor: Ing. Luis Augusto Zuñe Bispo

53


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) Autor: Ing. Luis Augusto Zuñe Bispo

54


 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

Autor: Ing. Luis Augusto Zuñe Bispo

55


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 1 2 3 4 5 6 7

NOMBRE GND A+ AGND BB+ GND

DESCRIPCION Tierra Transmisión + Transmisión Tierra Recepción Recepción+ 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

Autor: Ing. Luis Augusto Zuñe Bispo

56


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

Autor: Ing. Luis Augusto Zuñe Bispo

57


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:

Autor: Ing. Luis Augusto Zuñe Bispo

58


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

Autor: Ing. Luis Augusto Zuñe Bispo

59


 (a)

Tiempo de trasferencia

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

Autor: Ing. Luis Augusto Zuñe Bispo

60


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

Autor: Ing. Luis Augusto Zuñe Bispo

61


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]

Tiempo Transferencia 

(f)

1 número de sectores x velocid ad rotacional

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

Autor: Ing. Luis Augusto Zuñe Bispo

62


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

Autor: Ing. Luis Augusto Zuñe Bispo

sectores. En discos entre los 512Mb, así el espacio 63


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. Autor: Ing. Luis Augusto Zuñe Bispo

64


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

Autor: Ing. Luis Augusto Zuñe Bispo

65


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

Autor: Ing. Luis Augusto Zuñe Bispo

66


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.

Autor: Ing. Luis Augusto Zuñe Bispo

67


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

Autor: Ing. Luis Augusto Zuñe Bispo

68


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.” Autor: Ing. Luis Augusto Zuñe Bispo

69


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 0

1

2

3

Ventajas  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

Inconvenientes La falla de un disco afecta a todos los datos.

Aplicaciones  Producción e Edición de video.  Edición de imágenes.  Cualquier aplicación que requiere ancho de banda.

 Puede soportar fallo de varias unidades  Diseño de subsistema de almacenamiento RAID mas sencillo.  Realiza imagen idéntica de todo el disco.  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 velocidad de lectura

Sobrecarga con respecto a todos los tipos de RAID, es sumamente ineficiente.

   

Autor: Ing. Luis Augusto Zuñe Bispo

 Alta Relación entre discos ECC y discos de datos con tamaños de datos pequeños  Costo del nivel de entrada muy alto.  Velocidad

de

Contabilidad. Nominas. Finanzas. Aplicaciones que requieren alta disponibilidad de datos. No existen implementaciones comerciales.

 Producción

de 70


Nivel   

4

 

5

  

6

6.11.

Ventajas 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.

Inconvenientes transacción igual que la de una única unidad de disco.  El diseño del controlador es muy complejo.

Aplicaciones video y secuencias en vivo.  Edición de imagen.  Edición de video  Aplicaciones que requieren alto rendimiento.

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  Diseño de controlador mas complejo.  Difícil reconstrucción de caso de fallas de disco.

No existe implementación comercial.

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.

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.

 Servidor de archivos y aplicaciones.  Servidores de bases de datos.  Servidores de páginas web, correo electrónico y noticias.  Servidores Intranet. Solución perfecta para aplicaciones con objetivos críticos.

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 Autor: Ing. Luis Augusto Zuñe Bispo

71


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:

TTMB 

Autor: Ing. Luis Augusto Zuñe Bispo

512bytes  0.0053ms 741Mbit / seg

72


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:

# Sectores 

1.8Mbytes 512bytes

#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

Autor: Ing. Luis Augusto Zuñe Bispo

73


(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. Autor: Ing. Luis Augusto Zuñe Bispo

74


(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 Autor: Ing. Luis Augusto Zuñe Bispo

75


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 Autor: Ing. Luis Augusto Zuñe Bispo

76


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 75 12 50.9 12 47 28.5 47 55 6.9 55 38 14.1 38 102 51.7

Tacc Tread 55.07 55.075 32.67 32.675 11.07 11.075 18.27 18.275 55.87 55.875 172.977

Para SSTF

Posición Inicial Final Tseek 75 55 16.5 55 47 6.9 47 38 7.7 38 12 21.3 12 102 72.5

Tacc Tread 20.67 20.675 11.07 11.075 11.87 11.875 25.47 25.475 76.67 76.675 145.777

Para LOOK

Posición Inicial Final Tseek 75 102 22.1 102 55 38.1 55 47 6.9 47 38 7.7 38 12 21.3

Autor: Ing. Luis Augusto Zuñe Bispo

Tacc Tread 26.27 26.275 42.27 42.275 11.07 11.075 11.87 11.875 25.47 25.475 116.977

77


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.

6.13.

Cuanto tiempo tomaría en transferir el archivo de 4.5 Mbytes del buffer al host.

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

Autor: Ing. Luis Augusto Zuñe Bispo

78


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?

Autor: Ing. Luis Augusto Zuñe Bispo

79


¿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.

Autor: Ing. Luis Augusto Zuñe Bispo

80


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.

Autor: Ing. Luis Augusto Zuñe Bispo

81


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://grayscaleresearch.org/new/pdfs/NTFS%20forensics.pdf

Autor: Ing. Luis Augusto Zuñe Bispo

82

Arquitectura de Computadoras  

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 cam...

Arquitectura de Computadoras  

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 cam...

Advertisement