arquitectura de computadoras

82
Arquitectura de Computadoras Parte I Ing. Luis Augusto Zuñe Bispo

Upload: facultad-de-ingenieria-usat

Post on 28-Mar-2016

224 views

Category:

Documents


6 download

DESCRIPTION

El hardware de las computadoras es el centro de la Informática, cualquiera que sea el área de un profesional de Informática en cualquier campo de la informática, no debe considerar al equipo de cómputo como solo sistema al que se le introducen datos y da las respuestas después que ejecuta programas, sin tener conciencia de que es lo que está ocurriendo dentro de este equipo. Todos los estudiantes de la informática deben adquirir cierta comprensión y apreciación de los componentes funcionales de un ordenador, sus características, su desempeño, y sus interacciones. Los estudiantes necesitan entender la arquitectura de computadores, con el fin de hacer el mejor uso de las herramientas de software y lenguajes de programación que utilizan para crear programas.

TRANSCRIPT

Page 1: Arquitectura de Computadoras

Arquitectura de Computadoras

Parte I

Ing. Luis Augusto Zuñe Bispo

Page 2: Arquitectura de Computadoras

2 Autor: Ing. Luis Augusto Zuñe Bispo

Cuaderno de Trabajo Arquitectura de Computadoras Parte I

Autor: Luis Augusto Zuñe Bispo

Chiclayo 2012

Escuela de Ingeniería de Sistemas y Computación

Facultad de Ingeniería

Universidad Católica Santo Toribio de Mogrovejo

Copyright 2012, by the Contributing Authors, Esta obra se publica bajo una Creative Commons License.

Cuaderno de trabajo elaborado para la Escuela de Ing. De Ssitemas y Computación. Facultad de Ingeniería. Universidad Católica Santo Toribio de Mogrovejo-USAT is licensed under a creative Commons Reconocimiento-No Comercial- Compartir Igual 3.0 Unported License

Page 3: Arquitectura de Computadoras

3 Autor: Ing. Luis Augusto Zuñe Bispo

INDICE

INTRODUCCION 6

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

1.1. REPRESENTACIÓN DE DATOS 7 1.2. INTRODUCCIÓN A LA LÓGICA DIGITAL (PUERTAS LÓGICAS, FLIP FLOPS, CIRCUITOS) 7 1.2.1. PUERTA LÓGICA “Y” 7 1.2.2. PUERTA LÓGICA “O” 8 1.2.3. PUERTA LÓGICA “NO” 9 1.2.4. PUERTA LÓGICA “NO Y” 9 1.2.5. PUERTA LÓGICA “NO 0” 10 1.2.6. PUERTA LÓGICA “0 EXCLUSIVA” 10 1.2.7. PUERTA LÓGICA “NO 0 EXCLUSIVA” 10 1.2.8. FLIP FLOPS 11 1.2.9. CIRCUITOS DIGITALES 11 1.3. LÓGICA DE EXPRESIONES Y FUNCIONES BOOLEANAS 11 1.4. REDUCCIÓN DE EXPRESIONES 12 1.5. REPRESENTACIÓN DE DATOS NUMÉRICOS 12 1.5.1. NÚMEROS ENTEROS POSITIVOS 12 1.5.2. NÚMEROS NEGATIVOS 12 1.5.3. NOTACIÓN COMPLEMENTO A DOS 13 1.6. NÚMEROS EN COMA FLOTANTE 13 1.7. REPRESENTACIÓN DE CARACTERES 13 1.8. REPRESENTACIÓN DE AUDIO E IMÁGENES 13 1.8.1. CONVERSIÓN ANALÓGICA A DIGITAL 14 1.9. COMPRESIÓN DE DATOS 16 1.10. PROBLEMAS RESUELTOS 16

CAPITULO 2: ARQUITECTURA Y ORGANIZACIÓN 21

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

CAPITULO 3: INTERFACES Y ESTRATEGIAS DE E/S 38

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

Page 4: Arquitectura de Computadoras

4 Autor: Ing. Luis Augusto Zuñe Bispo

CAPITULO 4: ESTRATEGIAS DE E/S 46

CAPITULO 5: MEMORIAS EN LAS COMPUTADORAS 48

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

CAPITULO 6: MEMORIA EXTERNA 51

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

BIBLIOGRAFÍA 82

Page 5: Arquitectura de Computadoras

5 Autor: Ing. Luis Augusto Zuñe Bispo

INDICE DE FIGURAS

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

Page 6: Arquitectura de Computadoras

6 Autor: Ing. Luis Augusto Zuñe Bispo

INTRODUCCION

El hardware de las computadoras es el centro de la Informática, cualquiera que

sea el área de un profesional de Informática en cualquier campo de la informática, no

debe considerar al equipo de cómputo como solo sistema al que se le introducen datos y

da las respuestas después que ejecuta programas, sin tener conciencia de que es lo que

está ocurriendo dentro de este equipo. Todos los estudiantes de la informática deben

adquirir cierta comprensión y apreciación de los componentes funcionales de un

ordenador, sus características, su desempeño, y sus interacciones. Los estudiantes

necesitan entender la arquitectura de computadores, con el fin de hacer el mejor uso de

las herramientas de software y lenguajes de programación que utilizan para crear

programas.

El presente cuaderno de trabajo a sido diseñado para estudiantes de Ingeniería de

computación, sistemas o afines; especialmente para los planes de estudio en los cuales

donde la base de la física eléctrica o circuitos digitales no estén presentes. La orientación

de la asignatura, está referida a las tareas de configuración, y medición del rendimiento

de computadoras. Con la finalidad de seguir un orden lógico del análisis de una

arquitectura de computadora, desde el punto de vista del rendimiento, se trataran desde

lo dispositivos críticos que afectan directamente al rendimiento de una computadora,

hacia los que menos intervienen. Algunos de los temas tratados, deberán ser

necesariamente profundizados en el curso de sistemas operativos, en los temas de

relativos a la gestión de memoria.

Page 7: Arquitectura de Computadoras

7 Autor: Ing. Luis Augusto Zuñe Bispo

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

Competencia:

Identificar como se representan los datos en una computadora.

1.1. Representación de datos

Para representar los datos en las computadoras sean números o caracteres, se

suelen emplear como fundamento matemático, a los números binarios. Esto porque los

números binarios son fácilmente representables por los sistemas básicos eléctricos, por

ejemplo usando un sistema compuesto por un interruptor, una batería y un foco, se puede

representar el estado de encendido y apagado. El número binario “1” se representa en un

sistema eléctrico como encendido, y al número “0” como apagado. Esto es una

representación lógica, en realidad el “0” es un valor eléctrico que por lo general es 0

voltios, y el valor lógico “1” que los sistemas computacionales es +5 voltios, aunque en

algunos sistemas computacionales de tipo industrial o militar tiene valores superiores (por

lo general 9 voltios o 12 voltios). [1]

Para representar un número o un carácter, se usan cadenas de bits para

representarlos, por ejemplo:

A = 01000001 H = 01001000

1.2. Introducción a la lógica digital (puertas lógicas, flip flops, circuitos)

Las compuertas lógicas, son dispositivos electrónicos que implementan las

funciones lógicas como “Y”, “O”, y “NO”. La valoración de una expresión compuesta por

premisas conectadas con un o la combinación de los conectivos lógicos mencionados,

nos conduce a la valoración de la verdad o falsedad de la expresión. [2]

1.2.1. Puerta Lógica “Y”

Page 8: Arquitectura de Computadoras

8 Autor: Ing. Luis Augusto Zuñe Bispo

Con tecnología electrónica se implementa con los siguientes dispositivos básicos

Figura 1: Distribución de Pines de la compuerta AND 7408

1.2.2. Puerta Lógica “O”

Page 9: Arquitectura de Computadoras

9 Autor: Ing. Luis Augusto Zuñe Bispo

Figura 2: Distribución de Pines de la compuerta OR 7408

1.2.3. Puerta Lógica “NO”

Figura 3: Distribución de Pines de la compuerta Inversor 7404

1.2.4. Puerta Lógica “NO Y”

Page 10: Arquitectura de Computadoras

10 Autor: Ing. Luis Augusto Zuñe Bispo

1.2.5. Puerta Lógica “NO 0”

1.2.6. Puerta Lógica “0 exclusiva”

1.2.7. Puerta Lógica “NO 0 exclusiva”

Page 11: Arquitectura de Computadoras

11 Autor: Ing. Luis Augusto Zuñe Bispo

1.2.8. Flip Flops

Son los dispositivos electrónicos capaces de “memorizar” un “1” o “0” en un

determinado tiempo, los flip flops básicos se implementan con compuertas lógicas

realimentadas como se muestra en la figura siguiente. La implementación de varios

módulos de flip flops permite que se puedan tener una cadena de “N” bits que funcionan

en paralelo de tal manera que un dato de “N” bits, usualmente se le denomina registro. Si

se desea memorizar una determinada cantidad de datos se requieren varias de estas

agrupaciones como datos se requiera memorizar. [2]

1.2.9. Circuitos Digitales

Los circuitos digitales son componentes electrónicos comerciales, que

implementan las compuertas lógicas mencionadas en los apartados anteriores, existen

dos tecnológicas con los que habitualmente son implementados con la tecnología TTL

para computadoras de alta velocidad o la tecnología CMOS que es usada generalmente

para aplicaciones industriales.

1.3. Lógica de expresiones y funciones booleanas

Mediante las expresiones lógicas se pueden implementar funciones que permiten

automatizar algunos procesos, o permiten de alguna forma representar el conocimiento

de tal manera de dar respuesta a un problema específico. La lógica clásica puede

representarse por intermedio del sistema de numeración binario (como ya se había

tratado) de tal forma que se pueden usar las funciones booleanas de tal manera que se

puedan construir estas funciones usando software o hardware. [2]

Page 12: Arquitectura de Computadoras

12 Autor: Ing. Luis Augusto Zuñe Bispo

1.4. Reducción de Expresiones

Las expresiones obtenidas de un determinado problema se pueden reducir

utilizando las reglas y propiedades de las funciones lógicas, pero esta operación es muy

tediosa, y muchas veces se presta a tener algunos errores. Existe una técnica visual para

resolver este problema y se denominan los mapas de karnaught que con la aplicación de

un método matricial grafico, se puede resolver estos problemas de reducción y obtener

las expresiones en forma más rápida y segura en forma de suma de productos.

1.5. Representación de datos numéricos

Los números ya sean enteros negativos y positivos, o los números reales se

expresan en forma binaria de una determinada manera.

1.5.1. Números enteros positivos

Según Carter [1] “Los enteros positivos se representan utilizando un sistema

posicional binario (base 2), similar al sistema usado en la aritmética decimal (base 10).

En base 10 los números se representan como suma de múltiplos de cada potencia de 10,

así el número:

( ) ( ) ( ) ( )

Con números binarios, la base del número e 2, así cada posición del número

representa una potencia de 2, en lugar de una de 10, creciente.

Por ejemplo, el número:

( ) ( ) ( ) ( ) ( ) ( )

Los números binarios suelen ir precedidos del prefijo <<0b>> para identificarlos

como binarios.”

1.5.2. Números negativos

Para representar el signo, se utiliza el bit más significativo para indicar si el

número es positivo o negativo, y el resto del número representa el valor absoluto del

número, utilizando el mismo formato que en la representación sin signo.

Por ejemplo para representar el número -152 se representaría así:

Page 13: Arquitectura de Computadoras

13 Autor: Ing. Luis Augusto Zuñe Bispo

0b 1000 0000 1001 1000

El número +152 se representaría de la siguiente manera:

0b 0000 0000 1001 1000

1.5.3. Notación Complemento a Dos

En Carter [1] “En la notación en complemento a dos, un número negativo se

representa invirtiendo cada bit de la representación sin signo del número y sumando 1 al

resultado (descartando cualquier bit desbordamiento que no se ajuste al ancho de la

representación). El nombre de <<complemento a dos>> viene del hecho de que la suma

sin signo de un número en complemento a dos de n bits y su negativo es 2”

1.6. Números en coma flotante

Estos números se utilizan para representar cantidades que no se pueden

representar con números enteros, dado a que contienen fracciones o porque están fuera

del rango representable dentro de la longitud de bits del sistema. Estas operaciones se

especifican dentro del estándar IEEE 754, en la que los números se representan con una

mantisa y un exponente.

1.7. Representación de Caracteres

Usualmente para la representación de los caracteres en binario se utiliza un

determinado sistema de codificación que puede ser ASCII (American Standard Code for

Information Interchange) el cual usa una cadena de 8 bits para representar los

caracteres, este sistema tiene 5 categorías de caracteres:

Caracteres alfabéticos (a, b,.., z, A,B..)

Caracteres numéricos (0,1,2,..,9)

Caracteres especiales (signos puntuación, ¿ ? ¡ ! \|@)

Caracteres de control (órdenes como pitido, fin de página, etc...)

Caracteres expandidos (ñ ç á à € & μ Ø ßü ...)

El otro sistema se denomina UNICODE (www.unicode.org) el cual proporciona un

número único a cada carácter sin importa la plataforma, idioma o el programa que se use.

1.8. Representación de audio e imágenes

Page 14: Arquitectura de Computadoras

14 Autor: Ing. Luis Augusto Zuñe Bispo

Tanto la información de audio como de video es de naturaleza analógica, por tanto

para poderla representar en forma digital esta señal analógica tiene que ser convertida a

digital para que esta pueda ser codificada y comprimida.

1.8.1. Conversión Analógica a Digital

La conversión analógica digital es proceso que se realiza en tres etapas:

(a) Muestreo de la señal analógica.

El muestreo es un proceso que consta de extraer una muestra de la señal

analógica, para ello se utiliza el teorema de Nyquist el cual indica que la

frecuencia mínima de muestreo debe ser al doble de la frecuencia máxima de

la señal analógica. Mientras la frecuencia de muestreo sea mayor mejor es la

resolución que se obtendrá.

Figura 4: Señal Analógica Base

En señales de audio las frecuencias típicas de muestreo son de:

FRECUENCIA (muestras/s)

APLICACIONES

8000 Telefonía Digital solo para voz. Permite reproducir frecuencia de voz hasta de 3kHz.

22050 Radio, permite reproducir señales con componentes de hasta 10 kHz, que pueden incluir voz y música.

32000 Vídeo digital en formato miniDV.

44100 Permite reproducir señales con componentes de hasta 20 kHz

