Organización de Computadoras y Lenguajes
Organización de Computadoras y Lenguajes
Unidad Nº 1
QUE ES LA INFORMÁTICA
Pensemos por un momento en qué cosas está presente alguna forma de computa-
dora: reloj despertador digital, radio, TV, reproductor de CD, agenda electrónica, cafete-
ra automática, horno a microondas, encendido electrónico del auto, portón eléctrico de
la cochera, teléfono celular, cajero automático, lector de tarjeta de ingreso al trabajo, as -
censores automáticos, controles de seguridad del edificio, lavarropas automático, cáma-
ras fotográficas, máquinas de juegos, expendedoras de comestibles, control de los semá-
foros, centrales telefónicas, aviones, aeropuertos, ..... casi todo !!!!!
Hay una gran diferencia entre lo que es cómodo para las personas y lo que es có-
modo para las computadoras. Las personas quieren hacer X, pero las computadoras sólo
pueden hacer Y, Esto crea un problema. El objetivo de este apunte es explicar cómo
puede resolverse ese problema.
1
Organización de las Computadoras Unidad I
La invención de una serie de lenguajes, cada uno más cómodo que sus predece-
sores, puede continuar indefinidamente hasta llegar a uno adecuado. Cada lenguaje se
basa en su predecesor, por lo que podemos pensar en una computadora que emplea esta
técnica como una serie de capas o niveles, uno encima del otro, como se muestra en la
figura siguiente. El lenguaje o nivel más bajo es el más simple, y el lenguaje o nivel más
alto es el más sofisticado.
Los programas en Ln son interpretados
por un interprete que se ejecuta en una
maquina inferior o bien se traduce al
lenguaje de máquina de una maquina
Máquina virtual Mn inferior
Nivel n Con lenguaje de maquina Ln
Los programas en L2 son inter-
pretados por un interprete que se
ejecuta en M1 y M0 o bien se tra-
Máquina virtual M2 ducen a L0
Nivel 2 Con lenguaje de maquina L2
Nivel
Existe0 una relación importante entre un lenguaje y una máquina virtual. Cada
máquina tiene cierto lenguaje de máquina, que consiste en todas las instrucciones que la
máquina puede ejecutar. Efectivamente, una máquina define un lenguaje. De igual mo-
do, un lenguaje define una máquina, la máquina que puede ejecutar todos los programas
escritos en ese lenguaje. Desde luego, la máquina definida por un lenguaje dado podría
ser enormemente complicada y demasiado costosa para construirse directamente con
circuitos electrónicos, pero eso no quiere decir que no podamos imaginarla. Una máqui-
na cuyo lenguaje de máquina es C++ o COBOL sería en verdad compleja, pero con la
tecnología actual sería fácil construirla. No obstante, hay razones de peso para no cons-
truir semejante computadora: no sería económica en comparación con otras técnicas;
Una computadora con n niveles puede verse como n máquinas virtuales distintas, cada
una con diferente lenguaje de máquina. Usaremos los términos "nivel" y "máquina vir-
tual" indistintamente. Los circuitos electrónicos sólo pueden ejecutar directamente pro-
gramas escritos en el lenguaje L0 sin necesidad de traducción ni interpretación. Los pro-
gramas escritos en Ll, L2, ..., Ln deberán ser interpretados por un intérprete que se eje-
cute en un nivel más bajo, o traducirse a otro lenguaje correspondiente a un nivel más
bajo.
3
Organización de las Computadoras Unidad I
cambios previstos. Existen pocas reglas rígidas para determinar si X debe incluirse en el
hardware y Y debe programarse explícitamente. Tales decisiones cambian con las ten-
dencias en la tecnología y el uso de las computadoras.
Programas
Debe quedar claro que ningún componente hardware funciona sin un software
asociado a él. Por ejemplo, si nosotros nos hubiéramos comprado con más de la mitad
de nuestro sueldo mensual un maravilloso monitor último modelo para trabajar con un
programa de diseño gráfico con el fin de poder ver mejor los trabajos que realizamos, si
este monitor no viene acompañado de un disquete con un programa de configuración
para nuestro ordenador, por mucho que el manual nos diga que las especificaciones téc-
nicas son inmejorables, nuestro grandioso monitor no pasaría de ser un monitor vulgar y
corriente. De esto podemos deducir que un ordenador sin programas para que funcione
no nos sirve para nada, no sería más que un mueble para decorar nuestra casa o nuestra
oficina.
Nunca tratemos que nuestra máquina realice un proceso y resulte que no tenga
ningún programa con el que pueda realizar dicho procedimiento, porque seguro que no
lo realizará. Ahora ya se entiende aquello que se había comentado anteriormente de que
un ordenador va ha hacer lo que previamente se le haya dicho que haga, es decir, lo que
se le haya programado.
UN POCO DE HISTORIA
La palabra computar proviene del latín. Significa genéricamente contar, calcu-
lar, aunque hoy día está asociada a una máquina determinada.
Los procesos de datos, y en particular la computación, en el sentido genérico ci-
tado, son tan antiguos como el hombre.
Antes de iniciar la cronología de los acontecimientos más significativos ocurri-
dos en este área, trataremos dos formas ancestrales de procesamiento: el uso de los de-
dos y del ábaco para contar y calcular.
De las primeras etapas no han quedado manifestaciones visibles; son difíciles de
precisar, pero están apareciendo vestigios indirectos de ellas, cada vez correspondientes
a épocas más remotas.
Todas esta técnicas manuales usadas para representa números con los dedos, son
posicionales, como también lo es nuestro sistema decimal. No es casual que "dígito" -
4
Organización de las Computadoras Unidad I
palabra latina que significa dedo, se use también para indicare cada una de las posicio-
nes de un números, y se hable de computadoras "digitales".
De gran trascendencia fue la posterior invención del ábaco, que fue el segundo
computador digital. Primitivamente se realizaba practicando varios surcos paralelos
iguales sobre la superficie de la tierra o arena, esta última a veces contenida con una
bandeja. Por cada objeto contado se coloca una piedra en el surco que esta más a la de-
recha (unidades). Cada vez que en éste había diez piedras, se quitan las mismas y se
reemplaza por una sola piedra colocada en el surco siguiente de la izquierda (decenas),
obteniéndose así el equivalente a diez dedos del hombre. Cuando se tenía diez piedras
en el surco de las decenas, también se reemplazaban por una sola piedra colocada en el
surco siguiente de la izquierda (centenas).
Se lograba así un equivalente a los dedos de diez hombres, sólo con una veintena
de piedras.
De esta forma, con unas pocas piedras se podían contar conjuntos tan grandes
de elementos como fuese necesario. Bastaba con agregar nuevos surcos a la izquierda, y
seguir con la misma mecánica de conteo descripta
Asimismo, se podía interrumpir transitoriamente una cuenta, dado que el resulta-
do alcanzado quedaba registrado por las piedras contenidas en cada ranura.
Posteriormente el ábaco fue motivo de varias mejoras que le dieron más velocidad de
cómputo y portabilidad. Los surcos fueron reemplazados por finas varillas paralelas de
madera, sujetas a una base, sobre las cuales se podían ensartar las "cuentas".
Durante milenios el ábaco fue la calculadora "de bolsillo" de las más variadas
culturas, incluida la romana, hasta el advenimiento de la notación numérica "arábica",
que permitió operar como lo hacía el ábaco, pero con lápiz y papel..
El ábaco sigue siendo muy usado hoy día en Oriente, donde es manejado a una
velocidad prodigiosa.
5
Organización de las Computadoras Unidad I
En estos primeros años, la mayor parte de las computadoras eran de "taller abier-
to", lo que significa que el programador tenía que operar la máquina personalmente.
6
Organización de las Computadoras Unidad I
Junto a cada máquina había una hoja para reservar. Un programador que quería ejecutar
un programa reservaba cierto tiempo, digamos el miércoles de las 3 A.M. a las 5 A.M.
(a muchos programadores les gustaba trabajar cuando el cuarto de máquinas estaba tran-
quilo). Al llegar la hora, el programador se dirigía al cuarto de máquinas con un paquete
de tarjetas perforadas de 80 columnas (un medio de entrada primitivo) en una mano y
un lápiz afilado en la otra. Al llegar al cuarto de la computadora, conducía amablemente
al programador anterior hacia la puerta y se hacía cargo de la computadora.
Segunda Generación.
7
Organización de las Computadoras Unidad I
Programa en
FORTRAN
*DATA
Tarjetas de
datos
*END
Tercera Generación
8
Organización de las Computadoras Unidad I
La 360 también fue la primera máquina que podía emular (simular) otras compu-
tadoras. Los modelos más pequeños podían emular la 1401, y los más grandes podían
emular la 7094, para que los clientes pudieran seguir usando sus antiguos programas bi-
narios sin modificación en tanto efectuaban la conversión a la 360. Algunos modelos
ejecutaban los programas de la 1401 con tal rapidez (mucho mayor que en la 1401 mis-
ma) que muchos clientes nunca convirtieron sus programas.
Estos eran el CP67/CM6 para máquinas grandes, los OS/MFf y OS/MVT para
medianas y grandes, y el DOS/360 para las más chicas. En general permitían la multi-
programación, el tiempo compartido y la memoria virtual.
9
Organización de las Computadoras Unidad I
Cuarta Generación
FUERZAS TECNOLÓGICAS
10
Organización de las Computadoras Unidad I
La rapidez del progreso tecnológico puede modelarse de acuerdo con una obser-
vación llamada ley de Moore, descubierta por Gordon Moore, cofundador y director de
Intel, en 1965. Mientras preparaba un discurso para un grupo de la industria, Moore se
dio cuenta de que cada nueva generación de chips de memoria se estaba introduciendo
tres años después de la anterior. Puesto que cada nueva generación tenía cuatro veces
más memoria que su predecesora, Moore se percató de que el número de transistores en
un chip estaba aumentando de forma constante y predijo que este crecimiento continua-
ría durante varias décadas. Hoy día, la ley de Moore suele expresarse como que el nú-
mero de transistores se duplica cada 18 meses. Cabe señalar que esto equivale a un in-
cremento de cerca del 60% en el número de transistores cada año. Los tamaños de los
chips de memoria y sus fechas de introducción, que se muestran en la figura 1-8, confir-
man que la ley de Moore se sigue cumpliendo.
FAMILIAS DE COMPUTADORAS
En 1968 Robert Noyce, inventor del circuito integrado de silicio; Gordon Moore,
cuya ley ya es famosa, y Arthur Rock, un inversionista de San Francisco, formaron la
Intel Corporation para fabricar chips de memoria. En su primer año de operación, Intel
sólo vendió 3000 dólares de chips, pero el negocio ha prosperado desde entonces.
A fines de los años sesenta, las calculadoras eran grandes máquinas electromecá-
nicas del tamaño de una moderna impresora láser y con un peso de unos 20 kg. En sep -
tiembre de 1969 una compañía japonesa, Busicom, se acercó a Intel para pedirle que fa-
bricara 12 chips a la medida para una calculadora electrónica propuesta. El ingeniero de
Intel asignado a este proyecto, examinó el plan y se percató de que podía poner una
CPU de 4 bits de propósito general en un solo chip, y que esto efectuaría el mismo tra-
bajo y sería además más simple y económico. Fue así como en 1970 nació la primera
CPU en un solo chip, la 4004 de 2300 transistores.
11
Organización de las Computadoras Unidad I
Vale la pena señalar que ni Intel ni Busicom tenían la menor idea de lo que aca-
baban de hacer. Cuando Intel decidió que valdría la pena hacer el intento de usar la
4004 en otros proyectos, ofreció comprar a Busicom los derechos del nuevo chip devol-
viéndole los 60,000 dólares que ésta había pagado a Intel por desarrollarlo. Busicom
aceptó rápidamente el ofrecimiento de Intel, y éste comenzó a trabajar en una versión de
ocho bits del chip, el 8008, introducido en 1972.
Intel no esperaba mucha demanda por el 8008, así que estableció una línea de
producción de bajo volumen. Para asombro de todos, el chip despertó un interés enor-
me, por lo que Intel se dedicó a diseñar un nuevo chip de CPU que superara la limita-
ción de 16K de memoria del 8008 (impuesta por el número de agujas en el chip). Este
diseño dio como resultado el 8080, una CPU pequeña, de propósito general, introducido
en 1974. Como había hecho la PDP-8, este producto tomó a la industria por asalto y de
la noche a la mañana se convirtió en un artículo de mercado masivo. Sólo que en lugar
de vender millares, como había hecho DEC, Intel vendió millones.
En 1978 llegó el 8086, una verdadera CPU de 16 bits en un solo chip. E18086
tenía un diseño similar al de18080, pero no era totalmente compatible con éste. Al 8086
siguió el 8088, que tenía la misma arquitectura que el 8086 y ejecutaba los mismos pro-
gramas, pero tenía un bus de 8 bits en lugar de uno de 16 bits, lo que lo hacía más lento
pero más económico quee18086. Cuando IBM escogió el 8088 como CPU para la IBM
PC original, este chip rápidamente se convirtió en el estándar para la industria de las
computadoras personales.
El siguiente paso lógico era una verdadera CPU de 32 bits en un chip, el 80386,
que salió al mercado en 1985. Al igual que el 80286, éste era más o menos compatible
con todos los chips anteriores, hasta el 8080. Ser compatible con lo existente era una
bendición para la gente que necesitaba ejecutar software viejo, pero un fastidio para
quienes habrían preferido una arquitectura sencilla, limpia y moderna que no cargara
con los errores y la tecnología del pasado.
Cuatro años después salió el 80486. Éste era básicamente una versión más rápida
del 80386 que además tenía una unidad de punto flotante y 8K de memoria caché en el
chip. La memoria caché sirve para retener las palabras de memoria más comúnmente
usadas dentro o cerca de la CPU, para evitar los (lentos) accesos a la memoria principal.
En este punto Intel se enteró por las malas (al perder una demanda legal de vio-
lación de marca comercial) que los números (como 80486) no pueden registrarse como
marcas, así que la nueva generación recibió un nombre: Pentium (del vocablo griego
penta, cinco).
Cuando apareció la siguiente generación, la gente que esperaba el Sexium (sex
es seis en latín) sufrió una decepción. El nombre Pentium ya era tan conocido que la
12
Organización de las Computadoras Unidad I
gente de comercialización quería conservarlo, así que el nuevo chip recibió el nombre
de Pentium Pro. A pesar de lo trivial del cambio en el nombre respecto al de su prede-
cesor, este procesador representó una importante ruptura con el pasado. En lugar de te-
ner dos o más filas de procesamiento, el Pentium Pro tenía una organización interna
muy distinta y podía ejecutar hasta cinco instrucciones ala vez.
Otra innovación del Pentium Pro fue una memoria caché de dos niveles. El chip
procesador mismo tenía 8 KB de memoria para retener las instrucciones de uso común,
y 8 KB de memoria para retener datos de uso común. En la misma cavidad dentro del
paquete Pentium Pro (pero no en el chip mismo) había una segunda memoria caché de
256 KB.
13
Organización de las Computadoras Unidad I
TIPOS DE COMPUTADORAS
Supercomputadoras
Una supercomputadora es la computadora más potente disponible en un momento dado.
Estas máquinas están construidas para procesar enormes cantidades de información en
forma muy rápida. Las supercomputadoras pueden costar desde 10 millones hasta 30
millones de dólares, y consumen energía eléctrica suficiente para alimentar 100 hogares.
Macrocomputadoras
La computadora de mayor tamaño en uso común es el macrocomputadora. Las macro-
computadoras (mainframe) están diseñadas para manejar grandes cantidades de entrada,
salida y almacenamiento.
Minicomputadoras
La mejor manera de explicar las capacidades de una minicomputadora es diciendo que
están en alguna parte entre las de una macrocomputadora o mainframe y las de las com-
putadoras personales. Al igual que las macrocomputadoras, las minicomputadoras pue-
den manejar una cantidad mucho mayor de entradas y salidas que una computadora per-
sonal. Aunque algunas minicomputadoras están diseñadas para un solo usuario, muchas
pueden manejar docenas o inclusive cientos de terminales.
Estaciones de trabajo
Entre las minicomputadoras y las microcomputadoras (en términos de potencia de pro-
cesamiento) existe una clase de computadoras conocidas como estaciones de trabajo .
Una estación de trabajo se ve como una computadora personal y generalmente es usada
por una sola persona, al igual que una computadora. Aunque las estaciones de trabajo
son más poderosas que la computadora personal promedio. Las estaciones de trabajo
tienen una gran diferencia con sus primas las microcomputadoras en dos áreas principa-
les. Internamente, las estaciones de trabajo están construidas en forma diferente que las
microcomputadoras. Están basadas generalmente en otra filosofía de diseño de CPU lla-
mada procesador de cómputo con un conjunto reducido de instrucciones (RISC), que
deriva en un procesamiento más rápido de las instrucciones.
Computadoras personales
Pequeñas computadoras que se encuentran comúnmente en oficinas, salones de clase y
hogares. Las computadoras personales vienen en todas formas y tamaños. Modelos de
escritorio El estilo de computadora personal más común es también el que se introdujo
primero: el modelo de escritorio. computadoras notebook Las computadoras notebook,
como su nombre lo indica, se aproximan a la forma de una agenda. Las laptop son las
predecesoras de las computadoras notebook y son ligeramente más grandes que éstas.
Asistentes personales digitales Los asistentes personales digitales (PDA) son las compu-
tadoras portátiles más pequeñas. Las PDA, también llamadas a veces palmtops, son mu-
cho menos poderosas que los modelos notebook y de escritorio. Se usan generalmente
para aplicaciones especiales, como crear pequeñas hojas de cálculo, desplegar números
telefónicos y direcciones importantes, o para llevar el registro de fechas y agenda. Mu-
chas pueden conectarse a computadoras más grandes para intercambiar datos.
14
Organización de las Computadoras Unidad I
Se debe tener presente que en esencia una computadora lleva a cabo procesos de
datos.
Como primer paso para ubicarse en el funcionamiento de una computadora, es
importante tener en claro los cuatros subprocesos principales que realiza.
15
Organización de las Computadoras Unidad I
La CPU es el bloque donde se lleva a cabo la ejecución de las instrucciones, asía ella se
dirigen las instrucciones que serán ejecutadas (una vez que la unidad de control UC de-
codifique su código), y los datos para ser operados por la ALU. A la par que la mismas
salen los resultados.
1. Los datos y las instrucciones del programa que los procesará, deben llegar a la
MP desde periféricos. Cada instrucción esta codificada mediante una combina-
ción de unos y ceros, que constituyen su código.
2. La UC localiza en MP la instrucción que debe ser ejecutada, para que su código
llegue a la CPU, donde la UC determinara que ordena ese código
3. Dicho código permite: Localizar los datos que operará la UAL, la operación que
debe realizar la UAL, donde guardar los resultados, y donde localizar la próxima
instrucción en MP. Para realizar esto, la UC ordenará una secuencia de operacio-
nes de lectura y escritura sobre MP o registros de la CPU, así como la operación
a realizar por la ALU. A la ALU van los datos a operar, y desde ella se generan
resultado que van a MP, para luego encaminarse hacia el exterior a través de un
periférico.
4. Se vuelve al paso 1
16
Organización de las Computadoras Unidad I
17
Organización de las Computadoras Unidad I
un 0 o un 1 es un bit
1 carácter ----------------------> 8 bits = 1 byte
1 Kbyte (kilobyte) -----------> 1024 bytes
1 Mbyte (Megabyte) --------> 1.048.576 bytes ..................... 1.024 Kb
1 Gbyte (Gigabyte) ----------> [Link] bytes ............. 1.024 Mb
1 Tyte (Terabyte) -------------> [Link].776 bytes ..... 1.024 Gb
18