Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Conceptos Basicos de Arquitectura y Sistemas Operativos - Gregorio Fernandez - Cap 1 PDF
Conceptos Basicos de Arquitectura y Sistemas Operativos - Gregorio Fernandez - Cap 1 PDF
Gregorio Fernández
No está permida la reproducción total o parcial de este libro, ni su tratamiento informático, ni la trans-
misión de ninguna forma o por cualquier medio, ya sea electrónico, mecánico, por fotocopia, por registro
u otros métodos, sin el premiso previo y por escrito de los titulares del copyright.
ISBN: 84-7402-312-2
Depósito legal: TO-98-2005
Prólogo XIII
Prefacio XVII
0. Modelos y niveles 1
0.1. Propósito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
0.2. Sistemas y modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
0.3. Función, estructura y proceso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
0.4. Ejemplos de sistemas y modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
0.5. Pragmática . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
0.6. Jerarquías de abstracciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
0.7. Jerarquía de niveles para los ordenadores . . . . . . . . . . . . . . . . . . . . . . . . . . 24
0.8. Un último ejemplo: la «máquina de von Neumann» . . . . . . . . . . . . . . . . . . . . 28
0.9. Estructura y contenido del libro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
0.10. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
0.11. Observaciones terminológicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
0.12. Notas históricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
0.13. Orientaciones bibliográficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
0.14. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Primera parte:
La máquina desnuda, o el nivel de máquina convencional 45
1. Símplez 47
1.1. Propósito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
1.2. Modelos estructural y procesal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
1.3. Modelo funcional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
I
II Tabla de materias
1.4. Programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
1.5. Suma de dos números . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
1.6. Construcción de bucles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
1.7. Programas mutantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
1.8. Suma de cien números . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
1.9. Intercambio de los contenidos de dos zonas de memoria . . . . . . . . . . . . . . . . . . 62
1.10. Subprogramas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
1.11. Ensamblador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
1.12. Introducción a las comunicaciones con la periferia . . . . . . . . . . . . . . . . . . . . . 69
1.13. Crítica de la espera activa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
1.14. Comentarios sobre Símplez . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
1.15. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
1.16. Observaciones terminológicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
1.17. Notas históricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
1.18. Orientaciones bibliográficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
1.19. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
2. Símplez+i4 81
2.1. Propósito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
2.2. Modelo estructural . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
2.3. Modelo funcional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
2.4. Modos de direccionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
2.5. Convenios simbólicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
2.6. Contando con X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
2.7. Punteros e índices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
2.8. Interrupciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
2.9. Comentarios sobre Símplez+i4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
2.10. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
2.11. Observaciones terminológicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
2.12. Notas históricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
2.13. Orientaciones bibliográficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
2.14. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
8. Regístrez 287
8.1. Propósito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
8.2. Modelos estructural y procesal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
8.3. Modelo funcional: formatos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
8.4. Modos de direccionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
8.5. Repertorio de instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
8.6. Subprogramas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
8.7. Interrupciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
8.8. Comentarios sobre Regístrez . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
Tabla de materias V
Segunda parte:
El interior de la máquina, o el nivel de microarquitectura 317
Tercera parte:
La máquina vestida, o los niveles de máquina operativa y máquina simbólica 493
Apéndices 695
C. Léxico 735
C.1. Español–Inglés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 735
C.2. Inglés–Español . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 738
Referencias 741
Índice 759
XII Tabla de materias
Prólogo
Dado que voy a defender que éste es un libro ra- Sus cualidades didácticas se derivan de un po-
ro y magistral, lo primero que tengo que hacer es tente aparato textual y gráfico formado por unos
reproducir, para información del lector, las acep- contenidos rigurosos y originales, envueltos en un
ciones que de la voz ‘raro’ admite el Diccionario enfoque sistémico y en un tratamiento sistemático,
de la Lengua Española. unificados sin desmayo del principio al fin. Del ri-
Raro, ra. (Del lat. rarus) adj. Extraordinario, po- gor y la minuciosidad prefiero no hablar, porque lo
co común o frecuente. 2. Escaso en su clase o espe- comprobará inmediatamente cualquier lector que
cie. 3. Insigne, sobresaliente o excelente en su lí- aborde el estudio del libro.
nea. 4. Extravagante de genio o de comportamien- Su originalidad se sustancia en la aparición en
to y propenso a singularizarse. 5. Que tiene poca escena sucesivamente de una familia entera de or-
densidad y consistencia. Dícese principalmente de denadores ficticios, que surgen justamente cuando
los gases enrarecidos. 6. V. tierra rara. De raro en se los necesita para mostrar de forma completa y
raro. loc. adv. Raramente, de tarde en tarde. sin fisuras lo que es esencial en todo cuanto atañe a
Desglosaré en este prólogo la suma de las ca- los conceptos y técnicas de la estructura y de la ar-
racterísticas infrecuentes que convierten a este li- quitectura de los ordenadores, y de la arquitectura
bro en un objeto tan raro, tan raro, que cumple en básica de los sistemas operativos. Ahí tenemos a
su totalidad las tres primeras acepciones del Dic- Símplez, a Símplez+i4, a Algorítmez, a Regístrez;
cionario y además es de los que aparecen muy de después, a sus correspondientes versiones micro-
tarde en tarde. programadas, y, por último, a las versiones en for-
Empezar diciendo que es didáctico —o sea, ma de máquinas operativas. Estos ordenadores de
adecuado para enseñar— puede parecer una pero- ficción van creciendo y haciéndose más comple-
grullada, puesto que su propio título expresa que jos y poderosos a medida que va creciendo y asen-
se trata de un Curso. No creo, sin embargo, que tándose el conocimiento del lector o alumno. To-
todos los libros escritos con la finalidad de ser usa- memos, por ejemplo, el nivel Algorítmez. Primero
dos como textos para un curso sean didácticos, y nos visita Algorítmez, pelado, por así decirlo. Más
podría dar muchos ejemplos. Por suerte para noso- adelante, se le añade una micromáquina y se con-
tros, éste es profunda y seriamente didáctico. vierte en Microalgorítmez. Luego, se inviste con
XIII
XIV Prólogo
veces por síntesis y otras por análisis, e integrán- una parte de los conocimientos y saberes de su au-
dose en una visión unificada. tor, el profesor Gregorio Fernández, que se extien-
Sobre ser didáctico, el libro tiene un carácter bá- den, además de al campo de la estructura y arqui-
sico, que aquí no significa elemental o banal, sino tectura de los computadores, a los siguientes (y só-
fundamental, vale decir desprovisto de accesorios. lo cito los que yo he observado presencialmente):
Esto ya lo explica su autor en el prefacio, pero yo Lógica, Inteligencia Artificial, Programación De-
quiero añadir que, siendo básico, es también denso clarativa e Imperativa, Bioingeniería, Técnicas de
y duro, un auténtico curso universitario. Y progre- Modelación y Simulación, Teoría de Autómatas, y
sivo. Parte de un ordenador casi grotesco, por lo Cibernética y Teoría de Sistemas.
sencillo, y va progresando sin pausa, desmenuzan- Y, para terminar con los calificativos al libro, di-
do los mecanismos internos y funciones de máqui- ré una obviedad: que es libro de un solo autor. En
nas y sistemas, hasta llegar a las máquinas y siste- efecto, es una obviedad, pero es asimismo una ra-
mas más modernos y sofisticados. Te ves, qué sé reza, porque ya es difícil encontrar un libro impor-
yo, estudiando hoy los entresijos de los modos de tante de texto sobre técnica moderna que no haya
direccionamiento, y al cabo de unos días o de unos sido escrito por dos o más autores. Y sin duda es
meses, según el ritmo, te encuentras con que te has una enorme ventaja, por razones de calidad, ho-
familiarizado con la memoria oculta, la memoria mogeneidad y coherencia.
virtual, la estructura MIMD, las arquitecturas de Vengo, por último, al autor. El dice que ha tra-
comunicaciones, la comunicación entre procesos bajado en la elaboración de este libro más de seis
en un sistema operativo, los sistemas operativos en mil horas durante los últimos seis años. Soy testi-
red, los lenguajes declarativos y un largo etcétera. go de ello. Ha elaborado el libro hasta en sus más
Uno de los valores del libro que más aprecio ínfimos detalles, lo que incluye toda la edición grá-
personalmente es que es un libro culto, y esta cua- fica y de símbolos (le pido al lector que eche ahora
lidad sí que es rara, palabra de honor. Me estoy una ojeada rápida por sus páginas para que valore
refiriendo más que nada a una cultura técnica, pe- lo que estoy diciendo). El libro que tenemos en las
ro no sólo a la cultura específica que corresponde manos está tal cual ha salido del despacho de Gre-
a la materia que constituye el objeto de este libro gorio. Y no es verdad que haya trabajado en él seis
sino a una cultura técnica general. Ambas brotan mil horas. Según mis cuentas, han sido diecisiete
en cualquier pasaje del libro, aquí en un ejemplo, años, desde que empezamos juntos los que luego
allá en un ejercicio, aunque se concentran espe- fueron conocidos como «libros verdes de teleco».
cialmente en las secciones históricas, terminoló- El ha continuado y culminado la tarea con fuer-
gicas y bibliográficas, algunas de ellas antológi- za mental irrepetible y paciencia franciscana. Así,
cas. Sus rasgos culturales y hasta eruditos, de la su libro se convierte en una lección para todos los
más vieja raigambre universitaria europea, debe- que nos dedicamos a la tarea universitaria. Ya ha-
rían ser conceptuados por los profesores que elijan ce tiempo que Gregorio Fernández es un maestro
este Curso para libro de texto como una oportuni- universitario, quiero decir un profesor de profeso-
dad para refinar sus paladares, incluido el hecho res. Pero este libro es un instrumento que proyecta
espectacular de poder gozar de un estilo literario su magisterio allí donde haya unos ojos para leer-
sobrio, milimétrico, y al tiempo expresivo. Sepan lo y una mente para estudiarlo, y un profesor para
que en estas más de setecientas páginas se filtra aprender con él la tarea de enseñar.
XVI Prólogo
Por eso decía al principio de mi prólogo que és- Pondré las cartas sobre la mesa. Con Gregorio
te es un libro raro y magistral. Lo que quería ex- me unen una larga amistad y una colaboración de
presar es que es un libro con el que se ejerce un muchos años, que tal vez me hayan hecho pasar
magisterio. Y para aclarar del todo el concepto, por alto algún defecto de su libro, que en todo caso
recurro, como antes hice, al Diccionario, reprodu- calificaría de menor comparado con su caudaloso
ciendo tres acepciones de la voz ‘magistral’: Per- aliento y con la importancia de los rasgos que he
teneciente o relativo al ejercicio del magisterio. 2. querido resaltar en este prólogo. Y le desafío al
Dícese de lo que se hace con maestría. 8. Aplícase lector a que me demuestre lo contrario.
a instrumentos que por su perfección y exactitud Madrid, 1994
sirven de término de comparación para los ordina-
Fernando Sáez Vacas
rios de su especie.
Catedrático
Universidad Politécnica de Madrid
Prefacio
Este libro está concebido y escrito para: • Estudiantes de ingeniería, con conocimientos
• Servir como apoyo didáctico en un primer cur- previos de programación en un lenguaje de alto
so sobre los fundamentos de la arquitectura de nivel y de circuitos lógicos.
ordenadores. • Profesionales en proceso de «reconversión» a
• Servir también como iniciación concreta1 al es- las tecnologías de la información y las comuni-
tudio de los sistemas operativos, en un curso caciones.
sobre estos sistemas (que se supone precedido • Profesionales o estudiantes de otras materias en
de otro sobre fundamentos de arquitectura). las que el ordenador se utiliza como una herra-
• Servir al lector que, de manera autónoma, desee mienta cuya organización, estructura y funcio-
adquirir conocimientos básicos sobre la estruc- namiento internos es conveniente conocer para
tura y el funcionamiento de los ordenadores. obtener de ella el máximo provecho.
Como único requisito previo, se supone que el
Lectores lector tiene unos conocimientos mínimos de pro-
Independientemente de la clasificación implíci- gramación. Para la mayor parte del Curso no es
ta en el párrafo anterior (alumno de un curso, o necesario que sepa diseñar programas en ningún
«autónomo»), el libro se ha elaborado teniendo lenguaje determinado, pero sí que sea capaz de
presentes tres perfiles de lector2 : entender algoritmos sencillos escritos en un len-
guaje de alto nivel, preferiblemente en C, lenguaje
1
«Iniciar [...] 3. fig. Instruir en cosas abstractas o muy que se utiliza para presentar algunos algoritmos,
profundas». «Concretar[...] 3. Reducir a lo más esencial y y también en algunos de los ejercicios propuestos.
seguro la materia sobre la que se habla o escribe» (Dicciona-
rio de la Real Academia Española).
Sólo para las dos últimas Lecciones, dedicadas a
2
La primera edición, de 1994, era una refundición de tres la máquina virtual Java, es preciso tener cierta fa-
publicaciones dirigidas a distintos tipos de lectores: Fun- miliaridad con el lenguaje Java.
damentos de los ordenadores, Servicio de Publicaciones de
la E.T.S.I. Telecomunicación, Madrid, 1991 (vol.1) y 1992 Algunas de las Lecciones requieren también
(vol.2), Iniciación concreta a los sistemas operativos, Servi- ciertas nociones de codificación y aritmética bina-
cio de Publicaciones de la E.T.S.I. Telecomunicación, Ma- ria, así como de circuitos lógicos combinacionales
drid, 1993, y Arquitectura de ordenadores (dos volúmenes),
Escuela de Organización Industrial, Madrid, 1993. En las edi-
y secuenciales. Se incluyen sendos Apéndices con
ciones posteriores se ha ido depurando y actualizando el con- todo lo hace falta saber sobre ambas cosas para la
tenido, pero siempre conservando el enfoque original. comprensión del libro.
XVII
XVIII Prefacio
esta concepción sistémica, y a su término podre- exámenes y dos simuladores, uno de Símplez
mos situar en ese contexto su estructura y conteni- y el otro de Algorítmez. En otros Centros se
do. Adelantemos aquí que, aparte de esa Lección 0 han desarrollado también simuladores de estas
y de tres Apéndices, consta de tres partes con ocho máquinas, y algunos son públicamente accesibles:
Lecciones cada una. • E.T.S.I.T. de Vigo (Universidad de Vigo):
Todas las Lecciones empiezan con un Aparta- http://www-gist.det.uvigo.es/esal/
do de «Propósito». En él se fijan los objetivos de
• E.U.P. de Linares (Universidad de Jaén):
la Lección y, cuando es la primera de una parte,
http://telecoslinares.iespana.es/
del conjunto de Lecciones. Se incluyen también
telecoslinares/programas.htm
ahí las reflexiones o consideraciones previas que
sean necesarias como introducción. En los Apar- • Facultad Regional de Mendoza (Universidad
tados de «Resumen» se recuerda lo tratado y en Tecnológica Nacional, Argentina) :
su caso se añaden conclusiones finales. Nos ha pa- http://web.frm.utn.edu.ar/tecnicad2/
recido conveniente ir complementando la exposi- tec_dig2/tools/te2simplez.html
ción con algunos asuntos no estrictamente técni-
cos, que aparecen al final de las Lecciones: Con Agradecimientos
los Apartados de «Observaciones terminológicas»
pretendemos compensar el abuso de barbarismos Los conocimientos que trato de compartir aquí
tan extendido en la informática; para algunos tér- los he adquirido en treinta años de actividad do-
minos hemos adoptado traducciones poco usua- cente e investigadora en la Escuela Técnica Su-
les, que se explican o se justifican en esos Aparta- perior de Ingenieros de Telecomunicación de la
dos. En las «Notas históricas» presentamos algu- Universidad Politécnica de Madrid. No es posible
nos hechos que creemos conveniente conocer para mencionar a todas las personas que, de un modo
la buena comprensión de los ordenadores. u otro, han contribuido a mi formación y madura-
Para su uso como «libro de texto», los concep- ción personal. Pero el riesgo de olvidar a muchos
tos incluidos en cada Lección pueden tratarse en no justificaría el dejar de distinguir a algunos.
dos «clases» de unos cincuenta minutos, suponien- Ante todos, Fernando Sáez Vacas. Él me inició
do que se trata de clases de síntesis. Estimamos en la Informática y, sobre todo, en la forma abierta
que desarrollar el contenido de todas las Lecciones de estudiar la tecnología, en la docencia univer-
requeriría una asignatura de unos quince créditos sitaria, en la necesidad del rigor y la autocrítica.
(150 horas). Para una de seis créditos (módulo bas- Su amistad ininterrumpida ha sido y es una fuente
tante extendido en los planes de estudio actuales) permanente de enriquecimiento.
es preciso seleccionar. Al final de la Lección 0 se Entre los profesores que han colaborado en la
dan algunas orientaciones a este respecto. impartición de la asignatura «Fundamentos de or-
denadores» (cuyo programa ha sido el germen del
Materiales de apoyo libro), tengo que destacar, muy especialmente, a
Mercedes Garijo, que dedicó muchas horas a revi-
En las páginas web de la asignatura «Funda- sar sucesivas versiones del texto y de las figuras, lo
mentos de ordenadores» de la E.T.S.I. Telecomu- que me ha permitido depurar inconsistencias, ca-
nicación de la Universidad Politécnica de Madrid rencias, errores y erratas de todo tipo (huelga de-
(http://www.gsi.dit.upm.es/~gfer/ffoo/), cir que los que aún quedan son de mi exclusiva
así como en las de «Arquitectura de ordenado- responsabilidad). Pedro Alonso y Marifeli Sedano
res» (http://www.lab.dit.upm.es/~arqo/), han contribuido con un gran número de correc-
pueden encontrarse transparencias, problemas, ciones. Las Lecciones de introducción a los sis-
XX Prefacio
temas operativos (17 a 21) se mejoraron en las pri- nal y personal de un profesor. Por su ahínco en la
meras ediciones gracias a valiosas sugerencias de detección de errores sobre las primeras ediciones,
Ángel Álvarez, Gonzalo León, Joaquín Seoane y y en la crítica constructiva, valga como represen-
Juan Quemada. Algunos profesores de otros Cen- tativo el de Óscar José Martínez de la Torre, que
tros me han hecho llegar también comentarios pro- en su momento fue delegado de los alumnos de la
vechosos: Martín Llamas y Juan Carlos Burgui- Escuela, y actualmente, ya titulado, cursa el tercer
llo (Universidad de Vigo), Luis Sánchez y Alber- ciclo.
to García (Universidad Carlos III), Joaquín López Iván Peña Rueda y Javier Rodríguez Dantart de-
(Universidad Alfonso X el Sabio), José R. Gon- sarrollaron, en el marco de sus proyectos fin de
zález de Mendívil (Universidad Pública de Nava- carrera, los simuladores de Símplez y Algorítmez,
rra), Álvaro Suárez (Universidad de Las Palmas de que permiten experimentar «virtualmente» con las
Gran Canaria), Francisco Rodríguez Rubio (Uni- máquinas. En realidad son algo más que simulado-
versidad de Sevilla), Iñaki Goirizelaia (Universi- res. Contienen herramientas para ensamblar mó-
dad del País Vasco) y Sebastián García y Joaquín dulos escritos en el lenguaje ensamblador, mon-
Cañada (Universidad de Jaén). tarlos y cargarlos en la memoria. El de Símplez in-
Un antecedente de este libro fueron los dos vo- cluye también una simulación de la ruta de datos
lúmenes editados en la Escuela hace más de vein- y del secuenciador para visualizar paso a paso la
ticinco años. Eran el resultado de un trabajo de ejecución de las instrucciones y la evolución tem-
coordinación de Fernando Sáez Vacas y mío en el poral de las microórdenes, así como un editor de
que los profesores con los que iniciamos el diseño microprogramas. Si el lector los prueba apreciará
y la impartición de la asignatura contribuían con en pocos minutos la calidad de su diseño.
varios capítulos: Pedro Alonso, Carmen Costilla, En los medios instrumentales, he hecho uso
Juan Quemada, Enrique Rivero y José María Ve- de las aportaciones de Donald Knuth y de Les-
la quizás reconozcan aquí todavía algunos detalles lie Lamport, creadores de TEX y LATEX, respecti-
inspirados en sus textos. vamente, así como de otras herramientas desarro-
La actividad docente, cuando es fruto de una vo- lladas en la comunidad del software libre: Linux,
cación y no la obligación de un oficio, es placente- Emacs, Babel, Ispell, Idraw, Xfig...
ra y gratificadora, pero también exigente y ardua. Al publicarse la primera edición, en 1994, es-
A potenciar los primeros atributos y mitigar los timé que había dedicado a su elaboración más de
efectos negativos de los últimos contribuye la inte- seis mil horas, casi cuatro mil de ellas en períodos
gración en un entorno estimulante y enriquecedor de vacaciones y fines de semana. Las sucesivas re-
como el que he tenido la suerte de disfrutar. Ya he visiones han supuesto un incremento importante
mencionado a algunos compañeros, pero no pue- de esos números a lo largo de diez años. La deu-
do olvidar a otros que con los que colaboro o he da contraída con mi familia es tan grande que sólo
colaborado: Carlos Delgado, José Carlos Gonzá- cabe dejar constancia de su existencia.
lez, José Miguel Goñi, Carlos Ángel Iglesias, Luis
Magdalena, Darío Maravall, Amalio Nieto, Encar-
na Pastor, Juan Riera, Juan Ramón Velasco, Angel
Viña... Madrid, noviembre de 2004
Aunque difícil de precisar y cuantificar, es in-
negable y de obligado reconocimiento la positiva
influencia de los alumnos en la evolución profesio- Gregorio Fernández
Lección 0
Modelos y niveles
0.1. Propósito
Los ordenadores se pueden contemplar desde En consecuencia, esta (meta)lección tiene un
distintos puntos de vista, dependiendo de la for- carácter más abstracto y generalista y un enfoque
mación y de la profesión del observador, de la ín- menos técnico que el resto del curso. Su objetivo
dole de su relación con ellos e, incluso, de su in- es delimitar y enmarcar el contenido de éste, y, si
tención en un momento dado. En este libro, las in- es posible, contribuir a sistematizar el estudio de
tenciones de los «observadores» (lector y autor) los ordenadores. Pero su lectura, aunque la con-
parecen estar bien acotadas: no nos ocuparemos sidero muy recomendable (de lo contrario, habría
de otras facetas que no sean estrictamente técni- ahorrado estas cuarenta y cuatro páginas), no es
cas. Aun así, hay diversos puntos de vista. ¿Cuá- compulsiva ni necesaria para comprender las Lec-
les? Sorprendentemente (al fin y al cabo estamos ciones que le siguen. Si se omite, «sólo» se perderá
hablando de «simples máquinas»), una respuesta cierta perspectiva global. El lector poco aficiona-
(que no sea trivial) exige desarrollar antes cierto do a visiones generalistas y más propenso a «ir al
marco conceptual. Y éste es el primer propósito. grano» tiene la opción de leer el resumen del Apar-
Una vez obtenida la respuesta, será relativamente tado 0.10 y pasar luego, sin más preámbulos, a la
fácil cumplir el propósito último (de esta Lección): Lección 1.
situar en ese marco los contenidos del libro. Sólo le pido, antes de que corra a hacerlo, que
Veremos que para describir a los ordenadores termine de leer este párrafo (con la quizás vana es-
hay varios tipos de modelos, y que tales mode- peranza de hacerle cambiar de idea). La idea de
los se construyen a partir de unos elementos que abstracción tiene una connotación peyorativa para
se combinan siguiendo ciertas reglas. O, lo que es muchas personas con pretendida vocación por la
igual, todo modelo se expresa en un lenguaje. En ingeniería («esta explicación, este libro, esta asig-
las Lecciones siguientes estudiaremos esos mode- natura, son demasiados abstractos...», «vayamos al
los y esos lenguajes. Pero en ésta hablaremos de su grano, concretemos...»). Sin embargo, le invito a
naturaleza, construyendo un metamodelo, y usan- reflexionar seriamente sobre la siguiente proposi-
do la lengua española como metalenguaje. Pode- ción: sin abstracción no puede hacerse ingeniería;
mos decir que ésta es una «metalección». todo lo más, artesanía.
1
2 Lección 0. Modelos y niveles
sistema
Sistemas abiertos
entorno
Desde el mismo momento en que consideramos
un sistema estamos particionando el conjunto de
las «cosas» del universo en dos: las que forman el Figura 0.1 Sistema abierto.
sistema y todas las demás; estas últimas constitu-
yen el entorno del sistema considerado. Hay siste-
Esta definición de «sistema abierto» es clásica
mas conceptuales (sistemas lingüísticos, sistemas
en las teorías de sistemas generales. En el campo
algebraicos, etc.) que son cerrados: se puede es-
de los ordenadores se utiliza de una forma mucho
tablecer una frontera impermeable entre el siste-
más concreta y restrictiva. Lo veremos en el Apar-
ma y el entorno. Pero todos los sistemas materiales
tado 5.13.
son, en mayor o menor medida, abiertos: hay par-
tes del sistema que interactúan con las del entorno
(es decir, que influyen sobre o que son influidas Sistemas complejos
por ellas). En general, un sistema abierto es aquél La complejidad es una propiedad que atribui-
que intercambia materia y/o energía y/o informa- mos, casi siempre de manera subjetiva6 , a ciertos
ción con su entorno. La Figura 0.1 (en la que los sistemas. Herbert Simon ha definido un sistema
círculos representan las partes o subsistemas, y las complejo como «el compuesto por un gran nú-
flechas las influencias o interacciones) ilustra esta mero de partes que actúan entre sí de manera no
definición. sencilla»7 . La imprecisión de esta definición no es
Un ordenador es, desde luego, un sistema abier- ajena al hecho de que la complejidad no es un atri-
to: recibe datos y entrega resultados y, por tanto, buto del sistema en sí: depende tanto del sistema
intercambia información con el entorno5 . Y, aun- como del observador. Casi todos los sistemas en
que a efectos meramente didácticos podemos estu- los que centremos nuestra atención pueden pare-
diar su funcionamiento interno independientemen- cernos simples o complejos, dependiendo de que
te de su función, su existencia sólo se justifica por- dispongamos o no de descripciones suficientemen-
que los beneficios que socialmente reporta este in- te buenas para responder a las preguntas, o resol-
tercambio son (supuestamente) más relevantes que ver los problemas que nos planteamos. De ahí que
los costes que le acompañan. haya una constante en la evolución del pensamien-
5 6
También intercambia energía, pero los modelos que aquí «La complejidad de un objeto está en los ojos del obser-
nos interesan hacen abstracción de este hecho. Observe que vador». G.J. Klir: «Complexity: some general observations».
el mismo concepto de «información» (Apéndice A) implica System Research, 2, 2 (1985), pp. 131–140.
7
una abstracción: la información ha de tener algún «soporte» H.A. Simon: The Sciences of the Artificial. M.I.T. Press,
para ser almacenada y comunicada, y la grabación y la comu- 1973. Traducción de F. Gironella: Las ciencias de lo artificial.
nicación sobre estos soportes implican algún tipo de energía. A.T.E., Barcelona, 1978.
4 Lección 0. Modelos y niveles
to: la búsqueda de descripciones comprensibles de tro caso, podemos utilizar descripciones distintas,
sistemas que, en principio, parecen complejos (o según cómo se contemple al sistema y según cuál
más complejos de lo que luego resultan ser cuan- sea el fin de la descripción. Puesto que el sistema
do se encuentra la descripción adecuada). se describe mediante un modelo, veamos qué en-
De los cuatro ejemplos de sistemas citados más tendemos por «modelo» y qué tipos de modelos
arriba, el ordenador, el automóvil, el edificio y el podemos utilizar.
hombre, seguramente muchos lectores considera-
rían en primera instancia como complejos sólo el
primero y el último, no los otros dos. Y es así por- Modelos
que disponen de descripciones comprensibles del
Similarmente a lo que ocurre con el término
automóvil y del edificio que les permiten predecir
«sistema», «modelo» tiene varias acepciones. En
su función y/o su comportamiento para resolver
el campo de los ordenadores se habla, por ejem-
los problemas que se les plantean habitualmente,
plo, del «modelo de von Neumann» o del «mode-
y no así de los otros dos.
lo de Wilkes» para referirse a esquemas generales
La invención de buenas descripciones (o buenos que sirven de guía para el diseño de ordenadores, o
modelos) es importante para comprender la reali- del «modelo tal de tal ordenador», aludiendo a un
dad (actividad del filósofo y del científico), para sistema determinado del que se fabrican muchas
actuar sobre ella (actividad de muchos otros pro- réplicas.
fesionales: médicos, economistas, políticos...), pa- En la acepción que aquí nos interesa, un modelo
ra concebir, construir o reparar artefactos (activi- es, en sí mismo, un sistema, material o conceptual,
dad del ingeniero) y para movernos en una y utili- que se utiliza en lugar de otro10 al que, por su re-
zar adecuadamente los otros (actividad de todos). lación con el modelo, podemos llamar original.
Pero en todos los casos hay que ser precavidos, so
El modelado de un sistema consiste en buscar o
pena de resultar incautos. Desde el punto de vista
elaborar un modelo de ese sistema. Es un proce-
científico y filosófico, no se debe confundir la rea-
so intelectual pragmático y unidireccional (se uti-
lidad con el modelo que, esclavos de nuestra per-
liza un modelo en sustitución de un original) que
cepción, construimos8 . Y, desde el punto de vista
está presente en todo desarrollo teórico o aplica-
de la ingeniería, el diseño de artefactos apoyándo-
do, pero también en toda actividad humana (ac-
se en modelos lleva consigo el riesgo de creer que
tuamos siempre suponiendo ciertas pautas o mo-
el artefacto es el modelo, y sin embargo éste abs-
dos de comportamiento de las cosas y seres que
trae comportamientos que pueden ser importantes.
nos rodean).
Esto es especialmente cierto en lo concerniente a
Todo modelo es homomórfico (en el sentido
la integración del artefacto en el entorno social,
matemático de la palabra, no en el etimológico)
asunto frecuentemente olvidado en los planes de
con el sistema original al que sustituye. Esto es,
estudio, y relacionado con lo que Mario Bunge lla-
la correspondencia entre ambos no es isomórfica o
ma «tecnopraxeología»9 .
biunívoca: el modelo sólo refleja los rasgos de in-
Para un mismo sistema, el ordenador en nues-
terés del original, haciendo abstracción de muchos
8 otros que no se consideran relevantes para los fines
«No es que tu teoría sea tan amplia como la realidad; es
que tu percepción de la realidad es tan estrecha como tu teo- que se persiguen con la modelación (Figura 0.2).
ría». K. Craik: The Nature of Explanation. Cambridge Uni-
10
versity Press, Cambridge, 1943. «4. Esquema teórico, generalmente en forma matemáti-
9
M. Bunge: Epistemología. Ariel, Barcelona, 1980: un li- ca, de un sistema o de una realidad compleja, como la evo-
bro cuya lectura es muy recomendable para los estudiantes de lución económica de un país, que se elabora para facilitar su
ciencias y de ingeniería. comprensión y el estudio de su comportamiento». (D.R.A.E.)
0.2 Sistemas y modelos 5
original
sistema
(original)
semántica
homomorfismo
sintaxis modelo
sistema
(modelo) pragmática
personas
icónicos comprensión
materiales
analógicos
uso
formalizados funcionales
conceptuales diseño/
(abstraídos) estructurales
no formalizados implementación
procesales
modelos conceptuales, estarán expresados en al- escala, se transforma la dimensión de altitud me-
gún lenguaje más o menos formalizado. La clasifi- diante el convenio de las líneas de nivel). Los mo-
cación de la figura («formalizados» y «no forma- delos analógicos son también materiales, y están,
lizados») en realidad representa los extremos de por tanto, constituidos por objetos concretos, pero
una gama infinita de posibilidades (entre los mo- de naturaleza diferente a la de las partes del origi-
delos puramente matemáticos expresados estricta- nal. Es el caso de los «circuitos equivalentes» cuyo
mente, por ejemplo, en álgebra, y las descripcio- comportamiento eléctrico es análogo al de algún
nes totalmente literarias en lenguaje natural, nor- sistema mecánico original. La Figura 0.5 lo ilustra
malmente adoptamos una posición intermedia, sea con un ejemplo sencillo: el modelo matemático es
porque matizamos con el lenguaje natural el mo- el mismo para los dos sistemas. Cada uno de ellos
delo formal, sea porque procuramos restringir el es un modelo analógico del otro.
uso del lenguaje natural en las descripciones para
evitar ambigüedades). K
M
Atendiendo a su semántica, los modelos mate- F(t)
D
riales pueden ser icónicos o analógicos. Los pri-
meros son los que se construyen con partes de la
2 x(t)
misma naturaleza física que las partes del origi- dx dx
M −−− + D −−− + Kx = F(t)
nal, de modo que el modelo reproduce al original dt 2 dt 0
Distinguiremos, desde el punto de vista semán- todas las posibles respuestas del sistema, y de có-
tico, tres tipos de modelos conceptuales: funcio- mo unos se relacionan con las otras en cada ins-
nales, estructurales y procesales. Ésta es la cla- tante. Así son los modelos de ordenador definidos
sificación más interesante a los efectos de este li- en los manuales de programación, el modelo de
bro. Dedicaremos los dos Apartados siguientes a comportamiento del automóvil que enseñan en las
definir esos tipos y a ilustrarlos con ejemplos. «autoescuelas», o los «modelos del hombre» de la
Finalmente, por su pragmática, los modelos psicología conductista.
(sean materiales o abstraídos) pueden utilizarse, Al establecer un modelo funcional se seleccio-
entre otras cosas, para comprender al sistema ori- na un número finito de tipos de estímulos y de res-
ginal, para usarlo, para diseñarlo o para imple- puestas (lo que se traduce, al formalizar el modelo,
mentarlo. En cada caso se tendrá un punto de vis- en un número finito de variables de entrada y de
ta distinto sobre el sistema, y se utilizarán dife- salida), y esto ya significa una cierta abstracción,
rentes modelos (materiales o conceptuales, más o puesto que las relaciones del sistema con el en-
menos formalizados, funcionales, estructurales o torno pueden ser innumerables. Por otra parte, he-
procesales). Trataremos de estos asuntos pragmá- mos dicho que un modelo funcional debe describir
ticos en el Apartado 0.5. todos los estímulos, las respuestas y las relaciones
entre unos y otras. Frecuentemente, la enumera-
0.3. Función, estructura y proceso ción exhaustiva (es decir, para todos los valores
posibles de las variables de entrada y salida selec-
Modelos funcionales cionadas) es imposible, y se utiliza o bien un mo-
delo funcional incompleto (es el caso del «mode-
Los modelos funcionales describen la función lo de autoescuela», que incluye el comportamiento
del sistema: sus acciones sobre el entorno y sus dinámico habitual, pero excluye habilidades domi-
reacciones a éste11 . De todas las interacciones po- nadas sólo por especialistas) o bien una descrip-
sibles entre el sistema y el entorno se seleccionan ción intensional, no extensional14 (es el caso de
algunas para el modelo y se clasifican en estímu- los modelos de sistemas dinámicos lineales, en los
los (influencias del entorno sobre el sistema) y res- que se utilizan ecuaciones diferenciales como las
puestas (influencias del sistema sobre el entorno). de la Figura 0.5, o «funciones de transferencia»,
Como ilustra la Figura 0.6, el modelo del sistema que engloban en una sola fórmula las infinitas re-
es una caja negra12 que recibe estímulos (o «en- laciones posibles entre las entradas y las salidas).
tradas») y genera respuestas (o «salidas»). La res-
puesta ante un determinado estímulo (o sucesión
de estímulos) es el comportamiento del sistema
para ese estímulo. estímulos sistema respuestas
Un modelo funcional de un sistema es una des-
cripción de todos sus comportamientos13 . Es decir,
modelo = {comportamientos} = {respuesta = f(estímulos)}
una descripción de todos los posibles estímulos y
11
«Función: Capacidad de actuar propia de los seres vi-
vos y de sus órganos, y de las máquinas o instrumentos» Figura 0.6 Modelo funcional («caja negra»).
(D.R.A.E.)
12
Esta es una denominación establecida, aunque «caja opa-
ca» se ajustaría más a la idea.
13 14
No se olvide que «funcional» se refiere a «función», no a Utilizamos estos adjetivos (no admitidos en el D.R.A.E.)
«funcionamiento». El funcionamiento (actividad interna) de con su sentido matemático: un conjunto puede definirse «por
un sistema se describe mediante un modelo procesal. extensión» o «por intensión».
8 Lección 0. Modelos y niveles
estímulos respuestas
Los modelos estructurales describen la organi-
zación del sistema como conjunto de partes inter-
relacionadas. En la mayoría de las definiciones de
«sistema» (como la reproducida más arriba) sub-
modelo = {modelos funcionales subsistemas}
yace una concepción estructural. Un modelo es- + {interrelaciones}
tructural comprende a los componentes del siste- Figura 0.7 Modelo estructural («caja transparente»).
ma (subsistemas), definidos de manera funcional,
y a las relaciones entre estos componentes (Figu-
ra 0.7). Ambas cosas, si están completamente es- propiedades emergentes: las que resultan como
pecificadas, determinan (al menos, teóricamente) consecuencia de interacciones entre las partes y no
la función del sistema. Modelos estructurales que pueden deducirse mediante análisis del modelo es-
determinan los modelos funcionales de los tres sis- tructural15 .
temas citados más arriba son: componentes bási- Uno podría esperar que las cosas fuesen más fa-
cos (memorias, registros, etc.), con sus conexio- vorables en un sistema más «determinado» como
nes y leyes de interacción para el ordenador, partes es el ordenador, y que el perfecto conocimiento
mecánicas y leyes de la mecánica para el automó- de sus componentes e interacciones nos permitie-
vil, y conceptos y leyes de la psicología cognosci- se predecir todos sus posibles comportamientos.
tiva para el hombre. O, dicho en términos más prácticos, que dado un
Ahora bien, siendo los modelos representacio- programa y unos datos, pudiésemos inferir, con to-
nes aproximadas de los sistemas, la «determina- da certeza, cuáles van a ser los resultados. Pero
ción» del modelo funcional a partir del estructu- no es así. El ordenador no es tan complejo como
ral es siempre relativa. Así, los modelos de la psi- muchos sistemas vivos, pero sí lo suficiente como
cología cognoscitiva son (al menos de momento) para que sus descripciones tengan que hacerse en
demasiado burdos para poder deducir de ellos las distintos niveles de abstracción, y lo dicho en el
leyes de la psicología conductista. Y aun si los párrafo anterior le es también aplicable. Volvere-
modelos funcionales de los componentes son su- mos sobre los niveles en el Apartado 0.7, pero se-
ficientemente precisos, en la práctica el proceso ñalemos aquí la trascendencia de este hecho. En
deductivo puede ser inabordable (como deducir el efecto, por una parte es el desencadenante de toda
comportamiento de una persona a partir de un per- una problemática en la ingeniería del software: la
fecto conocimiento de la bioquímica). Por eso he- de tratar de conseguir que los programas funcio-
mos matizado más arriba que el modelo estruc- nen correctamente16 . Por otra, es posible diseñar
tural determina teóricamente al funcional. Y por 15
Ésta es una reformulación en términos de modelos del
eso, para el estudio de sistemas complejos se in- concepto de «emergencia» propuesto por George Henry
troducen modelos en distintos niveles de abstrac- Lewes (Problems of Life and Mind, vol. 2. Kegan Paul, Tren-
ción. Elevar el nivel de abstracción permite elabo- ch, Turbner, and Co., Londres, 1875), pero ya enunciado (con
el nombre de «efectos heteropáticos») nada menos que por
rar modelos útiles para sistemas complejos pero John Stuart Mill (System of Logic. Longmans, Green, Rea-
sacrificando la posibilidad de que los modelos en der, and Dyer, Londres 1843).
16
un nivel alto puedan estar completamente deter- «Todo programa real contiene errores mientras no se de-
minados por los de un nivel más bajo. En general, muestra lo contrario, lo cual es imposible» (T. Gilb: «Laws of
unreliability». Datamation, 21, 3, Mar. 1975). Sólo reciente-
esta indeterminación justifica el aforismo aristoté- mente se han empezado a desarrollar modelos que permiten,
lico «el todo es más que la suma de sus partes», en ciertos casos, garantizar que un programa construido con
que en los sistemas se traduce por la aparición de esos modelos es correcto (véase el Apartado 22.2).
0.3 Función, estructura y proceso 9
programas que exhiban comportamientos impre- binaria del resultado a decimal y presenta este re-
visibles o «emergentes»; el aprendizaje en el or- sultado decimal por la pantalla. Una posible des-
denador se consigue si esos comportamientos van composición es la de la Figura 0.8(c), en la que se
«mejorando» en algún sentido. han agrupado las operaciones de lectura, escritura
Sigamos con los modelos estructurales y con un y transformaciones de representación en un «pro-
ejemplo que nos permitirá insistir en esta posibi- grama principal», y la del cálculo del factorial en
lidad de aprendizaje en los ordenadores. Es fre- una «función». Este modelo hace abstracción del
cuente que un mismo sistema, con un determinado hardware en el que se ejecutan las operaciones.
modelo funcional, pueda representarse por distin-
tos modelos estructurales. Dicho de otro modo, el
modelador, dependiendo de su punto de vista o de
su intención (pragmática) puede adoptar distintas ratón pantalla
descomposiciones. teclado
¿Puede aprender un ordenador? grama dependiendo del parecido que hay entre es-
tos sonidos y la pronunciación correcta de la fra-
«Estructura» y «función» suelen aparecer cla-
se (pronunciación que se le da, al mismo tiempo
ramente diferenciadas en los sistemas artificiales,
que se da la frase al programa, por otro dispositivo
pero no en los seres vivos (y lo mismo ocurre en-
de entrada). Si se consigue que a medida que se
tre «función» y «proceso»)17 . Esto es así porque
van sucediendo estímulos y respuestas vaya me-
los seres vivos (y los sistemas sociales) cambian
jorando ese parecido hasta que, finalmente, el sis-
estructuralmente con el tiempo, lo que les permite
tema «lea» bien frases que nunca antes había oí-
adaptarse y aprender. Pero también las máquinas
do ¿no podemos decir que la máquina (formada
pueden estar dotadas de esa capacidad. Algunas,
por el ordenador y el programa) «ha aprendido
por su propia concepción: los autómatas celulares
a leer»? (aunque, desde luego, no haya llegado a
y las redes neuronales. Otras, como el ordenador,
«comprender»). No se trata de ninguna utopía: se
por la versatilidad que se deriva del hecho de ser
han diseñado sistemas con ese modo de comporta-
programable.
miento18 .
Volvamos a los modelos estructurales de la Fi-
gura 0.8. En el primero no tiene sentido pensar El asunto del aprendizaje en ordenadores no só-
en modificaciones estructurales: las «placas» se lo es intelectualmente muy atractivo, tiene tam-
conectan en una configuración fija y ni ellas ni sus bién importantes aplicaciones en ingeniería, como
partes cambian. Lo mismo puede decirse, en prin- el control de sistemas complejos (donde un mo-
cipio, en el segundo modelo estructural, aunque delo del sistema a controlar es impracticable, y el
cabe señalar que se han propuesto algunos mode- sistema de aprendizaje se va adaptando para con-
los adaptables para la unidad central de procesa- seguir los objetivos), la enseñanza individualizada
miento (véase nota a pie de página en el Aparta- por ordenador (donde el sistema aprende un mode-
do 4.9). Consideremos, sin embargo, el modelo de lo del alumno concreto), la minería de datos (des-
la Figura 0.8(c). Más arriba hemos concretado di- cubrimiento de conocimientos en bases de datos),
ciendo que el «programa principal» lee un dato, la minería de la web (descubrimiento de relacio-
escribe un resultado y realiza algunas transforma- nes estructurales entre páginas, o de patrones de
ciones, mientras que la «función» calcula el facto- uso a partir de los ficheros en los que se registran
rial. Pero el mismo modelo es aplicable de manera las visitas), etc. Pero está fuera del alcance de este
más general. Analicemos otra situación. libro, y no lo volveremos a tratar, salvo por algu-
Supongamos que el «programa principal» reci- nas alusiones, en los Apartados 1.7 y 15.219 .
be como datos una secuencia de letras que for-
man una frase en español y entrega como resul-
tados una secuencia de sonidos por un altavoz, y
18
que la «función» modifica la estructura del pro- Por ejemplo, para la lengua inglesa, y con muchas limi-
taciones, «NetTalk», basado en la programación de una red
17
«La antítesis entre estructura y función, morfología y neuronal. (T.J. Sejnowski y C.R. Rosemberg: NetTalk: a pa-
fisiología está basada en una concepción estática del orga- rallel network that learns to read aloud. Technical Report
nismo. En una máquina hay una disposición fija que puede TR-86-01, Dep. Electrical Eng., John Hopkins Univ., 1986).
ponerse en movimiento, pero también puede permanecer en Durante los últimos años se ha ido progresando lentamente
reposo [...] Realmente, esta separación entre una estructura en este difícil campo de aplicación de las redes neuronales al
preestablecida y los procesos que ocurren en la estructura no reconocimiento del lenguaje hablado; véase, por ejemplo, el
se aplica al organismo vivo [...] Las llamadas estructuras son artículo de N. Morgan y H.A. Bourlard: Neural networks for
procesos lentos de larga duración, y las funciones son proce- statistical recognition of continuous speech, Proc. IEEE, 83,
sos rápidos de corta duración». (L. von Bertalanffy: Problems 5 (May 1995), pp. 742–770.
19
of Life: An Evaluation of Modern Biological and Scientific Recomendamos al lector interesado el libro de Tom Mit-
Thought. Watts, Londres, 1952). chell: Machine Learning, McGraw-Hill, 1997.
0.3 Función, estructura y proceso 11
Modelos procesales
función de
transición
Así como un modelo funcional describe la fun-
ción dinámica externa (relaciones entre sistema y
estímulos estado estado respuestas
entorno) y un modelo estructural describe la orga- i i+1
nización estática interna (partes e interacciones),
un modelo procesal describe la actividad dinámi- función de
ca interna o proceso de un sistema material. En salida
x
Los ejemplos que siguen se refieren a sistemas 0
de distinta naturaleza. El lector puede encontrar,
dependiendo de sus conocimientos previos, mayor
o menor dificultad para entenderlos, pero espera-
mos que, en su conjunto, estas ilustraciones sirvan t
para que capte las diferencias entre modelos fun-
cionales, estructurales y procesales.
en el minuto siguiente. e : no O
0 y no I
El espacio de estados consta de cuatro estados:
e :OeI e : O y no I
• q0 , correspondiente a R = 0, C = 0 (no se oye e3 : no O e I 2
1 q
1
la risa ni el canto) no R, C
• q1 , correspondiente a R = 0, C = 1 (no se oye
la risa, sí el canto)
• q2 , correspondiente a R = 1, C = 0 (se oye la e : no O e I
1
risa, no el canto) Figura 0.19 Modelo procesal de la casa encantada.
• q3 , correspondiente a R = 1, C = 1 (se oyen
la risa y el canto) sa. Durante el minuto siguiente, siga quemando in-
En cada uno de estos cuatro estados pueden cienso y póngase a tocar el órgano, si es que no lo
aplicarse cuatro estímulos diferentes: estaba haciendo ya. Transcurrido este minuto, cese
• e0 : O = 0, I = 0 (no tocar el órgano ni quemar toda actividad. Si no vuelve a manipular ni el ór-
incienso) gano ni el incienso, se habrá librado para siempre
• e1 : O = 0, I = 1 (no tocar el órgano pero del encantamiento».
quemar incienso) Hemos considerado como salidas R y C, que
• e2 : O = 1, I = 0 (tocar el órgano pero no son también las variables de estado (por este mo-
quemar incienso) tivo, en este caso las ecuaciones de estado son
las mismas ecuaciones del modelo funcional escri-
• e3 : O = 1, I = 1 (tocar el órgano y quemar
tas más arriba). Alternativamente, podríamos ha-
incienso al mismo tiempo)
ber definido una salida binaria, s, que representase
Pues bien, basta considerar detenidamente los la presencia o ausencia de algún sonido27 :
párrafos 4 y 5 de la carta para especificar por com- • s = 0 si no hay ningún sonido (R = 0, C = 0)
pleto la función de transición, es decir, para deter- • s = 1 si hay algún sonido
minar las 4 × 4 = 16 transiciones entre estados. El El lector puede ver en el diagrama otras solucio-
resultado, en forma de diagrama de transiciones, nes (con secuencias de estímulos más largas que la
puede verse en la Figura 0.19. propuesta). También puede observar que, afortu-
A la vista de este diagrama, la solución al pro- nadamente para el propietario de la casa, el estado
blema que plantea la carta aparece fácilmente: el q0 (el único con s = 0) es estable para la entra-
estado inicial es q3 ; de él se puede pasar a q1 me- da e0 .
diante e1 o e3 , y de éste a q0 mediante e3 . Expre- 27
Aquí, a diferencia del caso del sumador, podemos aso-
sándolo en los mismos términos epistolares: «Du- ciar la salida a los estados, no a las transiciones: s = 0 está
rante un minuto, queme usted incienso, y, si le ape- asociada a q0 , y s = 1 a los otros tres. La función de salida
tece, toque también el órgano; desaparecerá la ri- es g(q), no g(e, q).
0.5 Pragmática 19
Un sistema natural particularmente complejo es modelos funcionales más detallados31 . Pero para
el hombre. Si se nos pide una descripción de una los profesionales de la industria del automóvil és-
persona determinada seguramente daremos una re- te no es ya una herramienta, sino el objeto central
lación de sus rasgos fisionómicos más destaca- de su trabajo. En las actividades ligadas al diseño,
dos, es decir, un modelo estático y de «caja ne- en general, no bastan los modelos funcionales, y
gra» (funcional). Para más detalles, trataríamos de se hacen necesarios modelos estructurales y pro-
describir su «personalidad», que incluye rasgos cesales, diferentes para cada especialidad.
de comportamiento dinámico, y al hacerlo formu- Los modelos para la comprensión son general-
laríamos de manera informal e incompleta algún mente conceptuales, más o menos formalizados,
modelo procesal («le gusta tal cosa, le enfada tal aunque en ocasiones la comprensión se facilita
otra...»). Pero el hombre, como sistema, es objeto mediante la presentación de un modelo analógico
de estudio de diversas ciencias, y en cada una de (por ejemplo, cuando se explican los rudimentos
ellas se han elaborado distintos modelos. La psico- de la electricidad mediante un «símil hidrodinámi-
logía conductista, por ejemplo, utiliza sobre todo co»). A veces, buscando la mejor forma de comu-
modelos funcionales con los que estudia las res- nicar ideas, se mezclan en un mismo diagrama
puestas humanas ante los estímulos, mientras que componentes de modelos estructurales y procesa-
la psicología cognoscitiva trata con modelos de re- les. Así ocurre en este libro, en las Figuras 3.15,
presentación del conocimiento en la mente huma- 3.16, 20.4 y 20.9.
na (modelos estructurales) y de procesamiento de Los típicos modelos para uso son los «manua-
la información (modelos procesales). En medicina les de usuario»; generalmente se trata de descrip-
se utilizan modelos estructurales estáticos (anato- ciones informales, pero como veremos enseguida
mía) y funcionales y procesales dinámicos (fisio- el usuario del sistema puede ser un diseñador de
logía). Para un sociólogo, el hombre es un compo- otro sistema (de «nivel superior»), y en tal caso se
nente de los sistemas sociales, caracterizado por hacen necesarios modelos formalizados.
ciertos rasgos de comportamiento (por tanto, por
algún modelo funcional), y para un ingeniero pue-
La actividad de diseño
de ser el objeto último de su profesión (conside-
rando que el objetivo de la ingeniería es la pro- El término «diseño» se aplica tanto en la inge-
ducción de artefactos que redunden en la mejora niería como en actividades muy distantes de ella
de la calidad de vida), un objeto inmediato (dise- en el plano axiológico (los valores esenciales en
ño ergonómico de interfaces hombre–máquina), o, esas actividades son de naturaleza estética) y en
incluso, una fuente inspiradora de modelos (en la otras de naturaleza «mixta» (arquitectura, urbanis-
línea de lo que algunos llaman «biónica»). En ca- mo...)32 . Todas estas actividades comparten una
da caso, el criterio para elegir una descripción (un orientación creativa, la idea de ensamblar partes
modelo) y descartar otras depende, sobre todo, de para construir un sistema con ciertos fines.
la adecuación de esa descripción al tipo de proble- El objeto de la actividad de diseño es siempre
mas que se pretende abordar con ella. 31
Es bien sabido que todos los usuarios pueden, en ocasio-
Como ejemplo de artefacto tomemos el auto- nes, beneficiarse del conocimiento de modelos estructurales
móvil. Para el usuario normal el automóvil es una y procesales. Pero cuando un usuario recurre a uno de estos
herramienta, y su mejor descripción es un mode- modelos es por una de dos razones: o bien porque su modelo
lo funcional: le basta con saber cómo responde el funcional no es suficiente para resolver todos sus problemas,
o bien porque deja de ser estrictamente un usuario (como ocu-
vehículo ante los «estímulos» de girar el volan- rre cuando el conductor abre el capó).
te, pisar el freno, etc. Algunos usuarios especia- 32
«Diseño: [...] 3. Concepción original de un objeto u obra
les, como los pilotos de pruebas, pueden requerir destinados a la producción en serie» (D.R.A.E.).
0.5 Pragmática 21
sus consecuencias.
conceptuación Ya hemos hablado de «sistemas», «compleji-
dad» y «modelos», hemos visto tres tipos básicos
de modelos conceptuales para sistemas dinámi-
cos (funcionales, estructurales y procesales), he-
modelo conceptual
(funcional) mos explicado que las descripciones son modelos
y que a un mismo sistema pueden aplicársele des-
cripciones diversas por consideraciones pragmáti-
cas. Aclaremos ahora lo que pretendemos signifi-
diseño car con «niveles» y «jerarquía de abstracciones».
En general en este Apartado, y particularizando
para los ordenadores en el siguiente.
modelos estructural
y procesal
Modelos y abstracciones
La modelación y la abstracción son actividades
implementación intelectuales indisolublemente unidas. En efecto,
el modelo sólo representa los rasgos de interés del
original, es decir, hace abstracción de los que no
son pertinentes para el propósito del modelo.
prototipo En el ejemplo del sumador binario serial abs-
traíamos detalles como los valores de las tensio-
nes eléctricas que puedan corresponder a «0» y a
«1», o como el hecho de que los cambios (de «0» a
pruebas
«1» y de «1» a «0») no son instantáneos, sino que
«en realidad»35 son graduales, con un tiempo de
transición. Igualmente, abstraíamos, en su modelo
producto
estructural, la composición de los dos bloques que
lo forman, definiéndolos por sus modelos funcio-
nales. Si entramos en su composición, descende-
mos de nivel de abstracción.
uso
Pensar en distintos niveles de abstracción es ha- rarquía es concretar detalles, y «ascender» es abs-
bitual en las ciencias que tratan con sistemas com- traer. Cuando la jerarquía corresponde a un arte-
plejos. Por ejemplo, en las ciencias biológicas se facto, y se utiliza para su construcción, la imple-
estudian los niveles bioquímico (biología molecu- mentación de sistemas del nivel i implica un «des-
lar), de célula (citología), de tejido (histología), de censo» al nivel i − 1.
órgano (anatomía) y de organismo. En cada nivel
se utilizan los tres tipos de modelos que hemos ex-
plicado (aunque no con esos nombres). Así, en el 0.7. Jerarquía de niveles para los
nivel de célula la morfología celular utiliza mode- ordenadores
los estructurales (describe a las células como en-
samblajes de subsistemas), la fisiología celular uti- La Figura 0.22 presenta los siete niveles de la
liza modelos procesales (describe los procesos in- jerarquía en la que situaremos a las descripciones
ternos que explican el metabolismo, el crecimien- de los ordenadores. Antes de pasar a comentarlos,
to, la división, etc.) y desarrolla modelos funcio- haremos dos precisiones:
nales que son de utilidad para el estudio en los ni-
• Salvo alusiones esporádicas, tanto aquí como
veles superiores.
en el resto del libro nos limitaremos a aquellas par-
En general, un nivel de abstracción para la des-
tes de los ordenadores que tienen un soporte tecno-
cripción de un sistema se caracteriza por:
lógico electrónico, eludiendo todo lo concerniente
• La naturaleza de las variables que representan
a tecnologías mecánica, magnética y óptica utili-
a las magnitudes (estímulos, respuestas y esta-
zadas en terminales y memorias, que precisarían
dos) de interés: pueden ser continuas o discre-
de otras jerarquías de descripción en los niveles
tas, numéricas o simbólicas.
«bajos» de la Figura 0.22.
• El espacio de estados en el que se formulan
• En esta jerarquía se hace referencia a modelos
modelos procesales.
que son precisamente el objeto de estudio de es-
• Los componentes que permiten establecer mo- te curso. Por tanto, no se puede pretender que sea
delos estructurales. Estos componentes estarán comprensible en una primera lectura. Este Aparta-
descritos como modelos funcionales de siste- do debería ser objeto de repaso recurrente tras el
mas del nivel inferior. estudio de cada una de las partes del libro.
• Las leyes de composición que rigen la manera
de interconectar componentes.
Los niveles
• Las leyes de comportamiento que determinan
el comportamiento (modelo funcional) de un El nivel más bajo (el de menor abstracción) es el
sistema a partir de su modelo estructural y de de dispositivo. En él se estudian los sistemas elec-
los modelos funcionales de los componentes, o trónicos básicos (transistores, resistores, conden-
bien a partir de su modelo procesal. sadores, etc.) que son componentes del siguiente
• El lenguaje (o lenguajes) con el que expresa- nivel. En este nivel, los componentes son los ma-
mos las leyes y formulamos modelos. teriales semiconductores, y el lenguaje para expre-
Entre estos niveles existe una relación de orden: sar las interrelaciones y los procesos es el de la fí-
los componentes de los modelos estructurales del sica del estado sólido. (Aquí, si hubiéramos de in-
nivel i son sistemas del nivel i − 1. El sistema «fi- cluir los detalles no electrónicos a que nos refería-
nal» (aquél para el que se construye la jerarquía) mos en el párrafo anterior, consideraríamos otros
viene descrito por los modelos del más alto nivel. componentes, como soportes magnéticos, ópticos
«Descender» (pasar del nivel i al i − 1) en la je- y mecánicos).
0.7 Jerarquía de niveles para los ordenadores 25
máquinas simbólicas
máquina simbólica (interpretan sentencias
+programas y órdenes en
lenguajes simbólicos)
máquinas programables
máquina operativa binarias extendidas
+programas (interpretan instrucciones
y "llamadas al sistema")
máquinas programables
máquina convencional binarias
+microprogramas
implementación
(interpretan instrucciones)
abstracción
sistemas combinacionales
circuito lógico y secuenciales,
memorias, ...
metales, transistores,
dispositivo semiconductores, ... resistores, ...
Los componentes del nivel de circuito eléctri- las variables: ya no se trabaja con valores de ten-
co son los sistemas del anterior, es decir, lo que sión o de corriente, expresados en voltios o ampe-
en la terminología de la electrónica se llaman, rios, sino con «niveles lógicos» («alto» y «bajo»,
justamente, «componentes» (discretos): resistores, o «0» y «1»). Este nivel puede descomponerse en
transistores, etc. Se utilizan aquí lenguajes gráfi- dos subniveles: el de circuito combinacional y el
cos para indicar las interrelaciones o conexiones de circuito secuencial. En efecto, para el diseño de
entre los componentes, y para expresar el compor- circuitos secuenciales se toman como componen-
tamiento de estos componentes y de las estructu- tes sistemas combinacionales, como los biestables,
ras (curvas tensión–corriente, cronogramas de las diseñados con puertas. El lenguaje predominante
evoluciones de las variables, etc.), así como el len- en este nivel es el del álgebra de Boole. El nivel
guaje del álgebra para expresar las leyes de la elec- de circuito lógico no forma parte del contenido de
tricidad. este curso, pero los conceptos más importantes se
En el nivel de circuito lógico se abstrae la es- presentan en el Apéndice B.
tructura de ciertos sistemas construidos en el nivel Los niveles «bajos» no son exclusivos de la des-
anterior: las puertas lógicas. Además, y paralela- cripción de ordenadores: son muchos los artefac-
mente, se abstrae también la naturaleza física de tos electrónicos digitales diseñados en el nivel de
26 Lección 0. Modelos y niveles
circuito lógico que no son programables o que, aun El nivel de máquina operativa (el de un orde-
siéndolo, no son de propósito general (característi- nador acompañado de un sistema operativo) surge
cas ambas que son esenciales de los ordenadores). como necesidad de «arropar» al «ordenador des-
En tales sistemas es obvio que no tiene sentido nudo» (máquina convencional) con programas de
abstraer por encima del nivel de circuito lógico. uso general que lo hagan más fácil de utilizar y
El siguiente nivel es ya característico de los or- que optimicen su funcionamiento. El modelo fun-
denadores: el nivel de micromáquina. Sus com- cional de un ordenador en este nivel incluye al
ponentes son registros (elementos en los que se modelo funcional del nivel de máquina y lo am-
puede registrar y recuperar una información bina- plía con «instrucciones virtuales» (esencialmente,
ria de longitud fija), operadores aritméticos y ló- llamadas al sistema operativo). Este nivel y el si-
gicos (que permiten transformar una información guiente son ya niveles de máquinas virtuales, en el
o combinar varias para dar un resultado), unida- sentido de que las funciones del sistema se imple-
des de memoria (que almacenan un conjunto de mentan mediante una combinación de hardware y
informaciones), secuenciadores (que generan se- software. Pero en el nivel de máquina operativa el
ñales secuenciadas en el tiempo para gobernar a lenguaje de la máquina sigue siendo binario.
otros componentes) y otros circuitos combinacio- Si sólo dispusiéramos de los niveles anteriores
nales y secuenciales considerados como cajas ne- la programación de los ordenadores sería una ar-
gras, así como los buses, que permiten interconec- dua tarea debido al lenguaje binario. Para facili-
tar a los elementos. Un componente central en es- tarla, se inventaron los procesadores de lenguajes
te nivel es la memoria de control, que almacena (los clásicos intérpretes y compiladores de lengua-
microinstrucciones. Los modelos procesales des- jes de programación, y también los programas que
criben las secuencias en el tiempo de transferen- materializan a las interfaces de usuario), con los
cias de conjuntos de bits entre registros y memo- que apareció un nivel nuevo: el de máquina sim-
rias; estas transferencias están determinadas por bólica. Hay dos tipos de usuarios en este nivel (re-
las microinstrucciones almacenadas en la memo- finando la jerarquía, podríamos descomponerlo en
ria de control. Los modelos funcionales describen dos subniveles). Los programadores utilizan algún
las microinstrucciones que acepta la micromáqui- procesador de lenguaje (además, desde luego, del
na y sus efectos. sistema operativo) que les permite trabajar con una
En el nivel de máquina convencional (o, sim- máquina virtual que «entiende» ese lenguaje. Los
plemente, nivel de máquina) el modelo funcional usuarios finales trabajan con la máquina virtual
de un ordenador está compuesto por su repertorio que resulta de ejecutar en la máquina operativa los
de instrucciones y los convenios de representación programas desarrollados por los programadores.
de la información. Tanto las instrucciones como
las otras informaciones se expresan en binario (ca- Las excepciones
denas de ceros y unos), que es el lenguaje predo-
minante en este nivel. En los modelos estructurales Como todo modelo, la jerarquía presentada es
se abstrae el hecho de que exista una memoria de una aproximación a la realidad. Y como un mode-
control con microinstrucciones; se considera inte- lo que pretende ser un marco general para modelos
grada en un componente, la unidad central de pro- concretos de ordenadores, su aplicación a esos ca-
cesamiento, que en el nivel de micromáquina se sos concretos presenta excepciones. Las más nota-
descompone en circuitos aritméticos, memoria de bles se dan en la abstracción del nivel de circuito
control, etc. Combinando instrucciones (es decir, lógico al de máquina convencional (o, en sentido
programando) se construyen sistemas de niveles contrario, en la implementación de éste). Según la
superiores. Figura 0.22, hay un nivel entre ambos, el de mi-
0.7 Jerarquía de niveles para los ordenadores 27
cromáquina. Pero, como veremos en la Segunda mware36 . Los sistemas de los niveles inferiores
Parte, (circuito eléctrico y circuito lógico) se implemen-
• a veces este nivel no existe: los sistemas del ni- tan siempre en hardware, mientras que los de los
vel de máquina convencional se pueden imple- niveles superiores (máquina simbólica y máqui-
mentar directamente con componentes que son na operativa) se suelen implementar mediante sof-
sistemas del nivel de circuito lógico (Aparta- tware. El nivel de máquina convencional se puede
do 9.1), y implementar en hardware o en firmware, como es-
• a veces existe otro nivel adicional (el de «na- tudiaremos en la Segunda Parte, pero también en
nomáquina») entre el de micromáquina y el de software (mediante un programa que, ejecutándo-
circuito lógico (Apartado 12.2). se en otra máquina, simule al sistema).
La existencia de estos niveles está condicionada Si el lector tiene conocimientos sobre lenguajes
por las tecnologías disponibles en cada momento de programación ya sabe lo que son los compila-
(en definitiva, por el nivel de dispositivo, que irra- dores y los intérpretes37 , utilizados para la imple-
dia su influencia «hacia arriba»). mentación software de los niveles superiores. Así,
el nivel de máquina simbólica queda definido, fun-
Conviene insistir en que esta jerarquía de nive-
cionalmente, por la sintaxis y la semántica de los
les es un marco de referencia útil, pero no rígido ni
lenguajes de programación. Por ejemplo, la «má-
dogmático. De hecho, en la Segunda Parte de este
quina C» corresponde al lenguaje C, y se imple-
curso nos situaremos en un «nivel» intermedio que
menta mediante un compilador de C que traduce
no aparece en ella: el nivel de microarquitectura.
los programas al lenguaje binario de la máquina
Es el mismo nivel de micromáquina cuando éste
operativa (o, muy raro pero no imposible en el ca-
existe, pero cuando la máquina convencional (es
so de este lenguaje, mediante un intérprete que se
decir, los sistemas descritos en el nivel de máqui-
ejecute en la máquina convencional). La máqui-
na convencional) se implementa directamente con
na simbólica definida por el lenguaje de órdenes
circuitos lógicos, el nivel de microarquitectura sir-
del sistema operativo se implementa mediante un
ve para describir esa implementación abstrayen-
intérprete de este lenguaje. Y la máquina opera-
do detalles de tales circuitos. La diferencia entre
tiva definida por unas operaciones, las «llamadas
ambos niveles (micromáquina y microarquitectu-
al sistema», que estudiaremos en la Tercera Par-
ra) se verá claramente en el Apartado 12.7.
te, se implementa mediante programas intérpretes
que forman parte del sistema operativo. A veces
Abstracciones e implementaciones la implementación se hace mediante un proceso
de compilación seguido de otro de interpretación.
Cuando «subimos» en la jerarquía hacemos abs- Así, un programa en Java se compila primero a un
tracción, mientras que al «bajar» entramos en de- lenguaje intermedio («bytecodes») y el resultado
talles. La abstracción es obligada para describir a se interpreta en una máquina convencional (Apar-
un sistema en un determinado nivel. Y el entrar en tado 22.4 y Lecciones 23 y 24).
detalles es necesario cuando tenemos que imple- 36
En estas expresiones se adjetivan los sustantivos «har-
mentar el sistema.
dware», «software» y «firmware»; sería quizás más correcto
Los sistemas descritos funcionalmente (especi- decir «implementación mediante hardware», etc. En la Se-
ficados mediante un lenguaje adecuado) en un de- gunda Parte estudiaremos con detalle el firmware, pero pode-
terminado nivel pueden implementarse de varias mos ya avanzar que está formado por microprogramas (con-
juntos de microinstrucciones) almacenados en una memoria
formas. En los ordenadores, las formas típicas son de control, y esto es lo que define el nivel de micromáquina.
la implementación hardware, la implementación 37
En cualquier caso, estas ideas se presentan en la Lec-
software y una intermedia, la implementación fir- ción 22.
28 Lección 0. Modelos y niveles
Esbozado el modelo estructural en el nivel de aquí que el tiempo de disponibilidad de una pa-
máquina convencional, es preciso describir sus labra de la memoria debería ser de 5 a 50 µseg.
subsistemas mediante modelos funcionales. Asimismo, sería deseable que las palabras pudie-
sen ser sustituidas por otras nuevas a la misma
velocidad aproximadamente. No parece que fí-
Memoria sicamente sea posible lograr tal capacidad. Por
«... Hemos diferenciado, conceptualmente, dos tanto, nos vemos obligados a reconocer la posi-
formas diferentes de memoria: almacenamiento bilidad de construir una jerarquía de memorias,
de datos y almacenamiento de órdenes. No obs- en la que cada una de las memorias tenga una
tante, si las órdenes dadas a la máquina se redu- mayor capacidad que la precedente pero menor
cen a un código numérico, y si la máquina puede rapidez de acceso...»
distinguir de alguna manera un número de una
orden, el órgano de memoria puede utilizarse pa- La velocidad también se ha multiplicado por va-
ra almacenar tanto números como órdenes.» rios órdenes de magnitud: el tiempo de acceso en
las memorias de semiconductores (con capacida-
Es decir, en el subsistema de memoria se alma-
des de millones de bytes), es alrededor de una mi-
cenan tanto las instrucciones que forman un pro-
lésima parte de esos 5 a 50 µs que «no parece que
grama como los datos. Esto es lo que luego se ha
sea posible lograr».
llamado «arquitectura Princeton» (como veremos
Aquí aparece una característica esencial de la
en el Apartado 15.7, en ciertos diseños se utiliza
memoria principal: la de ser de acceso directo,
una memoria para datos y otra para instrucciones,
también llamado acceso aleatorio («sería desea-
siguiendo una «arquitectura Harvard»).
ble que las palabras pudiesen ser sustituidas por
«... Planeamos una facilidad de almacena- otras nuevas a la misma velocidad»), así como el
miento electrónico completamente automático de concepto de jerarquía de memorias, ampliamen-
unos 4.000 números de cuarenta dígitos binarios te desarrollado después, y que estudiaremos en la
cada uno. Esto corresponde a una precisión de Lección 15. De momento sólo consideraremos la
2−40 ≈ 0, 9 × 10−12 , es decir, unos doce decima- existencia de una única memoria, de acceso direc-
les. Creemos que esta capacidad es superior en
to y de lectura y escritura, y nos referiremos a ella
un factor de diez a la requerida para la mayoría
de los problemas que abordamos actualmente...
como «memoria» o como «MP», indistintamente .
Proponemos además una memoria subsidiaria de El elemento mínimo de almacenamiento es el
mucha mayor capacidad, también automática, en bit. Un punto de memoria es un mecanismo físi-
algún medio como cinta o hilo magnético.» co capaz de almacenar un bit. En la MP, estos pun-
tos de memoria (formados por circuitos con tran-
La capacidad planeada, expresada en unidades sistores) se agrupan en «posiciones», «celdas» o
actuales, era 4.000 × 40/8 = 20.000 bytes, es de- «casillas», en cada una de las cuales se aloja un
cir, menos de 2 KB. Obviamente, los problemas conjunto de bits, llamado palabra. En cada acce-
a los que se dirigía esa máquina no eran los que so (de escritura, o grabación en la memoria, o de
hoy resuelven los ordenadores... Se habla de una lectura, o recuperación de la memoria) se intro-
memoria secundaria. En este libro no la contem- duce o se extrae una palabra completa (n bits; va-
plaremos hasta la Lección 5. lores típicos de n son 8, 16, 32 o 64, dependiendo
del ordenador). Cada una de estas posiciones vie-
«... Lo ideal sería... que cualquier conjunto de
cuarenta dígitos binarios, o palabra, fuese accesi- ne identificada por una dirección, número entero
ble inmediatamente —es decir, en un tiempo con- comprendido entre 0 y M–1, donde M es la capa-
siderablemente inferior al tiempo de operación cidad de la memoria: el número de posiciones, es
de un multiplicador electrónico rápido—[...] De decir, de palabras que puede almacenar.
30 Lección 0. Modelos y niveles
Como ilustra la Figura 0.24, para extraer una pa- Unidad aritmética y lógica
labra de la memoria (operación de lectura) se da
«... Puesto que el dispositivo va a ser una má-
su dirección y, tras un tiempo de acceso para la quina computadora, ha de contener un órgano
lectura, se tiene en la salida el contenido de esa aritmético que pueda realizar ciertas operacio-
posición. Para introducir una palabra en una posi- nes aritméticas elementales. Por tanto, habrá una
ción (operación de escritura), se indica también unidad capaz de sumar, restar, multiplicar y divi-
la dirección y, tras un tiempo de acceso para la es- dir...»
critura, queda la palabra grabada. Decir que la me- «... Las operaciones que la máquina consi-
moria tiene acceso directo, o aleatorio, significa derará como elementales serán, evidentemente,
simplemente que el tiempo que transcurre desde aquellas que se le hayan cableado. Por ejemplo,
que a la memoria se le da una microorden de lectu- la operación de multiplicación podrá eliminarse
del dispositivo como proceso elemental si la con-
ra o escritura hasta que la operación ha concluido
sideramos como una sucesión de sumas correcta-
es independiente de la posición (véase el Aparta- mente ordenada. Similares observaciones se pue-
do 4.12). den aplicar a la división. En general, la economía
de la unidad aritmética queda determinada por
microórdenes de la UC: una solución equilibrada entre el deseo de que la
lec esc
máquina sea rápida — una operación no elemen-
tal tardará normalmente mucho tiempo en ejecu-
tarse, al estar formada por una serie de órdenes
dadas por el control — y el deseo de hacer una
dirección posición direccionada (n bits)
máquina sencilla, o de reducir su coste...»
dad de modificar las instrucciones en el curso de denes se almacenan en la memoria por parejas.
la ejecución de un programa es consecuencia de Como en este computador se va a utilizar el mis-
la misma idea de programa almacenado, y, desde mo órgano de memoria para órdenes y para nú-
el punto de vista didáctico, ayuda a comprender el meros, es conveniente que ambos tengan la mis-
ma longitud. Pero números de dieciocho dígitos
funcionamiento del ordenador. Analizaremos ca-
binarios no serían suficientemente precisos para
sos concretos en la Lección siguiente. los problemas que esta máquina ha de resolver.
Los «números de posiciones de memoria» son Se requiere más bien una precisión de al menos
las direcciones, definidas más arriba al hablar de 10−10 , o 2−33 . De aquí que sea preferible hacer
la memoria. las palabras suficientemente largas para acomo-
dar dos órdenes...»
Formato de instrucciones «... Nuestros números van a tener cuarenta dí-
gitos binarios cada uno. Esto permite que cada
Hasta aquí se han presentado el modelo estruc- orden tenga veinte dígitos binarios: los doce que
tural en el nivel de máquina convencional y los especifican una posición de memoria y ocho más
modelos funcionales de sus componentes. El mo- que especifican una operación (en lugar del mí-
delo funcional de la unidad de control, descrito de nimo de seis a que nos referíamos más arriba)...»
manera muy simplificada, es también un modelo O sea, el formato de instrucciones propuesto es
procesal de la máquina completa. el que indica la Figura 0.27, con dos instrucciones
Ahora pasamos al modelo funcional, es decir, a en cada palabra. En muchos diseños posteriores
lo que es necesario conocer para usar (programar) se ha seguido más bien la opción contraria: pala-
la máquina. bras relativamente cortas e instrucciones que pue-
«... Como la memoria va a tener 212 = 4.096 den ocupar una o más palabras, y lo mismo para
palabras de cuarenta dígitos [...] un número bina- los números39 .
rio de doce dígitos es suficiente para identificar a
8 12 8 12
una posición de palabra...»
«... Dado que la mayoría de las operaciones CO CD CO CD
del computador hacen referencia al menos a un
número en una posición de la memoria, es razo- Figura 0.27. Formato de instrucciones de la «máquina
nable adoptar un código en el que doce dígitos
de von Neumann».
binarios de cada orden se asignan a la especifi-
cación de una posición de memoria. En aquellas
órdenes que no precisan extraer o introducir un
En general, un formato es la definición del sig-
número en la memoria, esas posiciones de dígitos nificado de cada uno de los bits de una palabra. Se
no se tendrán en cuenta...» representa gráficamente como un rectángulo que
«... Aunque aún no está definitivamente deci- «cubre» todos los bits. En un formato se distin-
dido cuántas operaciones se incorporarán en el guen partes o campos, grupos de bits con signifi-
computador (es decir, cuántas órdenes diferentes cado propio.
debe ser capaz de comprender el control), con- En el formato de la Figura 0.27 hay dos campos
sideraremos por ahora que probablemente serán para cada una de las instrucciones: uno de ocho
más de 25 , pero menos de 26 . Por esta razón, es bits, «CO», que indica de qué instrucción se tra-
factible asignar seis dígitos binarios para el có-
ta (el código de operación), y otro de doce bits,
digo de orden. Resulta así que cada orden de-
be contener dieciocho dígitos binarios, los doce
CD, que da la dirección de la MP a la que hace
primeros para identificar una posición de memo- referencia la instrucción.
ria y los seis restantes para especificar una ope- 39
Una excepción son los llamados «VLIWC» (Very Large
ración. Ahora podemos explicar por qué las ór- Instruction Word Computers, Apartado 15.3.
34 Lección 0. Modelos y niveles
NIVELES DE MAQUINA
OPERATIVA/SIMBOLICA
17 21 22 23 24
Monoalgorítmez y
Multialgorítmez
18 19 20 Conocimientos
Conocimientos de Java
básicos
NIVEL DE MAQUINA
CONVENCIONAL Conocimientos
avanzados
3 4 5
Símplez Algorítmez Regístrez
Conocimientos
1 2 básicos 6 7 8
NIVEL DE MICROARQUITECTURA
12 15
Símplez Algorítmez Regístrez
9 10 11 13 14 16
Conocimientos Conocimientos
básicos avanzados
En cada Parte se encuentran dos tipos de Lec- de materias, para establecer posibles trayectorias.
ciones: las que se apoyan en las máquinas ficticias Las flechas de trazo continuo indican dependen-
para introducir conceptos o para concretarlos, y las cias «fuertes», en el sentido de que la Lección en la
que presentan modelos más generales y variacio- que entra una de estas flechas es muy dependiente
nes, generalizando los detalles de las otras Leccio- de lo tratado en aquella de la que procede. Las de
nes. Así, en las dos primeras Partes se empieza con puntos son «débiles»: la Lección puede asimilarse
el caso concreto de Símplez, luego se generaliza y sin necesidad de haber estudiado la precedente, si
finalmente se vuelven a concretar algunos detalles bien habrá que acudir a ella en algunos momen-
con Algorítmez y con Regístrez. La Tercera Par- tos (estas referencias concretas se explicitan en el
te comienza con una Lección general a la que si- texto de cada Lección, en los lugares oportunos).
guen tres en las que se desarrollan modelos de sis- También es posible, si se dispone de conoci-
temas operativos para Algorítmez, otra de carácter mientos previos, empezar el estudio en lugares in-
general sobre el nivel de máquina simbólica, y, fi- termedios. Los «conocimientos básicos» a los que
nalmente, dos Lecciones sobre la Máquina Virtual alude la Figura 0.28 se refieren a:
Java cuya lectura requiere conocer el lenguaje de
programación Java. • En los niveles de máquina operativa y máquina
simbólica (entrada a la Lección 17), estructura y
Las Lecciones están secuenciadas, como es ha-
funcionamiento en el nivel de máquina convencio-
bitual, para un estudio lineal del libro. Pero se
nal. (Pero obsérvese que las Lecciones 18 y 19 se
puede navegar por ellas de otras maneras, depen-
sustentan en el caso concreto de Algorítmez, y re-
diendo de los intereses del lector y de sus cono-
quieren el conocimiento previo de algunos detalles
cimientos previos. La Figura 0.28 resume las de-
de las Lecciones 6 y 7).
pendencias más importantes entre las Lecciones
y puede servir de orientación, junto con la Tabla • En el nivel de máquina convencional (entrada a
36 Lección 0. Modelos y niveles
dad central de proceso, formada por uno o dos chips». En Lecciones sucesivas, conforme vayamos estudiando
(Una UCP puede implementarse con uno, con dos, o la evolución de «máquina de von Neumann», iremos
con cualquier número de chips). indicando el origen de las aportaciones posteriores.
La definición «clásica» de palabra (en tecnología
de ordenadores) es conjunto de bits que se transfieren
en paralelo entre la MP y la UCP. No obstante, la evo- Los precursores
lución tecnológica ha hecho que esta definición tenga
que matizarse. En efecto, actualmente es frecuente que Es preciso retroceder miles de años para encontrar
la MP esté organizada por «octetos» o «bytes»43 (cada los ábacos como primitivas herramientas de cálculo.
dirección identifica a un conjunto de ocho bits) y que Se ha dicho que el primer computador fue el «meca-
en una operación de lectura o escritura se recupere o nismo de Antikythera», sistema mecánico para cálcu-
grabe una de esas «palabras» de ocho bits. Las instruc- los de astronomía diseñado en Grecia hace unos dos
ciones y los datos suelen ocupar varios bytes, lo cual, mil años (Morris, 1984). Pero es mucho más conoci-
en principio, implicaría que para grabarlos o recupe- do que Pascal construyó en 1642 una calculadora basa-
rarlos hubiera que hacer varios accesos de escritura o da en ruedas-contadoras dentadas; Leibniz, en 1671, la
lectura a la memoria. Así, en efecto, funcionan muchos perfeccionó, añadiéndole las operaciones de multipli-
sistemas basados en microprocesador y, concretamen- cación y división, aunque su comercialización tuvo que
te, el primitivo «PC» (Personal Computer) de hace unos esperar (por motivos tecnológicos) hasta bien entrado
años, que tienen un «bus de datos» de ocho bits; en el siglo XIX, extendiéndose su uso desde entonces y
ellos puede decirse que la longitud de palabra es ocho hasta muy recientemente, cuando la tecnología electró-
bits. Pero para reducir el número de accesos a la MP (y, nica terminó por sustituir a la mecánica.
de este modo, aumentar la velocidad del ordenador) lo Suele mencionarse como uno de los precursores más
más frecuente es que la MP esté organizada de tal mo- importantes a Charles Babbage, que desde 1832 has-
do que se puedan leer en un solo acceso conjuntos de ta su fallecimiento en 1871 trabajó en el diseño de su
ocho, de dieciséis, o de treinta y dos bits. Así funcio- «máquina analítica», primer modelo de computador au-
nan los actuales pecés, en los que el bus de datos y la tomático de uso general, en el que se encuentra ya la
longitud de palabra tienen dieciséis o treinta y dos bits. especialización de unidades funcionales: memoria, uni-
Por ejemplo, en un ordenador de treinta y dos bits los dad aritmética, control y entrada/salida. Sus contempo-
accesos a la MP pueden ser a «octeto» («byte», ocho ráneos consideraron el invento como producto de una
bits), a «media palabra» («half word», dos bytes) o a mente febril (y no les faltaba algo de razón: la máquina
«palabra» («word», cuatro bytes). era prácticamente irrealizable con la tecnología de la
época). Asombra hoy su capacidad para alumbrar ideas
que habrían de esperar casi un siglo para ser llevadas
0.12. Notas históricas a la práctica (concepto de programa, de bucle, etc.). El
libro de Morrison y Morrison (1961) está integramente
No es fácil sintetizar la historia de los instrumentos dedicado a las máquinas de Babbage.
de cálculo y su evolución hasta el ordenador, porque, Babbage pensó en las tarjetas perforadas (inventa-
como dice Smith (1970), das por Jacquard para los telares) como soporte para
«...en realidad, el pasado es reticulado y no li- almacenamiento de programas y datos. Poco después,
neal. Es una malla de acontecimientos entrete- en Norteamérica, Herman Hollerith las utilizaba para el
jidos e interrelacionados de forma complicada, tratamiento estadístico de grandes volúmenes de infor-
inesperada y no siempre racional. En consecuen- mación; sus máquinas se utilizaron para el censo norte-
cia, el fenómeno histórico de “convergencia” es americano de 1890 y rápidamente encontraron aplica-
mucho más significativo que la simplista cuestión ciones comerciales. Para su fabricación, Hollerith fun-
escolar de quién inventó el ordenador o quién dó la empresa que algo más tarde se convertiría en la
construyó el primer contador dentado». «International Bussines Machines».
Por otra parte, está la evolución de los autómatas,
Vamos a señalar aquí algunos hitos significativos
meras curiosidades de salón de los siglos XVII al XIX
hasta la llamada «primera generación de ordenadores».
que imitaban movimientos humanos; hacia 1910 Leo-
43
En lo sucesivo diremos siempre «bytes» (Apartado 3.10). nardo Torres Quevedo introducía el concepto moderno
0.12 Notas históricas 39
de autómata44 , y sugería que, combinados con las téc- Los primeros computadores digitales auto-
nicas de cálculo electromecánicas, podrían sustituir al máticos
hombre en las cadenas de producción. Como en el ca-
so de Babagge, esta idea tuvo que esperar algunos años En las introducciones históricas de la literatura téc-
para que la tecnología permitiera su realización. Y tam- nica suele considerarse que el sueño de Babbage (en
bién como Babbage, Torres se adelantó a su tiempo con Cambridge, Inglaterra) se hizo realidad cuando Howard
varios conceptos informáticos; por ejemplo, el «tiempo Aiken (en Cambridge, Massachussets) construyó el
compartido»: para mejor aprovechar su «aritmómetro» «Mark I» o ASSC («Automatic Sequence Controlled
(construido en 1920) concibió la posibilidad de conec- Calculator»). Esta máquina electromecánica, con sus
tarle varios terminales. más de 250.000 piezas y más de 800.000 metros de ca-
Pero la aportación más importante en este cam- ble (Aiken y Hopper, 1946) se terminó en 1944 y per-
po de los autómatas es el famoso artículo de Alan maneció en uso ininterrumpido durante más de quince
Mathison Turing en el que introducía, teóricamente, años en la Universidad de Harvard. Sin embargo, algo
el concepto de autómata abstracto de uso general pa- antes, entre 1939 y 1943, Konrad Zuse había construi-
ra procesamiento de la información (Turing, 1936). Se- do en Berlin una serie de computadores electromecá-
gún muchos autores, este trabajo resultó ser fundamen- nicos (Zuse, 1962), uno de los cuales, el «Z4», cuatro
tal para el desarrollo posterior de los ordenadores (en o cinco veces más rápido que el ASSC, se utilizó para
él, por ejemplo, ya se sugería la «disyuntiva hardwa- cálculos aeronáuticos en las fábricas Henschel (Elgozy,
re/software» mencionada en el Apartado 0.8, y, para 1979). Su colaborador, Schreyer, propuso la conversión
algunos, contenía el germen de la idea de «programa de esas máquinas a la tecnología electrónica, pero no
almacenado», véase más adelante). encontró financiación para realizarla (Schreyer, 1939,
1941). El problema de Zuse fue carecer de apoyo ofi-
Según Eames (1973),
cial (tuvo incluso que interrumpir sus investigaciones
«Fusionando estas tres líneas de desarrollo para incorporarse al frente de batalla); su aportación
[calculadoras, máquinas estadísticas y autóma- quedó como un hecho aislado, sin continuidad (y sus
tas], hacia la mitad del siglo XX, llegó a hacerse máquinas destruidas por los bombardeos), a diferencia
posible un tipo totalmente nuevo de máquina: el de lo ocurrido en los EE.UU.
computador digital electrónico». En un proyecto que se mantuvo en secreto duran-
te muchos años (los primeros detalles se publicaron
44
De una entrevista publicada en 1915:
en 1975) un grupo de científicos británicos (entre los
que estaba Alan Turing) desarrolló una serie de máqui-
«Los antiguos autómatas [...] imitaban el aspecto y nas electrónicas programables, llamadas «Colossus», la
los movimientos de los seres vivos, pero esto no tiene primera de las cuales entró en funcionamiento en 1943
mucho interés en la práctica, y lo que buscamos es un (Randell, 1977). No eran de propósito general, sino es-
tipo de aparato que obvie los meros gestos visibles del
pecífico: descifrar los códigos utilizados por los alema-
hombre e intente conseguir los resultados que obtiene
nes en sus comunicaciones.
una persona para, de ese modo, reemplazar a un hom-
bre por una máquina» Entre los pioneros en proponer la reconversión de las
máquinas calculadoras de tecnología electromecánica a
(«Torres and his remarkable automatic devices», Scientific electrónica hay que citar también a Mauchly (1942). El
American, 113, 6, nov. 1915, p. 296). primer computador electrónico de propósito general se
Según Randell (1982), debe a Eckert y Mauchly: en 1946, en Pennsylvania,
«Hay pocas razones para dudar de que, de haber entraban en funcionamiento, consumiendo 150 Kw, las
existido una clara necesidad, Torres habría construi- 18.000 «válvulas» del «Electronic Numerical Integra-
do un ingenio analítico completo [...] No fue hasta la tor and Calculator» (ENIAC), construido por encargo
guerra de 1939-1945 que el interés por las máquinas de la Marina de los EE.UU.
de cálculo automático llegó a ser bastante fuerte pa- El propio Mauchly, en un artículo retrospectivo, re-
ra crear el entorno que permitió llevar a la realidad el cordaba la construcción del ENIAC y la idea de apli-
concepto de Babbage».
carlo a problemas comerciales. «Durante 1945 y 1946,
Sobre la obra de Torres Quevedo hay una extensa monografía Eckert y yo pasamos meses en Wall Street tratando de
de García Santesmases (1980). interesar a la comunidad financiera para que apoyara
40 Lección 0. Modelos y niveles
el desarrollo de una máquina comercial. No creíamos en el modelo de todos los diseños posteriores. Éste es
que fuera difícil venderles algo cuyo futuro era tan ob- el informe del que hemos reproducido algunos párra-
viamente brillante, pero estábamos equivocados... Así, fos en esta Lección. En un libro apologético, Goldstine
Eckert y yo, como tantos otros inventores, tuvimos que (1972) presentaba a von Neumann como la figura inte-
autofinanciar nuestro trabajo. Hasta que casualmente lectual más importante del renacimiento austrohúngaro
me encontré con unos amigos de la oficina del Cen- tras la primera guerra mundial.
so y me dijeron que querían un computador, y entonces No obstante, véase lo que escriben Patterson y
pudimos arrancar, formando nuestra propia compañía. Hennessy a este respecto:
El resto es historia» (Mauchly, 1975).
Parte de la historia es que la Eckert-Mauchly Com- «En 1944, von Neumann empezó a colaborar
puter Corp. construyó en 1948 un segundo computador, en el proyecto ENIAC. El grupo pretendía mejo-
el BINAC, y desarrolló el UNIVAC 1, primer compu- rar la forma de introducir los programas y se dis-
tador comercial45 . Un año antes de su lanzamiento, en cutió la posibilidad de almacenar los programas
1950, la empresa fue absorbida por Remington Rand. como números; von Neumann ayudó a cristalizar
Pero otro hecho histórico, que refuerza el valor de las ideas y escribió una memoria en la que propo-
la frase de Smith citada al comienzo de este Aparta- nía un computador de programa almacenado lla-
do, es que en 1973 una decisión judicial desestimó una mado EDVAC (Electronic Discrete Variable Au-
demanda de doscientos millones de dólares interpues- tomatic Computer). Herman Goldstine distribuyó
ta por Sperry Rand contra Honeywell por infracción la memoria y puso en ella el nombre de von Neu-
de la patente de Eckert y Mauchly. Esta decisión de- mann, lo que causó gran consternación a Eckert
claró inválida tal patente, atribuyendo los derechos de y Mauchly, cuyos nombres se omitieron. Esta me-
la invención del computador electrónico digital a John moria ha sido el origen de la expresión común
Vincent Atanasoff, que entre 1939 y 1942 había di- “computador von Neumann”. Algunos invento-
señado y construido con ayuda de Clifford Berry una res pioneros en el campo de los computadores
máquina llamada «ABC» (Atanasoff-Berry Computer) creen que este término concede demasiado mérito
(Mollenhoff, 1974). Más recientemente, algunos auto- a von Neumann, que conceptualizó y escribió las
res (Burks y Burks, 1987 y Mollenhoff, 1988) han in- ideas, y demasiado poco a los ingenieros, Eckert
vestigado sobre los trabajos de Atanasoff y sus influen- y Mauchly, que construyeron la máquina46 . Como
cias en los más conocidos de Aiken, Eckert, Mauchly, la mayoría de los historiadores, los autores de es-
von Neumann, etc. te libro (ganadores de la Medalla von Neumann
del IEEE en 2000) creen que los tres desempe-
ñaron un papel clave en el desarrollo del compu-
El programa almacenado
tador de programa almacenado. El papel de von
Dice Mauchly (1975) haber tenido la idea de utili- Neumann al escribir las ideas, generalizarlas y
zar líneas de retardo para almacenar el programa y los reflexionar sobre los aspectos de programación
datos, pero que para entonces ya había comenzado la fue esencial para transferir las ideas a una au-
construcción del ENIAC y prefirió terminarlo en lugar diencia más amplia».
de recomenzar el diseño. En cualquier caso, el concepto (Hennessy y Patterson, 2003, pp. 67-68).
de programa almacenado se gesta también en la Uni-
versidad de Pennsylvania, y aparece en la propuesta Se ha debatido mucho sobre la paternidad de la idea
para el EDVAC (von Neumann, 1945). En 1946 John del programa almacenado. Turing trabajó junto con von
von Neumann comienza, en el «Institute for Advanced Neumann en el IAS durante dos años, al final de los 30
Study» (IAS) de la Universidad de Princeton, el desa- (Tropp, 1974). Parece que durante la Segunda Guerra
rrollo del ordenador IAS, cuya arquitectura, descrita en Mundial ambos se entrevistaron en varias ocasiones,
el famoso informe que escribió junto con Arthur Burks pero se conoce poco de la actividad de Turing en es-
y Herman Goldstine (Burks et al., 1946), se convertiría te período, por su vinculación con proyectos secretos
45
Un ejemplar de esta máquina, de la que se vendieron cua- » 46 Curiosamente, en las ediciones anteriores concluía aquí
renta y ocho unidades a un precio de 250.000 dólares, se ex- este párrafo diciendo: “Por este motivo, en este libro no apa-
hibe en el Computer Museum de Boston. recerá tal expresión”.
0.13 Orientaciones bibliográficas 41
británicos (Tropp, 1993). Se dice que von Neumann re- • El de Patterson y Hennessy (2003)47 es más avanza-
comendaba siempre a sus colaboradores la lectura del do. Es, según una opinión bastante extendida que com-
artículo de Turing (1936), y se ha especulado sobre la partimos, el mejor libro publicado sobre arquitectura
posible influencia de éste en la gestación del concepto de ordenadores en el sentido «clásico» (niveles de má-
de programa almacenado (Randell, 1972). quina convencional y microarquitectura, y medidas de
En cualquier caso, aquí la historia nos traslada nue- prestaciones). Pero para abordar su estudio se requiere
vamente a Cambridge (Inglaterra), porque, adelantán- previamente el de un libro más básico (como éste).
dose al EDVAC, el EDSAC de Maurice Wilkes sería el • El de Hennessy y Patterson (2004) es una versión
primer ordenador de programa almacenado en entrar en «suavizada» de la primera edición del anterior. Los au-
funcionamiento, en 1949 (Wilkes, 1985). tores han reelaborado la presentación, añadiendo figu-
ras y cuadros y eliminando material de detalle, pero (y
La primera generación de ordenadores sólo es una apreciación personal) no lo han converti-
do en el tratamiento de la «interfaz hardware/software»
En los dos años que siguen a 1949 numerosos cen- que promete su título: sigue dando una perspectiva muy
tros de investigación diseñaron y construyeron prototi- ligada al hardware. Algunos capítulos, como el 6 (en-
pos. En 1951 la empresa Engineering Research Asso- cadenamiento) y el 7 (jerarquía de memorias) son mag-
ciates (absorbida también más tarde por Sperry) cons- níficos por su claridad.
truye el «1101», y en 1952 IBM lanza el «701»; son los Y libros sobre sistemas operativos:
primeros de las dos «series» más conocidas de lo que
• El de Silberschatz et al. (2004) es seguramente
luego se llamó la «primera generación», caracterizada
el más utilizado como texto en asignaturas dedicadas
por una tecnología electrónica de válvulas de vacío, un
a este tema. Explica los conceptos más importantes
software de sistemas muy primitivo y unos costes de
y los ilustra con su implementación en Linux y en
las máquinas que hoy consideraríamos desorbitados en
Windows XP. Tiene asociado un sistema simplificado
relación con su potencia.
(pero no tanto como Multialgorítmez), «Nachos», cuyo
simulador es un programa libre que se puede descargar
de la Red.
0.13. Orientaciones bibliográficas
• El de Tanenbaum (2001) abarca los mismos concep-
A lo largo del curso, en estos Apartados, se incluirán tos, e incluye un capítulo sobre sistemas multimedia.
referencias sobre los asuntos tratados en cada Lección. Utiliza como ilustraciones Unix y Windows 2000.
Empezaremos aquí con algunas de carácter general. • El de Tanenbaum y Woodhull (1997) es una nueva
Como indica su subtítulo, el alcance de este libro es- edición de un «clásico» (Tanenbaum, 1987) que des-
tá limitado a la arquitectura de ordenadores y los sis- cribe con todo detalle el código en lenguaje C de una
temas operativos. Para una visión más amplia de la implementación de Unix llamada «Minix». Como deta-
Informática, un libro excelente es el de Prieto et al. lle anecdótico, el origen de Linux está en el empeño de
(2002), que contiene introducciones muy bien elabora- Linus Torvals, cuando era estudiante de segundo curso
das a otras materias, como estructuras de datos y algo- en la Universidad de Helsinki en 1991, en mejorar este
ritmos, periféricos, bases de datos, ingeniería del sof- sistema (que nunca pretendió ser más que una herra-
tware y redes de ordenadores. mienta didáctica) y hacerlo libre (entonces no lo era: se
Si el lector está interesado en ampliar detalles y con- vendía con el libro).
ceptos puede consultar libros sobre arquitectura de or- En la web se puede acceder a muchos cursos y ma-
denadores, como: teriales. La WWW Computer Architecture Page, en la
• El libro de Tanenbaum (1999) cubre los mismos te- dirección http://www.cs.wisc.edu/~arch/www/,
mas que éste (de manera más concisa, pero más pro- contiene cientos de enlaces. Un documento particular-
funda) e incluye como ejemplos descripciones de los mente interesante es el titulado «CPU Design Howto»,
microprocesadores Pentium, UltraSPARC y picoJava. en http://www.tldp.org/HOWTO/48 .
• El de Hamacher et al. (2002), que tiene el mismo 47
Respetando el deseo de los autores, iremos alternando
nivel, utiliza como ejemplos los procesadores ARM, sus nombres en las referencias a éste y a su segundo libro.
48
68000 y Pentium. Muchas de las referencias que citaremos son direccio-
42 Lección 0. Modelos y niveles
Pasamos ya a citar referencias específicas sobre el da por el I.E.E.E.), y son muchos los libros editados
contenido de esta Lección. con recopilaciones de trabajos de interés histórico; en-
El «enfoque sistémico» y las «teorías generales de tre ellos, el de Randell (1982), donde pueden encon-
sistemas» (o «teorías de sistemas generales») tienen trarse artículos de Torres, Zuse, Aiken, von Neumann,
una larga tradición y una extensa bibliografía. Para pro- etc., y el de Pylyshyn y Bannon (1989), que incluye
fundizar más en el asunto, Klir (1991) presenta una am- otros estudios sociales sobre la informática. Para da-
plia perspectiva de la teoría y una recopilación de trein- tos «prehistóricos», puede leerse, por ejemplo, Price
ta y cinco artículos clásicos. (1984), o Corge (1975).
Jerarquías de niveles de abstracción para sistemas
complejos se elaboran, por ejemplo, en Miller (1987)
(para sistemas biológicos y sociales) y en Sáez (1990) 0.14. Ejercicios
(para sistemas ofimáticos).
Todas las Lecciones terminan con un Apartado que
Ya en el campo de la descripción de ordenadores,
tiene este título. «Ejercicio» debe entenderse en un sen-
las jerarquías de niveles más conocidas son la de Bell
tido amplio. Algunos son problemas bien definidos,
y Newell (Siewiorek et al., 1982) y la de Tanenbaum
con una o varias soluciones concretas, pero otros son
(1990). La que aquí hemos presentado es una sínte-
invitaciones al lector para ejercitar su capacidad crea-
sis de ambas, en el sentido de que pretende fusionar la
tiva y comprobar que ha asimilado (hecho suyo) el con-
orientación estructural de la primera con el énfasis fun-
tenido de la Lección (y pueden no tener «soluciones»
cional de la segunda, y evidencia estos puntos de vista
en el sentido de un «problema» clásico de libro de tex-
con el uso de modelos. Una importante aportación con-
to). De los que siguen, los seis primeros son del primer
ceptual en estas jerarquías (que aquí no hemos explica-
tipo (tres se refieren a sistemas continuos y los otros
do) es la propuesta de Newell (1982) sobre un nuevo
tres a sistemas discretos), y los restantes, del segundo.
nivel de abstracción por encima del de máquina simbó-
lica, el nivel de conocimiento, en el que se enmarcan 1. Amplíe los modelos de las presas y los preda-
los trabajos sobre «inteligencia artificial» e «ingeniería dores (ejemplo 2 del Apartado 0.4) considerando
del conocimiento». Dietterich (1986) y Clancey (1989) una nueva variable, RN, que representa la canti-
han estudiado los procesos de aprendizaje en este nivel, dad de recursos naturales. RN influye en las tasas
y Basden (2002) ha hecho una revisión y un profundo de natalidad y de mortalidad de ambas especies,
análisis filosófico. y, recíprocamente, las poblaciones influyen tam-
La descripción de la configuración básica «de von bién sobre RN: su tasa de crecimiento se supondrá
Neumann» se encuentra en todos los libros sobre es- constante, pero su tasa de agotamiento será pro-
tructura, arquitectura u organización de ordenadores. porcional al número total de presas y predadores.
Aquí hemos optado por basarnos en la fuente original
(Burks et al., 1946). En realidad, hay un documento 2. Para estudiar los cambios en una población de
anterior, la «memoria» a la que se refieren Patterson animales herbívoros se decide empezar por tener
y Hennessy en el párrafo reproducido más arriba (von en cuenta dos variables básicas, el número total
Neumann, 1945). Pero su lectura es más difícil, y hasta de animales (H) y la cantidad de pasto (P ), y las
hace pocos años no se había publicado el texto com- siguientes relaciones dinámicas:
pleto, cosa que hicieron Godfrey y Hendry (1993), con (a) Los animales, en condiciones favorables
un magnífico trabajo de reconstrucción del texto y de (pasto suficiente), se reproducen con una ta-
comparación entre la propuesta de von Neumann y la sa de natalidad constante (TN /año)) y mue-
máquina (EDVAC) que realmente se construyó. ren con una tasa de mortalidad constante
Para detalles históricos, hay una revista cuatrimes- (TM /año; TN > TM ), de modo que, en
tral, «Annals of the History of Computing» (publica- esas condiciones:
dH
dt = TN · H − TM · H individuos/año.
nes de la web. Como es sabido, un problema es que estas
páginas suelen cambiar de dirección, o desaparecer. Una so- (b) El pasto se genera a partir de las sustancias
lución parcial es la existencia de un gran archivo que al- minerales del suelo, de los residuos orgáni-
macena contenidos publicados desde 1996. Su dirección es: cos y de la energía solar (considerados to-
http://www.archive.org. dos fuentes inagotables), de modo que, si
0.14 Ejercicios 43