47250 Permite reproducir señales con componentes de hasta 22 kHz.

48000 Sonido digital para películas, audio profesional y sistemas

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

Page 15: Arquitectura de Computadoras

15 Autor: Ing. Luis Augusto Zuñe Bispo

Figura 5: Señal Muestreada

(b) Cuantización de la propia señal

Una vez realizado el muestreo se procede a asignarle un valor en el domino

de la amplitud a cada una de las muestras, en este proceso se establecen

“niveles de cuantización”, lo que significa que las muestras deberán asumir el

valor de amplitud cercano a uno de estos niveles. Por tanto, la señal resultante

sólo puede contener un conjunto finito de niveles de tensión. Cada nivel de

cuantización tiene asociado un número binario. Por ejemplo, si se decide usar

un código binario de 4 bits, se podrían establecer 24 niveles de Cuantización o

sea 16 niveles.

(c) Codificación del resultado de la cuantización, en código binario.

El proceso de codificación consta en asignar a cada nivel de Cuantización un

valor binario que parte desde 0000 hasta 1111, o sea cada muestra cercana a

un determinado nivel de Cuantización asumirá un valor binario.

Figura 6: Señal Codificada

Page 16: Arquitectura de Computadoras

16 Autor: Ing. Luis Augusto Zuñe Bispo

1.9. Compresión de datos

Consiste en la reducir el volumen de información que se desea tratar, ya sea para

el procesamiento, transmisión o almacenamiento. Con la compresión se pretende

transportar la misma información, pero empleando una menor cantidad de espacio.

La información codificada ya sea en su forma de datos, audio, imagen o video, sin

comprimir ocupa una determinada cantidad de espacio. Para que esta se pueda

comprimir se utilizan algunos algoritmos matemáticos que permiten identificar los

caracteres repetidos de un mensaje, de tal manera que pueda recomponer este archivo

de modo que pueda ser de un tamaño menor. Cuando se usa comprensión existen dos

conceptos que son importantes:

a) Redundancia: Datos que son repetitivos o previsibles

b) Entropía: La información nueva o esencial que se define como la diferencia

entre la cantidad total de datos de un mensaje y su redundancia.

La información que transmiten los datos puede ser de tres tipos:

a) Redundante: información repetitiva o predecible.

b) Irrelevante: es toda aquella información que es imperceptible para los

sentidos del ser humano, y cuya eliminación por tanto no afecta al contenido

del mensaje, por ejemplo como algunas frecuencias de audio o de luz.

c) Básica: la relevante. La que no es ni redundante ni irrelevante. La que debe

ser transmitida para que se pueda reconstruir la señal.

De acuerdo al tipo de información tratada, se puede establecer que existen tres

tipos de comprensión de la información que se podrían utilizar:

a) Sin pérdidas reales: se transmite toda la toda la información básica e

irrelevante, pero se elimina la redundante.

b) Subjetivamente sin pérdidas: cuando se elimina la información redundante, y

la irrelevante.

c) Subjetivamente con pérdidas: se elimina cierta cantidad de información

básica, por lo que el mensaje puede reconstruirse con algunos errores que

pueden en algunos casos perceptibles, pero tolerables aplicable a las audio y

video conferencias.

1.10. Problemas Resueltos

Page 17: Arquitectura de Computadoras

17 Autor: Ing. Luis Augusto Zuñe Bispo

I) Se desea construir un sistema de detección de errores de un semáforo

electrónico, con la finalidad de detectar el mal funcionamiento de las luces

para evitar accidentes. Diseñar un circuito lógico que permita resolver este

problema.

Solución

Se considera a que la alarma se dispara con “0” ante una condición de error

en el semáforo.

V A R Z

0 0 0 0

0 0 1 1

0 1 0 1

0 1 1 0

1 0 0 1

1 0 1 0

1 1 0 0

1 1 1 0

Tomando los “1s”, la expresión resultante sería:

A partir de esta expresión se puede construir un circuito lógico.

II) En un avión existen un sistema que permite determinar si es que un avión se

encuentra en la posibilidad de aterrizar o no, para esto el avión cuenta con un

conjunto de sensores que brindan la información necesaria para este sistema.

El sensor de tren aterrizaje verifica si es que el tren de aterrizaje se encuentra

desplegado o no, el sensor de velocidad del avión determina si se tiene

velocidad de crucero (de viaje) o velocidad de aterrizaje, y el sensor de

velocidad del viento que puede ser normal o anormal. La condición para que el

avión aterrice es que el tren de aterrizaje este abajo, que la velocidad del

avión sea de aterrizaje y que la velocidad del viento sea normal.

Hallar la ecuación y el circuito que cumple con las características indicadas.

Solución

Variable entrada A, Sensor de tren de aterrizaje, “0” tren arriba, “1” tren abajo.

Variable de entrada B, Sensor de velocidad del avión, “0” velocidad de

crucero, “1” velocidad de aterrizaje.

Page 18: Arquitectura de Computadoras

18 Autor: Ing. Luis Augusto Zuñe Bispo

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

“1” velocidad normal.

A B C Z

0 0 0 0

0 0 1 0

0 1 0 0

0 1 1 0

1 0 0 0

1 0 1 0

1 1 0 0

1 1 1 1

00 01 11 10

00

01

11

10

00 01 11 10

0

1

III) Se tiene un caldero es utilizado para el proceso de fabricación de un

determinado producto. Este caldero se controla por medio de un sistema

electrónico que cuenta con los siguientes dispositivos de alarma:

Sensor de temperatura del Agua

Sensor de Presión de Vapor

Sensor de Mechero (llama de calentamiento)

El cual funciona bajo la siguiente lógica:

Si la Presión del vapor es alta y la temperatura del agua es alta y el mechero

esta encendido se debe generar una alarma.

Si la Presión del vapor es alta y la temperatura del agua es alta y el mechero

está apagado se debe generar una alarma.

Si la Presión del Vapor es alta o la temperatura del agua es alta y el mechero

esta encendido se debe generar una señal de alarma.

Page 19: Arquitectura de Computadoras

19 Autor: Ing. Luis Augusto Zuñe Bispo

En todos los casos anteriores no existe peligro.

SOLUCION

I) Definición de variables

Variables de Entrada

Sensor de Temperatura Agua = ST

0 = Temperatura Baja

1 = Temperatura Alta

Sensor de Presión de Vapor = SP

0 = Presión baja

1 = Presión alta

Sensor de Mechero = SM

0 = Mechero Apagado

1 = Mechero Encendido

Variable de Salida

Señal de Alarma = SA

0 = apagado

1 = encendido

II) Tabla de Verdad o Matriz de verdad

ST SP SM SA

0 0 0 0

0 0 1 0

0 1 0 0

0 1 1 1

1 0 0 0

1 0 1 1

1 1 0 1

1 1 1 1

III) Mapas Karnaught para obtener la ecuación mínima

1.11. Laboratorio

Usando los el simulador de circuitos digitales implementar en los circuitos de los

problemas resueltos.

Page 20: Arquitectura de Computadoras

20 Autor: Ing. Luis Augusto Zuñe Bispo

Page 21: Arquitectura de Computadoras

21 Autor: Ing. Luis Augusto Zuñe Bispo

CAPITULO 2: ARQUITECTURA Y ORGANIZACIÓN

Competencias:

Distinguir que es una arquitectura y que es una organización en una computadora.

2.1. Arquitectura y Organización de Computadoras

Según Murdocca [2] indica que: “El concepto de arquitectura de computadoras,

enfocado desde el punto de vista de un programador, se relaciona con el comportamiento

funcional de un sistema de computación.” Para iniciar el estudio de las computadoras es

necesario definir claramente los términos utilizados. Se define entonces que una

Arquitectura de Computadora, son los aspectos que están relacionados con la

funcionalidad de un sistema computacional aspectos que incluyen la forma de cómo se

representan los datos, las técnicas de direccionamiento de memoria, los mecanismos de

entrada y salida, y de que operaciones son posibles en este sistema.

Murdocca [2] dice que: “La organización de computadoras se refiere a las

relaciones estructurales, que no son visibles para el programador, como las interfaces

hacia los dispositivos periféricos, la frecuencia del reloj y la tecnología utilizada en las

memorias.” El termino Organización de una computadora, está orientado a definir la

estructura interna de una computadora, las diferentes interfaces entre los diferentes

subsistemas, y el detalle de cómo se implementan las diferentes funciones de la

computadora. La organización de las computadoras está referida a los componentes

básicos que conforman una computadora. Entender una estructura de una computadora

implica entender los conceptos básicos de los elementos de una computadora, y ser

capaz de describir su funcionamiento, además de comprender las funciones básicas de

los sistemas operativos. [1]

La Arquitectura de una Computadora es de interés de un usuario convencional, el

cual desea conocer las funcionalidades de una computadora, y cuáles son las

limitaciones de las mismas. En una Organización de una computadora, el usuario

especializado se interesa en la forma de cómo están relacionadas las diferentes partes

Page 22: Arquitectura de Computadoras

22 Autor: Ing. Luis Augusto Zuñe Bispo

de una computadora y como lograr de estas sus mayores prestaciones, al más bajo

costo. [3]

2.2. Historia de las Computadoras

La historia de las computadoras data de épocas en que no se conocía la energía

eléctrica, que es la fuente de energía con la cual operan hoy en día. Las máquinas

antecesoras a las primeras computadoras, fueron concebidas en base a dispositivos

mecánicos muchos de los cuales solo fueron solo fueron proyectos que nunca se

cristalizaron, y quedaron en las buenas intenciones de sus autores.

Figura 7: Abaco Chino

Imagen: Cortesía de Computer History Museum

Los primeros intentos de tener dispositivos de cálculo datan de épocas en las que

solo se contaban con cuentas y cuerdas, con los que se pretendió realizar algunas

operaciones aritméticas básicas. Posteriormente los descubrimientos de cómo tratar los

metales, permitió que se intentaran crear dispositivos que realizaran algunos trabajos

simples en forma automática, que dieron la idea de la posibilidad de realizar otras

operaciones de cierta complejidad aritmética. Algunas de estas ideas fueron utilizadas

para implementar las primeras computadoras electrónicas. [5]

Page 23: Arquitectura de Computadoras

23 Autor: Ing. Luis Augusto Zuñe Bispo

Figura 8: Tela de Tarjetas perforadas de Jaqcuard

Imagen: Cortesía de Computer History Museum

El deseo de realzar cálculos exactos a muy altas velocidades, generaron ideas de

dispositivos mecánicos muy ingeniosos como el abaco, la sumadora mecánica de

Leonardo Da Vinci, la pascalina del matemático y filosofo Blas Pascal y la maquina

diferencial de Charles Babbage cuyos conceptos de memoria, impresora, tarjetas

perforadas y control de programas secuenciales marcaron un hito en la historia de las

computadoras. [4] [5]

Figura 9: Máquina Diferencial Babbage

Imagen: Fotógrafo Andrew Dun

Page 24: Arquitectura de Computadoras

24 Autor: Ing. Luis Augusto Zuñe Bispo

Posteriormente surge la idea de Lady Ada Lovelace, de tratar de emplear las

tarjetas perforadas utilizadas en los telares industriales en la máquina diferencial de

Babbage. Hollerith creó la idea de la “fotografía de perforación”, idea surgida de

utilización de perforaciones que hacían los controladores en boletos de los trenes con la

finalidad de recordar las características físicas de los pasajeros, permitió que se ideara la

caracterización de una persona por medio de perforaciones.

Figura 10: Maquina de Hollerith

Imagen: Cortesía de Computer History Museum

Hollerit, desarrolla una prensa manual que detectaba los orificios en las tarjetas

perforadas, un alambre que pasaba a través de los huecos dentro de una copa de

mercurio debajo de la tarjeta, cerrando de este modo el circuito eléctrico. Este proceso

disparaba unos contadores mecánicos y ordenaba los recipientes de las tarjetas,

tabulando así en forma apropiada la información. La máquina de Hollerith era

electromecánica, y procesaba los hoyos en las tarjetas basándose en la lógica de Boole.

Hollerith fundó la compañía Computing-Tabulating-Recording-Company para fabricar

su maquina de tabulación, en 1919 esta se convirtió en la International Bussines

Machine (IBM). [4]

Aunque el HP 200A construido Por David Packard y Bill Hewlett en 1939, no es

una computadora se constituye en el primer dispositivo que permite generar diversos

efectos de sonido, el modelo 200B fue usado por Disney en 1940 para el rodaje de la

película “Fantasía”. En 1939 en los laboratorios Bell Telephone, se termina de construir el

Calculador de números Complejos (CNC), la cual fue presentada por su inventor George

Stibitz en 1940, en una conferencia de la American Mathematical Society.

Page 25: Arquitectura de Computadoras

25 Autor: Ing. Luis Augusto Zuñe Bispo

La primera computadora terminada y operativa fue la Z3, construida por Konrad

Zuse en 1941. Este Ingeniero Alemán concluyo su trabajo aislado del mundo, construyo

este equipo a base de 2300 relés, el Z3 utilizo la aritmética binaria en punto flotante y

tenía una longitud de palabra de 22 bits. El original fue destruido durante un bombardeo a

Berlín a finales de 1943. En ese mismo año fue terminado el BOMBE, dispositivo

electromecánico para descifrar mensaje encriptados alemanes, fue inventado por Alan

Turing & Bletcheley Park bajo la el prototipo construido en 1939, mejorado por Gordon

Wlchman, y construido por Harold Keen. La idea principal fue recogida del proyecto del

criptologo polaco Marian Rejewski quien construyo un equipo denominado la “Bomba

Cripotologica”. [4]

Los pioneros de las computadoras modernas fueron el Dr. Jhon V. Atanasoff

catedrático de la Universidad de Iowa y su estudiante graduado Clifford Berry, los cuales

inventaron entre 1937 a 1942 la primera computadora digital, la cual fue llamada ABC

(Atanasoff Berry Computer). (NSF 2006, MHC 2006). Respecto a la patente relativa a la

invención de este equipo existieron controversias legales que llegaron hasta 1973. En

1997 se construyo un prototipo del ABC que funciono de acuerdo a lo reclamado por

Atanasoff.

Figura 11: Replica de la ABC

Imagen: Cortesía de Computer History Museum

En 1943 en el MIT se inicia con la construcción de simulador de vuelos analógico

