Академический Документы
Профессиональный Документы
Культура Документы
2011 U. N. S. J. - F.C.E.F. y N.
2011
Departamento de Informática
Estructura y Funcionamiento
de Computadoras I
Licenciatura en Sistemas de Información
Licenciatura en Ciencias de la Computación
http://estructura1-2018.wikispaces.com
UNIVERSIDAD NACIONAL DE SAN JUAN
Facultad de Ciencias Exactas Físicas y Naturales
Departamento de Informática
Unidad 1
Conceptos introductorios
Esquema de contenidos
La Computadora y el Procesamiento
de Datos
Señales Digitales
Señales Digitales y Analógicas Señales Analógicas
Señales Digitales vs. Analógicas
Tipos de Computadoras
3
La computadora realiza las tareas en forma equivalente a un empleado
que recibe del jefe una lista de instrucciones. Sin embargo, hay una
diferencia esencial: ante una situación de excepción imprevista la
computadora terminará su ejecución, mientras que el empleado puede
tomar una decisión para resolver dicha excepción.
Las computadoras actuales son sistemas electrónicos digitales
complejos. Se caracterizan por su versatilidad, velocidad y capacidad de
almacenamiento:
• Versatilidad: la computadora puede estar procesando una liquidación de
haberes y momentos después resolviendo un sistema de ecuaciones.
• Velocidad: la computadora puede ejecutar millones de instrucciones en
un segundo.
• Capacidad de almacenamiento: la computadora puede almacenar gran
cantidad de datos y disponer de ellos cuando un programa los requiera.
4
Estructura y Funcionamiento de Computadoras I Unidad 1 - Conceptos introductorios
Obtener promocionalidad o
Alumnos Nota 8 7 9 Promedio
boleta de la materia
Tabla 1.1 Ejemplos de toma de decisiones a partir de la información obtenida de los datos de salida.
5
1.4 Concepto de bit, byte y palabra
El bit es la unidad mínima de información. El término es un acrónimo
que proviene de binary digit, es decir que el bit es un dígito binario.
El binario es el “idioma” natural de la computadora debido a que su
funcionamiento interno se basa en componentes diseñados para funcionar
solamente con dos niveles de voltaje o estados. Uno de estos estados sirve
para representar el dígito 0 y el otro estado representa el dígito 1. Por esta
razón, todos los datos e instrucciones que procesa una computadora se
encuentran expresados mediante bits.
Cada bit considerado en forma individual solamente tiene la
posibilidad de representar dos valores distintos, lo cual resulta insuficiente
en la mayoría de los casos. Por ejemplo, si deseamos representar las letras
del alfabeto mediante bits, necesitamos mayor capacidad de representación.
Para lograr esto debemos utilizar un grupo de bits de manera tal que las
distintas combinaciones de valores formadas por los bits del grupo pueden
servir para representar una mayor cantidad de datos. La cantidad de
combinaciones distintas depende del tamaño del grupo de bits. La Tabla 1.2
muestra que con un grupo de dos bits se obtienen cuatro combinaciones
distintas y con un grupo de tres bits se pueden formar ocho combinaciones
distintas. En general, con un grupo de n bits pueden obtenerse 2𝑛
combinaciones distintas.
6
Estructura y Funcionamiento de Computadoras I Unidad 1 - Conceptos introductorios
En resumen…
BIT es la unidad elemental de datos que se puede almacenar en el interior de una computadora y
puede representar el valor 0 o 1 (digito binario).
BYTE es el conjunto de ocho bits tratados como una unidad. Permite representar 256 combinaciones
diferentes.
PALABRA es el conjunto de bits que se utiliza para realizar ciertas operaciones internas, como leer o
escribir en la memoria.
7
Los distintos usos del bit
El concepto de bit es sencillo de interpretar, sin embargo esta simplicidad oculta las distintas facetas que
implica el uso de un dígito binario. Se muestra a continuación una breve descripción de los distintos usos
que se derivan del bit en relación al funcionamiento interno de computadoras.
Los bits como números. El sistema de numeración binario utiliza solamente dos dígitos (0 y 1) para
representar valores numéricos y realizar operaciones aritméticas entre ellos, esencialmente igual que el
sistema decimal que usamos cotidianamente. Por otra parte, el funcionamiento interno de una
computadora se basa en dispositivos que sólo operan en dos estados distintos. Esta característica
permite utilizar cada uno de estos estados para representar los dígitos del sistema de numeración binario
0 y 1. Como veremos más adelante al tratar los sistemas de numeración, los números expresados en
binario pueden convertirse a su equivalente en sistema decimal y viceversa. Estas conversiones son
realizadas en forma automática por circuitos internos especializados de la computadora gracias a lo cual
el procesamiento de números binarios es totalmente “invisible” para el usuario humano.
Los bits como valores lógicos. La lógica proposicional es binaria. Sus resultados se reducen a dos valores
posibles: verdadero o falso. Por esta razón, un bit puede representar el valor de una variable lógica.
Relacionando variables lógicas mediante operaciones de conjunción, disyunción o complemento (algebra
de Boole) podemos definir funciones lógicas con el fin de obtener los valores binarios de salida
requeridos ante los valores binarios de las entradas. Su importancia radica en que los circuitos internos
de una computadora en realidad sólo implementan funciones lógicas y gracias a ellas puede obtenerse el
funcionamiento deseado.
Los bits como códigos de datos. Al tomar los bits en conjuntos de tamaño definido, puede generarse
distintas combinaciones. Cuando estas combinaciones o patrones de bits se utilizan para representar
elementos de otro conjunto, se forma un código binario. Por ejemplo, un grupo de siete bits puede
generar 128 combinaciones distintas. Esta cantidad es suficiente para asignar un código a cada una de las
letras mayúsculas, minúsculas, números y caracteres especiales usados en la comunicación escrita. En
forma similar, un grupo de bits también puede formar códigos para colores, sonidos y cualquier otro tipo
de datos que pueda llegar a procesar una computadora. De esta manera, los distintos elementos
representados por un código binario pueden ser procesados por los circuitos exclusivamente binarios de
la computadora. Más adelante veremos los sistemas de representación utilizados comúnmente para el
tratamiento de caracteres y números.
Los bits como códigos de instrucciones. Hemos visto cómo los bits pueden representar datos, es decir,
información de una fuente externa que será procesada por la computadora. Otro tipo de información
que debe procesar una computadora son los programas que le indican qué hacer con los datos que le
proporcionamos. Todos los programas que deban ser ejecutados por una computadora se realizan en
base a instrucciones elementales de lenguaje de máquina. Cada instrucción elemental puede indicar, por
ejemplo, una operación aritmética, una transferencia de datos hacia memoria o una ruptura de
secuencia. El lenguaje máquina codifica las instrucciones en forma binaria de manera tal que cuando la
Unidad Central de Procesamiento lee una instrucción, recibe una combinación de bits. Los circuitos
internos de la Unidad Central de Procesamiento se encargan de reconocer la combinación de bits dentro
del juego de instrucciones diseñado por el fabricante y de acuerdo a la instrucción de que se trate, la
Unidad Central de Procesamiento genera las señales necesarias para ejecutarla. Más adelante veremos
con detalle los pasos que realiza la Unidad Central de Procesamiento para ejecutar las instrucciones.
8
Estructura y Funcionamiento de Computadoras I Unidad 1 - Conceptos introductorios
Ejemplo 1.1
Por ejemplo, considere como variable la “cantidad de alumnos presentes en clase” mostrado en la Figura 1.3.
Por definición, esta variable tomará valores enteros. Si en un momento dado existen 15 alumnos presentes, al
llegar un alumno más a la clase, la cantidad pasará a ser de 16 alumnos, es decir, la variable pasa del valor 15 al
16 sin tomar valores intermedios. Obviamente, debido a la magnitud que se describe -cantidad de alumnos-la
variable no puede tomar valores como por ejemplo 15,20.
9
Ejemplo 1.2
Es sencillo reconocer una variable digital cuando se trata de una operación de conteo, ya que en ese caso la
variable tomará valores enteros, como en el Ejemplo 1.1. Sin embargo, no debe confundirse variable discreta
como aquella que sólo puede tomar valores enteros.
Para aclarar esto, suponga una escalera construida con escalones de 20,15 cm de altura. Al ascender al primer
escalón, la altura respecto del piso será 20,15 cm, el segundo escalón se encontrará a una altura de 40,30 cm,
el tercero a 60,45 cm y así sucesivamente. Observe que la variable que describe la “altura de los escalones
respecto del piso”, es una variable digital, aunque sus valores no sean cantidades enteras. Por ser una variable
digital, existen valores que la variable no puede tomar, como por ejemplo 30 cm, ya que esa altura es mayor a
la altura del primer escalón pero menor a la altura del segundo escalón, por lo tanto dicho valor no es válido
para esa variable porque que no corresponde a una “altura de los escalones respecto del piso”.
10
Estructura y Funcionamiento de Computadoras I Unidad 1 - Conceptos introductorios
11
Figura 1.6 Ejemplo de señal
eléctrica obtenida mediante un
sensor de temperatura.
12
Estructura y Funcionamiento de Computadoras I Unidad 1 - Conceptos introductorios
Desventajas:
La desventaja de las señales digitales es que, en general, se necesitan
varias señales para representar datos en forma digital mientras que en
forma analógica se puede representar con una sola señal analógica. No
obstante ello, esta desventaja cada vez se hace menos significativa
debido a la gran capacidad de almacenamiento desarrollada en los
últimos años.
13
numeración binario si podemos hacerlo con sistema decimal, que nos es
conocido y de uso habitual?
La respuesta es sencilla y se encuentra en los componentes
electrónicos elementales de la computadora: los transistores. Hacer operar
a los transistores con solo dos estados, es tecnológicamente más simple y
más confiable que hacerlos trabajar con diez valores de corriente o tensión
eléctrica distintos, con el fin de generar diez estados diferentes que
representen los dígitos del 0 al 9 del sistema decimal.
14
Estructura y Funcionamiento de Computadoras I Unidad 1 - Conceptos introductorios
15
1.6.3. Transmisión en paralelo. Concepto de bus
Cuando la transmisión se realiza utilizando varias líneas conductoras,
como muestra la Figura 1.11, es posible enviar varios bits en forma
simultánea. Este tipo de transmisión se denomina transmisión en paralelo.
Se denomina bus al conjunto de líneas conductoras que pueden ser
compartidos por varios dispositivos, a los fines de la transmisión de datos
entre ellos.
En resumen…
Cuando se tiene una sola línea de transmisión y se transmiten bits unos detrás de otros, se llama
transmisión en serie y un "0" o un "1" se determina por el nivel de tensión eléctrica utilizado y la
cantidad de tiempo que permanece la línea en este nivel.
La transmisión en paralelo consiste en la transmisión simultánea de bits a través de varios hilos o líneas
de transmisión. El “0” y el “1” en cada hilo conductor se reconoce por el nivel de tensión eléctrica
aplicado al hilo (0 volt; 5 volt).
16
Estructura y Funcionamiento de Computadoras I Unidad 1 - Conceptos introductorios
17
continúa con la instrucción siguiente. Esta nueva instrucción puede
consistir, eventualmente, en almacenar el resultado en la Memoria Principal,
para lo cual la UC lee la instrucción, la identifica, la ejecuta estableciendo
las señales necesarias para esa instrucción y luego busca la instrucción que
sigue. Es decir que, la UC va repitiendo en forma sucesiva estos pasos para
cada nueva instrucción, hasta finalizar el programa.
Figura 1.13
Esquema general de
la CPU y la Memoria
Principal.
18
Estructura y Funcionamiento de Computadoras I Unidad 1 - Conceptos introductorios
19
Unidades de Entrada/Salida Son dispositivos que funcionan en forma
bidireccional, es decir, en algunos instantes entregan datos a la
computadora y en otros pueden recibir datos provenientes de ella. Se
distinguen dentro de este grupo dos tipos:
• Periféricos de Almacenamiento Masivo: Una característica de la Memoria
Principal es la rapidez con la que se puede leer o escribir en ella, pero no
tiene gran capacidad para almacenar datos. Como veremos en detalle
más adelante, otra característica es que una parte de la Memoria
Principal es volátil, es decir, pierde su contenido al interrumpirse el
suministro de energía eléctrica. Por lo tanto, para almacenar datos
masivamente se usan otros tipos de memoria, tales como discos ópticos
o magnéticos que son más lentos pero tienen más capacidad que la
Memoria Principal. A estas memorias también se las conoce como
memorias auxiliares, memorias externas o memorias secundarias. Los
datos guardados en memoria externa permanecen almacenados hasta
que el usuario decide borrarlos.
• Periféricos de Comunicación: cuando es necesario comunicar dos
computadoras se deben utilizar dispositivos de conexión en red. Si las
computadoras se encuentran próximas entre sí, los dispositivos de red y
las computadoras se conectan mediante cables. Si por el contrario, las
computadoras se encuentran muy distanciadas una de otra, el tendido
de cables resulta costoso y en tal caso una buena solución es utilizar
cables telefónicos o radio enlace. Cuando se utiliza cualquiera de estos
métodos, es necesario convertir la señal digital que manejan las
computadoras a analógica para realizar la transmisión. Esta tarea está a
cargo de un dispositivo electrónico denominado MODEM; el equipo en el
otro extremo del canal que recibe la señal transmitida necesitará de otro
MODEM que realice el trabajo inverso, es decir convertir la señal
analógica a digital para que pueda ser interpretada por la computadora.
20
Estructura y Funcionamiento de Computadoras I Unidad 1 - Conceptos introductorios
En resumen…
Se puede describir a una computadora como un conjunto ensamblado de unidades diferentes, cuyo
funcionamiento viene dictado por el programa registrado en la Memoria Principal.
La Unidad de Control lee una por una las instrucciones del programa registrado en la Memoria Principal
y gobierna la ejecución de dichas instrucciones utilizando las demás unidades según sea necesario.
Cuando la instrucción es una operación de cálculo, la Unidad de Control ordena a la Unidad Aritmético-
Lógica que realice la operación.
Si la instrucción es una transferencia de datos con el exterior, la Unidad de Control comanda los
Enlaces a Periféricos, para que realicen la conexión con los Periféricos.
21
modificaciones en el hardware, un proceso muy laborioso en los primeros
modelos.
En esta época John Von Neumann se involucró en la tarea de diseñar
una máquina con programa almacenado, lo cual permitiría contar con
una máquina genérica, resolviendo así el problema de tener que
reconfigurar la máquina para cada nueva tarea. En 1945, como miembro
integrante del proyecto ENIAC, Von Neumann describió en un informe el
diseño de una máquina de programa almacenado. La difusión de dicho
informe influenció decisivamente el diseño de los nuevos prototipos de la
época y dio origen a la estructura bajo la cual trabajan prácticamente todas
las computadoras actuales.
El diseño de las computadoras actuales se basa en estos conceptos
desarrollados por Von Neumann. Tal diseño se conoce con el nombre de
arquitectura de Von Neumann.
El modelo de Von Neumann, propone un diseño con las siguientes
características:
Programa almacenado en memoria: El procesamiento de la
información se especifica en un espacio de memoria único, de lectura
y escritura, que contiene las instrucciones y los datos necesarios.
Instrucciones de ruptura de secuencia: La ejecución de las
instrucciones se produce de manera secuencial; después de ejecutar
una instrucción se ejecuta la instrucción siguiente que hay en la
memoria principal, pero se puede alterar la secuencia de ejecución
utilizando instrucciones de ruptura de secuencia. Estas
instrucciones, llamadas de salto o de ruptura de secuencia,
automatizan la bifurcación en la ejecución del programa en base a la
evaluación de una condición sobre un resultado obtenido (por
ejemplo: si es positivo o negativo, si es nulo, si es mayor que cierto
valor, etc.).
22
Estructura y Funcionamiento de Computadoras I Unidad 1 - Conceptos introductorios
debido a que los prefijos del SI se basan en potencias de 10. En la Tabla 1.3
se realiza la comparación entre potencias de 10 del SI y las
correspondientes potencias de 2 que alcanzan los valores más próximos.
A pesar de que existe una diferencia respecto al SI, en Informática se
acostumbra expresar las medidas de capacidad de almacenamiento
utilizando potencias de 2 por razones prácticas, ya que se trata con
sistemas binarios.
La Tabla 1.3 muestra la relación entre los prefijos Kilo, Mega, Giga y
Tera. Puede observarse que entre ellos, el factor multiplicador en el SI es
1000, pero al utilizar potencias de 2 el factor multiplicador adoptado es
1024, por tratarse del valor más próximo a 1000.
Al utilizar los prefijos del SI para formar los múltiplos del byte,
obtenemos las equivalencias resumidas en la Tabla 1.4.
23
Los prefijos que se muestran en la Tabla 1.4 no se emplean solamente
con el byte sino que también pueden usarse con otras unidades. Así,
considerando que al indicar “b” imprenta minúscula nos referimos a BIT y
al indicar “B” imprenta mayúscula nos referimos a BYTE, tenemos que 1 KB
indica 1024 bytes y 1 Kb hace referencia a 1024 bits.
Ejemplo 1.3
¿Cuántos disquetes de 1,44 MB eran necesarios para copiar un archivo de 16400 Kb?
Para realizar el cálculo, deben utilizarse las mismas unidades. Expresando MB en Kb:
210 KB 8 Kb
1,44 MB = 1,44 MB × × = 11796,48 Kb
1 MB 1 KB
Operando con los valores expresados en Kb:
1 diskette → 11796,48 Kb
𝑥 → 16400 Kb
1 diskette × 16400 Kb
𝑥= = 1,39 diskettes
11796,48 Kb
Es decir que, para copiar un archivo de 16400 Kb, se requerían 2 diskettes.
24
Estructura y Funcionamiento de Computadoras I Unidad 1 - Conceptos introductorios
1s 1s
milisegundo ms 1 ms = = = 10−3 s
1000 103
Ejemplo 1.4
1 ms → 10−3 s
𝑥 → 2,3 s
1 ms × 2,3 s 2,3 ms
𝑥= = = 2,3 × 103 ms = 2300 ms
10−3 s 10−3
Luego: 2,3 segundos es igual a 2300 milisegundos.
25
Ejemplo 1.5
Operando con los valores expresados en cm y ηs: 300000 km/s = 30 × 109 cm/109 ηs
30 × 109 cm → 109 ηs
𝑥 → 1 ηs
(30 × 109 cm) × 1 ηs
𝑥= = 30 cm
109 ηs
Luego, la velocidad de la luz es 30 cm/ηs.
Ejemplo 1.6
Si una línea transmite en serie a una velocidad de 2400 b/s. ¿Cuánto tardará en transmitir 1 MB?
Expresando los MB en bits:
1 MB = 220 B = 220 × 8 b
El tiempo que se tarda la línea para transmitir esta cantidad de bits es:
2400 b → 1 s
20
2 ×8b → 𝑥
(220 × 8 b) × 1 s
𝑥= = 3495,25 s
2400 b
Expresando el tiempo en minutos:
60 s → 1 minuto
3495,25 s → 𝑥
3495,25 s × 1 minuto
𝑥= = 58,25 minutos
60 s
Ejemplo 1.7
Una computadora transmite datos a una velocidad de 200 MB/s. Exprese esta velocidad en Kb/ms.
Utilizando factores de conversión:
MB MB 210 KB 8 Kb 10−3 s 10−3 Kb
200 = 200 × × × = 200 × 210 × 8 Kb × = 1638,4
s 𝑠 1 MB 1 KB 1 ms ms ms
Luego, 200 MB/s es igual a 1638,4 Kb/ms.
26
Estructura y Funcionamiento de Computadoras I Unidad 1 - Conceptos introductorios
1 1
𝑓= ; 𝑇=
𝑇 𝑓
Donde f es la frecuencia y T es el periodo o tiempo de ciclo.
27
Ejemplo 1.8
1 1
𝑓= ; 𝑇=
𝑇 𝑓
1 1 1 1 10−6 s 1 µs
𝑇= = = 6
= 6
= = = 0,002 µs = 2 ηs
𝑓 500 MHz 500 × 10 Hz 500 × 10 ciclos/s 500 ciclos 500 ciclos
Entonces, cada ciclo dura 𝑇 = 2 ηs
28
Estructura y Funcionamiento de Computadoras I Unidad 1 - Conceptos introductorios
En resumen…
El reloj de la CPU genera señales eléctricas en forma de pulsos a intervalos regulares. Estos pulsos
sincronizan todas las operaciones elementales de la computadora.
A la cantidad de pulsos generados por el reloj en 1 segundo se le denomina frecuencia de reloj y se
mide en ciclos por segundo (hercios o hertz). En computadoras actuales, este valor se expresa en GHz
(gigahertz: miles de millones de ciclos por segundo).
La frecuencia de reloj indica la velocidad del procesador (velocidad con que realiza sus operaciones más
básicas).
La velocidad del procesador es un factor importante en el ritmo de trabajo de una computadora. Otro
factor que incide en esto es la velocidad de transferencia de la memoria.
El tiempo de ciclo es el tiempo que transcurre entre dos pulsos de reloj.
La frecuencia del reloj y el tiempo de ciclo son cantidades inversas. Por ejemplo, si el valor de
frecuencia es de cuatro ciclos por segundo, el valor del tiempo de ciclo es un cuarto de segundo.
29
A esta generación pertenece la UNIVAC (1950), versión comercial del
ENIAC.
30
Estructura y Funcionamiento de Computadoras I Unidad 1 - Conceptos introductorios
En resumen…
La evolución histórica de las computadoras se divide en generaciones.
La clasificación entre generaciones se basa en la tecnología de los componentes fundamentales
utilizados en la fabricación de las computadoras (válvulas de vacío, transistores, circuitos integrados y
microprocesadores).
A grandes rasgos, las sucesivas generaciones de computadoras se caracterizan por:
Mejora tecnológica.
Miniaturización de partes (reducción de peso y volumen)
Mayor fiabilidad (incremento del tiempo medio de fallas).
Mayor velocidad de cálculo.
Menor consumo.
Mejores sistemas de explotación.
Mayores posibilidades de aplicación: aumento de la capacidad para resolver problemas.
31
unidad central es un microprocesador contenido en un solo chip. Entonces
las minis pasaron a ser las computadoras medianas, y las micro
permitieron que las computadoras invadieran los hogares, muchas veces
sólo para ser utilizadas con video juegos.
En un comienzo, además de presentar mayor tamaño, capacidad de
memoria y velocidad, las maxi computadoras operaban con palabras de 32
o 64 bits, las minis con 16 y las micro con 8. Hoy día el Pentium y otros
microprocesadores operan con palabras de más de 64 bits. Por otro lado a
medida que las minis y las micros pudieron tener una MP de gran
capacidad, incorporaron programas extensos y sistemas operativos que le
confirieron mayor posibilidad de procesamiento y manejo de periféricos,
obteniéndose rendimientos como muchas maxis de los años 70. A su vez
éstas se hicieron más chicas y veloces, con memorias de enorme capacidad.
Resulta así la diferencia entre un tipo u otro de computadoras, un
terreno sujeto a continuos cambios técnicos, y quizás en un futuro próximo
no sea el tamaño el patrón de la clasificación. En el presente existen
diversas clasificaciones de computadoras, en función de su velocidad y
potencia de procesamiento, ámbito de la aplicación, arquitectura del
hardware y otras características.
Una clasificación muy frecuente se hace atendiendo a la potencia o
capacidad, tomando como parámetros la longitud de palabra, la velocidad
de funcionamiento, la capacidad de la MP y el número de terminales o
usuarios. A continuación realizaremos la siguiente clasificación de mayor a
menor potencia:
Supercomputadoras
Macrocomputadoras
Minicomputadoras
Microcomputadoras
Supercomputadoras
La característica fundamental de este tipo de computadoras es su
rapidez; su longitud de palabra puede ser de 64 bits o más, contiene varios
procesadores o unidades centrales trabajando en paralelo diseñadas con
componentes de muy alta velocidad, con capacidad de MP de varios GB o
TB (Terabyte) y unidades de disco muy rápidas.
Se usan para aplicaciones con enormes cantidades de datos a
procesar y donde el tiempo de respuesta debe ser lo más corto posible; para
aplicaciones de tipo científico como los siguientes:
Búsqueda y estudio de la energía y armas nucleares.
Búsqueda de yacimientos petrolíferos con grandes bases de datos
sísmicos.
El estudio y predicción de tornados.
El estudio y predicción del clima de cualquier parte del mundo.
La elaboración de maquetas y proyectos de la creación de aviones,
simuladores de vuelo.
32
Estructura y Funcionamiento de Computadoras I Unidad 1 - Conceptos introductorios
Minicomputadoras
En 1960 surgió la minicomputadora, una versión más pequeña que la
macrocomputadora. Las minicomputadoras son de rango medio, se utilizan
en universidades, fábricas o laboratorios de investigación, también pueden
ser servidores de red.
Dos ejemplos típicos de este tipo de computadoras son las VAX de
Digital Equipment Corporation (DEC) y la AS/400 de IBM.
Actualmente se usan para almacenar grandes bases de datos,
automatización industrial y aplicaciones multiusuario. En cuanto a su
forma de operar se asemeja más a una macrocomputadora ya que fueron
diseñadas para:
Entornos de múltiples usuarios, apoyando múltiples actividades
de proceso al mismo tiempo.
Ofrecer ciertos servicios más específicos
33
Soportar un número limitado de dispositivos
Pequeñas y de menor costo que las macrocomputadoras
Para múltiples aplicaciones
Son algo mayores que las microcomputadoras.
Conservan algunas características de “mainframe”.
Servidores de Red
Son computadoras usadas interactivamente por múltiples usuarios
simultáneamente, pero a escala reducida de prestaciones y precio, usadas
normalmente en empresas de tipo medio. Son potentes con configuraciones
en monoprocesador o multiprocesador que pueden tener varios GB de
Memoria Principal y TB de disco, actúan interconectadas en una red de
área local o de gran área (Internet), pudiendo atender simultáneamente
cientos de accesos desde estaciones de trabajo, PC o terminales conectadas
a la red.
LA siguiente figura muestra un ejemplo de servidor de red aplicado
para interactuar con un sistema de información de gestión académica.
Microcomputadoras
Son aquellas computadoras cuyo componente principal es el
microprocesador, se pueden colocar en un escritorio o pueden llevarse de
una habitación a otra.
34
Estructura y Funcionamiento de Computadoras I Unidad 1 - Conceptos introductorios
Laptop/Notebook
Las computadoras Laptops son aquellas computadoras que están
diseñadas para poder ser transportadas de un lugar a otro. Se alimentan
por medio de baterías recargables, pesan entre 2 y 5 kilos y la mayoría trae
integrado una pantalla de LCD (Liquid Crystal Display).
35
Cada día son más atractivas, más pequeñas, con más servicios, con
más velocidad, estas computadoras portátiles volvieron a inundar vidrieras
para estar allí, llamándonos y sentir que la PC va con uno a cualquier parte
Netbook
Existe un tipo de notebook llamada
netbook. Las netbooks son más pequeñas,
livianas, de bajo costo, utilizadas para
navegar por Internet y realizar funciones
básicas como procesadores de textos. Tienen
pantallas de 10” a 13”, dispositivos de
almacenamiento de estado sólido, usan red
de WiFi, LAN, muchas se pueden utilizar en
redes de teléfono móvil. No tienen unidades
ópticas y pueden no tener discos duros. En
la imagen se muestra una notebook y una
netbook.
36
Estructura y Funcionamiento de Computadoras I Unidad 1 - Conceptos introductorios
37
Bibliografía
PRIETO ESPINOSA, LLORIZ RUIZ, TORRES CONTERO. "Introducción a la
Informática" - 3ra Edición McGrawGill, 2002
DE MIGUEL ANASAGASTI, Pedro. "Fundamentos de los Computadores"
GINZBURG, ALBARRACÍN. “Operación Programación de Computadoras" -
4ta Edición
STALLING, William."Organización y Arquitectura de Computadores"
MEINADIER, Jean Pierre. "Estructura y Funcionamiento de Computadores
Digitales"
GINZBURG, Mario C. "La PC por dentro. Arquitectura y funcionamiento de
computadores" – 3ra Edición, 2004
DUPERUT, Gabriel."El computador y su entorno" - 3ra Edición, 1999
38
Unidad 2
Representación de datos
Índice temático Unidad Nº 2 – Representación de datos
Unidad 2
Representación de datos
Esquema de contenidos
Binario
Bases de Decimal
numeración Hexadecimal
Sistemas de Conversión entre
numeración bases
Operaciones
aritméticas
n Coma Flotante
(Norma IEEE 754)
Reales
Formatos de BCD empaquetado
representación
BCD desempaquetado Longitud
Variable
ASCII
Alfanuméricos EBCDIC
UNICODE
2.1 Introducción
Básicamente, se puede decir que la computadora es una máquina que
procesa datos y que para realizar dicho procesamiento se debe tener en
cuenta cómo representar y codificar los datos internamente. Para ello es
menester conocer los procesos que transforman los datos externos a la
computadora en patrones de bits susceptibles de ser almacenados y
procesados por los elementos internos de la computadora.
Como ya se dijo en la Unidad 1, para hacer más fiable y menos
complejo el diseño de los componentes de la computadora, se utilizan dos
41
valores o estados posibles para las representaciones internas. Estos valores
conceptualmente se representan por cero (0) y uno (1) que corresponden a
dos estados posibles, por ejemplo a dos niveles de tensión eléctrica
claramente diferenciados.
En esta Unidad, se abordará la transformación de los datos “externos”
para ser representados como datos “internos” de tipo binario, los que luego
volverán a convertirse cuando los resultados se vuelquen al exterior. Se verá
en detalle el tratamiento de datos alfanuméricos y numéricos teniendo en
cuenta que el espacio de representación de las computadoras es finito, por
lo que se puede decir que no es posible representarlos a todos.
Los formatos de representación se pueden clasificar en cuatro tipos:
1. Representación de Textos: es la información usual que utilizan los
seres humanos empleando la ayuda de un alfabeto o conjunto de
caracteres. Algunos ejemplos de los códigos usados para esta
representación son: ASCII, EBCDIC y UNICODE.
2. Representación de Números: Los números necesitan una
representación adecuada para poder realizar operaciones
matemáticas, la cual está fundada en el sistema de numeración de
base 2. Serán desarrollados en esta unidad las representaciones sin
signo, signo y módulo, complemento a 1, complemento a 2, en exceso
a M, la representación en coma flotante de acuerdo a la norma IEEE
754 y el código BCD.
3. Representación de Sonidos: también denominadas señales de audio,
suelen ser de voz o música. Estas son captadas por un sensor que
transforma las señales originales en señales eléctricas analógicas, las
que finalmente son digitalizadas para poder ser tratadas por la
computadora.
4. Representación de Imágenes-Video: consiste en el tratamiento que
reciben las imágenes estáticas para poder ser representadas por una
computadora. La representación de imágenes dinámicas, tales como
las de video, suele realizarse como un conjunto sucesivo de imágenes
estáticas.
42
Estructura y Funcionamiento de Computadoras I Unidad 2 – Representación de datos
𝑏=2 𝑆2 = { 0, 1 }
𝑏=8 𝑆8 = { 0, 1, 2, 3, 4, 5, 6, 7 }
𝑏 = 10 𝑆10 = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }
𝑏 = 16 𝑆16 = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F }
43
Figura 2.2 Sistema de numeración
decimal.
832 = 8 × 𝟏𝟎𝟎 + 3 × 𝟏𝟎 + 2 × 𝟏
832 = 8 × 10𝟐 + 3 × 10𝟏 + 2 × 10𝟎
Luego, para formar el valor del número, cada dígito se multiplica por
su respectivo peso y se suman todos los productos:
44
Estructura y Funcionamiento de Computadoras I Unidad 2 – Representación de datos
(𝑛−1)
𝑉(𝑁) = ∑ 𝑑𝑖 × 𝑏 𝑖
𝑖=−𝑚
45
El valor relativo de un dígito en función de la posición que ocupa
es igual al producto 𝑑𝑖 × 𝑏 𝑖 , donde
d : valor intrínseco del dígito.
b : base del sistema de numeración.
i : orden del dígito.
Finalmente, un número queda determinado por la sumatoria de
los valores relativos (𝑑𝑖 × 𝑏 𝑖 ) de los dígitos que forman el número.
(Teorema Fundamental de la Numeración)
46
Estructura y Funcionamiento de Computadoras I Unidad 2 – Representación de datos
Figura 2.3 Método de divisiones sucesivas para convertir una cantidad entera a base b.
Figura 2.4 Conversión de decimal a binario de una cantidad entera por método de divisiones sucesivas.
47
Parte fraccionaria. Método de multiplicaciones sucesivas
Para convertir la parte fraccionaria de N10 a la base b, se aplica el
método de multiplicaciones sucesivas. Este método consiste en multiplicar
la parte fraccionaria de N10 por la base b y luego repetir la operación con la
parte fraccionaria de cada resultado obtenido. El método se aplica hasta
que la nueva parte fraccionaria obtenida sea cero o resulte igual a una
anterior. Al finalizar, la parte fraccionaria de N10 expresada en sistema base
b se forma con la parte entera de los resultados de cada multiplicación,
tomándolos en el mismo orden en el que fueron obtenidos.
La Figura 2.5 muestra un ejemplo de conversión de decimal a binario
por multiplicaciones sucesivas.
48
Estructura y Funcionamiento de Computadoras I Unidad 2 – Representación de datos
Figura 2.6 Ejemplo de conversión de decimal a binario con parte fraccionaria periódica.
49
Figura 2.7 Ejemplo de conversión de decimal a binario.
50
Estructura y Funcionamiento de Computadoras I Unidad 2 – Representación de datos
Figura 2.8 Conversión de un número entero de decimal a binario por método de restas sucesivas.
51
Figura 2.9 Conversión de un número fraccionario de decimal a binario por método de sumas sucesivas.
Observación:
En algunos casos es necesario utilizar infinitos términos para que la
sumatoria alcance la parte fraccionaria. En este caso se debe truncar a un
cierto número de cifras, y por consiguiente no se puede alcanzar la
igualdad. Un caso particular de infinitas cifras es cuando existe un período
(grupos de cifras que se repiten).
Ejemplo: N10 = 0,6 = 0,1001 1001 1001...2
Ejemplo 2.1
Convertir a decimal los siguientes números binarios:
1101002 = 1 × 25 + 1 × 24 + 0 × 23 + 1 × 22 + 0 × 21 + 0 × 20 = 5210
0, 1012 = 1 × 2−1 + 0 × 2−2 + 1 × 2−3 = 0,5 + 0,125 = 0,62510
52
Estructura y Funcionamiento de Computadoras I Unidad 2 – Representación de datos
Ejemplo 2.2
Convertir a decimal el número A798C,1E16
53
2.2.4. Conversiones entre binario y hexadecimal
Como hemos descrito, una desventaja del sistema binario es que la
representación de valores requiere más dígitos que en los demás sistemas.
Por el contrario, el sistema hexadecimal es más compacto y proporciona un
mecanismo muy sencillo de conversión a sistema binario debido a que las
bases se encuentran relacionadas por la expresión 24 = 16. Esta relación
significa por una parte que con cuatro dígitos binarios pueden obtenerse 16
combinaciones distintas, pero como esta cantidad coincide con la base
hexadecimal, la relación también implica que para identificar un dígito
hexadecimal se requieren cuatro dígitos binarios, como muestra la Tabla
2.1.
54
Estructura y Funcionamiento de Computadoras I Unidad 2 – Representación de datos
Ejemplo 2.3
Convertir a binario el número 27A,616
Escribimos las equivalencias en binario para cada dígito hexadecimal:
N16 = 2 7 A , 6
0010 0111 1010 , 0110
Ejemplo 2.4
Convertir a hexadecimal el número 1 1100,1011 0111 0112
Observación:
Se invita al lector a verificar las operaciones de conversión de
bases entre los distintos sistemas de numeración utilizando las funciones
de ingeniería de Microsoft Excel. Algunas de ellas son:
BIN.A.DEC convierte de binario a decimal
DEC.A.HEX convierte de decimal a hexadecimal
OCT.A.HEX convierte de octal a hexadecimal
55
2.2.5. Aritmética en los sistemas de numeración
Las operaciones aritméticas de adición, sustracción, multiplicación y
división, son esencialmente igual en todos los sistemas de numeración
posicional. A los fines de esta materia sólo presentaremos las operaciones
aritméticas de suma y resta en los sistemas binario y hexadecimal.
Adición
Las reglas prácticas para sumar en base b son:
Se ordenan los sumandos uno debajo del otro, alineados para operar con
los dígitos de igual orden.
Se calcula en decimal la suma de los dígitos del mismo orden,
comenzando con los dígitos de orden menor.
Si la suma es menor que b, el resultado expresado en base b es de un
solo dígito y su valor coincide con la suma decimal.
Si la suma es mayor o igual que b, se debe recurrir a la posición de orden
siguiente para expresar el valor. Esto se hace restando b unidades al
resultado, teniendo en cuenta que cada vez que se resta la base se debe
aumentar en una unidad el dígito del orden siguiente (próxima columna
a la izquierda). La unidad que “se lleva” al orden siguiente se denomina
acarreo.
Sustracción
Como hemos planteado, la resta en base b se realiza de la misma
manera que en sistema decimal. Sólo se debe tener en cuenta, la siguiente
salvedad: Cuando el sustraendo es mayor al minuendo y es necesario “pedir
prestado” al dígito de la izquierda, se piden b unidades. Esta regla es la
misma para cualquier base, pero estamos tan familiarizados a su aplicación
en el sistema decimal que quizás perdemos de vista que en ese caso el
“pido” es de diez unidades.
S1) 0 + 0 = 0
S2) 0 + 1 = 1
S3) 1 + 0 = 1
S4) 1 + 1 = 0 y se lleva 1 al orden siguiente.
La sumas 0+0, 0+1 y 1+0 son evidentes, pero la suma 1+1, cuyo
resultado en decimal es 2, debe escribirse en binario como 10. En este caso,
al resultado se le debe restar la base, por eso la regla expresa que “1+1=0 y
se lleva 1 al orden siguiente”.
La Figura 2.11 muestra los pasos realizados en una suma de ejemplo.
56
Estructura y Funcionamiento de Computadoras I Unidad 2 – Representación de datos
57
Figura 2.12 Ejemplo de suma binaria dividida en sumas parciales de dos operandos..
R1) 0 - 0 = 0
R2) 1 - 0 = 1
R3) 1 - 1 = 0
R4) 0 - 1 = 1 tomando prestado 1 del orden siguiente.
58
Estructura y Funcionamiento de Computadoras I Unidad 2 – Representación de datos
Ejemplo 2.5
59
2.2.5.2 Aritmética en el Sistema Hexadecimal
Adición. Como planteamos anteriormente, la operación de suma se realiza
siguiendo las mismas reglas. En caso de base 16, se debe recordar las
equivalencias para los valores de 10 a 15 (dígitos A a F).
Aunque los pasos son los mismos que en base decimal, cuando la
suma de dos dígitos excede la base, el cálculo mental del dígito resultado
puede resultar confuso. Por ello, es conveniente explicitar la resta que se
realiza para calcular el acarreo.
Ejemplos: 8 3
+9 +5
17 Suma decimal 8 Suma decimal
-16 Modificación -0 Modificación
1 1 Suma en hexadecimal 8 Suma hexadecimal
Ejemplo 2.6
Ejemplo 2.7
60
Estructura y Funcionamiento de Computadoras I Unidad 2 – Representación de datos
N + C(N) = bn
C(N) = bn − N
Ejemplo 2.8
Encontrar el complemento a la base de los siguientes números: 310 , 5310 , 1102 y 10012 ,
Identificando los valores de b y n en cada caso y aplicando la definición de complemento a la base, tenemos:
Por definición de complemento a la base: C(N) = bn – N
310 b = 10 ; n = 1, luego:
C10(310) = (101)10 – (3)10 = 1010 – 310 = 710
5310 b = 10 ; n = 2, luego:
C10(5310) = (102)10 – (53)10 = 10010 – 5310 = 4710
1102 b = 2 ; n = 3, luego:
C2(1102) = (1011)2 – (110)2 = 10002 – 1102 = 102
10012 b = 2 ; n = 4, luego:
C2(10012) = (10100)2 – (1001)2 = 100002 – 10012 = 1112
N + C ′ (N) = (bn − 1)
C ′ (N) = (bn − 1) − N
61
Ejemplo 2.9
Encontrar el complemento a la base menos uno de los siguientes números: 310 , 5310 , 1102 y 10012 ,
Identificando los valores de b y n en cada caso y aplicando la definición de complemento a la base menos uno,
tenemos:
Por definición de complemento a la base menos uno: C’(N) = (bn – 1) – N
310 b = 10 ; n = 1, luego:
C9(310) =( (101)10 – (1)10 ) – (3)10 = (1010 – 110) – 310 = 910 – 310 = 610
5310 b = 10 ; n = 2, luego:
C9(5310) =( (102)10 – (1)10 ) – (53)10 = (10010 – 110) – 5310 = 9910 – 5310= 4610
1102 b = 2 ; n = 3, luego:
C1(1102) = ( (1011)2 – (1)10 ) – (110)2 = (10002 – 12) – 1102 = 1112 – 1102 = 12
10012 b = 2 ; n = 4, luego:
C1(10012) =( (10100)2 – (1)10 ) – (1001)2 = (100002 – 12) – 10012 = 11112 – 10012 = 1102
Ejemplo 2.10
Ejemplo 2.11
Resolver la operación 8 – 3 expresada en decimal trabajando con complemento a la base menos uno
(complemento a nueve).
Como el número se encuentra representado con un solo dígito, n = 1. Luego:
C9(3) = (101 – 1) – 3 = 9 – 3 = 6
La operación 8 – 3 utilizando complemento a nueve es:
8 – 3 = 8 + C9(3) = 8 + 6 = 4 + 1 = 5 (En el resultado final se suma el acarreo producido en 8 + 6 = 14)
62
Estructura y Funcionamiento de Computadoras I Unidad 2 – Representación de datos
En complemento a la base:
C(C(N)) = bn − C(N)
C(C(N)) = bn − (bn − N)
C(C(N)) = bn − bn + N)
C(C(N)) = N
En resumen:
El complemento de un número es la diferencia entre dicho
número y otro dado como referencia.
Los valores de referencia bn y (bn – 1) definen el complemento a la
base y el complemento a la base menos uno, respectivamente.
Para representar un número negativo se puede utilizar el
complemento de ese número a la base o a la base menos uno en
el sistema de numeración utilizado.
La utilidad del complemento radica en que permite transformar,
restas en sumas, con ciertas precauciones.
El complemento del complemento de N, es N.
63
Complemento a 1 de un número N: Para realizar la operación C1(N) en
forma práctica, se expresa N en binario y luego se escribe el
complemento lógico bit a bit.
Figura 2.14 Cálculo por definición y método práctico para encontrar C1(N) como complemento lógico bit a bit de N.
Demostración:
𝐶1 (𝐶1 (𝑁)) = 𝐶1 ((2𝑛 − 1) − 𝑁) se reemplazó C1(N) por su definición 2n - N
𝑛 𝑛
𝐶1 (𝐶1 (𝑁)) = (2 − 1) − (2 − 1 − 𝑁) se reemplazó C1 por su definición
𝑛 𝑛
𝐶1 (𝐶1 (𝑁)) = 2 − 1 − 2 + 1 + 𝑁 se quitan paréntesis y cambian los signos
Luego: 𝐶1 (𝐶1 (𝑁)) = 𝑁
64
Estructura y Funcionamiento de Computadoras I Unidad 2 – Representación de datos
Figura 2.15 Cálculo por definición y métodos prácticos para encontrar C2(N).
Demostración:
𝐶2 (𝐶2 (𝑁)) = 𝐶2 (2𝑛 − 𝑁) se reemplazó C2(N) por su definición 2n - N
𝐶2 (𝐶2 (𝑁)) = 2𝑛 − (2𝑛 − 𝑁) se reemplazó C2 por su definición
𝐶2 (𝐶2 (𝑁)) = 2𝑛 − 2𝑛 + 𝑁 se quitan paréntesis y cambian los signos
Luego: 𝐶2 (𝐶2 (𝑁)) = 𝑁
65
Subconjunto Descripción Ejemplos
Números que designan la cantidad de
elementos de un conjunto. No tienen parte
Naturales 0, 1, 2, 3, 4, ...
fraccionaria, son los “enteros positivos”
66
Estructura y Funcionamiento de Computadoras I Unidad 2 – Representación de datos
- Complemento a 1 (Enteros)
- Complemento a 2 (Enteros)
- En exceso a M (Enteros)
- Coma flotante (Racionales e Irracionales)
De esta manera, los formatos de longitud fija son aquellos que utilizan
una cantidad determinada de bits asignados para la representación.
Los formatos de longitud variable, como su nombre lo indica, tendrán
un tamaño variable que dependerá de la cantidad de caracteres a
representar, correspondiéndole en la mayoría de los casos 1 byte/carácter.
𝑖=0
Ejemplo 2.12
Rango de representación
En binario puro de n bits, el menor número corresponde a la
combinación en la cual todos los bits son 0, que de acuerdo al TFN,
representa al número cero. El mayor número corresponde a la combinación
que tiene todos los bits igual a 1, cuyo valor es 2n –1. Por lo tanto, el rango
para este tipo de representación R = [0, 2n –1].
67
Ejemplo 2.13
Ejemplo 2.14
68
Estructura y Funcionamiento de Computadoras I Unidad 2 – Representación de datos
Ejemplo 2.15
69
Rango de representación
Como en Signo y Módulo se reserva el primer bit para el signo, de la
longitud total n solamente quedan (n-1) bits para representar el módulo.
Con (n-1) bits se pueden generar 2n-1 combinaciones.
La Figura 2.17 muestra cómo se representan los números en sistema
Signo y Módulo de n bits. Para los enteros positivos, el bit de signo toma el
valor S=0 y el rango es R = {+0, (2n-1 – 1)}. De manera similar, los números
negativos se representan con S=1 y el rango es R = {–(2n-1 – 1), –0}.
Por tanto, el rango de representación en Signo y Módulo de n bits es
R = {–(2n-1 – 1), (2n-1 – 1)}.
Ejemplo 2.16
Calcular el número máximo, el mínimo y el rango de representación que existe trabajando en Signo y Módulo
de 8 bits.
La cantidad de números negativos es: 2n-1 = 28-1 = 128 (se considera un bit menos por el de signo). El mismo
razonamiento es válido para los números positivos.
El rango para los negativos es: desde -(2n-1 - 1) = -(28-1 - 1) = -127 hasta -0 (se descarta una combinación para el
cero negativo)
El rango para los positivos es: desde +0 hasta (2n-1 - 1) = (28-1 - 1) = 127 (se descarta una combinación para el
cero positivo).
Luego: El número mínimo es: -127 es decir 11111111
El número máximo es: 127 es decir 01111111
El rango de representación es R = {-127, 127}
70
Estructura y Funcionamiento de Computadoras I Unidad 2 – Representación de datos
En resumen…
En el Sistema de Representación Signo y Módulo de n bits:
Se pueden representar números enteros positivos y negativos.
El primer bit indica el signo del número.
El rango de representación es simétrico: R = {–(2n–1 – 1) , (2n–1 – 1)}.
Existen dos representaciones para el cero: 0000... y 1000…
Para representar un número N en Sistema de Representación Signo y Módulo, el bit de mayor orden
(bit de signo) adopta el valor 0 o 1 según el signo de N y los (n-1) bits restantes representan el valor
absoluto de N en binario puro.
La realización de operaciones aritméticas presenta dificultades.
71
sistema un número negativo –N se representa con el Complemento a 1 de
+N, la operación C1(N) puede interpretarse como un cambio de signo.
Recordando lo descrito en la definición de la operación Complemento a
1, la referencia para hallar el complemento es el valor (2n – 1). El cálculo
puede hacerse por definición: C1(N) = (2n – 1) – N o aplicando el método
práctico. El método práctico para hallar el complemento a uno de un
número N consiste en expresar N en binario con n bits y luego cambiar bit a
bit los ceros por unos y los unos por ceros.
Ejemplo 2.17
Rango de representación
Dada una longitud n, los números positivos se representan con el bit
dn-1 igual a 0 y con la magnitud en Binario Puro. Por tanto, este sistema
permite representar números positivos desde 0 hasta (2n-1 –1).
Por otro lado, los números negativos se representan mediante su
Complemento a 1. Para determinar el rango de los números negativos hay
que calcular el mínimo y el máximo representable.
72
Estructura y Funcionamiento de Computadoras I Unidad 2 – Representación de datos
Ejemplo 2.18
Calcular el número máximo, el mínimo y el rango de representación que existe trabajando en sistema de
representación Complemento a 1 de 8 bits.
Al igual que en sistema Signo y módulo, se debe discriminar el estudio del rango en números negativos y
positivos.
La cantidad de combinaciones para números negativos es: 2n−1 = 28−1 = 27 = 128 (se considera un bit
menos por el de signo). Esto también es válido para los números positivos.
El rango para números negativos es:
Desde: – (2n−1 − 1) = −(28−1 − 1) = −(27 − 1) = −(128 − 1) = −127
Hasta: –0 (se utiliza una combinación para el cero)
El rango para los números positivos es:
Desde: +0
Hasta: (2n−1 − 1) = (27 − 1) = (128 − 1) = 127 (se utiliza una combinación para el cero)
El número mínimo es: -127 es decir 1000 0000
El número máximo es: 127 es decir 0111 1111
Luego, El rango en SRC1 de 8 bits es R = {–127, 127}
73
Ejemplo 2.19
En resumen…
En el Sistema de Representación Complemento a 1 de n bits:
Se pueden representar números enteros positivos y negativos.
El rango de representación es simétrico: R = {–(2n–1 – 1) , (2n–1 – 1)}.
Existen dos representaciones para el cero.
El primer bit indica el signo del número, pero forma parte del mismo.
Si N es positivo se expresa en binario puro, si es negativo se representa mediante el C1(N)
El Complemento a 1 de un número N por definición es: C1(N) = (2n – 1) – N.
Como método práctico, C1(N) se puede obtener cambiando 0 por 1 y 1 por 0 en la expresión binaria de
N (complemento lógico).
Para obtener el número original N a partir de su Complemento a 1, se calcula el complemento del
complemento: C1(C1(N)) = N
Se pueden realizar operaciones aritméticas con mayor simplicidad que en Signo y Módulo.
74
Estructura y Funcionamiento de Computadoras I Unidad 2 – Representación de datos
Ejemplo 2.20
Rango de representación
Como se expuso anteriormente, en el SRC2, los números positivos se
representan en binario puro. Teniendo en cuenta que en tal caso el bit dn-1
correspondiente al dígito de mayor orden ha de ser 0, este sistema permite,
por tanto, representar los enteros positivos desde 0 hasta (2n-1 – 1) es decir,
el rango positivo es R+ = {0 , (2n-1 – 1)}
Por otro lado, los números negativos se representan en complemento a
dos, que se calcula restando el valor de referencia 2n menos la magnitud del
número negativo a representar. Para determinar el rango de los números
negativos hay que calcular el mínimo y el máximo representable.
75
Entonces: Valor mínimo negativo = –(2n-1)
Ejemplo 2.21
Calcular el número máximo, el mínimo y el rango de representación que existe trabajando en sistema de
representación Complemento a 2 de 8 bits.
Al igual que en sistema Signo y módulo, se debe discriminar el estudio del rango en números negativos y
positivos.
La cantidad de combinaciones para números negativos será: 2n−1 = 28−1 = 27 = 128 (se considera un bit
menos por el de signo). Esto es también válido para los números positivos.
El rango para números negativos será: desde −2n−1 = −28−1 = −27 = −128 hasta –1 (no se considera la
combinación para el cero, al ser éste positivo)
El rango para los números positivos será: desde 0 hasta (2n−1 − 1) = (27 − 1) = (128 − 1) = 127 (en este
caso sí se considera una combinación para el cero , al ser éste positivo)
El número mínimo será: -128 es decir 1000 0000
El número máximo será: 127 es decir 0111 1111
Luego, El rango de representación en SRC2 de 8 bits será: [–128, 127]
76
Estructura y Funcionamiento de Computadoras I Unidad 2 – Representación de datos
Ejemplo 2.22
Ejemplo 2.23
77
En resumen…
En el Sistema de Representación Complemento a 2 de n bits:
Se pueden representar números enteros positivos y negativos.
El rango de representación es asimétrico: R = {–(2n–1) , (2n–1 – 1)}.
La representación para el cero es única.
El primer bit indica el signo del número, pero forma parte del mismo.
Si el número N es positivo se expresa en binario puro, si es negativo se representa mediante el C2(N).
El Complemento a 2 de un número N por definición es: C2(N) = 2n – N.
Como método práctico, el Complemento a 2 de N se puede obtener como C1(N) + 1.
Para obtener el número original N a partir de su Complemento a 2, se calcula el complemento del
complemento: C2(C2(N)) = N.
Se pueden realizar operaciones aritméticas con mayor simplicidad, sin tener en cuenta el signo de los
operandos.
Ejemplo 2.24
78
Estructura y Funcionamiento de Computadoras I Unidad 2 – Representación de datos
En resumen…
En el Sistema de Representación Exceso a M de n bits:
Se pueden representar números enteros positivos y negativos.
El rango de representación es asimétrico: R = {–(2n–1) , (2n–1 – 1)}.
Para representar un número N, se calcula el Exceso a M y el resultado se expresa en binario puro.
El Exceso a M se calcula sumando el valor M al número N. de tal forma que el número resultante
siempre es positivo, por lo tanto no hace falta reservar un bit de signo.
Como valor de M suelen emplearse M = 2n–1 y M = (2n–1 – 1)
79
coma fraccionaria flota de derecha a izquierda y viceversa. Es muy útil
cuando se manipulan números muy grandes o muy pequeños, como puede
apreciarse en el siguiente ejemplo:
Ejemplo 2.25
Normalización
Las representaciones equivalentes que muestra el Ejemplo 2.25 para
cada número, no son únicas. Observe que el valor 0,00000001257 podría
expresarse como 12,57 × 10-9, o bien como 125,7 × 10-10. Sin embargo, la
notación científica propone utilizar la expresión equivalente que tenga la
parte entera formada por una sola cifra significativa, es decir el coeficiente c
debe ser tal que 0 < c < b. La expresión equivalente obtenida con este
criterio se denomina forma normalizada.
Como hemos descripto, la forma normalizada se obtiene, según sea
necesario, multiplicando o dividiendo por la base, y ajustando los valores de
la mantisa y el exponente de manera tal que se conserve el valor original del
número.
Ejemplo 2.26
Nótese que para optimizar el uso de los n bits, no se reservan bits para
representar el coeficiente c, ya que en base binaria, los valores
normalizados siempre presentan c=1, y por lo tanto, puede omitirse en la
80
Estructura y Funcionamiento de Computadoras I Unidad 2 – Representación de datos
81
La norma IEEE 754
La norma IEEE 754 especifica la representación de números reales a
través de un formato de coma flotante que utiliza un número fijo de bits. Se
consideran dos formatos básicos:
S Exponente Mantisa
S Exponente Mantisa
Ejemplo 2.27
82
Estructura y Funcionamiento de Computadoras I Unidad 2 – Representación de datos
Ejemplo 2.28
Suponiendo que el exponente se almacena en 8 bits, y el exceso es M=127, se producirán las siguientes
transformaciones entre exponentes originales del número y exponentes almacenados en la Norma IEEE 754
Ejemplo 2.29
S Exponente Mantisa
0 10000010 10001100000000000000000
83
Otra manera de representar el número en coma flotante es dividir los
32 bits en campos de 4 bits y expresarlos en hexadecimal de la siguiente
manera:
4 1 4 6 0 0 0 0 Notación compacta
hexadecimal
Ejemplo 2.30
S Exponente Mantisa
1 01110111 01000000000000000000000
Formateado en campos de 4 bits la representación es BBA00000
84
Estructura y Funcionamiento de Computadoras I Unidad 2 – Representación de datos
Ejemplo 2.31
Ejemplo 2.32
La siguiente tabla muestra valores representados en formato IEEE 754 de precisión simple. En la primera
columna están los valores en notación hexadecimal (8 dígitos), en la segunda columna se muestran los 32 bits
de la representación y en la tercera columna se encuentra la formación del valor a partir de los valores del bit
de signo y el exponente, agregando el bit implícito.
3F 80 00 00 0011 1111 1000 0000 0000 0000 0000 0000 1,000000000...0 × 20 = 1.0
BF 80 00 00 1011 1111 1000 0000 0000 0000 0000 0000 -1,000000000...0 × 20 = -1.0
40 00 00 00 0100 0000 0000 0000 0000 0000 0000 0000 1,000000000...0 × 21 = 2.0
3F 00 00 00 0011 1111 0000 0000 0000 0000 0000 0000 1,000000000...0 × 2-1 = 0,5
3F C0 00 00 0011 1111 1100 0000 0000 0000 0000 0000 1,100000000...0 × 20 = 1,5
85
Observación:
Para facilitar al lector la realización de algunos ejemplos que le
permitan terminar de comprender y comprobar estas reglas, en la siguiente
página web se incluye un convertidor automático de formatos que permite
introducir un número en formato decimal (incluso en notación científica), y
comprobar el aspecto de su almacenamiento binario según el Estándar
IEEE 754. El convertidor, permite obtener la representación en simple y
doble precisión para el número dado.
www.zator.com/Cpp/E2_2_4a.htm e ingresar al vínculo Convertidor
Casos Especiales
El estándar IEEE 754 considera varios casos especiales como
excepciones a la norma:
86
Estructura y Funcionamiento de Computadoras I Unidad 2 – Representación de datos
En precisión simple:
Desde: 0,0000 0000 0000 0000 0000 001 × 2-127 = 2-23 × 2-127 = 2-150
Hasta: 0,1111 1111 1111 1111 1111 111 × 2-127 1 × 2-127 = 2-127
En precisión doble:
Desde: 0,0000 … 0001 × 2-1023 = 2-52 × 2-1023 = 2-1075
Hasta: 0,1111 … 1111 × 2-1023 1 × 2-1023 = 2-1023
Valores infinitos
El estándar utiliza la combinación representación de e = 1…111 (todos
unos) y m = 0…000 (todos ceros) para indicar los valores infinito positivo o
negativo., según el valor del bit de signo. Estos valores se utilizan para
indicar condiciones de desbordamiento, esto es que, el resultado obtenido
en la última operación realizada excede el rango de representación.
Esta distinción ha permitido al estándar definir procedimientos para
continuar las operaciones después que se produce un desbordamiento.
Ejemplo:
0 11111111 00000000000000000000000 = +
1 11111111 00000000000000000000000 = -
Valores no numéricos
Cuando e = 255 y m ≠ 0. Se identifican por un exponente con todos
sus valores a 1, y un valor distinto de cero para la mantisa.
Indican valores indeterminados u operaciones no válidas.
Ejemplo:
0 11111111 10000100000000000000000
1 11111111 00100010001001010101010
87
+ 0 < Exp < Max Cualquier patron bits
-
Normalizado
+ 0 0
Cero -
+ 1111...1 0
Infinito -
Figura 2.19 Cuadro resumen de casos especiales del formato IEEE 754.
88
Estructura y Funcionamiento de Computadoras I Unidad 2 – Representación de datos
Ejemplo 2.33
Convertir a decimal el siguiente número representado en la Norma IEEE 754 de precisión simple expresado en
notación compacta hexadecimal: BF80 0000
En este caso, lo primero que debe hacerse es convertir los dígitos hexadecimales a binario:
B F 8 0 0 0 0 0
1011 1111 1000 0000 0000 0000 0000 0000
Teniendo en cuenta que por ser de precisión simple, la distribución de bits tomados de izquierda a derecha es:
1 bit de Signo, 8 bits de exponente y 23 bits de mantisa, nos queda:
S Exponente Mantisa
1 0111 1111 0000 0000 0000 0000 0000 000
Para encontrar el número representado, se procede de manera inversa a la realizada en la conversión a
formato IEEE754
1. Obtener el valor del exponente. El exponente en simple precisión está representado en Exceso 127. Para
hallar el exponente se debe convertir la representación en exceso a decimal y restarle 127 :
Representación en Exceso 127 = 0111 1111 = (127)10
e = Representación en Exceso – 127 = 127 – 127 = 0
2. Obtener la mantisa. La mantisa se obtiene tomando los bits correspondientes de la representación del
número:
m = 0000 0000 0000 0000 0000 000
3. Obtener el número sin normalizar. Primero se debe obtener la forma normalizada 1,m x be aplicando el
exponente a la mantisa y teniendo en cuenta el uno tácito (la representación según la Norma IEEE754 omite
el 1 que está delante de la coma en 1,m):
Valor normalizado = 1,0000 0000 0000 0000 0000 000 x (20)10
Nota: Se muestra be en base 10 para mayor claridad.
Luego, al resolver la forma normalizada se obtiene el número sin normalizar. El método práctico consiste en
desplazar la coma tantos lugares como indique el exponente, hacia la derecha o hacia la izquierda según el
signo del exponente. En este caso el exponente es cero, luego:
N2 = 1, 0000 0000 0000 0000 0000 000 x (1) = 1,0000 0000 0000 0000 0000 0002 = 12
4. Convertir el número a decimal. La conversión a decimal queda:
12 = 110
5. Determinar el signo del número. La representación del número tiene S = 1, lo que indica que el número es
negativo. Por lo tanto:
N10 = -1
89
En resumen…
En el Sistema de Representación según la norma IEEE 754:
Se pueden representar números reales.
La representación se basa en la expresión binaria en notación científica del número: N = 1,m × be ,
donde N es un número real positivo o negativo, m es la mantisa (parte fraccionaria), b es la base
binaria y e el exponente.
Existen dos formatos básicos: simple precisión (32 bits) y doble precisión (64 bits).
La precisión simple utiliza 1 bit de signo, 8 bits para el exponente y 23 bits para la mantisa.
La precisión doble utiliza 1 bit de signo, 11 bits para el exponente y 52 bits para la mantisa.
Para representar un número N, el primer paso es expresarlo en binario puro y luego normalizarlo, esto
es, llevarlo a la forma 1,m × be
El primer bit indica el signo del número.
El exponente e se representa en Exceso 127 o Exceso 1023, según sea el formato de la representación
(precisión simple o doble).
La mantisa m es la parte fraccionaria del número normalizado; es decir, no se representa el "1",
denominado uno implícito., pero al formar el número a partir de su representación, hay que tener en
cuenta que este 1 forma parte del valor del número.
Nº
Precisión
Tipo de Rango de valores
(dígitos decimales)
bits
Carácter 8 -128 a 127 ---
Carácter sin signo 8 0 a 255 ---
Enumerado 16 -32.768 a 32.767 ---
Entero corto 8 -128 a 127 ---
Tipos
Entero corto sin signo 8 0 a 255 ---
Enteros
Entero 16 -32.768 a 32.767 ---
Entero sin signo 16 0 a 65.535 ---
Entero largo 32 -2.147.483.648 a 2.147.483.648 ---
Entero largo sin signo 32 0 a 4.294.967.295 ---
Coma flotante 32 ± [3,4E-38 a 3,4E38], 0 7
Tipos
Coma flotante doble 64 ± [1,7E-308 a 1,7E308], 0 15
Reales
Coma flotante doble largo 80 ± [3,4E-4932 a 1,1E4932], 0 19
Tabla 2.4 Principales tipos de datos en C++ (compilador Borland C++ para PC)
90
Estructura y Funcionamiento de Computadoras I Unidad 2 – Representación de datos
Definiciones de error
Los errores numéricos surgen del uso de aproximaciones para
representar operaciones y valores verdaderos. Éstos incluyen los errores de
truncamiento que resultan del empleo de aproximaciones siempre por
defecto, por insuficiencia de precisión para representar el valor verdadero, y
los errores de redondeo, que están motivados por el mismo argumento que
los anteriores, pero que a diferencia de los de truncamiento, a veces se
producen por defecto y otras veces en exceso.
Para ambos tipos de errores, la relación entre el resultado verdadero y
el aproximado está dada por:
Valor verdadero = Valor aproximado + Error
o
Error = Valor verdadero - Valor aproximado
91
Ejemplo:
Calculemos el error cometido al tomar el valor Va 8,14 como una
aproximación con 2 decimales, del número Vv 8,14593.
Tenemos:
E Vv – Va 8,14593 – 8,14 = 0,00593
Ejemplos:
7
a) 2,33333... redondeado a 4 cifras significativas se representa igual
3
que si truncamos.
8
b) 2,66666... si lo redondeamos a 6 cifras significativas se aproxima
3
como 2,66667.
92
Estructura y Funcionamiento de Computadoras I Unidad 2 – Representación de datos
93
Ejemplo 2.34
Por lo tanto, el número 175,62 se representa en BCD con 3 Bytes y quedaría de la siguiente manera:
N = 0000 0001 0111 0101 0110 0010
Utilizando notación compacta hexadecimal:
N = 01 75 62
Ejemplo 2.35
94
Estructura y Funcionamiento de Computadoras I Unidad 2 – Representación de datos
En resumen…
El Sistema de Representación BCD:
Permite la representación de datos numéricos.
Representa cada dígito decimal mediante 4 bits (medio byte).
Permite realizar operaciones aritméticas (no ha sido explicado).
Existe un alto número de combinaciones desaprovechadas.
Existen dos formatos de BCD: empaquetado (4 bits/dígito) y desempaquetado (8 bits/dígito).
Es un formato de longitud variable, ya que la cantidad de bytes que ocupe la representación
dependerá de la cantidad de dígitos que tenga el número.
95
d) Caracteres geométricos y gráficos: son los símbolos con los que se
pueden representar formas geométricas o íconos elementales: ¶, ☼, ♀,▬,
▲, ▼, ←
e) Caracteres de control: representan órdenes de control. Estos son
insertados en los textos por los usuarios o por los programas de control
de periféricos o de comunicación. Algunos ejemplos son:
NL: pasar a la línea siguiente
CR: ir al comienzo de una línea
SYN: sincronización de una transmisión
Bits 7654
0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
3210 0000
0000 NUL DLE SP 0 @ P ` p Ç É á ░ ┴ Ð ß ±
0001 SOH DC1 ! 1 A Q a q ü æ í ▒ ┬ Ê Ô ‗
0010 STX DC2 “ 2 B R b r é Æ ó │ ├ Ë Ò ¾
0011 ETX DC3 # 3 C S c s â ô ú ┤ ─ È õ ¶
0100 EOT DC4 $ 4 D T d t ä ö ñ Á ┼ ı Õ §
0101 ENQ NAK % 5 E U e u à ò Ñ Â ã Í µ ÷
0110 ACK SYN & 6 F V f v å û ª À Ã Î þ ¸
0111 BEL ETB ‘ 7 G W g w ç ù º © ╚ Ï Þ °
1000 BS CAN ( 8 H X h x ê ÿ ¿ ╣ ╔ ┘ Ú ¨
1001 HT EM ) 9 I Y i y ë Ö ® ║ ╩ ┌ Û ·
1010 LF SUB * : J Z j z è Ü ¬ ╗ ╦ █ Ù ¹
1011 VT ESC + ; K [ k { ï ø ½ ╝ ╠ ▄ ý ³
1100 FF FS , < L \ l | î £ ¼ ¢ ═ ¦ Ý ²
1101 CR GS - = M ] m } ì Ø ¡ ¥ ╬ Ì ¯ ■
1110 SO RS . > N ^ n ~ Ä × « ┐ ¤ ▀ ´ �
1111 SI US / ? O _ o • Å ƒ » └ ð Ó
96
Estructura y Funcionamiento de Computadoras I Unidad 2 – Representación de datos
Ejemplo 2.36
Represente en código ASCII extendido usando notación en binario y hexadecimal la cadena “Hola”.
Como la conversión es directa, cada carácter es representado en un byte. De acuerdo con la Tabla 2.5. sería:
Hola = 0100 1000 0110 1111 0110 1100 0110 0001 en binario
Hola = 48 6F 6C 61 en hexadecimal
Bits 7654
0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
3210 0000
0000 NUL DLE DS IRS SP & - ø Ø ° µ ¢ ä å É 0
0001 SOH DC1 SOS ITB RSP ` / \ a j ü £ A J ÷ 1
0010 STX DC2 FS SYN â ê Â Ê b k s ¥ B K S 2
0011 ETX TM WUS IR { ë # Ë c l t · C L T 3
0100 PF RES BYP PN à è À È d m u © D M U 4
0101 HT NL LF RS á í Á Í e n v [ E N V 5
0110 LC BS ETB UC ã î Ã Î f o w ¶ F O W 6
0111 DEL IL ESC EOT } Ï $ Ï g p x ¼ G P X 7
1000 GE CAN SA SBS ç ì Ç Ì h q y ½ H Q Y 8
1001 SPS EM SFE IT ñ ß Ñ é i r z ¾ I R Z 9
1010 SMM CC SM RFF § ¤ ö : « ª ¡ ¬ SHY ¹ ² ³
1011 VT CU1 CU2 CU3 . Å , Ä » º ¿ │ ô û Ô Û
1100 FF IFS MFA DC4 < * % Ö ð æ Ð ─ ¦ ~ @ Ü
1101 CR IGS ENQ NAK ( ) _ ‘ ý , Ý ] ò ù Ò Ù
1110 SO IRS ACK + ; > = Þ Æ þ ´ ó ú Ó Ú
1111 SI IUS BEL SUB ! ^ ? “ ± ] ® × õ ÿ Õ EO
97
Ejemplo 2.37
Número de
Zona Códigos Símbolos codificados
caracteres
0000
Latín 1 256
00FF
A 0000 Otros alfabetos 7.936
Símbolos generales y caracteres fonéticos chinos,
2000 8.192
japoneses y coreanos
I 4000 Ideogramas 24.576
O A000 Pendiente de asignación 16.384
E000
R Caracteres locales y propios de los usuarios 8.192
FFFF
98
Estructura y Funcionamiento de Computadoras I Unidad 2 – Representación de datos
Está claro que el error puede producir un nuevo código que también
cumpla la ley. El problema de diseño es, por tanto, buscar una ley que
permita detectar y/o corregir todos los errores posibles o probables.
99
Se suele agregar acompañando a cada octeto en los periféricos o a
cada palabra en la memoria principal.
El código de paridad permite detectar el error en un solo bit (error
simple), por lo que es válido para aquellos casos en que éste sea el tipo de
error más probable. Si las condiciones hacen más probable el error múltiple
y existe un número par de bits con error, la paridad resulta correcta, por lo
que ese tipo de error no puede detectarse con este algoritmo.
Cabe destacar que este código solo permite detectar el error, pero no lo
corrige ya que no permite identificar cuál es el bit erróneo.
Ejemplo 2.38
Dada la cadena 1101011 a transmitir como dato, agregue el bit de paridad considerando paridad impar:
Para la cadena 1101011 el bit de paridad es 0 para cumplir con el criterio de paridad impar, ya que al analizar la
cadena encontramos 5 unos, que es un número impar. Para que la cadena resultante siga presentando paridad
impar, el bit a agregar debe ser 0.
Por lo tanto, la cadena resultante a ser operada en la transmisión es 11010110.
100
Estructura y Funcionamiento de Computadoras I Unidad 2 – Representación de datos
Bibliografía
101
Unidad 3
Memorias internas
Índice temático Unidad Nº 3 – Memorias internas
Unidad 3
Memorias internas
Las Memorias Internas
y la placa madre
Medio o Soporte
Componentes de la Mecanismo de Lectura /escritura
Memoria Mecanismo de direccionamiento
Capacidad de almacenamiento
Duración de los datos
MEMORIAS Parámetros Unidad de Transferencia
INTERNAS característicos Método de acceso
Tiempo de acceso
Velocidad de acceso
Estáticas : SRAM
Memorias RAM Dinámicas: DRAM
Tecnologías de
Memorias Internas Principio de funcionamiento
ROM de máscara
PROM
Memorias ROM Tipos EPROM
EEPROM
FLASH
3.1 Introducción
Se ha creído conveniente diferenciar el conjunto de las memorias
presentes en un sistema informático en dos grandes grupos: Memorias
Internas y Externas.
La memoria interna es aquella memoria que se encuentra físicamente
integrada a la placa madre, esto es, el procesador accede a ellas mediante
las interfaces (buses) propias de la placa madre.
En la arquitectura PC la placa madre o placa base ("motherboard" o
"mainboard") contiene distintos componentes que se encuentran integrados.
Es una placa de circuito impreso multicapas de unos 600 cm2 en la que se
incluyen elementos de montaje superficial (soldados) y otros como zócalos y
conectores para diversos elementos desmontables.
A grandes rasgos, los componentes principales de la placa madre son
los que se han esquematizado en la Figura 3.1.
105
Figura 3.1 Esquema de la placa madre o motherboard.
106
Estructura y Funcionamiento de Computadoras I Unidad 3 – Memorias internas
Por ejemplo, en una placa madre típica de 100 MHz, el CPU necesita
hasta 180 nanosegundos para obtener información de la memoria principal,
mientras que la información de la memoria caché sólo necesita de 45
nanosegundos.
Por lo tanto, cuantas más instrucciones y datos la CPU pueda obtener
directamente de la memoria caché, más rápido será el funcionamiento de la
computadora.
Las clases de memoria caché incluyen caché principal, también
conocida como caché de Nivel 1 (L1) y caché secundaria, también conocida
como caché de Nivel 2 (L2); estas dos caché (L1 y L2) son internas, es decir
que están incluidas dentro del Procesador o CPU, como se puede ver en la
107
Figura 3.2. En los procesadores actuales, se puede encontrar una caché de
Nivel 3 (L3), que se usa como ampliación de la L2. Estas últimas se
incorporan en zócalos para ampliación denominados COAST (“Cache On A
Stick)
El siguiente diagrama suministra una representación simplificada de
los elementos que componen el procesador, donde se pueden apreciar las
memorias caché:
1
El controlador de memoria es un circuito electrónico digital que se encarga de
administrar los datos entre el procesador y la memoria.
108
Estructura y Funcionamiento de Computadoras I Unidad 3 – Memorias internas
La memoria RAM
La memoria RAM se puede ver funcionalmente, como un módulo
formado por celdas con capacidad de almacenamiento temporal de 1 byte
cada una, identificadas cada una de ellas por una dirección única, como se
2
Firmware: Software almacenado en hardware. Ver sección 7.3 Software de Arranque - Unidad 7.
109
muestra en la Figura 3.4. Cada celda puede ser accedida por la Unidad de
Control mediante la dirección de la celda, para grabar o leer en ella (ver
Figura 3.4).
Se presenta a la memoria desde el punto de vista lógico, sabiendo que
la implementación física puede ser muy variada, como muestra la Figura
3.4.
Palabra de 2 Bytes
110
Estructura y Funcionamiento de Computadoras I Unidad 3 – Memorias internas
111
3.3.1 Medio o soporte
112
Estructura y Funcionamiento de Computadoras I Unidad 3 – Memorias internas
decodificador de n a 2n, esto significa que a partir de los n bits del bus de
dirección, el decodificador genera 2n direcciones diferentes, que tienen una
señal de salida individualizada para cada dirección (celda) de la memoria.
113
Figura 3.7 Funcionamiento de un
decodificador de 2x4 (2 entradas, 4 salidas).
Ejemplo 3. 1
¿Qué cantidad de bits transmite el bus de direcciones de un microprocesador Pentium? ¿Qué cantidad de
celdas es capaz de direccionar dicho bus?
El bus de direcciones de un microprocesador Pentium posee 32 líneas, por lo tanto transmite 32 bits.
Dado que por cada línea se transmite un bit y la cantidad de líneas es 32, la cantidad de celdas que se podrá
direccionar es la capacidad de direccionamiento:
Capacidad de direccionamiento = 232 direcciones= 22 x 230 direcciones = 4 Gigadirecciones.
Ejemplo 3. 2
114
Estructura y Funcionamiento de Computadoras I Unidad 3 – Memorias internas
Capacidad de direccionamiento = 2𝑛 ,
Donde n es la cantidad de líneas del bus de direcciones.
Luego, la Capacidad de almacenamiento puede expresarse como:
115
Ejemplo 3. 3
116
Estructura y Funcionamiento de Computadoras I Unidad 3 – Memorias internas
En resumen:
En la memoria principal, la Unidad de transferencia es la palabra.
En resumen:
La memoria principal (ROM + RAM) es de acceso aleatorio, porque
posee direccionamiento cableado.
117
Figura 3.8 Comparación de tiempos de
acceso de distintos tipos de memoria.
1
Ta = = 10 ηseg
100 MHz
Ejemplo 3. 4
Si suponemos el tiempo de acceso de 7,5 ηs, es decir, 7,5 ηs/acceso de lectura, entonces surge que:
7,5 ηs 1 acceso
1s x
1s × 1 acceso 1s × 1 acceso
𝑥 = = = 0,133 × 109 accesos/s = 133 ∙ 106 accesos/seg = 133 MHz
7,5 ηs 7,5 × 10−9 s
Es decir, la velocidad de acceso es de 133 MHz
118
Estructura y Funcionamiento de Computadoras I Unidad 3 – Memorias internas
Ejemplo 3. 5
Una velocidad de acceso de 16,7 MHz supone que pueden realizarse 16,7 millones de ciclos o accesos cada
segundo, lo que implica:
16.700.000 accesos 1 s
1 acceso x
1acceso × 1 s 1s 1 s × 10−6
𝑥 = = 6
= = 0,05988 × 10−6 s = 59,88 ηs ≅ 60 ηs
16.700.000 accesos 16,7 × 10 16,7
Es decir, el tiempo de acceso vale 60 ηs, aproximadamente.
Las memorias SRAM son de alta velocidad pero muy caras por lo
que se usan en aquellas aplicaciones que requieren poca
capacidad de memoria pero una velocidad de acceso elevada:
registros de CPU y memorias caché. Las DRAM son más lentas pero más
económicas, se usan en la implementación de la memoria principal, de
mayor capacidad.
119
El diagrama básico de un FF RS es el que muestra la Figura 3.9. Este
circuito tiene, como se observa, dos entradas y dos salidas.
120
Estructura y Funcionamiento de Computadoras I Unidad 3 – Memorias internas
121
de trabajo. Algunos de estos avances fueron muy importantes y dieron lugar
a varias subfamilias de DRAM, que se verán a continuación.
122
Estructura y Funcionamiento de Computadoras I Unidad 3 – Memorias internas
Las DDR2 con las DDR3 no son compatibles entre sí debido a una
muesca ubicada en otra posición del módulo
SO-DIMM
123
DDR2 2 GB 800 MHz - SO-DIMM 200pin PC2-6400
0 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 0 0 0
1 0 0 1
124
Estructura y Funcionamiento de Computadoras I Unidad 3 – Memorias internas
125
Tipos de memoria ROM
Las memorias PROM son más frágiles que las ROM de máscara, ya
que una descarga de electricidad estática puede causar que los fusibles de
la PROM se quemen, cambiando esencialmente los bits “1” por “0”.
126
Estructura y Funcionamiento de Computadoras I Unidad 3 – Memorias internas
Memorias Flash
La memoria Flash es un tipo de EEPROM. Está constituida por una
malla de filas y columnas con intersecciones que contienen dos transistores
y de igual manera que las EEPROM, retornan a la posición normal ("1")
mediante la aplicación de un campo eléctrico. La diferencia con las
memorias EEPROM radica en que las memorias Flash, usan un circuito
interno que permite aplicar el campo eléctrico al chip entero o a secciones
predeterminadas llamadas bloques. Esto permite el borrado del área
seleccionada, que luego puede ser reescrita.
Las memorias Flash son mucho más rápidas que las tradicionales
EEPROM, ya que en lugar de borrar 1 byte a la vez, puede borrar un bloque
(512 bytes) o el chip completo de una sola vez y luego regrabarlo.
127
Bibliografía
Libros
GINZBURG, MARIO C. "La PC por dentro. Arquitectura y funcionamiento
de computadores modernos desde cero" – 6ta Edición - 2013
PATRICIA QUIROGA. “Arquitectura de Computadoras” - Edición 2010.
DAMIÁN COTTINO. “Hardware desde cero” - PC USERS - Edición 2009.
STALLING, WILLIAM. "Organización y Arquitectura de Computadores" 7ma
Edición
PRIETO ESPINOSA, LLORIS, TORRES. "Introducción a la Informática" 3ra
Edición -2002-
DUPERUT, GABRIEL. "Fundamentos de Computación y Comunicaciones".
Edición 2000
Revistas
Artículos sobre Memoria RAM en:
Users #319- Suplemento Users Powers#169 - Diciembre 2017
Fuentes Webs
http:/www.zator.com/Hardware/H5.htm
http:/www.kingston.com/latinoamerica/tools/umg/umg12.asp
foro.decowar.com/ ftopic2413.html
http://www.iespana.es/djcraker/Articulos/RAM.htm
http://users.pandora.be/educypedia/computer/memoryram.htm
http://www.lacompu.com/soporte/hardware/ram/tipos/index.php3
http://www.howstuffworks.com
"How ROM Works". Jeff Tyson
https://es.wikipedia.org/wiki/SO-DIMM
https://www.guiahardware.es/mejores-memorias-ram/
128
Unidad 4
Memorias externas
Índice temático Unidad Nº 4 – Memorias externas
4.1 Introducción ............................................................................................. 132
4.2 Componentes de las memorias externas ................................................... 132
4.3 Características de las memorias externas .................................................. 133
Ubicación................................................................................................................ 133
Permanencia de los datos en el soporte ................................................................ 133
Capacidad de almacenamiento .............................................................................. 134
Unidad de transferencia......................................................................................... 134
Método de acceso .................................................................................................. 134
Velocidad de transferencia .................................................................................... 135
4.4 Tecnologías de almacenamiento ............................................................... 135
4.4.1. Tecnología Magnética ........................................................................... 136
Grabación y lectura de datos en soportes magnéticos .......................................... 136
Densidad de grabación en soportes magnéticos ................................................... 138
Soportes de almacenamiento magnético .............................................................. 138
Principales elementos que componen los discos magnéticos ............................... 139
Estructura Física de los discos magnéticos ............................................................ 141
Estructura lógica de los discos magnéticos ............................................................ 142
Sistema de direccionamiento................................................................................. 143
Grabación zonificada de bits (ZBR- Zoned Bit Recording)...................................... 144
Características relevantes de los discos magnéticos ............................................. 145
Desventajas del almacenamiento en disco magnético .......................................... 148
4.4.2. Tecnología Electrónica .......................................................................... 148
Soportes de estado sólido ...................................................................................... 148
Pen Drive o Dispositivo USB (Universal serial bus) ....................................... 149
Tarjetas de memoria flash removibles .......................................................... 149
Disco de Estado Sólido - SSD (Solid State Drive).......................................... 150
4.4.3. Tecnología Óptica ................................................................................. 152
Organización de los datos en los discos ópticos .................................................... 152
Discos de pista única en espiral: Velocidad lineal constante ................................. 153
Discos con pistas concéntricas: Velocidad angular constante ............................... 154
Características relevantes de los discos ópticos .................................................... 154
Otras consideraciones técnicas .............................................................................. 155
Soportes de almacenamiento óptico ..................................................................... 156
4.4.4. Almacenamiento en la NUBE, servicios en línea y el futuro de los soportes de
almacenamiento ......................................................................................................... 159
Bibliografía........................................................................................................ 161
Unidad 4
Memorias externas
Esquema de contenidos
Soporte
Dispositivo de Almacenamiento
Componentes Mecanismo de Lectura/Escritura
Mecanismo de Direccionamiento
Ubicación
Permanencia de los datos en el soporte
Características Capacidad de almacenamiento
Unidad de transferencia
M Método de acceso
E Velocidad de transferencia
M
O
R Soportes Discos
I magnéticos Rígidos (HD)
A
S Magnética Estructura Física HD
Estructura Lógica HD
E
X
T Soportes de Estado Sólido
E Electrónica * Pendrive
R Tecnología *Tarjetas de memoria flash
N * Disco de Estado Solido-SSD
A
S
Organización lógica
Soportes Ópticos
Óptica * CD
* DVD
* Blu-Ray
* HD-DVD
Almacenamiento en la Nube
131
4.1 Introducción
Las memorias externas, también llamadas de almacenamiento masivo,
auxiliar o secundario son dispositivos que permiten almacenar datos en
forma no volátil y luego recuperarlos. Se denominan externas porque, a
diferencia de las memorias internas, no forman parte de la placa madre y por
lo tanto la CPU se conecta a ellas por medio de interfaces, como se explicará
en la unidad 6 de Periféricos e Interfaces.
En comparación con las memorias internas, las memorias externas se
caracterizan por ser de mayor capacidad, pero de mayor lentitud. Otra
característica es que las memorias externas son siempre de tipo no volátil.
Desde el punto de vista del principio de funcionamiento, las memorias
externas se basan en una determinada tecnología de almacenamiento. La
denominación tecnología de almacenamiento hace referencia al fenómeno
físico (magnetismo, luz o electricidad) que se utiliza para la grabación y
lectura de los datos. En la actualidad se emplean tres tipos de tecnologías:
la tecnología magnética
la tecnología óptica y
la tecnología electrónica.
132
El mecanismo de direccionamiento es el encargado de seleccionar una
posición específica sobre el soporte para realizar una operación de lectura o
escritura de datos. Para su funcionamiento, el mecanismo de
direccionamiento de una memoria externa necesita datos de ubicación. Esta
información adicional, llamada información de direccionamiento, se almacena
en el soporte conjuntamente con los datos. La unidad de control del
dispositivo de almacenamiento se encarga de leer e interpretar esta
información para acceder a la zona deseada. En las memorias externas de
tecnología óptica y magnética el mecanismo de direccionamiento se basa en
partes móviles que hacen girar el soporte y desplazan las cabezas de
lectura/escritura hasta ubicarlas sobre la posición deseada. En las memorias
externas de tecnología electrónica, el mecanismo de direccionamiento es fijo,
formado por circuitos y conductores eléctricos conectados al soporte. Por
esta razón, las memorias externas de tecnología electrónica también son de
direccionamiento cableado, al igual que las memorias internas.
Ubicación
Por ubicación de las memorias, interpretamos si son internas o externas.
La memoria principal es interna y al encontrarse formando parte de la placa
madre puede ser accedida directamente por la CPU. Por el contrario, las
memorias externas no pueden ser accedidas directamente por la CPU, sino a
través de enlaces a periféricos o interfaces.
133
RW) y a dispositivos de tecnología electrónica como pendrive, tarjetas de
memoria o discos de estado sólido (SSD).
Capacidad de almacenamiento
La capacidad de almacenamiento es la cantidad máxima de datos que se
puede grabar en un soporte y lo más frecuente es expresarla en GB
(gigabytes) o en TB (terabytes).
Como se explicó en la sección 4.3 (Características de las memorias
externas; específicamente en mecanismo de direccionamiento), además de los
datos del usuario en el soporte se almacena información de direccionamiento.
Hay que diferenciar entonces entre la capacidad neta o útil que es la
capacidad de almacenamiento de datos del usuario y la capacidad bruta o
capacidad total que es la suma de la capacidad neta más la capacidad
reservada a almacenar la información de direccionamiento.
Unidad de transferencia
La unidad de transferencia es la cantidad de bytes que se transfieren
durante una operación de lectura o escritura en memoria. Como ya se ha
visto, la unidad de transferencia para las memorias internas es la palabra, en
tanto que las memorias externas transfieren la información por bloque.
Mientras una palabra corresponde a una cantidad de 8, 16, 32 o 64
bits, un bloque de información corresponde a 512 bytes o más. Este modo de
transferencia tiene su justificación en el hecho de que las memorias externas
de tecnología óptica y magnética funcionan con partes móviles, por lo cual
requieren cierto tiempo para que las cabezas de lectura/escritura alcancen
una posición específica sobre el soporte. Esto las hace muy lentas en
comparación con las memorias internas, que son totalmente electrónicas.
Agrupar los datos en bloques de cierta cantidad de bytes justifica el tiempo
utilizado por las partes mecánicas para ubicar las cabezas de
lectura/escritura, ya que cuando éstas alcanzan la ubicación del primer byte
del bloque, demoran mucho menos en posicionarse en las ubicaciones de los
bytes subsiguientes.
Método de acceso
Método de acceso es la forma de acceder a los datos que permanecen
almacenados en el soporte. Teniendo presente este concepto se pueden
distinguir tres métodos de acceso en las memorias externas:
Acceso Secuencial: La memoria se organiza en unidades de datos
llamadas registros. En el acceso secuencial, para poder acceder al
primer registro del bloque de transferencia, el mecanismo de
lectura/escritura debe ir desde su posición actual a la deseada,
pasando y obviando cada registro intermedio. Así pues, el tiempo
necesario para acceder a un registro dado es variable y depende por lo
tanto, de la posición del registro y del cabezal de lectura/escritura. Los
CD-ROM son de acceso secuencial.
Acceso Directo: En este método el mecanismo de lectura/escritura
realiza un acceso a una posición cercana al registro buscado (sin
134
pasar por los registros anteriores), seguido de una búsqueda
secuencial hasta alcanzar la posición final. Aquí también el tiempo de
acceso es variable. Las unidades de disco rígido y las de discos ópticos
regrabables (CD-RW o DVD-RW), son de acceso directo.
Acceso Random o Aleatorio: Al igual que las memorias internas, las
memorias externas de tecnología electrónica cuentan con mecanismos
de lectura/escritura y direccionamiento cableados. Esto hace que su
método de acceso sea de tipo random o aleatorio, o sea que el tiempo
necesario para acceder a cualquier registro es siempre el mismo e
independiente de la posición de acceso anterior.
Velocidad de transferencia
La velocidad de transferencia de datos es la cantidad de datos por
segundo que el dispositivo de almacenamiento transfiere desde o hacia el
soporte de la memoria externa.
Un concepto relacionado con la velocidad de transferencia es el Tiempo
de lectura/escritura, o sea el tiempo que el dispositivo demora en realizar la
lectura o grabación de los datos. Estos dos conceptos serán desarrollados en
detalle al describir las características de discos (Ver sección Características
relevantes de los discos magnéticos).
135
determinada tecnología de almacenamiento que hace referencia al fenómeno
físico (magnetismo, luz o electricidad) que se utiliza para la grabación y
lectura de los datos. En la actualidad se emplean tres tipos de tecnologías: la
tecnología magnética, la tecnología óptica y la tecnología electrónica. A
continuación se describirá cada una de ellas.
136
Figura 4.1 Esquema de funcionamiento de lectura y escritura en un soporte magnético.
137
Densidad de grabación en soportes magnéticos
La densidad de grabación por pista se refiere a la cantidad de bits que
se pueden almacenar por unidad de longitud en sentido lineal, es decir, a lo
largo de la pista y se mide en bits/cm.
Otra medida de densidad se define mediante la cantidad de pistas por
unidad de longitud que puede albergar el soporte. En este caso la longitud se
mide en sentido perpendicular a las pistas y la densidad se expresa en pistas
por pulgada (tpi : tracks per inch).
a) Disco Rígido Interno WESTERN DIGITALL 2TB SATA b) Disco Rígido Externo- TOSHIBA 1TB 2.5 USB3.0
Figura 4.2 Soportes magnéticos: Discos Rígidos.
138
Como observamos en la Figura 4.2, podemos encontrar discos rígidos
internos y externos, con características muy similares. Los internos son
usados normalmente para las computadoras de escritorio, notebock y
netbook, con diferentes tamaños y capacidades, como muestra la Figura
4.3. Los externos o portátiles se utilizan para almacenamiento de resguardo
de información (backup) o solamente para ampliar la capacidad. Las
características que podemos destacas de los portátiles es que son más
pequeños y livianos que los externos,y no requieren estar conectados a la
energía eléctrica pues con solo conectarlos a través de un cable USB es
suficiente para garantizar su funcionamiento y transferencia de información.
1
Los valores de velocidad de rotación en discos IDE son de 5400 a 7200 rpm y en discos SCSI en
10000 rpm (rpm: revoluciones por minutos; ver en esta unidad: Características relevantes de los discos
magnéticos: velocidad de rotación y en la Unidad 6 - Interface IDE y SCSI).
139
Motor de movimiento para las cabezas: es el motor encargado de hacer el
movimiento de las cabezas lectura/escritura.
Cabezas de lectura/escritura y Brazo mecánico: El cabezal de lectura y
escritura está formado por un conjunto de brazos paralelos a los platos,
que se desplazan linealmente desde el exterior hacia el interior en forma
simultánea. El desplazamiento combinado con la rotación de los platos
del disco permite que los cabezales puedan alcanzar cualquier posición
de la superficie de dichos platos permitiendo así la lectura o escritura de
la información. Cada cabeza flota en un colchón de aire producido por la
gran velocidad de giro de los platos, impidiendo el contacto entre la
superficie de los platos y las cabezas de lectura/escritura para evitar el
desgaste por fricción de la superficie magnética.
Cara o Superficie
Caja o carcasa
Motor de movimiento
para los platos
Cabezas de
lectora/escritura
Brazo mecánico
Platos
Motor de movimiento
para las cabezas
Figura 4.4 Partes del disco rígido (abierto) – Interior del disco.
140
Estructura Física de los discos magnéticos
2
Formateo de bajo nivel o formateo físico: es el proceso a través del cual se crean las pistas y sectores
del disco rígido mediante marcas magnéticas en su superficie. Ver sección Estructura lógica de los
discos magnéticos.
141
Figura 4.7 Estructura de
los discos magnéticos:
Formación de cilindros
En resumen…
3
Sistema Operativo: es el conjunto de programas de control que actúa como intermediario entre el
usuario y el hardware de una computadora y su propósito es la administración de los recursos del
sistema. (Ver Unidad 7- Sistema Operativo).
142
posibilidad de encontrar la información deseada y es distinto según el
sistema operativo que se utilice, como por ejemplo los sistemas operativos
Windows o Linux.
Sistema de direccionamiento
4
La fragmentación del disco rígido se refiere a la condición de una unidad de disco rígido en el cual los
archivos se dividen en trozos y se dispersan alrededor del disco. La fragmentación se produce
naturalmente cuando se utiliza un disco con frecuencia para crear, eliminar y modificar archivos.
143
Figura 4.8 Cluster compuesto por 4 sectores.
En resumen…
Estructura Física:
o Formateo de bajo nivel o formateo físico.
Pistas.
Sectores.
Estructura Lógica:
o Formateo de alto nivel o formateo lógico.
Cluster o unidades de asignación.
144
Figura 4.9 Estructura de un discos magnético con grabación zonificada de bits.
Velocidad de rotación
La velocidad de rotación es la velocidad a la que giran los platos de una
unidad de disco rígido. Se mide en revoluciones por minuto (rpm).
Los valores de velocidad de rotación en discos IDE están en torno de
5400 a 7200 rpm y en discos SCSI, en 10000 rpm. La regla general es que a
mayor velocidad de rotación, más alta será la trasferencia de datos, pero
también es mayor el calor a disipar. Como ejemplo, una velocidad de 5400
rpm permite una transferencia aproximada entre 10 y 16 MB/segundo.
𝐶𝑎𝑛𝑡𝑖𝑑𝑎𝑑 𝑑𝑒 𝑏𝑖𝑡𝑠
𝑉𝑇 =
1 𝑠𝑒𝑔𝑢𝑛𝑑𝑜
145
Esta velocidad se determina a partir de otros dos parámetros ya vistos:
la velocidad de giro o velocidad de rotación (rpm) y por la densidad de
grabación (bits/pulgada o bits/cm).
Para demostrar la relación entre estos parámetros, analicemos lo que
ocurre en un proceso de lectura o escritura. Una vez que el cabezal de
lectura/escritura se ubica sobre una pista, la cantidad de bits con la que el
cabezal puede operar es igual a la capacidad de dicha pista. Esta capacidad
depende de la longitud de la pista y de la densidad de grabación de la pista:
Ejemplo 4.1
Calcular la velocidad de transferencia para una unidad de disco rígido que gira a 5400
rpm, si la densidad de grabación es de 30000 bits/cm para una pista de 40 cm de
longitud.
VT = Longitud de pista Densidad de grabación Velocidad de rotación
= 40 cm 30000 bits/cm 5400 rpm = 6480 106 bits/min =
= 108 106 bits/s = 13,5 106 bytes/s = 12,87 MB/s
Luego, la velocidad de transferencia es 12,87 MB/s
146
En el acceso a los datos, ya sea para leerlos o para grabarlos, debemos
considerar tres operaciones que insumen cada una un determinado tiempo.
Tiempo de búsqueda: La cabeza debe posicionarse sobre la pista
donde se encuentra el sector inicial del bloque a transferir (el bloque a
transferir es el cluster). El tiempo que le toma a las cabezas de
lectura/escritura moverse desde su posición actual hasta la pista
donde están localizados los datos deseados se denomina tiempo de
búsqueda.
Tiempo de latencia o espera: La cabeza espera encima de la pista
hasta que el sector inicial del bloque a acceder se posicione debajo de
ella. El tiempo que demora esta operación de llama tiempo de espera o
latencia rotacional, y depende de la velocidad de rotación del disco y de
la posición donde se encuentre el sector a acceder. Si luego de que la
cabeza se ubica sobre la pista el sector inicial se encuentra próximo a
pasar debajo de la cabeza, el tiempo es corto; pero si el sector inicial
acaba de pasar cuando el cabezal se ubica sobre la pista, habrá que
aguardar a que se complete nuevamente la vuelta. El tiempo de
latencia promedio es igual al tiempo que le toma al disco hacer media
revolución.
147
Ejemplo 4.2
148
Pen Drive o Dispositivo USB (Universal serial bus)
La memoria USB o Bus Universal en Serie es un dispositivo de
almacenamiento de datos que utiliza memoria flash para almacenar
información. Este soporte es comúnmente llamado pendrive, son pequeños y
se conectan a la computadora a través de un puerto USB, como muestra la
Figura 4.10. No se requieren programas especiales para ser reconocidos por
los distintos sistemas operativos, es un dispositivo "plug and play", solo hay
que conectarlo y la computadora detectará que posee un nuevo dispositivo de
almacenamiento. Estos dispositivos tienen capacidades desdelos 8GB hasta
llegar a 1TB. Los pendrive se han convertido en el sistema de
almacenamiento y transporte personal más utilizado.
149
f) xD-Picture Card
e) Tarjeta Multimedia Card
150
Figura 4.12 Discos de Estado Sólido - SSD.
Mientras que los discos de estado sólido son cada vez más populares,
los discos rígidos se siguen utilizando en muchas computadoras de
escritorio, principalmente por el menor costo que estos presentan y la alta
capacidad de almacenamiento. Sin embargo, los discos de estado sólido han
comenzado a reemplazar a los discos rígidos, especialmente en notebooks,
debido a las distintas ventajas de rendimiento, incluidos los tiempos de
acceso más rápidos y la latencia más baja.
Las alternativas para su uso actualmente serían:
Usar un SSD para instalar sistema operativo y aplicaciones, y un disco
rígido para los archivos de usuario.
Usar un disco rígido Híbrido: Este tipo de dispositivo combina ambas
tecnologías, ya que al disco tradicional se le incorpora una memoria caché
de tipo flash o incluso un disco SSD. En esta caché se almacenan los
datos de acceso frecuente, de modo que se encuentran disponibles al
instante.
Características
SSD HDD
151
Vibraciones no vibra por no tener partes el giro de los platos provoca
móviles leves vibraciones
Tanto los pits como los lands pueden variar en longitud para representar
distintos valores binarios. El principio de un pits es un 1, su longitud
determina el número de ceros que representa, y el final de este pit es un
nuevo 1. El espacio entre pits, llamado land, siempre representa una
cantidad variable de ceros.
152
Figura 4.13 Estructura de pistas y sectores en soportes ópticos.
Según sea el tipo de pista, los datos deben ser leídos a velocidad lineal
constante (CLV) o a velocidad angular constante (CAV), como se muestra en la
Figura 4.13.
153
Discos con pistas concéntricas: Velocidad angular constante
Para realizar la lectura de datos en los discos regrabables (CD-RW) se
emplea la Velocidad Angular Constante, es decir que la velocidad de rotación
del disco es constante.
Los datos están organizados en sectores y pistas, de la misma forma
que en los discos rígidos. Como el número de bits por sector permanece
constante en este tipo de organización, la densidad de datos es mayor en las
pistas y los sectores internos que en los externos.
A simple vista, y teniendo en cuenta que los datos en un disco
regrabable se almacenan en una organización lógica similar a la de los discos
rígidos, parecería que el tiempo de acceso tendría que ser del mismo orden en
ambos dispositivos. Pero en este el análisis se escapa un detalle que no es
insignificante: dada la complicada óptica involucrada en los discos
regrabables, la cabeza de lectura-escritura es más pesada, y por lo tanto,
una cabeza óptica es más lenta en sus movimientos que una cabeza
magnética. Hasta que no se simplifiquen o se mejoren los métodos de lectura
y escritura no se podrán mejorar notablemente los tiempos de acceso.
Velocidad de transferencia
Recordemos que la velocidad de transferencia indica la cantidad de
datos transferidos por unidad de tiempo entre un dispositivo y otro. (Ver
Unidad 1 - sección 1.8.4. Ancho de banda o velocidad de transferencia).
154
Ejemplo 4.3
Por lo tanto, la velocidad de transferencia del disco rígido de 20 MB/s es 2,8 veces la de
un CD de 48X. Dicho de otra manera, en este ejemplo, el disco rígido transfiere
información 2,8 veces más rápido que el CD-ROM.
Tiempo de acceso
El tiempo de acceso se toma como la cantidad de tiempo que le lleva al
dispositivo desde que comienza el proceso de lectura hasta que los datos
comienzan a ser leídos.
Comparando los lectores CD-ROM con los discos rígidos, los primeros
son dispositivos más lentos. La cabeza óptica del dispositivo lector es
sustancialmente más pesada que los livianos mecanismos de un disco
rígidos. En lugar de la pequeña cabeza de lectura/escritura de un disco
rígido, el CD-ROM debe desplazar un complejo montaje óptico que se mueve
a través de un riel. Esta mayor masa se traduce en una espera también
mayor hasta que la cabeza lectora se sitúe en su posición. Junto al aspecto
del peso del lector, el sistema de velocidad lineal constante (CLV) utilizado en
los CD hace más lenta la velocidad de acceso.
155
Figura 4.14 Datos guardados en formato digital. Comparación de distancias y medidas de los pits en
los CD, DVD, HD-DVD y Blu-Ray.
156
Figura 4.15 Características de los CD.
El fundamento físico de los DVD es el mismo que los CD, con las
siguientes mejoras:
o Los pits son más pequeños (0.4 µm (micrones) en vez de 0.8 µm).
o La espiral es más estrecha (0.74 µm en vez de 1.6 µm).
o La longitud de onda del láser es menor (0.65 μm en vez de 0.78 μm).
o Se pueden grabar en ambas caras
o Pueden tener dos capas de datos: una capa opaca o semitransparente
y la otra translúcida. La unidad de lectura pueden leer las dos capas
enfocando el láser a una o a la otra.
157
Observación: Los fabricantes de DVD utilizan el prefijo giga de acuerdo al
Sistema Internacional, que se basa en múltiplos de 10. En este sistema, 1
giga es igual a 109, pero en Informática los múltiplos de las unidades de
capacidad se definen utilizando base 2, donde 1 giga es igual a 2 30. Así,
cuando los fabricantes anuncian 4,7 GB de capacidad, esta medida
corresponde a 4,38 GB, siguiendo el criterio generalmente adoptado en
Informática para las medidas de capacidad de almacenamiento.
158
Figura 4.17 Características de los Blu-Ray.
Tamaño: 12 cm de diámetro
Espesor: 1.2 mm
Capacidad por capa: 25GB (una capa)
50GB (doble capa)
Material reflectante: Aluminio (BD-Rom), aleaciones
de oro o plata (regrabables)
Material protector/substrato: Polímero Durabis
(patente TDK) de alta resistencia (no se raya)
Grosor protector: 0.1 mm
Láser: Azul-Violeta
Longitud de onda: 405 nm
Tamaño mínimo pits: 0.30 µm (micrones)
Separación entre pistas: 0.30 µm (micrones)
Separación entre capas: 20 µm (micrones)
Tasa de transferencia datos (1x): 36 Mbps
Tamaño: 12 cm de diámetro
Espesor: 1.2 mm
Capas: 1 – 2
Capacidad por capa: 1 (15GB) – 2 (30GB)
Tipo de Láser: Violeta
Longitud de onda: 405 ηm
Tamaño mínimo pits: 0.340 µm (micrones)
Tasa de transferencia datos (1x): 36,55 Mbps
159
Este modelo de almacenamiento de datos se basa en redes de
computadoras5 a las que se puede acceder con una conexión a internet.
Algunos ejemplos de este modelo son: DropBox, OneDrive o Google Drive,
entre otros.
También hay que tener en cuenta el surgimiento de nuevos modelos de
visualización y de descarga de contenidos a demanda a través de internet,
como por ejemplo Netflix, Crackle y YouTube. Lo que ha llevado a una
creciente caída en las ventas de productos de almacenamiento; por lo que,
memorias USB y discos DVD o Blu-Ray podrían desaparecer. Además, en la
actualidad, ya es común la adquisición de software (por ejemplo: programas y
videojuegos) a través de portales en línea, lo que elimina la necesidad de
adquirirlos en formato físico.
La oferta de almacenamiento casi ilimitado y de bajo costo, junto con
los servicios ofrecidos a través de internet, hará que los dispositivos de
almacenamiento tradicionales en el futuro tiendan a desaparecer.
5
Una red de computadoras (también llamada red de ordenadores o red informática) es un conjunto de
equipos (computadoras y dispositivos), conectados por medio de cables, señales, ondas o cualquier otro
método de transporte de datos, para compartir información (archivos), recursos (discos, impresoras,
programas, etc.)
160
Bibliografía
Libros
GINZBURG, MARIO C. "La PC por dentro. Arquitectura y funcionamiento de
computadores modernos desde cero" – 6ta Edición - 2013
PATRICIA QUIROGA. “Arquitectura de Computadoras” - Edición 2010.
DAMIÁN COTTINO. “Hardware desde cero” - PC USERS - Edición 2009.
PRIETO ESPINOSA, LLORIS, TORRES. "Introducción a la Informática" Tercera
Edición 2002-
DUPERUT, Gabriel. "Fundamentos de Computación y Comunicaciones". Edición
2000
Fuentes Webs
http:/www.zator.com/Hardware/H8.htm
http:/www.howstuffworks.com
http://www.kingston.com
http://www.idg.es
http://es.kioskea.net
https://www.siglo21.net/catalogo/12/detalle/2386/western-digitall-hdd-
purple-2tb-sata-60gbs-35-purple
https://www.siglo21.net/catalogo/12/detalle/287/canvio-basic-ext-1tb-
black-25-usb30
https://www.cromo.com.uy/asi-fue-la-evolucion-del-almacenamiento-
n1039261
http://revista.consumer.es/web/es/20060601/pdf/internet.pdf
Luna Ramírez, Enrique, Díaz Echeverría, Israel, Nuevas Tecnologías de
Almacenamiento. Conciencia Tecnológica [en línea] 2006 (Julio-
Diciembre): [Fecha de consulta: Marzo-2018]. Disponible
en:<http://www.redalyc.org/articulo.oa?id=94403213> ISSN 1405-5597
https://es.wikipedia.org/wiki/Disco_óptico
https://es.wikipedia.org/wiki/CD-ROM
https://es.wikipedia.org/wiki/DVD
https://es.wikipedia.org/wiki/Disco_Blu-ray
https://es.wikipedia.org/wiki/HD_DVD
161
Unidad 5
Funcionamiento de la CPU
Índice temático Unidad Nº 5 – Funcionamiento de la CPU
Tipos de Instrucciones
Funcionamiento del Procesamiento de una instrucción
microprocesador Ejecución de un programa
5.1. Introducción
Se ha visto en la Unidad 1 que una computadora está compuesta
básicamente por una Memoria Principal, una Unidad Central de Proceso y
Periféricos. En la Unidad 3 se describió la Memoria Principal y su relación
con la Unidad Central de Proceso. Esta Unidad se ocupa en detalle de la
Unidad Central de Proceso (CPU).
Pero, ¿cómo está constituida físicamente una CPU? Físicamente, la
CPU es un dispositivo electrónico que controla y dirige el funcionamiento de
todo el sistema y recibe el nombre de microprocesador.
El microprocesador es el corazón de cualquier computadora normal,
ya sea una PC, un servidor o una Laptop. Comercialmente hablando, el
microprocesador puede ser un Pentium 4, un Athlon, un Celeron, un Duron
u otro de las muchas otras marcas y tipos de microprocesadores existentes,
pero todos ellos hacen aproximadamente las mismas cosas en
aproximadamente la misma forma.
165
¿Qué es un chip?
Un chip o circuito integrado, es una pastilla de material semiconductor (generalmente silicio o germanio)
pequeña y delgada que contiene circuitos electrónicos con componentes miniaturizados como diodos,
transistores, resistencias, y condensadores. La pastilla se protege con un encapsulado de plástico o
cerámica que posee los conductores metálicos necesarios para la conectar la pastilla en una placa de
circuito impreso.
Existen varios tipos de chips. Entre los más avanzados se encuentran los microprocesadores. Otro
ejemplo de chips son las memorias digitales.
Un chip puede medir aproximadamente 2,5 cm de largo y contener decenas de millones de transistores.
Un microprocesador actual contiene decenas de millones de transistores grabados sobre un chip de
unos pocos milímetros cuadrados.
166
En 1974 Intel lanzó el 8080. Este microprocesador de 8 bits se
convirtió en la CPU de la "home computer" o computadora hogareña
(anterior a la PC).
El primer microprocesador que revolucionó el mercado fue el Intel
8088, introducido en 1979 e incorporado a la IBM PC (que recién apareció
alrededor de 1982).
El mercado de la PC fue pasando desde el 8088 al 80286, al 80386, al
80486, al Pentium, al Pentium II, al Pentium III, al Pentium 4 (Ver Tabla
5.1). Todos estos microprocesadores fueron hechos por Intel y todos ellos
son mejoras sobre el diseño básico del 8088. El Pentium 4 puede ejecutar
cualquier segmento de código que corra sobre el original 8088, pero lo hace
aproximadamente 5000 veces más rápido.
Velocidad de
Nombre Fecha Transistores Micrones Ancho de datos MIPS
reloj
167
instrucción. En muchos casos, el bus de datos externo es del mismo
ancho que la UAL, pero no siempre. El 8088 tiene una UAL de 16 bits y
un bus de datos de 8 bits, mientras que los modernos Pentium traen
datos de 64 bits de una sola vez para sus UAL de 32 bits.
MIPS: o "millones de instrucciones por segundo" es una medida grosera
del rendimiento de la CPU. Las CPU modernas pueden hacer muchas
cosas diferentes, por lo que la velocidad expresada en MIPS pierde
mucho significado, pero describe en sentido general, la potencia relativa
de procesamiento que posee una CPU.
En la Tabla 5.1 se puede ver que, en general, existe una relación entre
la velocidad del reloj y los MIPS. También se puede ver una relación entre el
número de transistores y MIPS. Por ejemplo, el 8088 trabaja a 5 MHz pero
solamente ejecuta 0,33 MIPS (alrededor de 1 instrucción cada 15 ciclos de
reloj). Los modernos procesadores, pueden procesar a una velocidad de 2
instrucciones por cada ciclo de reloj. Esta mejora está directamente
relacionada al número de transistores en el chip.
Velocidad Caché
Microprocesador Fecha Velocidad de reloj
del bus L2 L3
Pentium 1993 60 MHz 50 MHz 256 KB -
Pentium II 1997 233 MHz 66 MHz 256 KB -
Pentium III 1999 450 MHz 100 MHz 256 KB -
Pentium 4 2000 1,3 GHz a 2,8 GHz 533 MHz 1 MB -
(1)
P4 – HT 2001 2,4 GHz a 3,6 GHz 800 MHz 1 MB -
(2)
P4 HT – EE 2001 3,2 GHz a 3,4 GHz 800 MHz 512 KB 2 MB
P4 Dual 2,4 GHz a 3,6 GHz 800 MHz 1 MB -
Core i3 2,4 GHz a 3,4 GHz 1600 MHz 256 KB 4 MB
Core i5 1,06 GHz a 3,46 GHz 1600 MHz 1 MB
(3)
Core i7 3,2 GHz a 3,46 GHz 6,4 GT/s 6x256 KB 15 MB
(1) Tecnología HT (Hyper Threading) : Permite ejecutar 2 instrucciones al mismo tiempo, a través de software.
(2) Tecnología HT- Extreme Edition
(3) GT/s Giga Transfer por segundo. Nomenclatura aplicada a procesadores multi núcleo.
Tabla 5.2 Microprocesadores Intel.
168
Velocidad del Caché
Microprocesador Fecha Velocidad de reloj
bus L1 L2
K-5 1994 60 MHz
K-6 1998 300 MHz
K6-2 1999 550 MHz
Athlon 2000 1 GHz a 1,4 GHz 266 MHz 128 KB 256 KB
Athlon XP 2001 1,8 GHz a 2,2 GHz 400 MHz 128 KB 512 KB
Athlon 64 2003 2,2 GHz 2000 MHz 128 KB 1 MB
Athlon 64 FX 2003 2,2 GHz 1,6 GHz 128 KB 1 MB
Athlon 64 X2 2005 2,2 GHz 1,6 GHz 512 KB 1 MB
Velocidad Caché
Microprocesador Fecha Velocidad de reloj
del bus L1 L2 L3
Intel Celeron 1999 1,6 GHz a 2,8 GHz 400 MHz - 128 KB -
AMD Duron 1999 800 MHz a 1,3 GHz 200 MHz 128 KB -
Intel Celeron D 2000 2,4 GHz a 2,93 GHz 533 MHz - 256 KB -
AMD Sempron 2000 1,5 GHz a 2 GHz 333 MHz 128 KB 256 KB
169
5.3. Arquitectura de la CPU
La CPU está constituida fundamentalmente por la Unidad de Control y
la UAL, pero además debe contar con elementos de memoria para el
almacenamiento temporal de los datos tratados por la CPU. Esa memoria
está constituida por Registros.
La conexión entre los distintos componentes del computador se realiza
mediante buses. Ya se ha definido un bus como un conjunto de caminos
conductores en paralelo, que puede ser compartido por varios dispositivos,
a los fines de la comunicación entre los mismos. Cuando los datos deben
ser transmitidos de un componente a otro, viaja por el bus desde el
componente fuente al de destino, almacenándose temporalmente en
registros.
170
memoria si se va a acceder para realizar una operación de lectura o
de escritura.
Cuando un dato está preparado para ser transmitido, primero se envía
la dirección de destino por el bus de direcciones, a continuación se envía el
dato por el bus de datos, y todas estas acciones están controladas por
señales que se envían por el bus de control.
Figura 5.3 (a) Máquina de tres direcciones. (b) Máquina de una dirección
171
En el presente curso se tomará como base una máquina de una
dirección. En este caso la UAL posee un registro particular, denominado
Acumulador. Para realizar una operación, se utiliza el Acumulador para
recibir el primer operando y luego de realizada la operación, el Acumulador
almacena el resultado. Esta característica permite instrucciones aritméticas
de una sola dirección: la del segundo operando.
En la Figura 5.3b, el Acumulador sustituye a los registros R1 y R3 de
la Figura 5.3a. El segundo operando puede almacenarse en el registro de
palabra asociado a la memoria.
Entonces, en una máquina de una dirección, la operación de suma
necesita tres instrucciones, en la siguiente secuencia:
Cargar el primer operando en el Acumulador;
Sumar el segundo operando con el contenido del Acumulador. Al
finalizar la operación, el resultado queda almacenado en el Acumulador.
Almacenar en memoria el contenido del Acumulador, que contiene el
resultado de la operación realizada.
172
Como se verá más adelante, el Registro de Estado refleja en cada uno
de sus bits distintas características del valor almacenado en el Acumulador,
y es consultado por la Unidad de Control para tomar decisiones cuando
ejecuta instrucciones de ruptura de secuencia.
173
5.3.3. Registros de la CPU
Para poder realizar la ejecución de un programa, es obvio que la CPU
necesita almacenar instrucciones y datos temporalmente mientras una
instrucción está siendo ejecutada. En otras palabras, la CPU necesita una
pequeña memoria. Estos elementos de memoria interna se denominan
registros.
Los registros almacenan datos que la CPU necesita constantemente y
por tal razón se encuentran implementados con la tecnología de memoria
interna de mayor velocidad (SRAM).
Por ejemplo, la CPU debe “recordar” la instrucción que se encuentra
en ejecución, para ello cuenta con un registro especial: el Registro de
Instrucción. Asimismo, para continuar la ejecución del programa cada vez
que finaliza una instrucción, la CPU debe conservar la posición de la
instrucción siguiente; para esta tarea recurre al registro Contador de
Programa. La Figura 5.5 muestra estos dos registros y como veremos a
continuación, la CPU cuenta con otros registros más para su
funcionamiento.
La Figura 5.6 muestra un esquema de la CPU detallando los
principales registros que posee. Cada uno de estos registros se utiliza para
tareas específicas.
174
Clasificación de los registros
a) Según la Unidad con la que se relacionan.
Se puede agrupar a los registros de acuerdo a la Unidad de la CPU con
la que están relacionados o asociados para trabajar. Esta clasificación será
útil al momento de hacer el seguimiento de las instrucciones dentro de la
CPU. Según este criterio, se puede hablar de:
Registros asociados a la Memoria Principal:
o Registro de Palabra o registro de datos: Este registro es el
encargado de almacenar la información (datos o instrucciones)
que se intercambian con la Memoria Principal a través del bus
de datos. Durante una operación de lectura contiene la
información que proviene de la Memoria; si es una instrucción, la
pasa al registro de instrucciones; si es un dato el intercambio se
produce con el Acumulador, la UAL, o algún registro individual.
Durante una operación de escritura contiene la información que
proviene del Acumulador. Este intercambio dentro de la CPU se
realiza a través del bus interno.
o Registro de Direcciones: Este registro almacena las direcciones de
las celdas de memoria que van a ser accedidas para realizar una
lectura/escritura. Está conectado directamente al bus de
direcciones.
Registros asociados a la Unidad de Control:
o Registro de Instrucciones: Este registro sirve para contener la
instrucción que es captada por la CPU durante una operación de
lectura.
o Contador de Programa: El contador de programa contiene una
dirección de instrucción. Típicamente, la Unidad Control actualiza
el CP después de cada captación de instrucción de manera que
siempre apunta a la siguiente instrucción a ejecutar. Una
instrucción de bifurcación o salto también modificará el contenido
del CP.
o Puntero a Pila: El registro puntero a pila permite almacenar la
dirección de acceso a la memoria pila. Se verá su funcionamiento
al tratar las instrucciones de ruptura de secuencia.
Registros asociados a la Unidad Aritmético-lógica:
o Acumulador: La función de este registro ya se ha visto al describir
la UAL de una sola dirección. Se usa para almacenar el primer
operando de una operación aritmética y finalmente se carga con
el resultado de la operación llevada a cabo en la UAL.
o Registro de Estado: Este registro contiene códigos de condición
además de otra información de estado. Los códigos de condición
(también llamados indicadores o flags) son bits cuyos valores son
establecidos por el hardware de la CPU de acuerdo al resultado de
la última operación realizada por la UAL. Es decir que, además de
almacenarse el propio resultado en el registro Acumulador, se
obtiene también los indicadores o flags del resultado obtenido.
Cada indicador se almacena en un bit del Registro de Estado
describiendo cierta condición del resultado (si fue nulo, si fue
positivo, si se produjo desbordamiento). Los indicadores pueden
ser examinados con posterioridad como parte de una condición de
bifurcación condicional.
La Figura 5.7 muestra un ejemplo de Registro de Estado de ocho
bits. La cantidad y significado de los bits del registro no es igual
175
para todos los microprocesadores sino que puede cambiar de un
modelo a otro según los criterios de diseño del fabricante.
176
operación o puede haber registros específicos para operaciones en
coma flotante. En algunos casos los registros de uso general
pueden ser utilizados para funciones de direccionamiento.
o Registros de Datos: pueden ser usados únicamente para contener
datos y no se pueden emplear en el cálculo de una dirección de
operando. Un ejemplo de este tipo de registro es el Acumulador.
o Registros de Direcciones: almacenan solo direcciones. Pueden ser
en sí registros de uso más o menos general, o pueden estar
dedicados a un modo de direccionamiento particular. El caso más
conocido es el Puntero a Pila.
0000 0001 0000 0001 0110 0000 Cargar el contenido de la dirección 0160H en el Acumulador.
0000 0101 0000 0001 0110 0001 Sumar el contenido de la dirección 0161H al Acumulador.
0000 0010 0000 0001 0110 0010 Transferir el contenido del Acumulador a la dirección de
memoria 0162H.
Dirección de Instrucción en
Descripción
memoria principal lenguaje ensamblador
178
Figura 5.8 Estructura interna de la Unidad de Control
Dirección de
Código fuente Código Objeto Descripción
memoria principal
179
Figura 5.9 Esquema de la CPU.
180
Instrucciones de inicio y fin de programa: Estas instrucciones indican el
comienzo y la finalización de un programa respectivamente.
ORG Indica la dirección de memoria donde comienza la ejecución
del programa. Cabe aclarar que solo es una instrucción de
ensamble, es decir se utiliza al momento de armar el Código
Objeto.
END Indica la finalización del programa que se estaba ejecutando.
181
JUMP NZ Modifica el contador de programa (CP) con una nueva
dirección si el resultado de la operación efectuada es
distinta de cero, o sea Z= 0
JUMP P Modifica el contador de programa (CP) con una nueva
dirección si el resultado de la operación efectuada es
positivo, o sea S= 0
JUMP M Modifica el contador de programa (CP) con una nueva
dirección si el resultado de la operación efectuada es
negativo, o sea S=1
182
Resumen con los distintos tipos de instrucciones
183
5.5.2. Procesamiento de una instrucción
La función básica que realiza una computadora es la ejecución de
programas. El programa a ejecutar está compuesto por un conjunto de
instrucciones almacenadas en memoria. La unidad central de proceso (CPU)
se encarga de leer y ejecutar las instrucciones especificadas en dicho
programa.
Para adquirir una mejor comprensión de esta función y de la forma en
que los principales componentes del computador interactúan para ejecutar
un programa, es preciso considerar con detalle el proceso de ejecución de
un programa. El procesamiento que requiere una instrucción se denomina
ciclo de instrucción.
El punto de vista más sencillo considera el procesamiento de una
instrucción constituido por dos etapas: el ciclo de captación y el de
ejecución (Ver Figura 5.11).
En el ciclo de captación la CPU lee (capta, de “fetch” en inglés) la
instrucción de memoria y en el ciclo de ejecución la ejecuta. La ejecución
del programa consiste en la repetición del proceso de captación y ejecución
de la instrucción. Por supuesto, la ejecución de la instrucción puede a su
vez estar compuesta de cierto número de pasos.
La captación de una instrucción es una operación común a todas las
instrucciones y consiste en la lectura de la instrucción de una posición de
memoria; la ejecución de la instrucción puede suponer varias operaciones y
depende de la naturaleza de la instrucción.
La ejecución del programa se detiene sólo si la máquina se
desconecta, se produce algún error, o se encuentra una instrucción del
programa que detiene al computador.
184
de ejecución. A continuación se describen las microórdenes que el
secuenciador genera durante ambas etapas.
Contador de Contador de
6
Programa Programa +1
185
Figura 5.12 Ciclo de captación de una instrucción.
186
interpretando el operando recibido como segundo operando, ya que el
primer operando es siempre el valor almacenado en el Acumulador.
El resultado de la operación realizada entre el primer y segundo
operando, queda almacenado en el Acumulador. A continuación, la Unidad
de Control ordena la actualización de los flags (bits) del Registro de Estado
que reflejan condiciones del resultado de la operación realizada en la
UAL (ver apartado 5.3.3 – Registros Asociados a la UAL: Registro de Estado).
El siguiente esquema de microinstrucciones resume los pasos del ciclo
de ejecución completo de una instrucción aritmética (sólo cambiará el tipo
de operación aritmética a ejecutar). Estos pasos se muestran para su
seguimiento en la Figura 5.13.
Bus Interno
Registro de
10 UAL
Palabra
(2do operando)
11 UAL Acumulador
187
Figura 5.13 Ciclo de ejecución de una instrucción aritmética (ADD, SUB, MPL o DIV).
188
El siguiente esquema muestra los pasos del ciclo de ejecución de la
instrucción LOAD, cuyo seguimiento puede realizarse en la Figura 5.14.
Bus de Datos
Memoria Registro de
9
Principal Palabra
(lectura)
189
escrita. La Unidad de Control ordena la operación de escritura en memoria
y el contenido del registro Acumulador es llevado por el bus interno al
Registro de Palabra. Desde allí a través del bus de datos se almacena el
dato en la celda de memoria activada.
A continuación se muestra el esquema de microinstrucciones del ciclo
de ejecución de la instrucción STORE con el respectivo seguimiento en la
Figura 5.15.
Bus de Datos
Registro de Memoria
10
Palabra Principal
(escritura)
190
Observación: Para la resolución de los ejemplos y ejercicios
propuestos que se presentan a continuación, se usará el set de
instrucciones y la arquitectura de procesador detallado en la Tabla
5.5.
a) Realice el seguimiento del siguiente programa usando los esquemas y Figuras: 5.13, 5.14 y 5.15
ORG 0107 H Comienzo de programa. En el contador de programa se carga la dirección 0107H.
0107 H LOAD, (025ª H) Carga en el Acumulador el contenido de la celda de memoria de dirección 025AH.
0108 H ADD, (135E H) Suma al Acumulador el contenido de la celda de dirección 135EH.
0109 H STORE, (135F H)Almacena el contenido del Acumulador en la dirección 135FH.
010ª H END Fin del programa
Memoria Principal
Bus de Datos
01 025A H 0107 H
03 135E H 0108 H Bus de Direcciones
02 135F H 0109 H
0E 0000 H 010A H
: :
: :
:
13 D 025A H
Memoria de datos : :
20 D 135E H
50 D 135F H
Nota: Para mayor claridad, se muestran los esquemas de microinstrucciones en las páginas siguientes.
4) Después del ciclo de búsqueda: 0109 H STORE, (135F H) (135F H)= 50D
191
192
LOAD CB CP
RDir
Bus Dir MP= 0107 H Bus Datos
RP
RI U.C. CP=CP+1
0107 H 0107 H 01 025A H 01 025A H 01 025A H 01 025A H 01 Decodif. 0108 H
Dec.
CE 01 025A H 01= LD
Bus Dir MP= 025A H Bus Datos
RDir RP Acum.
025A H 13 13 13
Dec.
CE 03 135E H 03 =ADD
Bus Dir MP= 135E H Bus Datos U.A.L. R.Estado
RDir RP Acum
135E H 20 20 20 13 +20 33 S=0 Z=0
Dec.
CE 02 135F H 02 =ST
Bus Dir MP= 135F H
RDir
Secuenc. 135F H 50 33
Bus de Datos
Acum R.Palabra
33
Dec.
CE 0E 0000 H 0E =END CB: Ciclo de Búsqueda
CE: Ciclo de Ejecución
192
Ciclo de Búsqueda Ciclo de Ejecución
Bus Interno (Dir. Operando)
Contador de Registro de Registro de Registro de
1 7
Programa Direcciones Instrucciones Direcciones
0107 H 025A H
Bus de Datos
Memoria Bus de Datos Registro de Memoria Registro de
3 9
Principal (01 025A H) Palabra Principal Palabra
(13)
(Cod. Op.)
Registro de
5 Decodificador
Instrucciones
01
6 CP=0107 H CP+1=0108 H
(2do operando)
Registro de Bus Interno Registro de Registro de
4 10 UAL
Palabra 03 135E H Instrucciones Palabra
20
(Cod. Op.)
Registro de UAL
5 Decodificador 11 Acum. = 33
Instrucciones 13+20
03 33
Bus Interno
Memoria Bus de Datos Registro de Registro de
3 9 Acumulador
Principal (02 135F H) Palabra Palabra
33
Bus de Datos
Registro de Bus Interno Registro de Registro de MP = 135F H
4 10
Palabra 02 135F H Instrucciones Palabra 50 33
(33)
(Cod. Op.)
Registro de
5 Decodificador
Instrucciones
02
6 CP=0109 H CP+1=010A H
193
Instrucciones de ruptura de secuencia sin retorno: JUMP
Este tipo de instrucción, también llamado instrucción de bifurcación o
de salto, permite modificar el desarrollo secuencial del programa, haciendo
que la instrucción de salto sea seguida no por la instrucción almacenada en
la siguiente dirección, sino por una instrucción cuya dirección viene
suministrada por la propia instrucción de salto. Además este salto puede
ser incondicional o estar sujeto a ciertas condiciones que deben ser
cumplidas para ejecutar el salto (ver apartado 5.5.1).
194
Salto condicional – Procesamiento de las instrucciones JUMP M/ P/ Z/ NZ
Cuando el Decodificador identifica el código de operación como una
instrucción de salto condicional, la Unidad de Control verifica la condición
de salto con los bits del Registro de Estado. Si la condición se cumple
(verdadero), la dirección de salto que se encuentra en la zona de dirección
del Registro de Instrucciones se transfiere al Contador de Programa
modificando de esta manera la secuencia del programa. Si la condición no
se cumple (falso), la ejecución de la instrucción termina, el Contador de
Programa no se modifica y la ejecución del programa continúa
normalmente. (ver apartado 5.5.1).
Falso
Fin
195
Ejemplo 5.2 Seguimiento de instrucciones de salto
a) Realice el seguimiento del siguiente programa usando los esquemas de microinstrucciones. Considere el
Acumulador= 20; Registro de Estado: Z=0 S=0
0106 H …
0107 H JUMP Z, 0109 H Salta a la dirección 0109 H (STORE), si el resultado de la operación es nulo (si Z=1)
0108 H JUMP, 010A H Salto incondicional a la dirección 010A H (END)
0109 H STORE, (135F H Almacena el contenido del Acumulador en la dirección 135F H.
010AH END
Memoria Principal
Bus de Datos
09 0109 H 0107 H
07 010A H 0108 H Bus de Direcciones
02 135F H 0109 H
0E 0000 H 010A H
: :
: :
Nota: Para mayor claridad, se muestran los esquemas de microinstrucciones en las páginas siguientes.
196
Ciclo de Búsqueda Ciclo de Ejecución
Bus Interno Bus Interno
Contador de Registro de Registro de UC
1 7
Programa Direcciones Estado (flag: Z) Z=0
0107 H
6 CP=0107 H CP+1=0108 H
(Cod. Op.)
Registro de
5 Decodificador
Instrucciones
07
6 CP=0108 H CP+1=0109 H
Bus Interno
Contador de Registro de
1
Programa Direcciones
010A H
(Cod. Op.)
Registro de
5 Decodificador
Instrucciones
0E
6 CP=010A H CP+1=010B H
197
Instrucciones de ruptura de secuencia con retorno: CALL, RET
Una instrucción de salto con retorno, se refiere siempre a un llamado
para la ejecución de un programa secundario. En lenguaje Assembler el
llamado se realiza usando la instrucción CALL. Según el lenguaje de
programación que se esté usando, el programa secundario puede ser una
Función, un Procedimiento o una Subrutina. Este programa secundario,
depende del programa principal que lo invocó, y por lo tanto una vez
ejecutado debe devolver el control al programa principal para que continúe
con la secuencia del programa. El retorno al programa principal se hace a
través de la instrucción RETURN (RET), colocada al final de la subrutina. Se
verá a continuación el desarrollo de estas dos instrucciones.
Bus de Datos
Registro de
11 Memoria Pila
Palabra
(escritura)
Bus Interno
Registro de Contador de
12
Instrucciones Programa
(dir.operando)
198
Figura 5.18 Ciclo de ejecución de una instrucción de salto con retorno (CALL).
199
Pasos del procesamiento de la instrucción RET
Bus Interno Registro de
7 Puntero Pila
Direcciones
Bus Datos
Registro de
9 Memoria Pila
Palabra
(lectura)
Bus Interno
Registro de Contador de
10
Palabra Programa
200
Ejemplo 5.3 Seguimiento de instrucciones de salto con retorno.
a) Realice el seguimiento del siguiente programa usando los esquemas de microinstrucciones. Complete el
cuadro correspondiente a la memoria de datos e instrucciones. Considere el Acumulador = 20 y el Puntero
Pila = 0100 H.
0106 H …
0107 H CALL, 0209 H Salta a la dirección 0209 H para ejecutar la subrutina, después de guardar 0108 H
0108 H END Fin del programa principal.
: :
0209 H STORE, (035B H) Almacena el contenido del acumulador en la dirección 035B H.
020A H RET Retorna al programa principal, a la dirección 0108 H.
Memoria Principal
00FE H
Bus de Datos 00FF H Memoria Pila
0100 H
: :
0C 0209 H 0107 H
0E 0000 H 0108 H Bus de Direcciones
: :
: :
02 035B H 0209 H
0D 0000 H 020A H
Memoria de datos : :
13 D 035B H
Nota: Para mayor claridad, se muestran los esquemas de microinstrucciones en la página siguiente.
201
Ciclo de Búsqueda Ciclo de Ejecución
Bus Interno
Contador de Registro de
1 7 PP = 0100 H PP-1= 00FF H
Programa Direcciones
0107 H
Bus Interno
Registro de CP = 0108 H
6 CP = 0107 H CP+1=0108 H 12-
Instrucciones CP = 0209 H
0209 H
6 CP = 0209 H CP+1=020A H
202
Bibliografía
JEAN-PIERRE MEINADIER. "Estructura y Funcionamiento de las
Computadoras Digitales"
WILLIAM STALLING. "Organización y Arquitectura de Computadores".
PEDRO DE MIGUEL ANASAGASTI. "Fundamento de los Computadores"
MARIO GINZBURG. "Operación Programación de Computadoras"
Revistas
Users #174- "Procesadores"- Adrián Mansilla
Fuentes webs:
http://www.howstuffworks.com - "How Microprocessors Work".
Marshall Brain
http://www.portalmundos.com / mundoinformatica / hardware -
"AMD vs. Intel: Pequeña historia de los procesadores". Sergio de
los Santos
http://www.intel.com
http://www.amd.com
203
Unidad 6
Periféricos e Interfaces
Índice temático Unidad Nº 6 – Periféricos e Interfaces
Monitores - LCD
Planos - Plasma
- LED
Máquina - Máquina Módems
- A nivel de Periférico
Entre CPU y Periféricos - A nivel módulo (IB)
- Implementación de una IB
- Jerarquía de buses
INTERFACES - de control
Buses - Bus de Sistema - de direcciones
- de datos
207
6.1. Introducción
En esta unidad se hará una breve descripción de los distintos tipos de
periféricos y de cómo se conectan a la placa madre. Al igual que las
memorias externas, que necesitan de interfaces de conexión, los periféricos
también se conectan a través de interfaces a la placa madre.
Una interfaz es un dispositivo que se usa para conectar dos
subsistemas diferentes, por ejemplo, el procesador y otro componente del
sistema: la memoria principal, un periférico o una memoria auxiliar. Estas
interfaces toman características diferentes según sea el tipo de
componentes que estén conectando.
Teniendo en cuenta esto último, se abordarán los siguientes temas:
BUSES, como interfaz de conexión simple entre dos dispositivos; interfaz
BUFFER como conexión de periféricos al bus de expansión; Memorias
CACHÉ como conexión del procesador (CPU) con la memoria principal y con
las memorias secundarias (discos) y PUERTOS como interfaz de conexión
externa entre un periférico y la placa madre.
6.2. Periféricos
En el terreno de la informática, se puede hacer referencia a dos tipos
de periféricos: los periféricos de almacenamiento que son de entrada/salida
(vistos en la Unidad 4 como memorias externas) y los de comunicación, que
son los que se tratarán en esta Unidad. La denominación de periféricos de
comunicación se da a todo dispositivo que permite la conexión de la
computadora con el mundo exterior y pueden ser de entrada, salida o de
entrada/salida.
La misión de los periféricos de comunicación incluye:
La toma de datos para procesarlos
La presentación de los resultados devueltos por la computadora
La comunicación con otro computador.
208
Teclado: es el periférico
más común e
indispensable para
introducir órdenes y
datos en la computadora.
Presenta distintos grupos
de teclas: teclado numérico, alfanumérico, de funciones, de movimiento,
etc. Se conecta a través de un cable a uno de los puertos de entrada de
la computadora o puede ser inalámbrico y conectarse a través de rayos
infrarrojos o radiofrecuencias.
209
Lectora de tarjetas magnéticas: dispositivo que permite interpretar la
información almacenada en “una banda (o cinta) de un material
magnético”, donde están grabados los datos de la tarjeta y transformarla
en datos digitales que pueden ser almacenados en la memoria de la
computadora.
210
Digitalizador: es un periférico que transforma gráficos, en datos de
entrada a la computadora. El papel con el dibujo a digitalizar se coloca
en un tablero sobre el que se desplaza un cursor o lápiz. Este lápiz envía
a la computadora las coordenadas (x,y) del tablero sobre el que se va
moviendo.
211
6.2.2. Periféricos de comunicación máquina-hombre
Son los dispositivos que permiten visualizar los resultados de los
programas ejecutados en la computadora. Se los denomina también
periféricos de salida. Una computadora puede tener varias unidades de
salida.
212
Plotter de mesa Plotter de tambor
Monitor plano
213
6.2.3. Periféricos de comunicación máquina-máquina
214
Un buffer adapta dos velocidades distintas, permitiendo independencia
entre el subsistema emisor y el subsistema receptor, con el fin de que
ambos estén permanentemente ocupados y así contribuir a aumentar el
rendimiento general del sistema.
La palabra buffer tiene una traducción directa "amortiguador",
significando que amortigua diferencia de velocidades.
Físicamente, un buffer es un elemento de memoria (o varios) que se
utiliza para almacenar temporalmente datos.
Eso quiere decir que mientras se realiza una acción en memoria (por
ej. una lectura), la CPU puede realizar 10. La memoria caché de memoria
principal tiene por objetivo amortiguar esta diferencia.
215
La caché contiene una copia de partes de la memoria principal.
Cuando el procesador intenta leer una palabra de memoria principal,
se hace una comprobación para determinar si la palabra está en la caché.
Si es así, se entrega dicha palabra al procesador. Si no, un bloque de
memoria principal, consistente en un cierto número de palabras se
transfiere a la caché y, después, la palabra es entregada al procesador.
60 ηs
Memoria
Principal
CPU
2 20 ηs Memoria (DRAM)
0 nseg Caché
(SRAM)
216
La proximidad espacial y la proximidad temporal.
217
En resumen, la caché actúa como buffer entre la memoria principal
y el procesador, creando una memoria interna de dos niveles. Esta
arquitectura de dos niveles proporciona mejores prestaciones que una
memoria comparable de un nivel, explotando una propiedad conocida como
“proximidad ó localidad”.
218
Memoria Caché de Disco
Estadísticamente se verifica que es muy probable que si se lee parte de
un archivo en disco, las lecturas solicitadas al disco en el futuro sean
también de ese archivo. Dado que para optimizar el tiempo de acceso, el
almacenamiento de las porciones de un archivo se realiza por ejemplo en
sectores de una misma pista, resulta que si se leyó un sector de la misma,
es alta la probabilidad de que se solicite leer otro sector de ella. Entonces,
una vez que el cabezal accedió a una pista, o al cilindro formado por las
pistas que recorrerán las cabezas, no se pierde mucho tiempo si además de
los 512 bytes (supuestos) de un sector, se transfieren los 35 (supuestos) de
la pista que contiene el sector. Por lo tanto en este ejemplo se enviarán al
caché de disco los 51235 18 KB de la pista, de manera tal que cuando se
requiera la siguiente parte del archivo éste ya se encuentra en la caché del
disco.
219
Buffer entre CPU y periféricos
Memoria
Principal A nivel de MP
Buffer en
Bus de MP
sistema
Adaptador
Módulo de E/S
(Interfaz Buffer IB) A nivel de
(Placa controladora o Módulo
Adaptador)
Interfaz Externa
Conexión
del periférico
(serie o paralelo)
Electrónica Buffer
Periférico en EP
A nivel de
PERIFERICO Periférico
Vínculo Exterior
V
Exterior
220
Esta conversión puede requerir a su vez conversiones analógicas /
digitales y/o conversiones serie / paralelo.
A nivel de Periférico
En relación a un periférico, en principio se puede distinguir en él dos
subsistemas, con funciones y ubicación relativa diferentes:
a) Uno más externo, mediante el cual el periférico se “vincula” con el
exterior, cuya función es obtener un primer nivel de señales eléctricas
en un periférico de entrada, o generar las señales eléctricas finales en
un periférico de salida. Por ejemplo, en un teclado las señales eléctricas
se obtienen luego de pulsar las teclas; en un disco luego que un
transductor (mecanismo de lectura) lee señales magnéticas.
b) Otro más interno que se llama “electrónica de periférico” EP y cuyas
funciones son:
- La conversión de señales eléctricas que le envía la porción V, en
señales eléctricas binarias hacia la IB del periférico, o el pasaje
inverso, según que se trate de una entrada o salida (conversión
Analógica/Digital).
- El manejo y control de los movimientos mecánicos necesarios
para leer o escribir el soporte en unidades de disco, cinta,
impresoras, graficadores, etc.; y el barrido del haz de electrones
en el monitor de vídeo, conforme a las ordenes provenientes de
la IB del periférico.
- La obtención de información de estado del periférico (si está o
no operando, falta de papel, disco, etc.) y el envío de la señal
correspondiente a la IB del mismo.
El Buffer a este nivel, se usa por lo tanto, para retener los datos de
entrada/ salida que deben ser tratados por la EP (conversión A/D
o D/A), o a la espera de una respuesta del periférico o de la Interfaz Buffer
(IB) para su transmisión.
A nivel de Módulo
Existen varias razones por las cuales los periféricos no se conectan
directamente al bus de sistema:
Hay una amplia variedad de periféricos con formas de funcionamiento
diferentes. Podría no ser práctico incorporar la lógica necesaria dentro de la
CPU para controlar la diversidad de dispositivos.
A menudo, la velocidad de transferencia de datos de los periféricos es
mucho menor que la de la memoria o la CPU. Así, no es práctico utilizar un
bus del sistema de alta velocidad para comunicarse directamente con un
periférico.
Con frecuencia, los periféricos utilizan datos con formatos y tamaños
de palabra diferentes de los del computador a los que se conectan.
221
En consecuencia, se necesita el módulo de E/S (o Interfaz Buffer, IB)
que es el elemento del computador responsable del control de uno o más
periféricos y del intercambio de datos entre esos dispositivos y la memoria
principal y/o los registros de la CPU.
IDE: Esta interfaz es el más usado en PCs normales, debido a que tiene un
balance bastante adecuado entre precio y prestaciones. El estándar IDE fue
ampliado por la norma ATA-2 en lo que se ha dado en denominar EIDE
(Enhanced IDE o IDE mejorado) permitiendo mayor transferencia de datos
en menor tiempo. Los sistemas EIDE disponen de 2 canales IDE
(comúnmente conocida como manguera de conexión), primario y secundario,
con lo que pueden aceptar hasta 4 dispositivos (unidades), que no tienen
porqué ser discos duros podrías ser un CD-ROM o alguna unidad
grabadora de CD/DVD. En cada uno de los canales IDE puede haber un
dispositivo Maestro (master) y otro Esclavo (slave). Los dispositivos IDE o
EIDE como discos duros o CD/DVD disponen de micro interruptores
(jumpers), situados generalmente en la parte posterior o inferior de los
mismos, que permiten seleccionar su carácter de maestro, esclavo o incluso
otras posibilidades. Las posiciones de los jumpers vienen indicadas en la
222
superficie del disco, o bien en el manual o serigrafiadas en la placa de
circuito del disco duro. Estas interfaces (IDE o ATA), conectan los
dispositivos en paralelo logrando velocidades de transferencias de 100-133
MB/s. Actualmente la tendencia es el uso de una nueva norma conocida
como Serial ATA (SATA), que como su nombre lo indica permite la conexión
en serie de los dispositivos, con velocidades que van de 150 MB/s hasta
300MB/s en su versión SATA 2.5 y en su versión más reciente 600MB/s
Ejemplo 6.1
Se tiene un buffer de 1 KByte que se llena a razón de 100
megabits por segundo. ¿Cuánto tarda en llenarse?
1 KB x 1 MB x 8 Mb = 0.0078125 Mb
1024 KB 1 MB
100 Mb __________ 1 s
0.0078 Mb _______ x = 0.0078125 Mb x 1 s = 0.000078125 s
100 Mb
6.4. Buses
Un bus es un camino de comunicación entre dos o más dispositivos,
por lo tanto una interfaz. Una característica clave de un bus es que se trata
de un medio de transmisión compartido. Al bus se conectan varios
dispositivos, y cualquier señal transmitida por uno de esos dispositivos está
disponible para que los otros dispositivos conectados al bus puedan acceder
a ella. Si dos dispositivos transmiten durante el mismo período de tiempo,
sus señales pueden solaparse y distorsionarse. Consiguientemente, sólo un
dispositivo puede transmitir con éxito en un momento dado.
223
En muchos casos, un bus está constituido por varios caminos de
comunicación o líneas. Cada línea es capaz de transmitir señales binarias
representadas por 1 y por 0. En un intervalo de tiempo, se puede transmitir
dígitos binarios simultáneamente (en paralelo). Por ejemplo, un dato de 8
bits puede transmitirse mediante ocho líneas del bus.
224
Bus Local: CPU Memoria Caché
1
Esquema: Paper Estructura y tecnología de computadores. Departamento Arquitectura de computadores y Automática.
Universidad Complutense de Madrid
225
6.4.2. El Bus de sistema
El bus que conecta los componentes principales del computador (CPU,
memoria, Cache) se denomina Bus de Sistema. Este está constituido,
usualmente, por un conjunto de líneas. A cada línea se le asigna un
significado o una función particular. Aunque existen diseños de buses muy
diversos, en todos ellos las líneas se pueden clasificar en tres grupos
funcionales: líneas de datos, de direcciones y de control. Además, pueden
existir líneas de alimentación para suministrar energía a los módulos
conectados al bus.
Bus de Datos
Las líneas de datos proporcionan un camino para transmitir datos
entre los módulos del sistema. El conjunto constituido por estas líneas se
denomina bus de datos. El bus datos generalmente consta de un número de
líneas que es potencia de 2 (32 ó 64 en la actualidad), cuyo número se
conoce como ancho del bus de datos. Puesto que cada línea sólo puede
transportar un bit cada vez, el número de líneas determina cuantos bits se
pueden transferir al mismo tiempo. Este bus es bidireccional y permite el
intercambio de datos entre la CPU y el resto de las unidades (memoria y
periféricos)
Bus de direcciones
Las líneas de dirección constituyen el bus de dirección y se utiliza para
designar la fuente o el destino del dato situado en el bus de datos. Por
ejemplo, si la CPU desea leer una palabra de datos de memoria (32 ó 64
bits), sitúa la dirección de la palabra deseada en las líneas de direcciones.
Claramente, el ancho del bus de direcciones determina la máxima
capacidad de memoria posible en el sistema, siendo 2n el tamaño máximo
en bytes del banco de memoria que se podrá direccionar con n líneas.
Además, las líneas de direcciones generalmente se utilizan también para
direccionar los puertos de entrada salida.
Bus de control
Las líneas de control constituyen el bus de control y se utiliza para
controlar el acceso y uso de las líneas de datos y de direcciones.
Puesto que las líneas de datos y de direcciones son compartidas por todos
los componentes, debe existir una forma de controlar su uso. Las señales
de control transmiten tanto órdenes como información de temporización
entre los módulos del sistema. Las señales de temporización indican la
validez de los datos y las direcciones, es decir se encargan de que no haya
colisión de información en el sistema por el uso simultáneo del bus. Las
señales de órdenes especifican las operaciones a realizar (por ej.
lectura/escritura).
El funcionamiento del bus se describe a continuación. Si un módulo
desea enviar un dato a otro debe hacer dos cosas: 1) obtener el uso del bus,
y 2) transferir el dato a través del bus. Si un módulo desea pedir un dato a
otro módulo, debe: 1) obtener el uso del bus, y 2) transferir la petición al
otro módulo mediante las líneas de control y dirección apropiadas. Después
debe esperar a que el segundo módulo envíe el dato.
226
6.4.3. El Bus de expansión
Es posible conectar controladores de E/S directamente al bus de
sistema, pero una solución más eficiente consiste en utilizar uno o más
buses de expansión.
El bus PCI
El bus PCI (Peripherical Component Interconnect) fue el estándar más
usado hasta la aparición del PCI express.
227
El nuevo estándar para conexión de periféricos es PCI Express (PCIe),
el cual es mucho más rápido que PCI. Por sus características PCI Express
puede reemplazar a los buses PCI y AGP, ya que puede usarse también para
conectar placas de video.
El bus PCI es un bus paralelo, mientras que el nuevo PCIe es un canal
serie punto a punto lo que posibilita grandes tasas de transferencia. Desde
su implementación se han establecido distintas versiones de zócalos y
buses PCIe para cada necesidad: 1x, 2x, 4x, 8x, 12x y 16x. En su versión de
1x (de 200 MB/s), casi duplica el ancho de banda de PCI, y en su versión de
16x (de 4GB/s) es 30 veces más rápido.
Los slots PCIe de 1x se utilizan para placas controladoras de disco,
placas de red y sonido. Los de 4x y 8x están destinados a placas de audio
profesional y placas de red Ethernet de 1 y 10 Gbps, y los de 16x fueron
creados para placas de video aceleradoras 3D. Otra ventaja de los PCIe es
que son compatibles entre sí, es decir a un zócalo de 16x se le puede
instalar una placa de 12x o inferior, o a un zócalo de 8x una placa de 4x, 2x
o 1x.
La mayoría de los dispositivos actuales son PCI, salvo los adaptadores
de video, que utilizan la tecnología AGP, un bus diseñado especialmente
para ellos.
El bus AGP
Es de uso exclusivo para gráficos, por esta razón las motherboards
sólo incluyen uno (para la placa de video). También existen componentes
"on board" que usan la arquitectura AGP. (Ver Figura 6.5)
6.5. Puertos
En informática, un puerto es una interfaz a través de la cual se
pueden enviar y recibir los diferentes tipos de datos.
La interfaz puede ser de tipo física (hardware) o puede ser a nivel
lógico o de software, en cuyo caso se usa frecuentemente el término puerto
lógico (por ejemplo, los puertos de redes que permiten la transmisión de
datos entre diferentes computadoras).
228
En esta sección se hará referencia a las interfaces por hardware, es
decir puertos físicos que permiten conectar distintos periféricos a la placa
madre. Esta conexión se hace a través de cables que usan conectores
específicos para cada tipo de puerto. Otra manera de realizar dicha
conexión es en forma inalámbrica, es decir sin el uso de cables.
En la Figura 6.6 se puede apreciar el panel trasero de un
motherboard, donde se muestran algunos de los conectores más usados.
Figura 6.6
229
Actualmente todos las motherboards tienen soporte para USB y
cuentan como mínimo con dos puertos.
La versión 2.0 del estándar USB es hasta 40 veces más rápido que la
versión anterior y alcanza tasas de transferencia de 480 Megabits por
segundo (60 MB/seg). Los dispositivos usan los mismos cables y enchufes
que el estándar 1.1, pero el voltaje es distinto. Estos conectores se
identifican con el color negro mientras que los puertos de la versión 3.0,
mucho más veloces (600 MB/s), son de color azul.
230
Figura 6.8 Cables FireWire
y USB
La mayoría de los adaptadores PC actuales soportan 200 Mbit/seg,
aunque los dispositivos generalmente no requieren más de 100 MB/seg. Un
máximo de 63 dispositivos puede conectarse a una sola tarjeta adaptadora
IEEE-1394. La conexión con el motherboard se realiza por una interfaz
dedicada (integrada onboard) o por una tarjeta adaptadora PCI. La principal
diferencia es la velocidad. La tasa de transferencia de 1394 es muy elevada,
solo superada por las versiones USB 3.0 y 3.1 (600 y 1225 MB/s).
En la Figura 6.8 se puede observar cables Firewire y USB. El primero
tiene un conector bañado en oro y el cable se encuentra recubierto para
aislarse de las transferencias. Los USB, si bien están protegidos son más
económicos de realizar.
231
VGA: Adaptador Gráfico de Video, es un conector analógico de video
en alta definición. Se utiliza para la conexión de monitores y proyectores.
233
Figura 6.9 Componentes de la Placa Madre
234
El Puente Norte se conecta directamente al Procesador, a través del
Bus Frontal (FSB) y contiene un controlador de memoria que le permite a la
CPU un rápido acceso a la memoria. El Puente Norte también conecta al
Bus AGP o PCI Express directamente a la memoria.
El Puente Sur es más lento que el Norte, y la información que proviene
de la CPU debe pasar primero por el Puente Norte para alcanzar el Puente
Sur. A este Puente se conectan los buses de expansión para periféricos: el
bus PCI, el puerto USB y los conectores IDE o SATA para discos.
Además de los buses de periféricos ya nombrados, se deben mencionar
otros dos: El Back Side Bus (BSB), que conecta a la CPU directamente con
la memoria caché de nivel 2 (L2) también conocida como Caché Externa o
Secundaria; y el Bus de Memoria que conecta al Puente Norte con los
módulos de Memoria.
235
Bibliografía
JEAN-PIERRE MEINADIER. "Estructura y Funcionamiento de las
Computadoras Digitales"
WILLIAM STALLING. "Organización y Arquitectura de Computadores".
PEDRO DE MIGUEL ANASAGASTI. "Fundamento de los Computadores"
MARIO GINZBURG. "Operación Programación de Computadoras"
R. MARTÍNEZ J. BOLUDA, J. PÉREZ SOLANO “Estructura de
Computadores y Periféricos”
Revistas:
Users #161- "Los Puertos de la PC"- Ariel Gentile
Users #174- "Serial ATA 2.5"- Adrián Mansilla
- "Procesadores"- Adrián Mansilla
Users #176- "Motherboard"- Adrián Mansilla
Users #183- "Placas y buses de expansión"- Javier Richarte
Fuentes webs:
http://www.howstuffworks.com
- "How Motherboards Work". Tracy V. Wilson
236
Unidad 7
Software
Índice temático Unidad Nº 7 – Software
Definición
De Máquina
Tipos de Lenguajes Ensamblador
Alto Nivel
Gratuito
Costo Pago
Apertura Propietario
SOFTWARE Clasificación del código Libre
de Arranque
Ámbito de Sistema Controladores
de aplicación Sist. Operativo
de Programación
de Aplicación
Definición
Malware Generaciones
Tipos
7.1 Introducción
El término software, es un vocablo de origen inglés, que hasta la fecha
no tiene traducción, pero en todo el mundo se entiende que es el conjunto
de programas que hacen posible el trabajo de los componentes de una
computadora.
239
Una computadora con todos sus circuitos electrónicos energizados,
pero sin ningún programa en memoria, no puede procesar datos. No sabe
qué hacer. Al interactuar con el software, cada una de las partes de la
computadora, sabe qué hacer y cómo procesar los datos.
En los primeros años de la existencia de las computadoras, tuvo
mayor relevancia el hardware que el software, puesto que se disponía de
grandes computadoras, caras y complejas, que desarrollaban el trabajo
establecido por unos pocos programas. En la actualidad, el software
adquiere día a día una mayor importancia, en todos los aspectos (costo,
mantenimiento, etc.), y tiene, por lo tanto, mayor relevancia que el
hardware,
Glosario
Si bien en otra unidad se definieron términos técnicos, es bueno
recordar algunos:
Instrucción: Es una orden que especifica una operación a ser
ejecutada por la computadora.
Set de Instrucciones: Conjunto de instrucciones reconocidas por un
determinado microprocesador.
Programa: Es un conjunto ordenado de instrucciones que cumplen
un determinado objetivo.
Lenguaje: Son las reglas que permiten la comunicación entre el ser
humano y el computador
Licencia: Es la forma en que un autor permite el uso de su creación
(por ejemplo un programa) por otras personas, de la manera que él
cree aceptable.
Copyright: es el derecho legal de un autor que obtiene por el
resultado creativo de un trabajo original. Es una forma de protección
garantizada por la ley.
Usuario: es aquella persona que emplea el software.
240
Con los lenguajes de alto nivel, el programador da órdenes que le
permiten programar en menos tiempo, hacer un seguimiento y depuración
de errores más simple, sin necesidad de conocer la arquitectura del
microprocesador. Por otra parte, un programa en un lenguaje de alto nivel
puede utilizarse en distintos equipos, mientras que los de bajo nivel
dependen del procesador.
Esta potencialidad se pone de manifiesto cuando se compara un
lenguaje de alto nivel con el lenguaje Assembler, donde a una sola
instrucción de alto nivel le corresponden varias de bajo nivel para un mismo
algoritmo (cálculo). Por ejemplo: sumar 2 datos y guardar el resultado.
Gratuito
Criterio Costo Pago
a) Software gratuito:
También conocido como freeware. Es aquel software cuyo costo de
adquisición es nulo, es decir, no hace falta efectuar un desembolso de
241
dinero para poder usarlo. Dentro de este tipo pueden distinguirse las
siguientes variantes:
Liteware: Reducido en su funcionalidad.
Crippleware: Liteware llevado al extremo, es decir, severamente
limitado en su capacidad.
Adware: Soft gratuito que muestra alguna publicidad.
Registerware: Para su utilización, se exige un registro gratuito del
usuario en el sitio web de los creadores del software.
Nagware: El software gratuito tiene una presentación o bienvenida
que no puede evitarse, y que puede ser larga y fastidiosa.
b) Software pago
También se conoce como software “comercial”. Es el software
desarrollado por una entidad que tiene la intención de hacer dinero con su
uso. Presenta las siguientes alternativas:
Software Comercial: Software comprado por el usuario, no disponible
gratuitamente.
Shareware (Demos o trials): demostraciones o pruebas por un
periodo de tiempo acotado. A veces durante este periodo es
totalmente funcional, otras veces están restringidas sus funciones.
Vencido este periodo de evaluación, se necesita una clave (número de
serie) para “activarlo”.
242
Definición
Verificar componentes
Funciones Cargar el SO
Servicios de comunicación
De Arranque
ROM (BIOS)
Software de Base Componentes físicos
RAM-CMOS(config.de datos)
Controladores
Definición
Sistema Operativo Tareas
Tipos
Software de arranque
El Software de arranque está constituido por una serie de rutinas
almacenadas en memoria ROM, denominadas BIOS (Basic Input Output
System) es decir, “Sistema básico de entrada/salida”. Por ser software
almacenado permanentemente en hardware constituye lo que se denomina
FIRMWARE. (ver Unidad 3, sección 3.2.3.1)
Por ser el BIOS un firmware, consta de una parte lógica y una física.
La parte lógica está formada por las rutinas del BIOS (software),
almacenadas en la parte física, constituida por una memoria ROM,
actualmente del tipo Flash.
Para que estos programas (BIOS) funcionen en cualquier computadora
necesitan conocer los datos que "configuran cada equipo" en particular.
Como estos datos de entrada pueden variar de máquina a máquina e
incluso pueden modificarse en un mismo equipo en el caso que se actualice
algún componente del hardware, se graban en una memoria RAM del tipo
CMOS. Esta memoria RAM se alimenta con una pila que impide que se
borre el contenido cuando se apaga la máquina. La modificación de estos
datos se hace a través del SETUP (programa grabado en ROM).
Este tema se trata con más detalle al final del capítulo, donde se
detalla la información necesaria para realizar la Práctica de la Unidad de
Software, referente a la configuración del BIOS a través del SETUP
Como resumen se puede decir que las funciones principales del BIOS
son:
Verificación de componentes de hardware: El proceso de arranque o
encendido de una computadora comienza con un “autorreconocimiento”,
es decir, cómo está compuesta, que recursos dispone, etc. La primera
pantalla que se verá cuando se enciende la máquina será relativa al
proceso inicial llevado a cabo por el BIOS, conocido como POST (Power
On Self Test, traducido significa “Autotesteo de encendido”), y que
consiste en: (ver figura 6.1)
- Realizar un conteo y comprobación de la memoria RAM.
243
- Comprobar por ejemplo la existencia del teclado; si no está
enchufado o el cable se cortó, mostrará un mensaje de falla de
teclado y la PC se detendrá donde se encuentre dentro del
POST.
- Verificar la correcta configuración de los puertos de conexión.
- Lectoras de CD/DVD.
- Discos duros.
Figura 7.1
Hardware
BIOS
Figura 7.2
244
En el esquema que muestra la Figura 6.2 se puede ver la forma en la
que el software accede a los dispositivos de hardware. La realidad actual es
que el SO accede a la mayoría de los componentes directamente a través de
los controladores de dispositivos (o device drivers), pero aún existen casos
en los que utiliza el BIOS como interfaz de comunicación.
Sistema Operativo
El Sistema Operativo (SO) es un conjunto de programas destinado a
permitir una gestión eficaz de los recursos de una computadora. Se
entiende como recursos administrados por el SO:
- Procesador/es (CPU)
- Memoria
- Periféricos
- Archivos
Además, se encarga de relevar al operador de una computadora de la
necesidad de conocer la microelectrónica que maneja la computadora,
proveyendo interfaces amigables que permitan operar el hardware de
manera amigable e intuitiva.
APLICACIONES
SIST. OPERATIVO
HARDWARE
245
Cuando la computadora se enciende, las rutinas de arranque (BIOS)
de una computadora cargan una fracción del SO, denominada núcleo o
kernel, en memoria principal y reside allí en forma permanente hasta el
apagado. El núcleo contiene las funciones básicas del SO. El resto de las
funciones se encuentran almacenadas en un medio de memoria auxiliar
(generalmente disco magnético), de donde son extraídas para su ejecución
cuando se las necesita.
Dichas funciones posibilitan utilizar en forma correcta, simple y
eficiente los recursos de un sistema de computación. Es el SO quien se
comunica con el hardware. Todas las funciones del hardware están a
disposición del usuario, a través de pedidos al SO.
Desde el punto de vista del usuario, el SO facilita el uso de la
computadora. Desde el punto de vista del aprovechamiento del sistema de
computación, maximiza el rendimiento, permitiendo ejecutar la mayor
cantidad posible de aplicaciones.
El SO es un componente principal de prácticamente la totalidad de los
sistemas de computación. Salvo en casos muy especiales, es muy difícil, si
no imposible, usar una computadora sin alguna clase de Sistema Operativo
y usar un sistema deficiente podría tener un efecto desastroso en la
capacidad de procesamiento de una máquina, pues anularía la eficacia de
un costoso y veloz hardware.
Los Sistemas Operativos son el centro nervioso que dirige y coordina el
uso de una máquina y el medio idóneo que permite obtener de ella una
mayor eficiencia y flexibilidad al cumplir las múltiples funciones para las
que están diseñados.
Dentro de los Sistemas Operativos más conocidos puede citarse:
Windows, Linux, Unix, Solaris, entre otros.
246
programas instrucciones que solicitan los servicios del SO. Estas
instrucciones son conocidas como “llamadas del sistema”,
interrupciones por software o IRQs.
Software de Programación
Son todos aquellos software, a partir de los cuales se puede desarrollar
o programar otros software (llamados sistemas) para los más variados
ámbitos de aplicación. Están formados por un set de instrucciones en
lenguaje de alto nivel, con el cual trabaja el programador para construir
algoritmos (Programas Fuente) que resuelvan una situación problemática
particular.
Todo Software de Programación incluye un traductor, que convierte el
programa Fuente (construido con instrucciones de alto nivel) en un módulo
objeto, en lenguaje binario (comprensible por el microprocesador).
Como la computadora sólo es capaz de entender el lenguaje de
máquina, no podrá ejecutar directamente un programa escrito en
Assembler o en un lenguaje de alto nivel. Es por ello que se requiere de
programas traductores.
Entre los programas traductores pueden distinguirse los siguientes:
- Intérprete: Toma cada instrucción del programa escrito en un lenguaje
de alto nivel, la verifica sintácticamente, la traduce al lenguaje de
máquina e inmediatamente la ejecuta. Si encuentra algún error en este
proceso emite un mensaje de correspondencia. El proceso descrito es
instrucción a instrucción. Es decir sólo realizan la traducción a medida
247
que sea necesario y normalmente, no guardan el resultado de dicha
traducción.
Los programas interpretados suelen ser más lentos que los compilados
debido a la necesidad de traducir el programa mientras se ejecuta, pero
a cambio son más flexibles como entornos de programación y
depuración además permiten ofrecer al programa interpretado un
entorno no dependiente de la máquina donde se ejecuta el intérprete.
Algunos ejemplos de lenguajes que son interpretados: Basic, PHP,
JavaScript, ASP (hasta la versión 3), Prolog, ASP, Lisp.
Software de Aplicación
Son los programas que utiliza el usuario para procesar datos y obtener
resultados. Se los denomina también software de usuario. Hay distintas
variantes, a saber:
a) Programas a Medida. Son aquellos programas desarrollados en un
lenguaje de Alto Nivel, para realizar una tarea específica. Ejemplo de
esto es una página web, o un programa para administración de personal
de una empresa.
b) Utilitarios. Son programas desarrollados para cumplir con un gran
número de necesidades generales. Actualmente se ha generalizado su
uso. Ejemplo de ello son los Procesadores de Textos, Planillas
electrónicas, manejadores de bases de datos, generadores de
presentaciones, etc.
248
representan un peligro para la seguridad de los datos y sistemas
almacenados en las computadoras.
Si bien, en general, a esta clase de software se le llama “virus” hay
definiciones más específicas para las distintas variantes de esta clase de
programas.
Los virus representan una amenaza presente debido a que todo el
tiempo están mutando. Sin embargo como representan el origen del
software maligno es que se empezará por su definición para luego avanzar
sobre las definiciones de las demás alimañas con las que tienen pequeñas
diferencias técnicas (pero sustanciales).
Estas tres características, sumado a la globalización del uso de
Internet, ha potenciado la peligrosidad de este tipo de programas,
resultando en la actualidad un tema de tratamiento en todo sistema que
pretenda seguir funcionando aceptablemente a lo largo del tiempo.
249
decir que para que un programa pueda ser considerado virus debe
cumplir con 3 características: Dañino (fueron concebidos para producir
algún tipo de daño, ya sea eliminando/modificando un archivo o
consumiendo recursos del sistema), Autorreproductor (su objetivo es
perdurar en el tiempo y reproducirse por autocopia) y Subrepticio (se
mantiene oculto al usuario o presenta algún tipo de camuflaje que
dificulta su identificación). Para poder ingresar a un sistema necesitan
de un archivo (huésped o portador) en el cual se inserta su código, lo
que provoca la contaminación del archivo. Luego, puede quedar latente
a la espera de algún evento (fecha determinada, la ejecución de una
aplicación en particular, etc.) para causar algún daño.
250
Keyloggers: Es una clase o especialización de spyware (software espía)
que graba todo lo que se teclea en una computadora. Pueden llegar
camuflados como troyanos dentro de aplicaciones legítimas. Acá se
puede ver, que a veces, las fronteras no son claras para clasificar estos
programas malignos: un software de estas características puede ingresar
como un troyano a una computadora y actuar como un software espía,
más específicamente como un “grabador de teclas”.
251
Bibliografía
GABRIEL DUPERUT “Fundamentos de Computación y Comunicación”
PRIETO ESPINOSA, LLORIS RUIZ Y TORRES CANTERO "Introducción a la
Informática”
ANDRES TENENBAUM “Organización de Computadoras”
A. SILBERSCHATZ “Sistemas Operativos: Conceptos fundamentales”
GABRIEL DUPERUT “"El Computador y su entorno”
MICHAEL FOLK Y BILL ZOELLICK “Estructuras de archivos”
Revistas:
Curso Users: Armado de Pc: BIOS Avanzado
Users # 184, Editorial MP Ediciones
Fuentes web:
http://es.wikipedia.org
252