Transformacion de Datos
Transformacion de Datos
Transformacion de Datos
A menudo parece que las computadoras debieran entendernos debido a que nosotros entendemos
la información que producen. Sin embargo, las computadoras no pueden entender todo. Todo lo
que pueden hacer es reconocer dos estados físicos distintos producidos por la electricidad, la
polaridad magnética o luz reflejada. En esencia, todo lo que pueden entender es si un interruptor
está encendido o apagado. De hecho, el "cerebro" de la computadora, la CPU, consiste
principalmente de varios millones de diminutos interruptores eléctricos, llamados transistores.
Una computadora sólo aparenta entender información debido a que contiene tantos transistores y
opera a velocidades tan fenomenales, ensamblando sus interruptores individuales de encendido y
apagado en patrones que son significativos para nosotros.
Usted puede pensar en los datos como hechos fuera de contexto, como las letras individuales en
esta página. Tomadas en forma individual, las palabras no dicen nada; agrupadas, sin embargo,
transmiten significados específicos. Del mismo modo que en una marquesina de teatro se pueden
combinar miles de luces para mostrar el nombre del espectáculo que se esté dando, una
computadora convierte datos sin significado en información útil, como hojas de cálculo, gráficos y
reportes.
Los datos de la computadora se ven extraños en especial porque la gente por lo general usa la
base 10 para representar números. El sistema se llama base 10, o sistema decimal (deci significa
10 en latín) porque están disponibles diez símbolos: 1, 2, 3, 4, 5, 6, 7, 8, 9 y 0. Cuando usted
necesita representar un número mayor que 9, usa dos símbolos juntos, como en 9 + 1 = 10.
Cada símbolo en un número es llamado dígito, así 10 es un número de dos dígitos.
En una computadora, sin embargo, todos los datos deben ser reducidos a interruptores eléctricos.
Un interruptor sólo tiene dos estados posibles: "encendido" y "apagado", así que sólo tiene
dos símbolos numéricos. 0 representa "apagado" y 1 representa "encendido". Ya que sólo hay
dos símbolos, se dice que las computadoras funcionan en base 2, lo cual también se conoce
como sistema binario (bi significa dos en latín).
Cuando una computadora necesita representar una cantidad mayor que 1, hace lo mismo que
usted hace cuando necesita representar una cantidad mayor que 9: usa dos (o más) dígitos.
Bits y bytes
Cuando nos referimos a datos computarizados, cada interruptor, esté encendido o apagado, se
llama bit. El término bit es una contracción de dígito binario (binarydigit). Un bit es la unidad de
datos más pequeña posible. Para representar cualquier cosa significativa es decir, para
transmitir información, la computadora necesita grupos de bits. Después del bit, la siguiente unidad
mayor de datos es el byte, el cual es un grupo de 8 bits. Con un byte, la computadora puede
representar hasta 256 valores diferentes ya que con 8 dígitos binarios es posible contar de 0 a 255.
El byte es una unidad importante en extremo, ya que tiene suficientes combinaciones diferentes de
ocho bits para representar todos los caracteres en el teclado, incluyendo todas las letras
(mayúsculas y minúsculas), números, signos de puntuación y otros símbolos.
Códigos de texto
Al principio de la historia de la computación, los programadores se dieron cuenta de que
necesitaban un código estándar; un sistema en el que todos pudieran estar de acuerdo con
respecto a qué números representarían las letras del alfabeto, los signos de puntuación y
otros símbolos. EBCDIC, ASCII y Unicode son tres de los sistemas más populares que fueron
inventados.
EBCDIC
El sistema BCD (Código Decimal Binario: BinaryCoded Decimal), definido por IBM para una de sus
primeras computadoras, fue uno de los primeros sistemas completos para
representar símbolos con bits. Los códigos BCD consisten de códigos de seis bits, los cuales
permiten un máximo de 64 símbolos posibles. Las computadoras BCD sólo podían trabajar con
letras mayúsculas y con muy pocos otros símbolos. Por estas razones este sistema tuvo una vida
corta.
El EBCDIC es un código de ocho bits que define 256 símbolos. EBCDIC aún se usa en mainframes
y sistemas de rango medio de IBM, pero rara vez se encuentra en computadoras personales. Para
cuando se estaban desarrollando las computadoras pequeñas, el Instituto Nacional
Estadounidense de Normas (American Nacional StandarsInstitute: ANSI) había entrado
en acción para definir normas para computadoras.
ASCII
La solución de la ANSI para representar símbolos con bits de datos fue el juego de caracteres
ASCII. ASCII significa Código Estándar Estadounidense para el Intercambio
de Información (American StandarCodeforInformationInterchange). Actualmente, el juego de
caracteres ASCII es con mucho el más común.
Los caracteres del 0 al 31 son caracteres de control; del 32 al 64 son caracteres especiales
y números; del 65 al 96 son letras mayúsculas y unos cuantos símbolos; del 97 al 127. son
letras minúsculas, y unos pocos símbolos comunes. Ya que el ASCII, un código de siete bits,
especifica caracteres sólo hasta 127, hay muchas variaciones que especifican diferentes juegos de
caracteres para los códigos del 128 al 255. La norma ISO (Organización Internacional de Normas:
International StandarsOrganization) expandió el juego de caracteres ASCII para ofrecer diferentes
juegos de caracteres para diferentes grupos de idiomas. ISO 8859-1, por ejemplo, cubre los
idiomas de Europa Occidental. Sin embargo, hay muchos otros juegos de caracteres para otros
idiomas que usan un alfabeto diferente.
Unicode
Una norma para representación de datos que está en evolución, llamada Norma de Código Único
para Caracteres Mundiales (Unicode WorlwideCharacter Set), proporciona dos bytes, 16 bits,
para representar cada símbolo. Con dos bytes, un carácter Unicode podría ser cualquier de más de
65 536 caracteres o símbolos diferentes, suficiente para cada carácter y símbolo en el mundo,
incluyendo los vastos juegos de caracteres chinos, coreanos y japoneses y aquellos que se
encuentran en textos clásicos e históricos conocidos. Si un juego de caracteres único estuviera
disponible para cubrir todos los idiomas en el mundo entero, los programas y datos de
computadora serían intercambiables. Debido a que esto es ciertamente una meta que vale la pena,
posiblemente un día se dé el esfuerzo conjunto para reemplazar ASCII por Unicode. Muchos
editores de software, incluyendo Microsoft, Netscape y Accent, animan a sus desarrolladores a
usar Unicode en sus programas.
La CPU
La CPU es el cerebro de la computadora, el lugar donde se manipulan los datos. En una
microcomputadora, la CPU entera está contenida en un pequeño chip llamado microprocesador. El
chip está montado en una pieza de plástico con alambres de metal conectados a ésta. Cada CPU
tiene al menos dos partes básicas: la unidad de control y la unidad lógica aritmética.
La unidad de control
Todos los recursos de la computadora son administrados desde la unidad de control. Por ello, se
puede pensar que la unidad de control es como un policía de tránsito dirigiendo el flujo de datos.
Es el centro lógico de la computadora.
Las instrucciones de la CPU para llevar a cabo comandos están incorporadas en la unidad de
control. Las instrucciones, o conjunto de instrucciones, enumeran todas las operaciones que
puede realizar la CPU. Cada instrucción en el conjunto de instrucciones es expresada
en microcódigo, una serie de direcciones básicas que le dicen a la CPU cómo ejecutar
operaciones más complejas. Antes de que un programa pueda ser ejecutado, cada comando en
éste debe ser desglosado en instrucciones que correspondan a las que están en el conjunto de
instrucciones de la CPU. Cuando el programa se ejecuta, la CPU lleva a cabo las instrucciones en
orden convirtiéndolas en microcódigo. A pesar de que el proceso es complejo, la computadora
puede realizar esto a una velocidad increíble, traduciendo millones de instrucciones cada segundo.
La unidad lógica aritmética
Debido a que todos los datos de la computadora se almacenan como números, gran parte del
procesamiento que tiene lugar involucra la comparación de números o la realización de
operaciones matemáticas. Además de establecer secuencias ordenadas y cambiar estas
secuencias, la computadora puede realizar sólo dos tipos de
operaciones: operaciones aritméticas y operaciones lógicas. Las
operaciones aritméticas incluyen suma, resta, multiplicación y división. Las
operaciones lógicas incluyen comparaciones, como determinar cuándo un número es igual a,
mayor que o menor que otro número. Además, cada operación lógica tiene un opuesto. Por
ejemplo, además de "igual a" existe "no igual a".
Recuerde que algunas de las operaciones lógicas pueden ser llevadas a cabo en datos de texto.
Por ejemplo, cuando necesita buscar una palabra en un documento, la CPU realiza
una rápida sucesión de operaciones "igual a" para encontrar una correspondencia para la
secuencia de códigos ASCII que forma la palabra que está buscando.
Muchas instrucciones realizadas por la unidad de control involucran tan sólo mover datos de un
lugar a otro: de la memoria a almacenamiento, de la memoria a la impresora y así sucesivamente.
Sin embargo, cuando la unidad de control encuentra una instrucción que
implica aritmética o lógica, pasa esa instrucción al segundo componente de la CPU,
la unidad lógica aritmética o ULA. La ULA incluye un grupo de registros, ubicaciones de memoria
de alta velocidad construidas directamente en la CPU que se usan para conservar los datos que
se están procesando en ese momento. Por ejemplo, la unidad de control podría cargar
dos números desde la memoria en los registros de la ULA. Luego podría decirle a la ULA que
divida los dos números (una operación aritmética) o que vea si los números son iguales
(una operación lógica).
Memoria
La CPU contiene las instrucciones básicas necesarias para operar la computadora, pero no tiene la
capacidad para almacenar programas enteros o conjuntos grandes de datos en forma permanente.
La CPU contiene registros, pero éstos son áreas pequeñas que pueden conservar sólo unos
cuantos bytes a la vez. Además de los registros, la CPU necesita tener millones de bytes de
espacio donde pueda guardar los programas y datos que se están manipulando mientras están en
uso. Esta área se llama memoria.
Desde el punto de vista físico, la memoria consiste de chips, ya sea en la tarjeta madre o en un
pequeño tablero de circuitos conectado a la tarjeta madre. Esta memoria electrónica permite a la
CPU almacenar y recuperar datos muy rápido.
Hay dos tipos de memoria incorporada: permanente y no permanente. Algunos chips de memoria
siempre conservan los datos que contienen, aun cuando la computadora esté apagada; este tipo
de memoria se llama no volátil. Otros chips -de hecho, la mayor parte de la memoria en una
microcomputadora-, pierden su contenido cuando se interrumpe el suministro de energía de la
computadora; estos chips tienen memoria volátil.
ROM
Los chips no volátiles siempre conservan los mismos datos; los datos en ellos no pueden
cambiarse. De hecho, poner datos en forma permanente en esta clase de memoria se llama
"marcar a fuego los datos", y por lo general se hace en la fábrica. Los datos en estos chips sólo
pueden ser leídos y usados, no pueden ser cambiados, así que la memoria se llama de sólo lectura
(read-onlymemory: ROM).
Una razón importante por la que una computadora necesita la ROM es que así sabe qué hacer
cuando se conecta la energía por primera vez. Entre otras cosas, la ROM contiene un conjunto de
instrucciones de inicio que aseguran que el resto de la memoria esté funcionando de manera
apropiada, verifica los dispositivos de hardware y busca un sistema operativo en las unidades de
disco de la computadora.
RAM
La memoria que puede ser cambiada se llama memoria de acceso aleatorio (random-
accessmemory: RAM). Cuando la gente habla de la memoria de la computadora en relación con
las microcomputadoras, por lo general se refiere a la RAM volátil. El propósito de la RAM es
conservar programas y datos mientras están en uso. Desde el punto de vista físico, la RAM
consiste de algunos chips en una pequeña tarjeta de circuitos.
Una computadora no tiene que buscar su memoria entera cada vez que necesita encontrar datos,
ya que la CPU almacena y recupera cada pieza de datos usando una dirección de memoria. Ésta
es un número que indica la ubicación en los chips de memoria, de forma parecida a como un
número de apartado postal indica en qué buzón debe colocarse la correspondencia. Las
direcciones de memoria empiezan en cero y van en forma ascendente hasta uno menos que el
número de bytes de memoria en la computadora.
Se hace referencia a este tipo de memoria como memoria de acceso aleatorio debido a su
capacidad para tener acceso a cada byte de datos en forma directa. Sin embargo, en realidad, la
memoria de sólo lectura (ROM) también es de "acceso aleatorio", así que los nombres para los dos
tipos de memoria pueden ser engañosos. Es mejor recordar tan sólo que los contenidos de la ROM
no cambian; los contenidos de la RAM, sí.
Tecnologías RAM
Se han hecho muchos avances en la tecnología de las RAM en el transcurso de los años. Los
siguientes son los tipos principales de RAM que se usan en las computadoras PC:
* RAM de modo de página rápido (fast page mode: FPM): La FPM RAM es el tipo más antiguo y
menos complejo de RAM. Todavía se usa en muchas PC disponibles hoy en día.
* RAM de salida de datos extendida (extended data output: EDO): La EDO RAM es más rápida
que la FPM RAM y se encuentra por lo común en las computadoras más rápidas.
* RAM de salida de datos por rafagas extendidas (Burst Extended Data Output: BEDO): La
BEDO RAM es una RAM muy rapida y es soportada por un número limitado de CPU, a saber, las
CPU fabricadas por VIA.
Memoria instantánea
La RAM estándar es dinámica; cuando se pierde la energía de la PC, se pierden todos los datos
almacenados en ese momento en la RAM. Por esto es importante grabar su trabajo cuando esté
trabajando con una aplicación. Un tipo de memoria, llamada memoria instantánea, almacena
datos aun cuando la energía se apague. La ROM es una forma de memoria instantánea son
las cámaras digitales. Cuando usted toma fotografías con una cámara digital, las imágenes son
almacenadas en un chip de memoria instantánea en lugar de usar una película fotográfica. Ya que
usted no desea perder las imágenes que está tomando, la memoria debe de almacenar
las fotografías hasta que pueda transferirlas a su PC, aun cuando la cámara esté apagada.
El diseño de los circuitos de una CPU determina su velocidad básica, pero varios factores
adicionales pueden hacer que trabajen aún más rápido los chips ya diseñados para determinada
velocidad. Ya se han introducido algunos de ellos, como los registros de la CPU y la memoria. En
esta sección, usted verá cómo estos dos componentes, al igual que otros, como la memoria caché,
la velocidad de reloj, el bus de datos y el coprocesador matemático, afectan la velocidad de la
computadora.
Estos factores Son:
a) Registros
b) La memoria y el poder de computo
c) El Reloj interno de las computadoras
d) El bus
e) Memoria Cache
Cómo es que los registros afectan la velocidad
Los registros en las primeras PC podían contener dos bytes de 16 bits cada uno. La mayoría de las
CPU vendidas hoy en día, tanto para computadoras PC como Macintosh, tienen registros de 32
bits. Algunas computadoras potentes, como las minicomputadoras y algunas estaciones de trabajo
terminales, tienen registros de 64 bits; esta tendencia está abriendo camino a la corriente principal
de las PC.
El tamaño de los registros, que algunas veces se llama tamaño de palabra, indica la cantidad de
datos con la que puede trabajar la computadora en cualquier momento. Entre mayor es el tamaño
de palabra, más rápido puede procesar la computadora un conjunto de datos. De manera
ocasional, usted escuchará a la gente referirse a "procesadores de 32 bits" o "procesadores de 64
bits" o incluso "computadoras de 64 bits".
Esta terminología se refiere al tamaño del registro en el procesador. Si todos los otros factores se
mantienen igual, una CPU con registros de 32 bits puede procesar datos el doble de rápido que
una con registros de 16 bits.
Por suerte, si decide que necesita más RAM de la que tiene, puede comprar más, abrir su
computadora y conectarla. En las computadoras actuales, los chips están agrupados por lo general
en pequeños tableros de circuitos llamados Módulos Simples de Memoria en Línea (Single In-
Line Memory Modules: SIMM) o Módulos de Memoria Doble en Línea (Dual In-Line Memory
Modules: DIMM). Cada SIMM o DIMM puede mantener entre 1 MB y 64 MB de RAM y conectarse
a la tarjeta madre con conexiones de 30 o 72 pins. El costo de la actualización de memoria de una
computadora oscila entre 10 y 25 dólares por megabyte, así que con frecuencia es la forma más
efectiva y económica para obtener más velocidad de su computadora.
El reloj interno de la computadora
Toda microcomputadora tiene un reloj del sistema, pero el propósito principal del reloj no es
mantener la hora del día. Como la mayor parte de los relojes de pulsera modernos, el reloj es
accionado por un cristal de cuarzo. Cuando se aplica electricidad, las moléculas en el cristal vibran
millones de veces por segundo, con un ritmo que nunca cambia. La velocidad de la vibración es
determinada por el grosor del cristal. La computadora usa las vibraciones del cuarzo en el reloj del
sistema para medir sus operaciones de procesamiento.
Con los años, las velocidades de los relojes se han incrementado en forma constante. Por ejemplo,
la primera PC operaba a 4.77 megahertz. Hertz es una medida de ciclos por segundo. Un ciclo de
reloj es el tiempo que le toma a un transistor apagarse y encenderse de nuevo. Megahertz
(MHz) significa "millones de ciclos por segundo". Las velocidades de reloj de 400MHz y superiores
son comunes. Las velocidades de procesador están incrementándose con rapidez. Para el
momento en que usted lea esto, es probable que las velocidades de reloj hayan excedido los 500
MHz. Los expertos predicen que las velocidades de reloj de 1 GHz (gigahertz) se lograrán
poco después de que acabe el siglo. Si todos los otros factores permanecieran iguales (aunque
nunca lo están), una CPU operando a 300 MHz puede procesar datos más del doble de rápido que
la misma operando a 133 MHz.
El bus
En las microcomputadoras, el término bus se refiere a las rutas entre los componentes de una
computadora. Hay dos buses principales en una computadora: el bus de datos y el bus de
direcciones. Del que más se habla es del bus de datos, así que cuando la gente sólo dice "el bus",
por lo general se refiere al bus de datos.
El bus de datos
El bus de datos es una ruta eléctrica que conecta la CPU, la memoria y los otros dispositivos de
hardware en la tarjeta madre. En realidad, el bus es un grupo de cables paralelos. El número de
cables en el bus afecta la velocidad a la que pueden viajar los datos entre los componentes del
hardware, como el número de carriles en una autopista afecta el tiempo que le toma a la gente
llegar a su destino. Debido a que cada cable puede transferir un bit a la vez, un bus de ocho cables
puede mover ocho bits a un tiempo, lo cual es un byte completo. Un bus de 16 bits puede transferir
dos bytes y un bus de 32 bits puede transferir cuatro bytes a la vez.
Los buses de la PC están diseñados para igualar las capacidades de los dispositivos conectados a
ellos. Cuando las CPU sólo podían enviar y recibir un byte de datos a la vez, no tenía caso
conectarlas a un bus que pudiera mover más datos. Sin embargo, conforme mejoró
la tecnología de los microprocesadores, fueron construidos chips que podían enviar y recibir más
datos a la vez, y los diseños de buses mejorados crearon rutas más anchas por las que podían fluir
los datos.
Cuando IBM introdujo la PC-AT en 1984, la mayor mejora fue un bus de datos aumentado que fue
igualado con las capacidades de un microprocesador introducido en 1982, el Intel 80286. El bus de
datos de la AT tenía un ancho de 16 bits y de inmediato se convirtió en la norma dentro de la
industria. Todavía es usado por dispositivos de PC que no requieren de un bus de más de 16 bits.
El bus AT es conocido comúnmente como el bus de Arquitectura Estándar de la Industria
(Industry Standard Architecture: ISA).
Dos años después, sin embargo, cuando los primeros chips 80386 (por lo común abreviados como
386) empezaron a distribuirse, fue necesaria una nueva norma para el bus de 32 bits de la 386. El
primer competidor fue el bus de Arquitectura de Microcanal (Micro ChannelArchitecture:
MCA), de IBM. Luego vino el bus de Arquitectura Industrial Extendida Estándar (Extended
Industry Standard Architecture: EISA) de un consorcio de desarrolladores de hardware que se
opuso a la nueva norma de IBM debido a que no tenía compatibilidad decreciente. El ganador de la
guerra de buses no fue ni MCA ni EISA. Fue el bus de Interconexión de
Componentes Periféricos (PeripheralComponentInterconnect: PCI). Intel diseñó el bus PCI de
manera específica para hacer más fácil integrar nuevos tipos de datos, como
sonido, vídeo y gráficos.
El bus de direcciones
El segundo bus encontrado en cada microcomputadora es el bus de direcciones. El bus de
direcciones es un juego de cables similar al bus de datos que conecta la CPU y la RAM y lleva las
direcciones de memoria. (Recuerde, cada byte en la RAM se asocia con un número, el cual es
la dirección de memoria.)
En realidad, la mayor parte de las primeras PC tenían buses de direcciones de 20 bits, así que la
CPU podía direccionar 220 bytes, o 1 MB, de datos. Hoy en día, la mayoría de las CPU tienen
buses de direcciones de 32 bits que pueden direccionar 4 GB (más de 4 mil millones de bytes) de
RAM. Algunos de los modelos más recientes pueden direccionar aún más.
Una de las más grandes dificultades en la evolución de las PC fue que DOS, el sistema operativo
usado en la vasta mayoría de PC por más de una década, fue diseñado para máquinas que sólo
direccionaban 1 MB de RAM. Cuando las PC comenzaron a contener más RAM, tuvo que
diseñarse software especial para direccionarla.
Memoria caché
Mover datos entre la RAM y los registros de la CPU es una de las operaciones que debe
desempeñar una CPU que consumen más tiempo, simplemente porque la RAM es mucho más
lenta que la CPU.
Una solución parcial a este problema es incluir una memoria caché en la CPU. La memoria
caché es similar a la RAM, excepto que es muy rápida comparada con la memoria normal, y se
usa en una forma diferente.
Cuando u programa está corriendo y la CPU necesita leer datos o instrucciones desde la RAM, la
CPU verifica primero para ver si los datos están en la memoria caché. Si los datos que necesita no
están ahí, lee los datos desde la RAM a sus registros, pero también carga una copia de los datos
en la memoria caché. La siguiente vez que la CPU necesite los mismos datos, los encontrará en la
memoria caché y ahorrará el tiempo necesario para cargar los datos desde la RAM. Conociendo el
tamaño de la mayor parte de los programas y muchos archivos de datos, usted podría pensar que
las probabilidades de que la CPU encuentre los datos que necesita en la memoria caché son
pequeñas, pero en realidad encuentra los datos que necesita con la frecuencia suficiente para
mejorar el desempeño de una PC.