denominado “Proyecto Whrilwind” el cual fue completado en 1951, perdiendo el interés de

la Marina dado a que vieron más ventajas en las computadoras digitales. Ese mismo año

el “interpolador de relays”, usado para probar el cañón antiaéreo M-9.

Page 26: Arquitectura de Computadoras

26 Autor: Ing. Luis Augusto Zuñe Bispo

En 1.944 se construyó en la Universidad de Harvard el primer calculador

universal, el cual empleaba Relés y elementos mecánicos. Este calculador recibió el

nombre de Harvard Mark I, medía más de 15 metros de longitud y 24 de altura y

contenía más de 7.600 piezas conectadas por unos 800 Km. de cable, este ordenador

tardaba tres décimas de segundo en restar o sumar veintitrés dígitos. Ese mismo año se

pone en funcionamiento el Colosus, diseñado por Tommy Flowers, para romper el

sistema de cifrado Lorenz usado por los nazis durante las Segunda Guerra Mundial. La

existencia de este equipo no se publico hasta 1970.

En 1945 John Von Neumann, publicó un artículo sobre el concepto de programas

almacenados, el cual permitió la leer y ejecutar un programa en la memoria de la

computadora si necesidad de reescribir el programa. La primera computadora en usar

este concepto fue la computadora llamada EDVAC (Electronic Discrete- Variable

Automatic Computer), desarrollada por Von Neumann, Eckert y Mauchly. [5]

Figura 12: Von Neumann con la computadora EDVAC

Imagen: Cortesía de Computer History Museum

Las computadoras tal como las conocemos en la actualidad ha sido el producto de

muchos esfuerzos realizados por muchos científicos e inventores, especialmente se

considera al científico alemán Von Neuman como el padre de las computadoras

modernas. (NSF 2006, MHC 2006).

El 9 de setiembre de 1945, Grace Hopper registro el primer error computacional,

provocada por una polilla atrapada entre los relays del Mark II. Colaboro con el desarrollo

de los programas para la Harvard I y II, y desarrollo el primer compilador A-0.

Posteriormente trabajo en el desarrollo de COBOL, lenguaje especificado para trabajar

sobre maquinas de distintos fabricantes.

Page 27: Arquitectura de Computadoras

27 Autor: Ing. Luis Augusto Zuñe Bispo

También en 1945 Konrad Zuse inicio el desarrollo del “Plan de Calculo”, el primer

lenguaje de programación algorítmica, con la intención de crear las condiciones para la

resolución de problemas de carácter general.

En 1946, Mauchly y Eckert, después de estudiar la computadora de Atanasoff y

Berry, desarrollaron una máquina para calcular tablas de trayectorias para el ejército de

estados unidos, el cual díó como producto final una computadora electrónica a la cual

llamaron ENIAC (Electronic Numerical Integrator And Computer), que exclusivamente

construida para usos militares durante la segunda guerra mundial. ENIAC podía ejecutar

multiplicaciones en 3 milésimas de segundo (Mark I tardaba 3 segundos). Sin embargo,

las instrucciones de ENIAC debían ser dadas por medio de una combinación de

contactos externos, ya que no tenía cómo almacenarlas internamente. [5]

Figura 13: La computadora ENIAC

Imagen: Cortesía de Computer History Museum

En 1947 Sir Frederick Williams de la Universidad de Machenster modifica un tubo

de rayos catódicos y logra dibujar rayas y puntos en la pantalla, representando a los unos

y ceros binarios, más adelante el IBM 701 utiliza este recurso. El 23 de diciembre William

Shockey, Walter Brattain y Jhon Bardeen probaron con éxito el transistor de contacto,

que mas a delante sustituyeron a los tubos de vacío en las computadoras. Este mismo

año los pioneros de la computación Eckert y Mauchly, fundaron una compañía para la

construcción de equipos basados en su experiencia en la construcción de ENIAC y

EDVAC, producto de este esfuerzo construyeron la maquina BINAC.

En 1948 IBM construye SSEC (Calculadora de Secuencia Selectiva), la cual se

utiliza para calcular la posición de la luna para trazar el curso del vuelo del APOLO 11.

Page 28: Arquitectura de Computadoras

28 Autor: Ing. Luis Augusto Zuñe Bispo

Usa tarjetas y cintas perforadas como dispositivo de entrada y salida, y puede realizar 50

multiplicaciones por segundo, construida con 20000 relés, 125000 tubos al vacio. En ese

mismo año Norber Wiener, plantea publica “Cibernética” que influencia sobre temas

relacionados a la Inteligencia Artificial. Claude Shannon, plantea la “Teoría Matemática

para Comunicaciones” [5]

En 1949 Maurice Wilkes construye EDSAC, primer ordenador práctico de

programa almacenado, estableció una biblioteca de programas cortos llamadas

subrutinas almacenadas en cintas de papel perforado, la memoria de este equipo era de

1k palabras de 17 bits, con una velocidad de 714 operaciones por segundo. En ese año,

la Mark I utiliza el tubo de Williams para la memoria, utiliza cinta de papel, teleimpresora y

interruptores como dispositivos de entrada y salida, tubo de rayos catódicos y tambor

magnético.

En 1950 se construye ERA 1101, la primera computadora comercial, se podía

almacenar hasta 1 millos de bits en una tambor magnético, la cual se registraban por

pulsos magnéticos. En los tambores se podía almacenar hasta 4000 palabras, y

recuperar cualquiera de ellas en 5 milésimas de segundo. Ese mismo año la Oficina

Nacional de Normas SEAC, fue la primera computadora que uso en su totalidad diodos

lógicos, tecnológica más fiable que los tubos al vacio, y la primera computadora con

programa almacenado completo. La cinta magnética en las unidades de almacenamiento

externo, almacena la información de la programación, de las subrutinas codificadas,

datos numéricos y los datos producidos; además construye SWAC para ser construido a

pequeña escala y de rápido desarrollo, solo contenía 256 palabras de 37 bits, y solo tenía

siete operaciones básicas, sumar, restar, multiplicar, comparación, extracción de datos,

entrada y salida. En ese mismo año se concluye ACE, proyecto que inicio en 1948 este

equipo tenía como sistema de entrada y salida tarjetas perforadas, una memoria de 352

palabras de 32 dígitos, construido con 800 tubos al vacio, las memorias fueron

construidas con líneas de retardo construidas de mercurio. [5]

2.3. Niveles de una Computadora

En una computadora se pueden distinguir dos niveles estructurales, un nivel físico y

nivel lógico. El nivel físico está compuesto por la parte tangible de un computador (el

hardware), es decir los circuitos integrados el sistema de interconexión físico, las

interfaces de entrada y salida. Y el nivel lógico (el software) conformado por los

programas que se encuentran en sus diversas instancias y que son elementos no

Page 29: Arquitectura de Computadoras

29 Autor: Ing. Luis Augusto Zuñe Bispo

tangibles. Hay que reconocer la importancia de los niveles que se se encuentran en la

frontera del nivel físico y lógico.

Los Usuarios convencionales se desplazan por el nivel lógico, usando las

aplicaciones que se ejecutan bajo un determinado Sistema Operativo. El Firmware es un

bloque de instrucciones que se encuentra almacenado en una memoria ROM, establece

un nivel de control de los dispositivos de la computadora a bajo nivel; algunas de las

funciones del Firmware son liberadas al cargarse el sistema operativo. El propósito de

este dispositivo es de preparar el entorno de trabajo en una computadora y permitir la

ejecución del Sistema Operativo.

Figura 14: Niveles de una Computadora

Un compilador es un programa que acepta a los programas escritos en un

lenguaje de alto nivel, y los traduce a un lenguaje equivalente que puede ser ejecutado

por el procesador llamado regularmente “lenguaje de máquina”. Los procesadores solo

pueden ejecutar el conjunto de instrucciones asignado a ese procesador, los

procesadores no entienden los lenguajes de alto nivel, lenguajes que fueron creados por

la complejidad de manejo del lenguaje de bajo nivel.

Este conjunto de instrucciones que es propio de cada procesador, actúa sobre

distintos dispositivos de la computadora en especial sobre los dispositivos de entrada y

salida. [2]

Page 30: Arquitectura de Computadoras

30 Autor: Ing. Luis Augusto Zuñe Bispo

El Datapath y Control, y los otros dispositivos que se encuentran en los niveles

inferiores es de interés para los diseñadores de computadoras.

2.4. Estructura y Funcionamiento

2.4.1. Estructura

Una computadora desde un nivel general cumple funciones de almacenamiento y

procesamiento. Para poder cumplir con estas funciones generales, los computadores

pueden necesitar comunicarse en forma local o remota con otros dispositivos u otras

computadoras. Cuando se conecta en forma local se comunica con dispositivos

periféricos como impresoras, scanner, lectoras ópticas, dispositivos de almacenamiento

externos, etc. Mientras que en forma remota puede comunicarse a través de una red con

otras computadoras haciendo uso de tarjetas de red, módems, etc. [3]

Figura 15: Visión General de una Computadora

2.4.2. Funciones

El computador visto como un Sistema Integral, cumple con las siguientes

funciones:

La función básica que realiza el computador es la ejecución de programas.

El programa esta compuesto por un conjunto de instrucciones almacenadas en

memoria.

La Unidad Central de Proceso es la que se encarga de la ejecución de las

instrucciones

Las funciones operacionales de una computadora, son las siguientes:

a) Transferencias de Datos

Page 31: Arquitectura de Computadoras

31 Autor: Ing. Luis Augusto Zuñe Bispo

Una computadora tiene la capacidad de transferir datos, esta transferencia

puede ocurrir en entre los dispositivos locales o remotos. Tal como se indica la

figura, esta transferencia es controlada por un sistema de control, el cual

determina el inicio y fin de esta actividad. [3]

Figura 16: Transferencia de Datos

b) Almacenamiento de Datos

El almacenamiento de los datos es una de las tareas que se realizan con

regular frecuencia en una computadora como el caso anterior, el

almacenamiento de datos puede ocurrir en forma local a la computadora, o en

forma remota en otras computadoras. En esta actividad se debe tener en

cuenta los elementos intervinientes en esta operación según se ve en la figura.

[3]

Figura 17: Almacenamiento Datos

Page 32: Arquitectura de Computadoras

32 Autor: Ing. Luis Augusto Zuñe Bispo

c) Procesamiento de Datos

Esta es una de la funciones de mayor frecuencia en una computadora, por lo

general es necesario obtener los datos de un medio de almacenamiento local,

y en algunos casos de uno remoto, es por eso que requiere de alguna

transferencia tal como se indica en la figura. [3]

Figura 18: Procesamiento Datos Local

El procesamiento remoto, ocurre cuando una estación de trabajo solicita que

se ejecute un proceso en una computadora remota. Por ejemplo,

supongamos que una estación requiere del procesamiento matemático de

una determinada función, la estación de trabajo ordena la ejecución de la

tarea en el servidor, y espera hasta que el proceso culmine para recibir los

resultados.

Figura 19: Procesamiento de Datos Remoto

Page 33: Arquitectura de Computadoras

33 Autor: Ing. Luis Augusto Zuñe Bispo

2.5. Modelo de Von Neumann

En 1945 John Von Neumann (1903 – 1957) creó un modelo computacional que

hasta la actualidad se encuentra vigente, este modelo se caracteriza porque los

programas y los datos se encuentran almacenados en una sola ubicación. Se considera a

la computadora como una estructura de registros direccionables, la máquina operaba en

un ciclo repetitivo de pasos para localizar y ejecutar en secuencia las instrucciones del

programa. [2]

Figura 20: Modelo de Von Neumann

2.6. Evolución del Modelo de Von Neuman

Esta estructura ha evolucionado en el tiempo, a una estructura donde existe

Unidad Central de proceso que contiene a la unidad de control y al decodificador de

instrucciones, memoria para datos y programas, y un sistema de entrada y salida los

cuales se encuentran interconectados entre si a través de un canal común de

comunicaciones.

Estos sistemas se basan en un dispositivo centra llamado microprocesador el

cual encapsula a la Unidad Aritmética Lógica, la unidad de Control y un grupo registros

internos, estos sistemas se entienden mejor si se les trata como una colección de

registros direccionables. Los Registros que residen dentro del microprocesador se

denominan registros internos y aquellos que existen en ROM, RWM y puertos de E/S

son los registros externos.

Page 34: Arquitectura de Computadoras

34 Autor: Ing. Luis Augusto Zuñe Bispo

Figura 21: Modelo Evolucionado de Von Neumman

El conjunto de registros que constituyen un sistema en particular y las

transferencias de datos que sean posibles entre ellos forman la arquitectura del sistema

ó la arquitectura de la computadora. Los tipos de registro en el microprocesador y las

posibles transferencias de datos entre ellos determinan la arquitectura del

microprocesador.

Una arquitectura de computadora esta conformada por 4 subsistemas:

Sistemas de Memoria

Sistemas de Interconexión.

Sistemas de Entrada y Salida.

Sistema de Procesamiento

Un sistema con microprocesadores implementa sus funciones a base de transferir

y transformar datos en registros del sistema. Típicamente, las transformaciones en los

datos tienen lugar en los registros internos, muchos de los cuales son registros de

operación. Los registros de operación se diferencian de los registros de

almacenamiento en que con sus dispositivos y circuitos asociadas implementan

operaciones aritmética o lógicas en los datos contenidos en dichos registros.

El microprocesador controla y sincroniza las transferencias de datos y las

transformaciones de acuerdo a unas instrucciones leídas desde el programa de

aplicación.

Los registros de los diversos subsistemas del microprocesador se interconectan

externamente por el bus del sistema, que incluye el bus de direcciones, el bus de datos

y el bus de control. Generalmente, el bus de control contiene señales adicionales.

Page 35: Arquitectura de Computadoras

35 Autor: Ing. Luis Augusto Zuñe Bispo

Los dispositivos externos ó periféricos que generan datos para la entrada de

un sistema con microprocesador reciben el nombre de dispositivos de entrada. Existen

una gran variedad de estos dispositivos de entrada, que pueden ser electrónicos o

electromecánico. Su complejidad varía de acuerdo a la aplicación, estos podrían ser

desde un simple interruptor o entradas provenientes de señales de otros

microprocesadores.

Los dispositivos de salida, de los cuales existen una gran variedad, la

información primaria recibida por estos provienen de sistemas con microprocesador. Los

datos a enviar se colocan en un registro conectado al bus de datos. Este registro recibe el

nombre de puerto de salida y es sincronizado mediante un pulso de selección de

dispositivo de salida.

2.7. Modelo de Harvard

La Arquitectura de Harvard se diferencia de la Arquitectura de Von Neuman,

porque esta tiene memorias independientes para datos y para programas cada una de

ellas con una estructura de interconexión, lo que permite que se pueda leer datos y a la

vez programas en paralelo.

El que la información se almacene en palabras tiene una gran ventaja y es que

tanto el código de operación como el dato asociado a este están en la misma posición por

lo que su lectura es mucho más rápida. Esta es una gran ventaja ya que dota al

microcontrolador de gran agilidad. La técnica de procesar varias instrucciones al mismo

tiempo se conoce como pipelining o segmentación. Con esta técnica se dividen las

instrucciones en distintas etapas de modo que el procesador puede procesar distintas

instrucciones en estas etapas.

Una desventaja de este sistema es que la adición de memoria externa es mucho

mas compleja en incluso a veces imposible.

Este modelo presenta más rapidez de ejecución de código, incluso en algoritmos

de división que vienen implementados con más código en los RISC que el los CISC, la

velocidad de ejecución es mayor en los primeros.

Page 36: Arquitectura de Computadoras

36 Autor: Ing. Luis Augusto Zuñe Bispo

Figura 22: Modelo de Harvard

2.8. Tendencias Tecnológicas

Según Carter [1] “El hecho que las prestaciones mejoren geométricamente en

lugar de linealmente, se le suele denominar ley de Moore.”

Desde la invención de la computadora a nuestros días, se observa que esta a

evolucionado mucho tanto en su estructura como organización, esto ha originado que las

computadoras puedan hacer más cosas y en menor tiempo.

Carter [1] indica “El aumento en la velocidad de las prestaciones se ha debido a

los avances en la arquitectura y organización de los computadores (los arquitectos de

computadores han sido capaces de aprovechar el aumento de la densidad de circuitos

para añadir características a los microprocesadores y a los dispositivos de memoria para

mejorar sus prestaciones por encima y sobre las mejoras en la velocidad de los

transistores subyacentes).”

El término prestaciones del computador es muy borroso cuando se usa en el

contexto computacional. Carter (2004) indica que “Las prestaciones describen la rapidez

de un sistema dado para ejecutar uno o varios programas. Los sistemas que tardan

menos en ejecutar se dicen mejores prestaciones.”

2.9. Investigación Complementaria

Buscar otras definiciones actualizadas referente a los concepto de

Organización y Arquitectura de Computadoras (indicar las fuentes de

extracción de acuerdo a la norma de estilo chicago)

Page 37: Arquitectura de Computadoras

37 Autor: Ing. Luis Augusto Zuñe Bispo

¿Cuál es la importancia de tener diferentes organizaciones y arquitecturas de

computadoras?

Investigar aspectos técnicos relacionados con la evolución histórica de las

computadoras electrónicas, las capacidades y aplicaciones que se utilizaban

sobre estas.

De acuerdo a los avances tecnológicos de la actualidad. ¿Piensa que La ley de

Moore, todavía se cumple hoy en día? ¿Por qué?

Page 38: Arquitectura de Computadoras

38 Autor: Ing. Luis Augusto Zuñe Bispo

CAPITULO 3: INTERFACES Y ESTRATEGIAS DE E/S

Competencias:

Conocer el funcionamiento de las interfaces de entrada y salida.

3.1. Introducción

El Sistema de Interconexión es un conjunto de cables que conecta a los diferentes

subsistemas de una computadora, en estos cables tenemos a los bus de datos, bus de

direcciones y bus de control los cuales permiten el paso de datos, direcciones y señales

de control digital para las comunicaciones de los distinto periféricos conectados al bus

mediante las apropiadas interfaces. [3]

La compresión del este tema es vital para comprender, analizar y dimensionar las

necesidades para nuestros sistemas de información, de igual forma permitirá analizar los

retrasos en la adquisición de datos cuando se utiliza una determinada aplicación.

Figura 23: Sistemas Básico de una Computadora

3.2. Modelos de Computadoras

Las computadoras que desde a inicios de la década de 1940, se han desarrollado

bajo el concepto desarrollado por John Von Neumann en el Instituto de Estudios

Avanzados (lnstitute for Advances Studies) de Princeton, conocido como arquitectura de

Page 39: Arquitectura de Computadoras

39 Autor: Ing. Luis Augusto Zuñe Bispo

Von Neuman, y se basa en los siguientes conceptos:

Una única memoria de lectura-escritura.

Los contenidos de esta memoria se direccionan indicando su posición, sin

considerar el tipo de dato contenido en la misma.

La ejecución se produce siguiendo una secuencia de instrucción tras

instrucción (a no ser que dicha secuencia se modifique explícitamente).

Una nueva estructura de computadoras aparece en la década de 1970, en

universidad de Harvard, denominadas arquitectura de Harvard. Esta se caracteriza por

qué posee una memoria de lectura escritura para datos, y una memoria de lectura

escritura para programas. Esta situación agrega a la estructura de computadora un

adicional espacio de juego de buses.

3.3. Estructuras de Interconexión

Los tres módulos fundamentales de una computadora (procesador, memoria, y

E/S) se comunican entre sí. Por tanto debe existir un sistema de interconexión que

permita la interconexión de estos módulos de tal forma que pueda asegurar la

comunicación entre los módulos que componen a la computadora, dando cobertura a las

siguientes transferencias, según Stallings [4],

“Memoria a procesador: cuando procesador lee una instrucción o un dato desde

la memoria.

Procesador a memoria: el procesador escribe un dato en la memoria.

Entrada y salida a procesador: el procesador le datos de un dispositivo de E/S a

través de un módulo de E/S.

Procesador a E/S: el procesador envía datos al dispositivo de E/S.

Memoria a E/S y viceversa: en estos dos casos, un módulo de E/S puede

intercambiar datos directamente con la memoria, sin que tenga que pasar a través

del procesador, utilizando el acceso directo a memoria (DMA).”

3.4. Estructuras De Bus

El bus del sistema está constituido, usualmente, por entre 50 y 100 líneas.

Espacio a cada línea se le asigna un significado o una función particular. Aunque existen

diversos diseños de buses, en todos ellos la línea se puede clasificar en tres grupos

funcionales:

Page 40: Arquitectura de Computadoras

40 Autor: Ing. Luis Augusto Zuñe Bispo

a) La línea de datos este conjunto está constituido por un grupo de líneas

denominado bus de datos, generalmente este consta de 816 o 32 líneas, a

este número se le conoce como anchura de bus de datos. La anchura de bus

de datos es un factor clave al ahora determinar las prestaciones del conjunto

del sistema.

b) Las líneas de dirección, estas líneas de dirección se utilizan para ubicar un

determinado registro en estructura de registros de la memoria, o también estas

direcciones son utilizadas para dirección a un puerto de entrada y salida;

generalmente las direcciones de los puertos de entrada y salida se ubican en

las posiciones más altas de la memoria. La anchura del bulo direcciones

determina la capacidad máxima de memoria posible inicio en el sistema.

c) La línea de control estas se utilizan para controlar el acceso y el uso de la

línea de datos y direcciones. Puesto que las líneas de datos y direcciones son

compartidas por todos los componentes, debe existir una forma de controlar su

uso. Algunas líneas de control típicas son: [4]

Escritura en memoria: hace que el dato del bus se escriba en la posición

direccionada.

Lectura de memoria: hace que el dato de la posición direccionada se

sitúe en voz.

Escritura de entrada y salida: así que el dato rebusco se transfiera a

través del puerto de entrada y salida direccionada.

Lectura de entrada y salida: hace que el dato del puerto dentro de

seleccionado se sitúe en el voz.

Transferencia reconocida: indica que el dato sea aceptado o ser situado

en el bus.

Petición de bus: indica que un módulo necesita disponer del control de

bus.

Sesión de bus: indica que se cede el control del bus a un módulo que lo

había solicitado.

Petición de interrupción: indica si haya una interrupción pendiente.

Interrupción reconocida: señala que la interrupción pendiente sea

aceptado.

Reloj: se utiliza para sincronizar las operaciones.

Inicio: pone los módulos conectados en su estado inicial.

Page 41: Arquitectura de Computadoras

41 Autor: Ing. Luis Augusto Zuñe Bispo

3.5. Clasificación de Buses

El sistema de interconexión no solo se encuentra conectando a los diversos

subsistemas componentes de una computadora1, si no que también se encuentran

presentes en la estructura interna de un procesador que por su ubicación se les

denomina “Bus Interno”.

3.6. Parámetros de un Bus

Un bus es un conjunto de cables por el cual la información se desplaza en forma

binaria (banda base), la velocidad de este desplazamiento es identificable por dos

factores:

- Ancho de Banda

- Tasa de Transferencia

3.6.1. Ancho de Banda

El ancho de banda es la expresión de un rango frecuencias, que se expresa en

hertz e indica la mayor concentración de la potencia de una señal, usualmente usada

para señales analógicas ó para indicar la capacidad de los medios comunicación digitales

asimétricos.

Figura 24: Ancho de banda

3.6.2. Tasa de Transferencia

La tasa de transferencia es la cantidad de Bits, que viajan por un canal de

comunicaciones, esta velocidad de transferencia se suele expresar en la cantidad de bits

1 The PC has a hierarchy, in a way, of different buses. Most modern PCs have at least four buses. I consider them a

hierarchy because each bus is to some extent further removed from the processor; each one connects to the level above it, integrating the various parts of the PC together. (http://www.pcguide.com/ref/mbsys/buses/func.htm )

Page 42: Arquitectura de Computadoras

42 Autor: Ing. Luis Augusto Zuñe Bispo

que circulan en un segundo (bps). En el caso de los Buses de computadoras, esta

velocidad se expresa en la cantidad de Bytes por segundo2 que circulan por los canales

de comunicaciones (Bps).

Regularmente encontramos que las computadoras tienen unos determinados tipos

de buses incluidos en sus estructuras, las computadoras han evolucionado respecto a los

buses. En el siguiente cuadro se muestra:

Tabla 1: Velocidades de los Buses

Bus Width

(bits)

Bus Speed

(MHz)

Bus Bandwidth

(MBytes/sec)

8-bit ISA 8 8.3 7.9

16-bit ISA 16 8.3 15.9

EISA 32 8.3 31.8

VLB 32 33 127.2

PCI 32 33 127.2

64-bit PCI 2.1 64 66 508.6

AGP 32 66 254.3

AGP (x2 mode) 32 66x2 508.6

AGP (x4 mode) 32 66x4 1,017.3

3.7. Relación Entre Ancho Banda Y Banda Base

)1(log* 2 N

SHVT

VT= Velocidad de Transferencia den bits por segundo bps

H = Ancho de banda

N

S Relación Señal a Ruído

2 Bandwidth, also called throughput, refers to the total amount of data that can theoretically be transferred on the bus in a given unit of time. Using the highway analogy, if the bus width is the number of lanes, and the bus speed is how fast the cars are driving, then the bandwidth is the product of these two and reflects the amount of traffic that the channel can convey per second. The table below shows the theoretical bandwidth of most of the common I/O buses on PCs today. Note the italics on the word "theoretical"; most buses can't actually transmit anywhere near these maximum numbers because of command overhead and other factors. This is especially true of older buses. For example, the theoretical bandwidth of the 8-bit ISA bus might be about MBytes/sec, but in reality there are wait states inserted during I/O that drop this figure down dramatically. (http://www.pcguide.com/ref/mbsys/buses/func.htm)

Page 43: Arquitectura de Computadoras

43 Autor: Ing. Luis Augusto Zuñe Bispo

3.8. Problemas

Problema 3.8.1.

Se tienen dos canales de comunicaciones uno de ellos con un ancho de banda de

100 Mhz con una relación señal a ruido de 45db, y otro con un ancho de banda

133 Mhz con una relación señal a ruido de 35 db. ¿Cuál de los sistemas

seleccionaría por ser el más rápido?

Solución

Para el Canal de 100 Mhz con S/N 45db

(

)

(

) (

)

(

)

(

)

(

)

Entonces tenemos que:

( )

( ) bps

Para el Canal de 133 Mhz con S/N 35db

(

)

Page 44: Arquitectura de Computadoras

44 Autor: Ing. Luis Augusto Zuñe Bispo

(

) (

)

(

)

(

)

(

)

Entonces tenemos que:

( )

( ) bps

Problema 3.8.2.

Las líneas de comunicaciones telefónicas proveen un servicio de voz de un ancho

de banda de 3Khz, sobre este servicio de voz se pueden instalar módems para

datos binarios los cuales pueden transmitir a los siguiente velocidades de

transferencia 56600, 33600 y 28800 bps. Indicar en cada caso cual es la relación

S/N expresada en decibelio.

Solución:

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

)1(log*300056600 2 N

S

87.18)1(log2 N

S

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

4791111N

S

Page 45: Arquitectura de Computadoras

45 Autor: Ing. Luis Augusto Zuñe Bispo

Entonces:

8.46

dbN

S

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

)1(log*300033600 2 N

S

2.11)1(log2 N

S

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

53.23521N

S

Entonces:

71.33

dbN

S

Page 46: Arquitectura de Computadoras

46 Autor: Ing. Luis Augusto Zuñe Bispo

CAPITULO 4: ESTRATEGIAS DE E/S

Competencias:

Las competencias que se pretenden lograr son

4.1. Sistema de entrada y salida

Son módulos que se encuentran conectados al sistema de interconexión, de tal

manera que permite la conexión de dispositivos externos que proporcionan una forma de

interconexión para poder intercambiar datos entre el exterior y el computador. Por estos

enlaces se intercambian señales de control, estado, y datos entre el modulo de E/S y el

dispositivo externo.

Según Stallings [4] las razones por las cuales no se conectan los dispositivos

externos en forma directa son: “…

Hay una amplia variedad de periféricos con formas de funcionamiento

diferentes. Podría ser imposible incorporar la lógica necesaria dentro del

procesador para controlar tal diversidad de dispositivos.

A menudo la velocidad de transferencia de datos de los periféricos es mucho

menor que la de la memoria o procesador. Así, no es práctico utilizar un bus

de sistema de alta velocidad para comunicarse directamente con un periférico.

Por otro lado, la velocidad de transferencia de algunos periféricos es mayor

que la de memoria o procesador. De nuevo, esta diferencia daría lugar a

comportamientos poco eficientes si no se gestionase correctamente,

Con frecuencia los periféricos utilizan datos con formatos y tamaños de

palabra diferentes de los del computador a los que se conectan.”

De acuerdo a lo indicado anteriormente, las funciones del subsistema de E/S,

serían:

Interface entre el procesador y memoria, por el sistema de interconexión o un

conmutador central.

Interface entre uno o más dispositivos periféricos mediante enlaces de datos

específicos.

Page 47: Arquitectura de Computadoras

47 Autor: Ing. Luis Augusto Zuñe Bispo

4.2. Clasificación de Dispositivos de entrada y Salida

Según Stalling [4] “… los dispositivos externos se pueden clasificarse en tres

categorías:

De interacción con humanos: permiten la comunicación con el usuario del

computador.

De interacción con máquinas: permiten la comunicación con elementos del

equipo.

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

4.3. Modelo Básico de E/S

4.3.1. Funciones de un Modulo

Según Stalling [4] “Las principales funciones y requisitos de un modulo de E/S se

encuentran dentro de las siguientes categorías:

Control y Temporización

Comunicación con el procesador

Comunicación con los dispositivos

Almacenamiento temporal de datos

Detección de errores.”

Page 48: Arquitectura de Computadoras

48 Autor: Ing. Luis Augusto Zuñe Bispo

CAPITULO 5: MEMORIAS EN LAS COMPUTADORAS

Competencias:

Las competencias que se pretenden lograr son

5.1. Definición de Memoria de Computadora

Las memorias de la computadora, es un subsistema de la computadora que está

compuesto dispositivos semiconductores, y otros de almacenamiento magnético y óptico,

y que tiene funciones especificas de acuerdo al tipo de memoria que se este haciendo

referencia, por ejemplo la memoria principal o interna se usa como área de trabajo; es

decir donde se realizaran las operaciones que realizan los programas sobre los datos. En

la memoria secundaría o externa se almacena en forma temporal la información. [3], [4]

5.2. Clasificación de memorias en la computadoras

Las memorias de las computadoras se pueden clasificar de diversas formas, por

su material, función, ubicación, etc. El aporte de Stallings en su libro arquitectura de

computadoras, se hace una clasificación de la memoria por sus características como

sigue:

Figura 25: Clasificación de las Memoria de las Computadoras

Page 49: Arquitectura de Computadoras

49 Autor: Ing. Luis Augusto Zuñe Bispo

5.2.1. Ubicación

En las computadoras las memorias pueden ubicarse en diversos niveles, dentro

de la Unidad Central de Proceso en forma de registros y memoria Cache, la memoria

Interna es la que se ubica en la placa madre (main board), y la memoria externa es la que

encontramos en los diversos dispositivos periféricos como el disco duros, óptico,

memorias USB, e incluso se podría considerar a la memoria de las placas de video.

5.2.2. Método de Acceso

Es la forma de cómo el hardware de las computadoras localiza las posiciones de

las memorias que serán leídas o escritas.

a) Acceso secuencial

Se accesa a un determinado registro de tal forma que se recorre uno a uno

cada uno de los registros hasta llegar a la posición de memoria que es

requerida, cada acceso siempre se inicia en la primera memoria.

b) Acceso Directo

Mediante circuitos digitales se produce un posicionamiento inicial, cercano a

los datos a leer. A continuación, mediante acceso secuencial, se leen o

escriben los datos.

c) Acceso Aleatorio

Mediante un puntero de direcciones se accede a la dirección correspondiente,

las posiciones de memoria asociadas a esa dirección son leídas o escritas

simultáneamente.

d) Acceso Asociativo

Es un acceso aleatorio pero permite la comparación de ciertos datos como bits

de paridad, etc.

5.3. Jerarquía de memorias en las computadoras.

Las computadoras puede concebirse como una estructura de registros de

memorias que puede ser referenciada.

A las memorias de una computadora siguen una jerarquía de acuerdo a su

velocidad. En la base de esta pirámide se encuentran los dispositivos de velocidad más

baja como las lectoras de CD y DVD y según el grafico se observa que los dispositivos

de mas alta velocidad son aquellos que se encuentra en la cima de la misma y allí se

encuentran los registros y la memoria cache.

Page 50: Arquitectura de Computadoras

50 Autor: Ing. Luis Augusto Zuñe Bispo

Figura 26: Jerarquía de Memorias

Dado a que los dispositivos más lentos en una computadora son aquellos que en

forma directa afectan a un mejor rendimiento de la computadora como sistema, la

optimización de la memoria debe iniciarse desde los dispositivos más lentos hacia lo más

rápidos, tratando de que en cada dispositivo alcance el máximo rendimiento. Un

incremento del rendimiento por lo general siempre se traduce en un incremento del costo

de la memoria, y del sistema en general. [3]

5.4. Investigación complementaria

Investigar los antecedentes históricos de las memorias, analizar desde el

punto de vista tecnológico.

Porque se considera a los dispositivos de almacenamiento como un disco duro

o disco óptico como una memoria de computadora? Analizar las diferentes

concepciones e ideas que existen al respecto.

¿Dónde se usan las memorias de acceso secuencial?

Page 51: Arquitectura de Computadoras

51 Autor: Ing. Luis Augusto Zuñe Bispo

CAPITULO 6: MEMORIA EXTERNA

Competencias:

Conocer los dispositivos de reconocidos como memorias externas.

Realizar cálculos relacionados a su rendimiento y capacidad.

6.1. Memoria externa de las computadoras

Con esta denominación se suele indicar a todos los dispositivos de almacenamiento

externo del tipo óptico o magnético, estos dispositivos almacenan programas y

datos que son cargados en la memoria para ser ejecutados o procesados

respectivamente. Estos por lo general son dispositivos que tienen un tiempo de

acceso lento en comparación a la memoria semiconductora, pero la característica

principal es que pueden conservar la información aun cuando se retire la fuente de

energía que alimenta al dispositivo. Por lo general se suele referirse que estos

dispositivos de soporte de almacenamiento que son los disquetes, discos duros,

discos compactos, y las torres de disco que controlan el manejo de estos soportes.

[7]

6.2. Disco duro magnético

Según Stallings [4] “Un disco magnético es un plato circular construido con un

material no magnético, llamado sustrato, cubierto por un material magnetizable.

Tradicionalmente, el sustrato es aluminio o una aleación de aluminio.

Recientemente, se han utilizado sustratos de cristal. Los sustratos de cristal tienen

una serie de ventajas entre las cuales se encuentran:

Mejora en la uniformidad de la superficie magnética para incrementar la

fiabilidad del disco.

Reducción significativa de los defectos en todas la superficie lo que ayuda a

reducir los errores de lectura/escritura.

Capacidad para soportar grabaciones de gran proximidad (Fly heights, que se

describirán posteriormente)

Mejor rigidez para reducir la dinámica del disco.

Page 52: Arquitectura de Computadoras

52 Autor: Ing. Luis Augusto Zuñe Bispo

Mayor capacidad para resistir golpes y daños.”

Un disco duro es un dispositivo electromecánico con soporte magnético para el

almacenamiento masivo de datos. Las operaciones que pueden realizarse sobre

este dispositivo pueden ser de lectura ó escritura de datos. Se clasifica como una

memoria del tipo externa, en esta unidad los datos son no volátiles (es decir que no

se borran cuando la energía se corta en la unidad) y son menos rápidas

comparadas con la memorias internas.

Figura 27: Disco Duro

Usualmente es utilizado para almacenar los programas y datos, que no están

siendo utilizados, y por lo tanto no son necesarios que se encuentren cargados en

la memoria principal. [4]

6.3. Estructura física de un disco duro.

En un disco duro se se distinguen dos elementos no intercambiables: la Interface

de lectura y escritura y la Unidad de Soporte de datos.

a) Interface de lectura y escritura

Es un conjunto de componentes electrónicos y mecánicos (brazo de lectura y

escritura) que hacen posible la escritura y lectura de los datos en el disco.

Page 53: Arquitectura de Computadoras

53 Autor: Ing. Luis Augusto Zuñe Bispo

Figura 28: Estructura Mecánica- Eléctrica de un Disco Duro

b) Unidad de soporte de datos

Que son platos de estructura metálica que por lo general es de alumino, cuya

superficie ha sido tratada con elementos ferro magnéticos sobre la cual se

graban y recuperan los datos, utilizando cabezales electromagnéticos de

lectura/escritura. Los platos por lo general pueden utilizarse por ambas caras, y

se apilan varios de estos en forma concéntrica. Aunque esta practica esta en

desuso dado a que ahora sobre un solo plato se usan pistas diferentes a fin de

emular múltiples platos.

6.4. Grabación de los datos en los discos duros

Cada superficie magnética de cada plato tiene asignado un cabezal de

lectura/escritura, esto quiere decir que el número de cabezales depende del

número de superficies magnéticas útiles.

Figura 29: Cabezales Lectura/Escritura y su soporte

Page 54: Arquitectura de Computadoras

54 Autor: Ing. Luis Augusto Zuñe Bispo

Los cabezales se encuentran montados sobre unos brazos mecánicos, que pueden

desplazar a los cabezales en forma lineal sobre la superficie de un plato. En el caso

de la Figura 21, se observa a 4 cabezales de lectura/escritura.

Los platos se encuentran montados sobre un eje común, el cual se encuentra

conectado a un motor que rota a una velocidad constante, y en forma continua

hasta que se apague el computador. La velocidad de giro por lo regular es de 3600

RPM para los discos de tecnología IDE, aunque esta tecnología a evolucionado que

existen discos cuya velocidad de giro es de 7200 RPM. Los de tecnología SCSI,

pueden llegar hasta 10000 RPM.

Figura 30: Platos de un Disco Duro

En una operación de lectura/escritura los cabezales de lectura/escritura, se

desplazan hasta el área inicial donde se grabaran los datos, y luego de esto

deberán transferirse los datos desde o hacia esta área. Mientras los datos se van

transfiriendo las áreas que se van ocupando de datos, ya no se utilizan. Los datos

se graban sobre esta superficie en forma serial, es decir bit a bit.

Los datos son grabados sobre la superficie magnética del soporte magnético de los

discos duros bit por bit, utilizando para ello algún tipo de codificación analógica, la

misma que se realiza y depende de la interface electrónica la cual conecta al bus de

datos con el disco duro, la cual define un determinado tipo de codificación, las

tecnologías usadas en actualidad son:

Integrated Drive Electronics (IDE/ATA)

Serial Advanced Technology Attachment (SATA)

Small Computer System Interface (SCSI)

Page 55: Arquitectura de Computadoras

55 Autor: Ing. Luis Augusto Zuñe Bispo

Serial Attached SCSI (SAS)

Universal Serial Bus (USB)

IEEE 1394 o FireWire

6.4.1. Integrated Drive Electronics (IDE/ATA)

Esta Interface fue creada por Wester Digital, por encargo de Compaq que

deseaba desarrollar un nuevo tipo de computadora, con la finalidad de evitar las

interfaces para discos duros que existían en la tecnología ISA y que requerían de

una controladora que se insertaba en un uno de los slots de expansión, ocupando

un espacio muy necesario para la conexión de dispositivos periféricos. Este

sistema tiene 7 versiones que se clasifican desde ATA-1 hasta ATA-2, cuyas

velocidades de transferencia llegan hasta los 133 MBps.

Figura 31: Conector IDE de 40 hilos

El cable de la figura 23 es un cable usado para velocidades máximas de 33 MBps,

para velocidades de transferencia superiores se debe utilizar el cable de 80 hilos.

Los 40 hilos adicionales están conectados a tierra y se intercalan con uno de

datos con la finalidad de que se eliminen las interferencias e inducciones propias

del paso de datos de alta velocidad. El cable de 80 hilos se reconoce fácilmente

porque uno de los conectores el que va a la placa es de color azul.

6.4.2. Serial Advanced Technology Attachment (SATA)

Es un nuevo estándar de discos duros donde los cables usan pares de cables

para transmisión y otro par para recepción, usa un cable de 7 hilos y puede llegar

hasta velocidades de hasta 150 Mbytes/seg, frente a los 133 Mbytes/seg teóricos

de la tecnología ATA que usa un cable de 40 hilos y la transmisión de datos es en

Page 56: Arquitectura de Computadoras

56 Autor: Ing. Luis Augusto Zuñe Bispo

paralelo. Además SATA presenta la ventaja que estos discos requieren voltajes de

+5 voltios y el consumo de energía es menor. Los conectores son:

Tabla 2: Configuración de Conector SATA

PIN NOMBRE DESCRIPCION

1 GND Tierra

2 A+ Transmisión +

3 A- Transmisión -

4 GND Tierra

5 B- Recepción -

6 B+ Recepción+

7 GND Tierra

6.4.3. Small Computer System Interface (SCSI)

Actualmente existen varios tipos de tecnologías SCSI:

SCSI-1: Utiliza un bus de 8 bits, y soporta un tasa de transferencia de 4

MBPS

SCSI-2: Igual que SCSI-1, pero utiliza un conector de los 50 contactos en vez

de un conector de los 25-contactos, y soporta dispositivos múltiples. Esto es

lo que la mayoría del medio de la gente cuando ella refiere a SCSI llano

SCSI ancho: Utiliza un cable más ancho (168 cablegrafían las líneas a 68

contactos) para utilizar las transferencias 16 bits.

SCSI rápido: Utiliza un bus 8 bits, pero con un reloj doble que soporta una

tasa de transferencia de 10 MBPS.

SCSI ancho rápido: Utiliza un bus 16 bits y soporta un tasa de transferencia

de 20 MBPS.

Ultra SCSI: Utiliza un bus 8 bits, y soporta un tasa de transferencia de 20

MBPS.

SCSI-3: Utiliza un bus 16 bits y soporta un tasa de transferencia de 40

MBPS. SCSI ultra ancho también llamado.

Ultra2 SCSI: Utiliza un bus 8 bits y soporta un tasa de transferencia de 40

MBPS.

Ultra2 ancho SCSI: Utiliza un bus de 16 bits y soporta un tasa de

transferencia de 80 MBPS.

6.5. Formato de los discos

Page 57: Arquitectura de Computadoras

57 Autor: Ing. Luis Augusto Zuñe Bispo

La información en los discos duros esta organizada de tal manera que esta se

pueda ubicar fácilmente, el formato de los discos en una forma de organizar al

disco para que los datos puedan escribirse y leerse, y recuperarse en forma rápida.

Los discos deber tener un formato físico y lógico.

El formato físico es realizado por el fabricante del disco, es en fabrica donde se

establece la cantidad de cilindros y sectores que debe tener un disco duro, durante

este proceso también se puede hacer una prueba del estado de cada una de las

pistas donde se almacenara la información, deshabilitando para el almacenamiento

a aquellas que presente defectos.

El formato lógico puede ser realizado por el usuario del dispositivo, que quien

decidirá el tipo de formato que usará bajo un determinado Sistema Operativo.

6.5.1. Formato Físico

A cada superficie de un plato se le conoce como cara, cada una de las caras de

un plato se dividen en anillos concéntricos llamados pistas, dado a que un disco

tiene varios platos con varias caras útiles al conjunto de pistas que se encuentran

en la misma posición en las diferentes caras y platos de los discos se le denomina

cilindro.

Figura 32: Sectores, Cilindros, Cabezales, de un Disco Duro

Es decir las pistas que se encuentran en cada plato y de una misma posición

numérica, se encuentran a la misma distancia del centro formando un cilindro

imaginario. Cada cara se puede dividir en un número definidos de partes y que

cortan a todas las pistas de una superficie. A la porción de una pista cortada por

Page 58: Arquitectura de Computadoras

58 Autor: Ing. Luis Augusto Zuñe Bispo

un sector se le conoce con el nombre de sector. Cada pista y cada sector se

encuentra separada por un espacio vacío (no se graban datos), que sirve para

diferenciar a una pista de otra; a este espacio se le llama gap.

Figura 33: Estructura Lógica Disco Duro

En cada uno de estos sectores generalmente se almacenan 512 bytes de datos,

aunque en realidad cada sector contiene un tamaño de 600 bytes, estos 88 bytes

son utilizados para indicar información relativa a al sector seleccionado además

de contener gaps, que separan a los diferentes campos que conforman al sector.

Las cabezas y cilindros comienzan a numerarse desde el cero, y los sectores

desde el uno. En consecuencia, el primer sector de un disco duro será el

correspondiente a la cabeza 0, cilindro 0 y sector 1.

Figura 34: Distribución de bytes en un Sector

El en campo de identificación tenemos un conjunto de datos que identifican la

ubicación de sector:

Page 59: Arquitectura de Computadoras

59 Autor: Ing. Luis Augusto Zuñe Bispo

Figura 35: Detalla de Bytes del CRC

El campo de datos tiene la siguiente configuración de campos:

Figura 36: Detalle de Bytes del Campo de Datos

Ejemplo: Si se tiene un disco duro que tiene las siguientes especificaciones:

Cilindros = 6253

Cabezas = 16

Sectores = 63

El número total de sectors = 6.253*16*63

La capacidad total disco = 6303024 sectors*600 bytes/sector

= 3781814400 bytes ~ 3.5 GB

La capacidad máxima datos = 6303024 sectors * 512 bytes/sector

= 3.227.148.228 bytes ~ 3 GB.

6.6. Parámetros medición de las prestaciones de un disco duro.

Los detalles de las operaciones de E/S, de un disco duro dependen de:

Tipo de Computador.

Sistema Operativo.

Naturaleza de los Canales Entrada/Salida.

Hardware Controlador de Disco.

En general si se toma en cuenta solo a los parámetros del disco duro tendremos

que los siguientes parámetros permiten evaluar las prestaciones de un disco duro:

Tiempo de búsqueda

Tiempo de retardo (latencia) rotacional

Page 60: Arquitectura de Computadoras

60 Autor: Ing. Luis Augusto Zuñe Bispo

Tiempo de trasferencia

(a) Tiempo de búsqueda.

Es el tiempo que toma un cabezal en posicionarse sobre la pista donde se

encuentra la información que se quiere leer o grabar.

Ts= mxn+s

Ts = tiempo de búsqueda estimado.

n= número de pistas atravesadas.

m= constante que depende del discos

s= tiempo de comienzo

Ejemplo: m=0,3ms, s=20ms

(b) Velocidad de Rotación

Tal vez el más importante porque existen retardos en la lectura y velocidad de

transferencia asociados. Suele oscilar entre 3600 y las 10000 rpm

(revoluciones por minuto) dependiendo de la tecnología de disco duro.

Figura 37: Algunos parámetros de los Discos Duros Seagate ATA

(c) Retardo rotacional

Page 61: Arquitectura de Computadoras

61 Autor: Ing. Luis Augusto Zuñe Bispo

Que es el tiempo en que el cabezal alcanza el sector, una vez posicionado

sobre la pista que contiene los datos. Es igual a la media del tiempo que un

disco tarda en dar una vuelta, y depende de la velocidad de rotación. También

se le conoce como tiempo de latencia rotacional. [7]

(d) Tiempo de acceso

Indica la capacidad para acceder de manera aleatoria a cualquier sector del

disco. La suma del tiempo de búsqueda y el retardo rotacional se llama

tiempo de acceso, o tiempo que se tarda en llegar a la posición de lectura o

escritura. Esta operación con lleva un tiempo de transferencia de datos.

Tiempo acceso = tiempo búsqueda + retardo rotacional

(e) Velocidad de Transferencia

Directamente relacionada con el interface. En un dispositivo Ultra-2 SCSI es

de 80 MBytes/seg. mientras que en el Ultra DMA/33 (IDE) es de 33,3

MBytes/seg. En el modo DMA-2. Esta velocidad es la máxima que admite el

interface, y no quiere decir que el disco sea capaz de alcanzarla.

Figura 38: Parámetros de un Disco Duro Samsung

Page 62: Arquitectura de Computadoras

62 Autor: Ing. Luis Augusto Zuñe Bispo

La velocidad que el disco alcanza depende de la velocidad de rotación y se

puede obtener mediante la siguiente fórmula:

T = b

rN

T = tiempo de transferencia

b = numero de bytes a transferir

N = número de bytes de una pista

r = velocidad de rotación en R.P.M.

Figura 39: Tiempos asociados a un Disco Duro

También se puede calcular este valor con la siguiente fórmula: [7]

rotacional ad x velocidsectores de número

1 ciaTransferen Tiempo

(f) Parámetros de segunda importancia

Los parámetros que deben considerarse en forma específica para un

determinado tipo de disco son:

Capacidad: que e la capacidad máxima de almacenamiento de datos que

tiene un disco y que se determina a partir de las características técnicas de

cada disco.

Caché de disco: La memoria caché implementada en el disco es

importante, pero más que la cantidad es importante la manera en que ésta

se organiza. Por ello este dato normalmente no nos da por si solo

demasiadas pistas. Son normales valores entre 64 y 256 Kb.

6.7. Sistema de Archivos

Page 63: Arquitectura de Computadoras

63 Autor: Ing. Luis Augusto Zuñe Bispo

El sistema de archivos es la forma en que el sistema operativo organizar la

información en disco duro, para el almacenamiento y recuperación. Cada sistema

operativo tiene su propio y único sistema de archivos, no existiendo compatibilidad con

otros.

Por ejemplo, en los Sistemas Operativos de Microsoft se tiene a:

DOS y Windows 3.11: FAT 8 o 12.

Windows 95: FAT 16 o 32.

Windows 98, ME, XP: FAT 32.

Windows XP, 2000, NT: NTFS.

Windows Vista y Seven: NTFS.

6.7.1. Sistema de Archivos FAT

FAT sigla en inglés que significan File Allocation Table, en español Tabla de

Asignación de Archivos, consiste en una serie de sectores que alojan la mínima porción

de información, y una tabla que enlista los sectores libres y los ocupados. Los sectores

del sistema de archivos FAT tienen dos características que con el tiempo lo sacaron del

mercado, la primera es que tienen un tamaño fijo, y que cuando el disco la capacidad del

disco aumenta, el tamaño del sector también aumenta. En los primeros discos duros

estas características no fueron importantes, cuando los discos duros incrementan su

capacidad. En los discos duros pequeños menores a 1GB, los sectores regularmente

eran de 512 KB, pero a medida que la capacidad aumenta estos podrían ser de 32KB,

entonces un archivo de 40KB tendría que ocupar dos sectores de 32 KB, dejando vacio

24 KB libres, lo que traer un desperdicio de espacio por los sectores no usados. En el

sistema de archivos FAT se tenía: [6]

i) FAT16: Es el mejor para unidades o particiones con menos de 200Mb,

porque FAT se inicia con muy poca carga. Preferiblemente, en unidades o

particiones de más de 200Mb no se debería utilizar este sistema de archivos

FAT ya que a medida que aumenta el tamaño del volumen, el rendimiento

disminuye rápidamente. Las particiones FAT tienen un tamaño máximo de

4Gb en Win NT y de 2Gb en MS-DOS. Los archivos están restringidos a

nombres de tan sólo 8 caracteres y 3 de extensión. No soporta archivos

extremadamente grandes. Es menos "robusto" que NTFS ya que no permite

la automática recuperación del disco.

ii) FAT32: Mantiene la misma estructura de sectores y tablas, pero disminuye el

tamaño de los sectores. En discos entre los 512Mb, así el espacio

Page 64: Arquitectura de Computadoras

64 Autor: Ing. Luis Augusto Zuñe Bispo

desperdiciado es mucho menor. Admite unidades de hasta 2Tb de tamaño.

Utiliza clústeres menores (de 4Kb a 8Kb), lo que significa un 10 y un 15 % de

mejora en el uso del espacio con respecto a unidades grandes con sistemas

de archivos FAT o FAT16. Es incompatible con todo lo anterior e incluso parte

de lo posterior. El problema principal es que las utilidades de disco no

conocían este sistema: por lo que Microsoft actualizó todas sus utilidades.

Aún así FAT 32 es la mejor alternativa para usuarios de Win 98 y las

versiones de Win95 que lo soportan.

6.7.2. Sistema de Archivos NTFS

El Sistema de archivos NTFS las siglas en inglés de New Technology File System,

en español Nueva Tecnología de Archivos de Sistema, es un sistema de seguridad

completa. Donde se pueden configurar los tipos de acceso a los archivos y directorios.

Además guarda un LOG (archivo) de actividades para reconstruir el disco en el caso de

problemas eléctricos. Soporta nombres de archivos y directorios de hasta 256 caracteres.

Automáticamente genera archivos de corrección en DOS que pueden ser utilizados y

compartidos. [5] [6]

6.8. Planificación de solicitudes

Según Carter [1] “Una forma en la que el sistema operativo o el hardware pueden

influir en el rendimiento del disco duro es mediante la selección del orden en el se van a

atender las peticiones, suponiendo que existen varias de ellas. Existen tres políticas

empleadas comúnmente: primero en llegar primero en servir (first-come-first-serve,

FCFS), primero el de menor tiempo de búsqueda (shortest-seek-time-first, SSTF) y

planificación LOOK.”

6.8.1. Primero en llegar primero en servir (FCFS)

En la política primero en llegar primero en servir (FCFS), el disco gestiona las

peticiones en el orden en que se realizaron, como se muestra en la figura 11.9 La

Planificación FCFS tiene la ventaja de que es fácil implementar, pero puede requerir

mucho más movimiento de la cabeza del disco que otras políticas de planificación.

Puesto que el tiempo de búsqueda de una solicitud es proporcional al número de pistas

que la cabeza del disco tiene que atravesar para satisfacer la petición, este aumento en

el movimiento sobre el disco conlleva un tiempo de búsqueda medio mayor y un menor

rendimiento.

Page 65: Arquitectura de Computadoras

65 Autor: Ing. Luis Augusto Zuñe Bispo

6.8.2. Primero el de menor tiempo de búsqueda (SSTF)

En la política de “primero el de menor tiempo de búsqueda” (SSTF) se reduce el

tiempo de búsqueda, puesto que siempre se gestiona aquella solicitud cuya pista se

encuentre lás cercana de la posición actual de la cabeza del disco. La figura 11.10

muestra como se gestionaría esa política de planificación ka secuencia de solicitudes de

la figura 11.19. La planificación SSTF puede reducir significativamente el tiempo medio

de búsqueda de un disco, pero presenta la desventaja de una secuencia de pistas

contiguas puede impedir que una solicitud de una pista alejada de éstas sea atendida

(inanición). Por ejemplo, consideremos un programa que comienza realizando solicitudes

de las pistas 1, 2 y 100 y a continuación realiza una secuencia de solicitudes de la pista 1

y 2. Si la solicitud de la pista se gestiona primero, la solicitud de la pista 2 se gestionara

después, seguida de la siguiente solicitud de la pista 1, continuando así. Hasta que la

secuencia de peticiones de las pistas 1 y 2 finalice, la solicitud de la pista 100 nunca sería

satisfecha.

6.8.3. Planificación SCAN

En el algoritmo SCAN, el brazo del disco parte de un extremo del disco y se

mueve hacia otro, atendiendo a las solicitudes a mediad que llega la cilindros, hasta

llegar al otro extremo del disco. La dirección del disco se invierte, y continua la atención,

barriendo el disco de un extremo a otro.

Esta política opera como el SSTF, excepto que busca la dirección de la distancia

de petición mas corta. SCAN no cambia de dirección hasta que el cabezal haya llegado

hasta el último cilindro de la dirección de desplazamiento o hasta que no haya peticiones

pendientes en la dirección de referencia.

6.8.4. Planificación SCAN n-pasos

En la estrategia, el brazo se mueve de un lado a otro como el SCAN, pero solo le

da servicio a las peticiones que se encuentran en espera cuando comienza en un

recorrido en particular. Las peticiones qe llegan durante un recorrido son agrupadas u

ordenadas par un servicio óptimo durante el recorrido de regreso.

La SCAN de n-pasos ofrece un buen rendimiento de la capacidad de ejecución y

de la medida de los tiempos de respuesta. Su característica mas significativa es una

menor varianza de los tiempos de respuesta que las planeaciones SSTF y SCAN

Page 66: Arquitectura de Computadoras

66 Autor: Ing. Luis Augusto Zuñe Bispo

convencionales. La SCAN de n-pasos evita la posibilidad de postergación indefinida que

tiene lugar si un número de peticiones que llegan al cilindro que está siendo servido y

guarda esas peticiones para ser servidas durante el recorrido de regreso.

6.8.5. Planificación C-SCAN

Planificación Circular SCAN (C-SCAN) es una variante de SCAN para dar un

tiempo de espera mas uniforme. Al igual que SCAN, C-SCAN mueve la cabeza de un

extremo del disco al otro, atendiendo las solicitudes en el camino, sólo que cuando la

cabeza llega al otro extremo regresa de inmediato al principio del disco sin atender

solicitudes. El algoritmo C-SCAN básicamente trata a los cilindro como una lista circular

que continúa del último cilindro al primero.

En la estrategia C-SCAN, el brazo se mueve del cilindro exterior al interior,

sirviendo a las peticiones con menor tempo de búsqueda. Cuando el brazo ha

completado su recorrido hacia adentro, salta a la petición mas cercana al cilindro exterior

y a continuación reanuda su recorrido hacia adentro procesando peticiones.

La C-SCAN puede implementarse de forma que las peticiones que llegan durante

un recorrido sean servidos en el siguiente. De esta forma C-SCAN elimina

completamente la discriminación contra las peticiones para los cilindros exterior e interior.

Tiene una varianza de los tiempos de respuesta muy pequeña.

6.8.6. Planificación LOOK

La planificación LOOK (también denominada planificación del ascensor) supone

un compromiso entre FCFS y SSTF que generalmente proporciona mejor rendimiento

que FCFS y evita la posibilidad de inanición. En la planificación LOOK, la cabeza

comienza a moverse bien hacia el exterior o bien hacia el interior del plato, satisfaciendo

las solicitudes de las pistas que recorre. Una vez que alcanza la pista más lejana o

cercana del centro del plato, invierte su dirección, gestionando las solicitudes pendientes

conforme recorre sus pistas, funciona de manera análoga a cómo lo hacen la mayoría de

los ascensores: una vez que le ascensor comienza a subir, continua subiendo hasta

alcanzar la planta más alta que un individuo haya solicitado. A continuación comienza a

ajar hasta que llega a la planta mas baja requerida.

LOOK inicia la exploración del disco con un movimiento hacia el exterior (hacia

pistas con números más altos) del disco. Este algoritmo evita la inanición puesto que

garantiza que una vez que la pista comienza moverse hacia la pista requerida por una

Page 67: Arquitectura de Computadoras

67 Autor: Ing. Luis Augusto Zuñe Bispo

determinada solicitud, continúa moviéndose hacia esa dirección hasta satisfacer la

solicitud.

Los sistemas actuales suelen emplear la planificación SSFT o LOOK, junto con

ligeras modificaciones de los algoritmos aquí descritos. En general, la planificación LOOK

es preferible en sistemas propensos a tener una alta carga de solicitudes de disco,

puesto que la probabilidad de inanición con SSTF aumenta conforme la proporción de

tiempo en que el disco está ocupado.

6.8.7. Esquema Eschembach

En esta estrategia el movimiento del brazo del disco es circular como el C-SCAN,

pero con varias excepciones. Cada cilindro es servido exactamente por un pista completa

de información, haya o no peticiones para este cilindro. Las peticiones se redondean a se

servidas dentro de un cilindro para tomar ventaja de la posición rotacional, pero si dos

peticiones traslapan posiciones de sectores dentro de un cilindro, solamente se sirve una

en el movimiento actual del brazo del disco.

Con carga baja, la política SCAN es mejor, mientras que con cargas medias y

pesadas, la C-SCAN produce mejores resultados. La C-SCAN con optimización

rotacional maneja de manera efectiva condiciones de carga muy pesadas y ha

demostrado ser mejor que el esquema Eschenbach bajo todas las condiciones de carga.

6.9. OPTIMIZACION ROTACIONAL EN DISCOS

En condiciones de carga pesada, la probabilidad de que ocurran referencias al

mismo cilindro y aumenta y resulta útil considerar la optimización rotacional de la misma

forma que la optimización de búsqueda.

Una forma paralela a la estrategia de optimización de la búsqueda SSTF es la

estrategia SLFT (tiempo de latencia más corto primero) de optimización rotacional. Una

vez que el brazo del disco llega a un cilindro en particular, pueden existir muchas

peticiones pendientes en las distintas pistas de ese cilindro. La estrategia SBIF examina

todas estas peticiones y sirve primero a aquella petición que tiene el retardo rotacional

mas corto. Esta estrategia ha demostrado estar muy cercana del óptimo teórico y es

relativamente fácil de implementar.

Page 68: Arquitectura de Computadoras

68 Autor: Ing. Luis Augusto Zuñe Bispo

6.10. RAID

El problema principal de los discos duros, es que algunas aplicaciones exigen

tiempo de respuesta que muchas veces no puede ser superado por hardware

convencional. En estas circunstancias una de las opciones para mejorar, es la

implementación de un arreglo de discos, que permita lograr un gran ancho de banda

tanto para la lectura como para escritura de datos, o algún sistema que proporcione la

seguridad de los mismos.

RAID (Redundant Array of Independent Disk) es decir una Arreglo Redundantes

de Discos Independiente, estos de acuerdo al tipo de aplicación pueden disponerse en

una forma de arreglo especial que requiere de software o hardware (en algunos casos

ambas cosas), con la finalidad de responder a un determinado tipo de aplicación.

6.10.1. RAID Nivel 0

Stalling [4] “El nivel 0 de RAID no es un verdadero miembro de la familia RAID,

porque no incluye redundancia para mejorar las prestaciones, Sin embargo, hay algunas

aplicaciones, como algunas ejecuciones en supercomputadores, en los que las

prestaciones y la capacidad son la preocupación primaria y un costo bajo es más

importante que mejorar la seguridad.”

Stalling [4] “Pero RAID 0, como todos los niveles RAID, va más lejos que una

sencilla distribución de datos a través del conjunto de discos: los datos son organizados

en forma de tiras de datos a través de los discos disponibles”

Respecto a la aplicación del RAID 0, Stallings [4] indica “En los entornos

orientados a transacciones, el usuario se suele preocupar más del tiempo de respuesta

que de la velocidad de transferencia. Para una petición individual de E/S de una pequeña

cantidad de datos, el tiempo de E/S está dominado por el movimiento de las cabezas del

disco (tiempo de búsqueda) y el movimiento del disco (latencia rotacional)”

6.10.2. RAID Nivel 1

Stallings [4] “RAID 1 se diferencia de los niveles 2 al 6 en cómo se consigue la

redundancia; en RAID 1, la redundancia se logra con el sencillo recurso de duplicar todos

los datos.”

Stallings [4] “Debido a esto, una configuración RAID 1 posiblemente está limitada

a unidades que almacenan el software del sistema y los datos, y otros ficheros altamente

críticos. En estos casos, RAID proporciona una copia de seguridad en tiempo real de

Page 69: Arquitectura de Computadoras

69 Autor: Ing. Luis Augusto Zuñe Bispo

todos los datos, de forma que en caso de fallo de disco, todos laos datos críticos están

inmediatamente disponibles.”

6.10.3. RAID Nivel 2

Stallings [4] “Es un conjunto de acceso paralelo, todos los discos miembro

participan en la ejecución de cada petición de E/S. Típicamente, el giro de cada unidad

individual está sincronizado de forma que cada cabeza de disco está en la misma

posición en cada disco en un instante dado.”

Stallings [4] “El número de discos redundantes es proporcional al logaritmo del

número de discos de datos. En una sola lectura, e accede a todos los discos

simultáneamente.”

Stallings [4] “RAID 2 debería ser solamente una elección efectiva en un entorno en

el que haya muchos errores de disco. Si hay una alta seguridad den los discos

individuales y en las unidades de disco, RAID 32 es excesivo y no se implementa.”

6.10.4. RAID Nivel 3

Stallings [4] “La diferencia es que RAID 3 se requiere solo un disco redundante,

sin importar que sea el conjunto de discos. RAID 3 utiliza un acceso paralelo, con datos

distribuidos en pequeña tiras. En vez de un código de corrección de errores, se calcula un

sencillo bit de paridad para el conjunto de bits individuales en la misma posición en todos

los discos de datos.”

Stallings [4] “Puesto que los datos se dividen en tiras muy pequeñas, RAID 3

puede conseguir velocidades de transferencia de datos muy altas. Cualquier petición E/S.

Por tanto, en un entorno orientado a transacciones, el rendimiento sufre.”

6.10.5. RAID Nivel 4

Stallings [4] “En un conjunto de acceso independiente, cada disco opera

independientemente, de forma que peticiones de E/S separadas se atienden en paralelo.

Debido a esto, son más adecuados los conjuntos de acceso independiente para

aplicaciones que requieren velocidades de petición de E/S altas, y son menos adecuados

para aplicaciones que requieren velocidades altas de transferencia de datos.”

Stallings [4] “RAID 4 lleva consigo una penalización en la escritura cuando se

realiza una petición de escritura de E/S pequeña. Cada vez que se realiza una escritura,

el software de gestión del conjunto debe actualizar no solo los datos del usuario, sino

también los bits de paridad correspondientes.”

Page 70: Arquitectura de Computadoras

70 Autor: Ing. Luis Augusto Zuñe Bispo

6.10.6. RAID Nivel 5

Stallings [4] “La diferencia es que RAID 5 distribuye las tira de paridad a lo largo

de todos los discos. Un distribución típica es un esquema cíclico, ...”

Stallings [4] “Para un conjunto de n discos, la tira de paridad está en diferentes

discos para las primeras n tiras, y este patrón se repite.”

Stallings [4] “La distribución de las tiras de paridad a lo largo de todas las

unidades evita el potencia cuello de botella de E/S encontrado en RAID 4.”

6.10.7. RAID Nivel 6

Stallings [4] “Es el esquema del nivel 6 de RAID, se hacen dos cálculos de paridad

distintos, que se almacenan en bloques separados en distintos discos. Por tanto un

conjunto RAID 6 cuyos datos requieran N discos consta de N + 2 discos.”

Stallings [4] “La ventaja de RAID 6 es que proporciona una disponibilidad de los

datos extremadamente alta. Tendrían que fallar tres discos en el intervalo MTTR (tiempo

medio de reparación) para no poder disponer de datos. Por otra parte , RAID 6 incurre en

una penalización de escritura ya que cada escritura afecta a dos bloques de paridad.”

6.10.8. Comparación de RAIDs

Nivel Ventajas Inconvenientes Aplicaciones

0 Mejora de las prestaciones de E/S, se reparte la carga entre varios canales.

El control de errores es mínimo

Diseño muy sencillo

Fácil de Implementar

La falla de un disco afecta a todos los datos.

Producción e Edición de video.

Edición de imágenes.

Cualquier aplicación que requiere ancho de banda.

1 Puede soportar fallo de varias unidades

Diseño de subsistema de almacenamiento RAID mas sencillo.

Realiza imagen idéntica de todo el disco.

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

Contabilidad.

Nominas.

Finanzas.

Aplicaciones que requieren alta disponibilidad de datos.

2 Velocidades de transferencias extremadamente altas

Diseño de controlador es sencillo a comparación de los niveles superiores

Mejor relación entre discos de datos y discos ECC

Alta Relación entre discos ECC y discos de datos con tamaños de datos pequeños

Costo del nivel de entrada muy alto.

No existen implementaciones comerciales.

3 Alta velocidad de lectura Velocidad de Producción de

Page 71: Arquitectura de Computadoras

71 Autor: Ing. Luis Augusto Zuñe Bispo

Nivel Ventajas Inconvenientes Aplicaciones

de datos.

Velocidad alta de escritura de datos.

Impacto insignificante de fallas en disco.

Baja relación entre discos ECC (paridad) y discos de datos implica alta eficiencia.

transacción igual que la de una única unidad de disco.

El diseño del controlador es muy complejo.

video y secuencias en vivo.

Edición de imagen.

Edición de video

Aplicaciones que requieren alto rendimiento.

4 Velocidad de transacción de lectura muy alta

Baja relación entre discos ECC (paridad) y discos de datos implica alta eficiencia.

Diseño bastante complejo de controlador.

Peor velocidad de transacción de escritura y velocidad total de escritura.

Reconstrucción de datos difícil e ineficiente en caso de fallas en disco

No existe implementación comercial.

5 La mayor velocidad de transacción de datos.

Una baja relación entre discos ECC y datos implica alta eficiencia.

Buena velocidad de transferencia en conjunto.

Diseño de controlador mas complejo.

Difícil reconstrucción de caso de fallas de disco.

Servidor de archivos y aplicaciones.

Servidores de bases de datos.

Servidores de páginas web, correo electrónico y noticias.

Servidores Intranet.

6 Proporciona una tolerancia a fallos extremadamente alta y puede soportar varios fallos de unidades simultáneos

Diseño de controlador muy complejo.

Sobrecarga de controlador para calcular direcciones de paridad extremadamente alta.

Solución perfecta para aplicaciones con objetivos críticos.

6.11. Problemas resueltos

(i) Un disco duro de la marca Seagate como el de la figura 39, tiene los

siguientes parámetros:

Cilindros = 142029 cilindros

Cabezas = 16 cabezas

Sectores = 63 sectores

Tiempo de búsqueda promedio= 8.9 ms

Tiempo de salto de pista a pista= 0.8 ms

Page 72: Arquitectura de Computadoras

72 Autor: Ing. Luis Augusto Zuñe Bispo

Velocidad Rotación: 7200 rpm

Tiempo de transferencia del medio al buffer= 741 Mbits/sec

Tiempo de transferencia del buffer al host = 133 Mbytes/sec

Tamaño del buffer = 2 Mbytes

(a) Hallar la capacidad total en el disco

CT= 600 bytes/sector * 16 cabezal * 63 sector/cilindro* 142029 cilindros/cabezal

CT= 80 Gbytes

(b) Hallar la capacidad total para datos

CT= 512 bytes/sector * 16 cabezal * 63 sector/cilindro* 142029 cilindros/cabezal

CT= 68.27 Gbytes

(c) Halla el tiempo de retardo ó latencia rotacional

El tiempo de retardo rotacional es fácilmente obtenible usando una regla de

tres simple:

7200 vueltas -------- en ------ 1m (60000ms)

1 vuelta -------- en ------ x = 8.33 ms

Entonces: Tiempo Retardo Rotacional = 4.17 ms

(d) Cuál sería el tiempo de total de lectura o escritura de la información

considerando que los datos se encuentran en el Buffer (velocidad de

transferencia del medio al buffer)

La velocidad de transferencia del medio al buffer (VTMB=741Mbits/s)

Entonces el Tiempo de transferencia del medio al buffer TTMB es:

mssegMbit

bytesTTMB 0053.0

/741

512

Page 73: Arquitectura de Computadoras

73 Autor: Ing. Luis Augusto Zuñe Bispo

El resultado puede ser irrelevante para unos pocos datos, pero cuando se

tratan de millones de datos la cifra es significativa.

(g) Suponer que Usted desea leer un archivo que tiene 1.8 Mbytes, calcular el

tiempo que tomaría leer este archivo, suponiendo que los archivos se

encuentran dispuestos en forma aleatoria en el disco duro (es decir que

ninguno de ellos se encuentra ordenado)

Para resolver este problema debemos asumir que no conocemos la posición

inicial del cabezal, por tanto usaremos un tiempo de búsqueda promedio.

Entonces el tiempo de búsqueda de un sector es:Tseek= 8.9 ms

Un archivo de 1.8 Mbytes ocupa un número de sectores igual a:

bytes

MbytesSectores

512

8.1#

#Sectores= 3686.4 Sectores

Se tiene que redondear al inmediato superior dado a que un sector utilizado

por un archivo, ya no puede ser utilizado por otro.

#Sectores= 3687 Sectores

El tiempo de retardo rotacional calculado en (b) es: 4.17 ms

El tiempo de lectura de un sector es:

TSEEK un sector 8.9000 ms

TRR 4.1700 ms

TREAD 0.0053 ms

13.0753 ms

Entonces para leer los 3687 Sectores se necesita:

Tiempo Total Lectura = 13.0753 ms/sector * 3687 sectores

Tiempo Total Lectura = 48208.6311 ms = 48.21 seg

Page 74: Arquitectura de Computadoras

74 Autor: Ing. Luis Augusto Zuñe Bispo

(h) En el caso (g), calcular el tiempo que tomaría leer este archivo, suponiendo

que los archivos se encuentran dispuestos en forma secuencial en el disco

duro (es decir ordenados en forma consecutiva en una misma pista)

Una pista tienes 63 sectores, por tanto para leer 3687 sectores requiere al

menos 59 operaciones de búsqueda. Entonces el tiempo total de leer una

pista:

TSEEK 8.9000 ms

TRR 4.1700 ms

TREAD (63 sectores) 0.3339 ms

13.4039 ms

Suponiendo que solo se requiere un tiempo de búsqueda dado a la

disposición secuencial, entonces la lectura de las 58 pistas restantes no

incluyen el tiempo de búsqueda, por tanto:

TSEEK 0.0000 ms

TRR 4.1700 ms

TREAD (63 sectores) 0.3339 ms

4.5039 ms

T58Pistas= 4.5039 ms * 58= 261.2262 ms

Entonces para las 59 pistas tenemos:

T59Pistas= 261.2262 ms + 13.4039 ms = 274.6301 ms

T59Pistas = 0.2746301 seg

Aproximadamente 88 veces más rápido que cuando los datos se encuentran

desordenados. En vista que no es probable que los datos se encuentren

totalmente desordenado o totalmente ordenados. El tiempo de real de lectura

se encontraría dentro del rango de 0.275 seg y 48.21 seg. Tiempo que se

tendría que tener en cuenta frente a una implementación en la cual se buscan

tiempos de respuesta.

Page 75: Arquitectura de Computadoras

75 Autor: Ing. Luis Augusto Zuñe Bispo

(ii) Con los datos del problema anterior:

(a) Hallar el tiempo de búsqueda para las políticas de búsqueda FCFS, SSTF, y

LOOK de las siguientes peticiones de información 12, 47, 55, 38, 102 si la

posición inicial del cabezal es la pista 75.

Solución

Para FCFS

Posición

Inicial Final Tiempo

75 12 50.9

12 47 28.5

47 55 6.9

55 38 14.1

38 102 51.7

152.1

Si las peticiones solo incluyeran la búsqueda entonces el tiempo total

empleado para las peticiones del ejemplo seria 152.1 ms.

Para SSTF

Posición

Inicial Final Tiempo

75 55 16.5

55 47 6.9

47 38 7.7

38 12 21.3

12 102 72.5

124.9

Si las peticiones solo incluyeran la búsqueda entonces el tiempo total

empleado para las peticiones del ejemplo seria 124.9 ms.

Para LOOK

Posición

Inicial Final Tiempo

75 102 22.1

102 55 38.1

55 47 6.9

47 38 7.7

Page 76: Arquitectura de Computadoras

76 Autor: Ing. Luis Augusto Zuñe Bispo

38 12 21.3

96.1

Si las peticiones solo incluyeran la búsqueda entonces el tiempo total

empleado para las peticiones del ejemplo seria 96.1 ms.

(b) Cual sería el tiempo de acceso para cada caso de la sección (a)

Solución

Para FCFS

Posición

Inicial Final Tseek Tacc

75 12 50.9 55.07

12 47 28.5 32.67

47 55 6.9 11.07

55 38 14.1 18.27

38 102 51.7 55.87

152.1 172.95

No se considera en la suma total de la tabla el tiempo de lectura de cada

petición. La totalización es referencial.

Para SSTF

Posición

Inicial Final Tseek Tacc

75 55 16.5 20.67

55 47 6.9 11.07

47 38 7.7 11.87

38 12 21.3 25.47

12 102 72.5 76.67

124.9 145.75

No se considera en la suma total de la tabla el tiempo de lectura de cada

petición. La totalización es referencial.

Para LOOK

Posición

Inicial Final Tseek Tacc

75 102 22.1 26.27

102 55 38.1 42.27

55 47 6.9 11.07

47 38 7.7 11.87

38 12 21.3 25.47

Page 77: Arquitectura de Computadoras

77 Autor: Ing. Luis Augusto Zuñe Bispo

96.1 116.95

No se considera en la suma total de la tabla el tiempo de lectura de cada

petición. La totalización es referencial.

Para FCFS

Posición

Inicial Final Tseek Tacc Tread

75 12 50.9 55.07 55.075

12 47 28.5 32.67 32.675

47 55 6.9 11.07 11.075

55 38 14.1 18.27 18.275

38 102 51.7 55.87 55.875

172.977

Para SSTF

Posición

Inicial Final Tseek Tacc Tread

75 55 16.5 20.67 20.675

55 47 6.9 11.07 11.075

47 38 7.7 11.87 11.875

38 12 21.3 25.47 25.475

12 102 72.5 76.67 76.675

145.777

Para LOOK

Posición

Inicial Final Tseek Tacc Tread

75 102 22.1 26.27 26.275

102 55 38.1 42.27 42.275

55 47 6.9 11.07 11.075

47 38 7.7 11.87 11.875

38 12 21.3 25.47 25.475

116.977

Page 78: Arquitectura de Computadoras

78 Autor: Ing. Luis Augusto Zuñe Bispo

6.12. Ejercicios

Ejercicio N° 1

Se tiene un disco duro que tiene las siguientes características:

Cilindros = 142029 cilindros

Cabezas = 16 cabezas

Sectores = 63 sectores

Tiempo de búsqueda promedio= 8.9 ms

Tiempo de salto de pista a pista= 0.8 ms

Tiempo de inicio = 0.5 ms

Velocidad Rotación: 7200 rpm

Tiempo de transferencia del medio al buffer= 741 Mbits/sec

Tiempo de transferencia del buffer al host = 133 Mbytes/sec

Tamaño del buffer = 5 Mbytes

Hallar:

Capacidad física total, capacidad para datos, tiempo de retardo rotacional.

Usando las tres políticas principales de búsqueda de peticiones, hallar el

tiempo total en cada caso cuando el cabezal se encuentra en la posición 345 y

se tienen las siguientes solicitudes 12, 45 , 38, 560, 239, 245 124, 412.

Si tiene un archivo de 4.5 Mbytes que tiempo tomaría en leer el archivo si este

se encuentra dispuesto en una forma secuencial y cuanto tiempo se tomaría

en leerlo si este esta dispuesto en forma aleatoria. Suponer que este archivo

se encuentra en el Buffer.

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

6.13. Problema propuestos

(1) Se tiene un disco duro que tiene las siguientes características:

Cilindros = 35540 cilindros

Cabezas = 16 cabezas

Sectores = 63 sectores

Tiempo de búsqueda promedio= 8.9 ms

Tiempo de salto de pista a pista= 0.8 ms

Tiempo de inicio = 0.5 ms

Page 79: Arquitectura de Computadoras

79 Autor: Ing. Luis Augusto Zuñe Bispo

Velocidad Rotación: 7200 rpm

Tiempo de transferencia del medio al buffer= 741 Mbits/sec

Tiempo de transferencia del buffer al host = 150 Mbytes/sec

Tamaño del buffer = 5 Mbytes

Hallar:

Capacidad física total, capacidad para datos, tiempo de retardo rotacional.

Usando las tres políticas principales de búsqueda de peticiones, hallar el

tiempo total en cada caso cuando el cabezal se encuentra en la posición

345 y se tienen las siguientes solicitudes 12, 45 , 38, 560, 239, 245 124,

412.

Si tiene un archivo de 4.5 Mbytes que tiempo tomaría en leer el archivo si

este se encuentra dispuesto en una forma secuencial y cuanto tiempo se

tomaría en leerlo si este esta dispuesto en forma aleatoria. Suponer que

este archivo se almacena en el Buffer.

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

host.

(2) Un fabricante desea diseñar un disco duro con una capacidad de, al menos,

30 GB (empleando la definición de 1GB= 1024 Mbytes). Si la tecnología

empleada para fabricar los discos permite sectores de 1024 byes, 2048

sectores por pista y 4096 pistas por plato, ¿Cuántos platos se necesitan?

(Asuma un número fijo de sectores por pista)

(3) Un disco duro de 5 platos contiene 2048 pistas por plato, 1024 sectores por

pista (número fijo de sectores por pista) y 512 bytes por sector. ¿Cuál es su

capacidad total?

(4) Se desea un disco con un solo plato con lo siguientes parámetros: velocidad de

rotación: 7200 rpm; el número de pistas de una cara del plato: 3000; número de

sectores por pista: 600; tiempo de búsqueda: 1ms por cada cien pistas

atravesadas. El disco recibe una petición de acceso a un sector aleatorio en

una pita aleatoria y suponer que la cabeza se encuentra estacionada en la pista

0.

¿Cuál es el tiempo de búsqueda medio?

¿Cuál es la latencia rotacional media?

¿Cuál es el tiempo de transferencia de un sector?

Page 80: Arquitectura de Computadoras

80 Autor: Ing. Luis Augusto Zuñe Bispo

¿Cuál es el tiempo total medio para realizar una petición?

(5) Se desea un disco con un solo plato con lo siguientes parámetros: velocidad de

rotación: 7200 rpm; el número de pitas de una car del plato: 3000; número de

sectores por pista: 600; tiempo de búsqueda: 1ms por cada cien pistas

atravesadas. El disco recibe una petición de acceso a un sector aleatorio en

una pita aleatoria y suponer que la cabeza se encuentra estacionada en la pista

0.

¿Cuál es el tiempo de búsqueda medio?

¿Cuál es la latencia rotacional media?

¿Cuál es el tiempo de transferencia de un sector?

¿Cuál es el tiempo total medio para realizar una petición?

(6) Se distingue entre registros físicos y lógicos. Un registro lógico es una serie de

datos relacionados tratados como una unidad conceptual, independientemente

de donde está almacenada la información. Un registro físico es una zona

contigua de espacio de almacenaje que viene definida por las características

del dispositivo de almacenamiento y por el sistema operativo. Suponer un disco

en el que cada registro físico contiene treinta registros lógicos de 120 bytes.

Calcular cuánto espacio en disco (en sectores, pistas y superficies) se

necesitaran para almacenar 300000 registros lógicos si el disco tiene sectores

fijos de 512 bytes/sector, con 96 sectores/pistas, 110 pistas por superficie, y

ocho superficies útiles. Ignorar registros de cabecera del archivo e índices de

pista, y suponer que los registros ni pueden ocupar dos sectores.

Page 81: Arquitectura de Computadoras

81 Autor: Ing. Luis Augusto Zuñe Bispo

6.14. Investigación complementaria

¿Por qué la información que brinda el Windows respecto a la capacidad total de

un disco difiere de la que se proporcionan en las especificaciones técnicas de

un disco duro?

¿Cuál es el algoritmo que utiliza el CRC? De un ejemplo.

Explique su importancia, como se organiza la memoria cache en un disco duro,

de un ejemplo

Que parámetros manejan hoy en día para discos de tecnología IDE y SCSI.

Indique las fuentes de información donde obtuvo los datos. (sugerencia: se

recomienda visitar las páginas de los fabricantes de discos duros ó visitar a

algún distribuidor local)

Estado del arte en tecnologías de almacenamiento.

Page 82: Arquitectura de Computadoras

82 Autor: Ing. Luis Augusto Zuñe Bispo

Bibliografía

[1] Nicholas Carter, Arquitectura de Computadoras. Madrid, España: Mc Graw Hill, 2004.

[2] enrique Mandado Perez, Sistemas Electrónicos Digitales, 9th ed.: Marcombo, 2007.

[3] Miles J. Murdocca and Vincent Heuring, Principios de Arquitectura de Computadoras. Brasil: Pearson Educación, 2002.

[4] Williams Stallings, Organización y Arquitectura de Computadores. España: Prentice Hall, 2006.

[5] Museo de Historia de las Computadoras. (2012, Marzo) Historia de las Computadoras Linea del Tiempo. [Online]. http://www.computerhistory.org/

[6] Michelle A. Hoyle. (2012, Marzo) Historia de la Ciencia de la Computación. [Online]. http://www.eingang.org/Lecture/

[7] Irv Englader, Arquitectura Computacional, 2nd ed. España: Continental, 2002.

[8] Cris Taylor. (2012, Marzo) NTFS and FAT32. [Online]. http://people.msoe.edu/~taylor/cs384/sitania.pdf

[9] Cheong Kai Wee. (2012, Marzo) Forensic Focus. [Online]. http://www.forensicfocus.com/downloads/ntfs-hidden-data-analysis.pdf

[10] Jason Madeiros. (2012, Marzo) NTFS Forensic. [Online]. http://grayscale-research.org/new/pdfs/NTFS%20forensics.pdf