Está en la página 1de 66

CURSO DE ORDENADORES

Conceptos básicos de arquitectura


y sistemas operativos
Quinta edición
2a edición en Servicio de Publicaciones ETSIT-UPM

Gregorio Fernández

Escuela Técnica Superior de Ingenieros de Telecomunicación


Universidad Politécnica de Madrid
Primera edición: Septiembre 1994
Segunda edición: Febrero 1995
Tercera edición: Febrero 1998
Cuarta edición: Febrero 2003 (1a edición en Servicio de Publicaciones ETSIT-UPM)
Quinta edición: Diciembre 2004 (2a edición en Servicio de Publicaciones ETSIT-UPM)

©2004 Fundación Rogelio Segovia para el Desarrollo de las Telecomunicaciones

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

Edita: Fundación Rogelio Segovia para el Desarrollo de las Telecomunicaciones


Ciudad Universitaria s/n
28040 Madrid

Imprime: Gráficas Aurora


Tabla de materias

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

3. Variaciones sobre representación y procesamiento 101


3.1. Propósito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
3.2. Memoria principal y registros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
3.3. Representación de los tipos elementales de datos . . . . . . . . . . . . . . . . . . . . . 104
3.4. Convenios sobre el orden de almacenamiento . . . . . . . . . . . . . . . . . . . . . . . 111
3.5. Operaciones de procesamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
3.6. Procesamiento de interrupciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
3.7. Introducción al procesamiento simbólico . . . . . . . . . . . . . . . . . . . . . . . . . . 119
3.8. Tiempo de traducción, tiempo de carga y tiempo de ejecución . . . . . . . . . . . . . . . 120
3.9. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
3.10. Observaciones terminológicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Tabla de materias III

3.11. Notas históricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125


3.12. Orientaciones bibliográficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
3.13. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

4. Variaciones sobre instrucciones y direccionamientos 131


4.1. Propósito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
4.2. Tipos de software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
4.3. Formatos de instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
4.4. Modos de direccionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
4.5. Direccionamientos relativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
4.6. Pilas y subprogramas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
4.7. Repertorios de instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
4.8. Medidas de prestaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
4.9. «RISC» y «CISC» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
4.10. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
4.11. Observaciones terminológicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
4.12. Notas históricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
4.13. Orientaciones bibliográficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
4.14. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

5. Variaciones sobre la periferia 167


5.1. Propósito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
5.2. Tipos de periféricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
5.3. Tratamiento de la variedad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
5.4. Modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
5.5. Memorias secundarias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
5.6. ADM: justificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
5.7. ADM: modelos estructurales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
5.8. ADM: modelos procesales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
5.9. ADM: modelos funcionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
5.10. Procesadores periféricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
5.11. Comunicaciones entre ordenadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
5.12. Normalización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
5.13. Sistemas abiertos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
5.14. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
5.15. Observaciones terminológicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
5.16. Notas históricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
5.17. Orientaciones bibliográficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
5.18. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

6. Algorítmez: la UCP 199


6.1. Propósito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
6.2. Modelo estructural . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
6.3. Modelo funcional: formatos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
IV Tabla de materias

6.4. Modelo funcional: instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203


6.5. Modelo procesal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
6.6. Modos de direccionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
6.7. Lenguaje ensamblador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
6.8. Ensamblaje, montaje y carga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
6.9. Suma de cincuenta números . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
6.10. Intercambio de dos zonas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
6.11. Ordenación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
6.12. Rutinas aritméticas y de conversión . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
6.13. Consideraciones sobre los subprogramas . . . . . . . . . . . . . . . . . . . . . . . . . . 234
6.14. Interrupciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
6.15. Comentarios sobre Algorítmez . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
6.16. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
6.17. Observaciones terminológicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
6.18. Notas históricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
6.19. Orientaciones bibliográficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
6.20. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244

7. Algorítmez: la periferia 249


7.1. Propósito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
7.2. Comunicación con los puertos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
7.3. Esquemas de interrupciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
7.4. Consulta por software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
7.5. Rutinas de servicio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
7.6. Consulta por hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
7.7. Controlador de interrupciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
7.8. Controlador de disquetes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
7.9. Controlador de gráficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
7.10. Unidad de gestión de la memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
7.11. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
7.12. Observaciones terminológicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
7.13. Notas históricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
7.14. Orientaciones bibliográficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
7.15. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285

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

8.9. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315


8.10. Observaciones terminológicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
8.11. Notas históricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
8.12. Orientaciones bibliográficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
8.13. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316

Segunda parte:
El interior de la máquina, o el nivel de microarquitectura 317

9. Componentes de los modelos estructurales 319


9.1. Propósito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
9.2. Ruta de datos y sistema de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
9.3. Componentes de las rutas de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
9.4. La memoria principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
9.5. Los periféricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
9.6. La ruta de datos de Símplez . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
9.7. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
9.8. Observaciones terminológicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
9.9. Notas históricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
9.10. Orientaciones bibliográficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
9.11. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337

10. Elementos de los modelos procesales 339


10.1. Propósito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
10.2. Sobre los modelos procesales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
10.3. Lenguajes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
10.4. Modelo procesal de Símplez . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
10.5. Cronogramas de Símplez . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
10.6. Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
10.7. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
10.8. Observaciones terminológicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
10.9. Notas históricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
10.10. Orientaciones bibliográficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
10.11. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350

11. Microsímplez 351


11.1. Propósito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
11.2. Un secuenciador cableado para Símplez . . . . . . . . . . . . . . . . . . . . . . . . . . 352
11.3. Control microprogramado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
11.4. La micromáquina de Wilkes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
11.5. Un secuenciador microprogramado para Símplez . . . . . . . . . . . . . . . . . . . . . 356
11.6. Microsímplez+i4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
11.7. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
VI Tabla de materias

11.8. Observaciones terminológicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362


11.9. Notas históricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
11.10. Orientaciones bibliográficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
11.11. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363

12. Modelos en el nivel de micromáquina 365


12.1. Propósito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
12.2. Modelos estructurales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
12.3. Modelos funcionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
12.4. Modelos procesales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
12.5. Firmware y emulación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
12.6. Estado actual de la microprogramación . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
12.7. Microprogramación, arquitectura y microarquitectura . . . . . . . . . . . . . . . . . . . 372
12.8. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
12.9. Observaciones terminológicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
12.10. Notas históricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
12.11. Orientaciones bibliográficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
12.12. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376

13. Microalgorítmez 377


13.1. Propósito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
13.2. Modelo funcional de la UCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
13.3. Ruta de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
13.4. Modelo procesal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
13.5. Modelos estructural y procesal de la unidad de control . . . . . . . . . . . . . . . . . . 391
13.6. Modelo funcional en el nivel de micromáquina . . . . . . . . . . . . . . . . . . . . . . 393
13.7. Firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
13.8. Hardware: generación de las direcciones . . . . . . . . . . . . . . . . . . . . . . . . . . 405
13.9. Hardware: atención de interrupciones y cesión de buses . . . . . . . . . . . . . . . . . . 408
13.10. Hardware: generación de las microórdenes . . . . . . . . . . . . . . . . . . . . . . . . 410
13.11. Comentarios sobre los diseños de Símplez y Algorítmez . . . . . . . . . . . . . . . . . 412
13.12. Un Microalgorítmez versátil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
13.13. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
13.14. Observaciones terminológicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
13.15. Notas históricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
13.16. Orientaciones bibliográficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
13.17. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419

14. Controladores subordinados 421


14.1. Propósito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
14.2. Controlador de la MP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
14.3. Controladores de periféricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
14.4. Controlador serial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
14.5. Controlador de ADM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
Tabla de materias VII

14.6.Controlador de interrupciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432


14.7. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
14.8. Observaciones terminológicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
14.9. Notas históricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
14.10. Orientaciones bibliográficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
14.11. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436

15. Variaciones sobre microarquitectura 437


15.1. Propósito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
15.2. Variaciones en los modelos estructurales . . . . . . . . . . . . . . . . . . . . . . . . . . 438
15.3. Encadenamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
15.4. Alternativas para el sistema de memoria . . . . . . . . . . . . . . . . . . . . . . . . . . 445
15.5. Memoria organizada modularmente . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
15.6. Memoria asociativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
15.7. Memoria oculta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
15.8. Memoria virtual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
15.9. Jerarquía de memorias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
15.10. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
15.11. Observaciones terminológicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
15.12. Notas históricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
15.13. Orientaciones bibliográficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
15.14. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466

16. Microrregístrez 469


16.1. Propósito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
16.2. Modelos del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
16.3. La memoria oculta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
16.4. Modelo funcional de la UCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
16.5. Modelo estructural de la UCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
16.6. Modelo procesal de la UCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
16.7. Conflictos de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
16.8. Conflictos estructurales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482
16.9. Conflictos de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
16.10. Subsistemas del modelo estructural . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
16.11. Otras posibilidades para la implementación . . . . . . . . . . . . . . . . . . . . . . . . 489
16.12. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
16.13. Observaciones terminológicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
16.14. Notas históricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
16.15. Orientaciones bibliográficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
16.16. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
VIII Tabla de materias

Tercera parte:
La máquina vestida, o los niveles de máquina operativa y máquina simbólica 493

17. Máquinas virtuales 495


17.1. Propósito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495
17.2. Máquinas reales y virtuales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496
17.3. El nivel de máquina operativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496
17.4. El nivel de máquina simbólica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
17.5. Otros programas del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
17.6. La comunicación entre el ordenador y las personas . . . . . . . . . . . . . . . . . . . . 501
17.7. Definición y componentes de los sistemas operativos . . . . . . . . . . . . . . . . . . . 503
17.8. Ficheros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
17.9. Procesos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
17.10. Hebras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515
17.11. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515
17.12. Observaciones terminológicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
17.13. Notas históricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
17.14. Orientaciones bibliográficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518
17.15. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518

18. Monoalgorítmez 519


18.1. Propósito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
18.2. Modelo funcional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
18.3. Ocho llamadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
18.4. Ejemplos de uso de las macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525
18.5. Otras llamadas al sistema de ficheros . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527
18.6. Carga y ejecución . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
18.7. Errores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531
18.8. Modelo estructural . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533
18.9. Modelo procesal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537
18.10. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
18.11. Observaciones terminológicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
18.12. Notas históricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
18.13. Orientaciones bibliográficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
18.14. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541

19. Núcleo de Monoalgorítmez 543


19.1. Propósito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
19.2. Algoritmos y estructuras de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544
19.3. Mapa de memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544
19.4. Estructuras de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546
19.5. La rutina de interrupciones de programa . . . . . . . . . . . . . . . . . . . . . . . . . . 549
19.6. El sistema de gestión de la memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550
19.7. El sistema de gestión de ficheros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552
Tabla de materias IX

19.8. Gestores de periféricos y rutinas de servicio . . . . . . . . . . . . . . . . . . . . . . . . 561


19.9. Comparación con sistemas reales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562
19.10. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562
19.11. Observaciones terminológicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
19.12. Notas históricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
19.13. Orientaciones bibliográficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
19.14. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563

20. Multialgorítmez 567


20.1. Propósito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
20.2. Procesos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568
20.3. Modelo funcional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
20.4. Modelo estructural . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579
20.5. Modelo procesal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585
20.6. El distribuidor y el planificador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592
20.7. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594
20.8. Observaciones terminológicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594
20.9. Notas históricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595
20.10. Orientaciones bibliográficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595
20.11. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595

21. Modelos en el nivel de máquina operativa 599


21.1. Propósito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599
21.2. Modelos funcionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 600
21.3. Modelos estructurales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604
21.4. Modelos procesales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606
21.5. Detalles de implementación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607
21.6. Procesos y hebras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609
21.7. Estados a evitar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609
21.8. Comunicación entre procesos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 612
21.9. Sistemas operativos en red y distribuidos . . . . . . . . . . . . . . . . . . . . . . . . . . 616
21.10. Seguridad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618
21.11. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619
21.12. Observaciones terminológicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619
21.13. Notas históricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 620
21.14. Orientaciones bibliográficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621
21.15. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621

22. Modelos en el nivel de máquina simbólica 623


22.1. Propósito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623
22.2. Modelos funcionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624
22.3. Modelos estructurales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625
22.4. Modelos procesales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 627
22.5. Lenguajes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628
X Tabla de materias

22.6. Lenguajes de alto nivel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629


22.7. Sentencias, procedimientos y funciones . . . . . . . . . . . . . . . . . . . . . . . . . . 630
22.8. Procedimientos y funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632
22.9. Tipos estructurados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636
22.10. Lenguajes declarativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
22.11. Entornos de programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641
22.12. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642
22.13. Observaciones terminológicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642
22.14. Notas históricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643
22.15. Orientaciones bibliográficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643
22.16. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644

23. La máquina virtual Java: arquitectura 647


23.1. Propósito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647
23.2. Visión de conjunto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648
23.3. Modelo estructural . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652
23.4. Modelo funcional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656
23.5. Modelo procesal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664
23.6. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 668
23.7. Observaciones terminológicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669
23.8. Notas históricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669
23.9. Orientaciones bibliográficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669
23.10. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669

24. La máquina virtual Java: implementación 671


24.1. Propósito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 671
24.2. Implementaciones programadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 672
24.3. Una implementación microprogramada . . . . . . . . . . . . . . . . . . . . . . . . . . 674
24.4. Implementaciones cableadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687
24.5. Comentarios sobre la JVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 691
24.6. El lenguaje C# y la plataforma .NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . 691
24.7. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692
24.8. Observaciones terminológicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692
24.9. Notas históricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693
24.10. Orientaciones bibliográficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693
24.11. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693

Apéndices 695

A. Codificación, sistemas de numeración y aritmética binaria 697


A.1. Codificación de la información . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697
A.2. Sistemas de numeración posicionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 700
A.3. Algoritmos para operaciones aritméticas . . . . . . . . . . . . . . . . . . . . . . . . . . 702
Tabla de materias XI

A.4. Aritmética binaria con coma fija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 702


A.5. Aritmética binaria con coma flotante . . . . . . . . . . . . . . . . . . . . . . . . . . . . 708
A.6. Aritmética decimal con BCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 709
A.7. Observaciones terminológicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 711
A.8. Notas históricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 712
A.9. Orientaciones bibliográficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 712

B. El nivel de circuito lógico 713


B.1. Componentes, sistemas y modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713
B.2. Puertas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715
B.3. Sistemas combinacionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 716
B.4. Biestables y registros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724
B.5. Sistemas secuenciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 728
B.6. Buses, puertas triestado y puertas de colector abierto . . . . . . . . . . . . . . . . . . . 731
B.7. Memorias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 733
B.8. Observaciones terminológicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734
B.9. Notas históricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734
B.10. Orientaciones bibliográficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734

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

un sistema de monoprogramación y crece a Mo- guaje, y es posible profundizar en el conocimiento


noalgorítmez, y ya, moderno y potente, dotado de sobre dicho plano, a costa, eso sí, de negarse las
un sistema de multiprogramación, se transmuta en otras facetas de su múltiple personalidad. En es-
Multialgorítmez. te libro, el autor ha optado, muy acertadamente,
Otros autores han utilizado estos artificios, pe- por proyectar una luz múltiple sobre el ordenador,
ro nunca de una manera tan amplia y coherente. lo que arroja una imagen muy rica, organizada y
Son máquinas imaginarias, simplificadas, aunque fructífera. La luz múltiple se compone de modelos
hay que avisar, para que nadie se confunda, de que (funcionales, estructurales y procesales) y de jerar-
están fortísimamente ancladas en la realidad (en quías de abstracciones. Este enfoque se especifica
caso contrario, serían engañosamente didácticas). muy bien en la lección cero, donde además se ex-
A los hechos me remito con un par de ejemplos: plica todo el despliegue de la estructura y los usos
Regístrez es un ordenador RISC con arquitectu- posibles de los contenidos del libro en coherencia
ra SPARC, arquitectura implantada en el mercado con el enfoque sistémico.
y a punto de convertirse en norma. Y Multialgo- De lo escrito en el párrafo anterior podría de-
rítmez está absolutamente inspirada en el sistema ducirse (apresuradamente) que el autor habría ele-
UNIX. Por consiguiente, el planteamiento de un gido un despliegue generalista y multifacético, y
curso basado en máquinas ficticias está muy aleja- tal vez por ello un tanto superficial, en deméri-
do de una originalidad caprichosa y une a las ven- to de una adecuada especialización. No hay tal, a
tajas ya mencionadas por lo menos otras dos. La lo que contribuye sin duda que el tratamiento de
primera es que sus contenidos están relativamen- los temas es depurado y sistemático, tanto en la
te al abrigo de las bruscas mudanzas tecnológicas forma como en el fondo, y por consiguiente muy
que son el pan nuestro de cada día en la indus- eficaz. Enmarcado en la visión sistémica (mode-
tria informática. Y en segundo lugar, que ofrece los y niveles), que da forma al conjunto, los con-
un recurso nemotécnico insospechado, pero com- tenidos se ordenan en el interior de las lecciones
probado: nuestros alumnos, al cabo de los años, en otro sistema implacable, en el que el cuerpo
recuerdan todavía el EIT–1, el EIT–2 y el lenguaje de dichos contenidos viene siempre precedido de
ENSAM, que fueron los ancestros de esta nueva, y una sección llamada ‘Propósito’ y seguido siem-
mucho más sofisticada y perfecta familia de mons- pre de los siguientes elementos o secciones: ‘Re-
truitos. sumen’, ‘Observaciones terminológicas’, ‘Notas
El enfoque sistémico me parece una de las con- históricas’, ‘Orientaciones bibliográficas’, y ‘Ejer-
tribuciones más notables del libro. Un ordenador cicios’. Si la extensión del texto no lo evidenciara
es un sistema muy complejo, seguramente uno de suficientemente, estos últimos pueden dar fe del
los sistemas artificiales más complejos que exis- grado de detalle en el desarrollo de los contenidos.
ten. Toda visión completa y pormenorizada de la
realidad de un ordenador es inabarcable para el ser De añadidura, la condición de sistematicidad se
humano, pero no lo es una visión completa y razo- extiende a lo largo de todo el libro y también la de
nablemente abstracta. El ordenador se puede estu- sistemidad, como ponen de manifiesto las prolijas
diar de una manera especializada, pongamos por referencias cruzadas entre lecciones, que lo con-
ejemplo, tomando como plano su realidad en tan- vierten en un objeto en el que todos (o casi todos)
to que máquina que procesa un determinado len- los textos acaban reforzándose mutuamente, unas
Prólogo XV

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

Temática más reiteraciones de las habituales. Pretendemos


asegurar la comprensión de cada concepto, asu-
El objeto de estudio aquí es el ordenador, no la
miendo el riesgo de excedernos en el número de
informática. Es decir, el instrumento, no la ciencia
palabras. No obstante, hemos buscado un término
construida a su alrededor.3
medio, pues las Lecciones están muy interrelacio-
Ahora bien, los ordenadores pueden estudiarse nadas y la reiteración tiene un límite. El lector en-
en diferentes niveles de abstracción (esto se ex- contrará con frecuencia referencias a «Apartados»
plica en la «Lección 0»). Otras dos palabras del de otras Lecciones distintas a la que está estudian-
título, «arquitectura» y «sistemas operativos», do (fácilmente localizables por la forma de enca-
determinan los niveles en los que se centra este li- bezar las páginas).
bro: los que tienen que ver con el funcionamiento Y es un curso sobre conceptos básicos. Además
interno del hardware y del software, sin descender de complejos, los ordenadores son dependientes
más que lo imprescindible a los circuitos. de unas tecnologías que cambian muy rápidamen-
te. Un curso basado en los productos que hoy se
Enfoque encuentran en el mercado tendría una utilidad efí-
mera, y los conocimientos transmitidos quedarían
También se ha querido dejar constancia en el tí-
rápidamente obsoletos. Afortunadamente, después
tulo del enfoque adoptado. Veámoslo.
de más de sesenta años de sucesivas innovaciones,
Se trata de un curso (y no tiene «Capítulos»,
pueden ya identificarse ciertos conceptos relativa-
sino «Lecciones»). Sea el lector un alumno «regu-
mente invariantes e independientes de la tecnolo-
lar» o no, está escrito para que pueda seguirse «sin
gía, y en ellos se centra el libro. Para concentrar-
ir a clase».4 Como consecuencia, se encontrarán
se mejor en esos conceptos básicos, la exposición
3
«La informática [computer science] es el estudio de los se hace sobre «ordenadores ficticios» («Símplez»,
fenómenos que rodean a los ordenadores [...] La máquina — «Algorítmez» y «Regístrez»). Pero el «aislamien-
no ya el hardware, sino la máquina programada, viviente— to» (o abstracción) total de la tecnología es impo-
es el organismo que estudiamos». A. Newell y H. Simon:
«Computer science as empirical inquiry: symbols and sear- sible. Ya sea para ilustrar conceptos o para motivar
ch». Comm. of the ACM, 19, 3 (Mar. 1976), pp. 113–126. al lector que conoce los ordenadores como usua-
4
Si no fuera por la renuencia del autor a las «dedicato- rio, a lo largo del texto se dan algunos datos con-
rias», habría dirigido la de este libro «a los alumnos que se cretos que ha sido preciso ir actualizando en las
aburren en clase». Esto requiere una explicación (entre otras
cosas, para apaciguar el enojo de los colegas). Una de las abe-
sucesivas ediciones, y que seguramente empeza-
rraciones de nuestro sistema educativo universitario es el acto rán a quedar obsoletos al poco de publicarse esta
en que se ha convertido la «lección magistral» en la mayoría última.
de los centros. Entendemos que debería ser una clase de sínte-
sis y reforzamiento, impartida tras un período de estudio, ac-
ciones tutoriales, clases prácticas y evaluaciones parciales, y Estructura
preparada muy cuidadosamente. La limitación de recursos no
sólo hace inviable este proceso. Determina también un núme-
El curso está diseñado sobre la base de una vi-
ro de alumnos por grupo (más del centenar en muchos casos) sión sistémica de los ordenadores. En cada nivel de
que conduce a las «clases teóricas», monólogos en los que abstracción se presentan diferentes tipos de des-
el profesor, casi sin interacción con los alumnos (y agobia- cripciones o modelos. En la «Lección 0» se explica
do a veces por «cubrir el programa»), expone, con su mejor
voluntad de hacerse entender, una sucesión más o menos or- excepcional orador con poder de seducción del auditorio, ¿no
denada de conocimientos. Muy frecuentemente, preparando sería más rentable y gratificante para el alumno adquirir los
estas clases, reflexiono sobre su escasa eficacia educativa. Y conocimientos por medio de la palabra escrita, a su ritmo y
me asombra la capacidad de los alumnos para cumplir estoi- manera? Ésta ha sido una de las motivaciones para escribir
camente un «horario» que a veces incluye ¡seis horas segui- este libro. Esperamos que nos sirva para organizar las clases
das de clase! Salvo que uno fuese, además de profesor, un de un modo más sensato.
Prefacio XIX

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

0.2. Sistemas y modelos Los sistemas pueden ser materiales o concep-


tuales. Un ordenador, un automóvil, un edificio,
Un ordenador es un sistema complejo que pue- incluso un hombre (despojado éste último de cual-
de describirse mediante diferentes modelos en dis- quier connotación idealista o espiritual)4 , son sis-
tintos niveles de una jerarquía de abstracciones1 . temas materiales. Un manual de programación, un
Todo lo que sigue en esta Lección está dedicado a esquema de las partes del automóvil y sus relacio-
explicar el significado de este escueto (y posible- nes, los planos del edificio, la fisiología, son siste-
mente críptico para el lector) mensaje, y a extraer mas conceptuales.
consecuencias de él. Estos ejemplos de sistemas conceptuales son
también sistemas abstraídos: cada uno de ellos
existe porque existe (o puede llegar a existir) un
Sistemas
sistema material que se corresponde con él, y cada
La acepción de «sistema» que aquí nos intere- uno es un modelo (en el sentido que definiremos
sa es la segunda del D.R.A.E.2 : «conjunto de co- más adelante) del correspondiente sistema mate-
sas que relacionadas entre sí ordenadamente con- rial (el manual es un modelo del ordenador, etc.).
tribuyen a determinado objeto». Entendiendo «co- Estos son los sistemas conceptuales que aquí nos
sa» en un sentido amplio3 , designa a un concep- interesan, no otros, como las teorías matemáticas
to generalizador que conduce, por una parte, a lo o lingüísticas, que son sistemas abstractos cuya
que se ha llamado «pensamiento sistémico» (ne- existencia no está ligada a la de ningún sistema
cesidad de enfoques globalizadores por contrapo- material.
sición a, o complementarios de, los reduccionistas Los sistemas conceptuales son elaboraciones de
de las ciencias clásicas), y, por otra, a las «teo- la mente humana. En ellos suele estar claro (o de-
rías generales de sistemas» (o «teorías de siste- bería estarlo) cuáles son las «cosas», o partes, que
mas generales»), construcciones abstractas (en sí los componen: en general, son símbolos (gráficos,
mismas, sistemas) que pretenden aplicarse a dis- palabras, números). En los sistemas materiales no
ciplinas muy diversas. Sin entrar en tales cuestio- está tan claro: en el límite, las partes serían las
nes más de lo estrictamente necesario para nuestro «partículas elementales» de la Física. Sin embar-
propósito, hemos de comentar algunos puntos que go, nadie piensa así cuando fija su atención, por
consideramos importantes para la comprensión de ejemplo, en el sistema solar; más bien considerará
los sistemas llamados ordenadores. que las partes son el sol, los planetas y sus satéli-
tes, admitiendo que todos éstos son, a su vez, sis-
1
Observe que este enunciado no es una definición de «or- temas, o sea, subsistemas con relación al sistema
denador», sino la declaración de unas propiedades. Se utiliza
el verbo «ser» en el sentido de la predicación, no en el de
del que forman parte. En general, cuando estudia-
la identidad. (J. Ferrater y H. Leblanc: Lógica matemática. mos un sistema material lo consideramos formado
Fondo de Cultura Económica, México, 1962). Parece ocioso, por subsistemas, también materiales, en cuya com-
a estas alturas, dar una definición de «ordenador». posición no entramos; y, además, idealizamos ca-
2
Diccionario de la Real Academia Española, vigésimose-
da uno de estos subsistemas, es decir, nos queda-
gunda edición (2001), que citaremos con frecuencia.
3
O sea, pudiendo denotar tanto objetos físicos de nuestro mos con las características que consideramos rele-
entorno material como objetos conceptuales elaborados por la
4
mente. Como dice Javier Aracil : «Se aplica [“cosa”] a todo Según el criterio de Aracil citado en la nota anterior, un
aquello que nos rodea ante lo que se puede preguntar signi- hombre no es una «cosa», pero sí podría ser un sistema com-
ficativamente: ¿qué es eso? Se excluye únicamente aquello puesto por cosas. Por otra parte, cuando se estudian sistemas
ante lo que, siguiendo la sugerencia de los orteguianos, cabe de los que el hombre forma parte (sistemas sociales, sistemas
cuestionar: ¿quién es ese?» (J. Aracil: Máquinas, sistemas y hombre–máquina, etc.) es obligado tomar el punto de vista
modelos. Un ensayo sobre sistémica. Tecnos, Madrid, 1986). del hombre como «cosa».
0.2 Sistemas y modelos 3

vantes para nuestros fines y hacemos abstracción


de las que no lo son. Pero al actuar así lo que ha-
cemos es, realmente, construir un sistema concep-
tual, un modelo del sistema original.
Enseguida definiremos lo que es un modelo,
pero antes haremos unos breves comentarios so-
bre dos características de los sistemas: la apertura
y la complejidad.

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

Figura 0.2 Sistema y modelo.

Figura 0.3. Sintaxis, semántica y pragmática de los


Aspectos semióticos de los modelos
modelos.
La semiótica es una teoría lógica general de los
sistemas de símbolos. Siendo los lenguajes siste- Los modelos son vehículos de comunicación, y,
mas de símbolos, la semiótica ejerce la función por ende, lenguajes. Los modelos se construyen
de un metalenguaje. Se distinguen tres niveles en siguiendo ciertas reglas para combinar elementos
el estudio de los lenguajes, lo que da lugar a los (sintaxis), representan a un sistema original (se-
tres campos de la semiótica: la sintaxis se limi- mántica) y sirven a un fin (pragmática). La Figu-
ta únicamente a los símbolos y a las leyes para su ra 0.3 ilustra estas relaciones entre el modelo, el
combinación (reglas gramaticales); la semántica sistema que representa y las personas que lo usan.
se ocupa del significado de los símbolos, es decir,
de su relación con los objetos que designan; y la
Tipos de modelos
pragmática trata de las relaciones de los símbo-
los y construcciones del lenguaje con las personas Las anteriores consideraciones nos sirven para
que los utilizan. Así, y en el lenguaje natural, al establecer un marco de clasificación de los mo-
enunciar cosas como «“ordenador” es un sustan- delos siguiendo los tres niveles semióticos. Pero,
tivo» u «“ordenador” es también un adjetivo» nos además, como sistemas que son, los modelos pue-
movemos en el campo de la sintaxis; al decir «un den ser materiales o conceptuales (abstraídos). De
ordenador es un artefacto pensado para liberar a acuerdo con esto, tenemos varios tipos de mode-
la mente humana de tareas rutinarias» u «“ordena- los, como resume la Figura 0.4 (en la página si-
dor” (sustantivo) es un vocablo de origen francés guiente), que pasamos a comentar.
que designa a ciertas máquinas también llamadas Por su sintaxis, los modelos materiales son tan
computadores» estamos en el campo de la semán- variados como los distintos tipos de elementos fí-
tica, y al afirmar que «hay quien ve un peligro en sicos que pueden componerlos (ladrillos, chips,
los ordenadores» o «para la gran mayoría de sus moléculas, células...) y las reglas para su combina-
usuarios el ordenador es una magnífica herramien- ción; no hay clasificación posible de los modelos
ta» pasamos al campo de la pragmática. materiales atendiendo a la sintaxis. En cuanto a los
6 Lección 0. Modelos y niveles

sintaxis semántica pragmática

icónicos comprensión
materiales
analógicos
uso
formalizados funcionales
conceptuales diseño/
(abstraídos) estructurales
no formalizados implementación
procesales

Figura 0.4 Clasificación de los modelos.

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

cambiando únicamente la escala de algunas mag- R L C


nitudes, y eventualmente abstrayendo, omitiendo
o transformando alguna magnitud. Es el caso de
las reproducciones a escala de vehículos para su i(t) = dq/dt
E(t)
estudio aerodinámico, o de los mapas topográfi-
+ −
cos. En este tipo de modelo aparece claramente la
propiedad de homomorfismo entre el modelo y el 2
dq dq
original (en la reproducción a escala de vehículos, L −−− + R −−− + q/C = E(t)
dt 2 dt
si sólo interesa el comportamiento aerodinámico
no se incluyen detalles de los subsistemas motor,
eléctrico, etc.; en los mapas, aparte del cambio de Figura 0.5 Un ejemplo de modelo analógico.
0.3 Función, estructura y proceso 7

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

Modelos estructurales sistema

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

Fijémosnos, por ejemplo, en el sistema familiar


de un ordenador personal con pantalla gráfica, te- placa base controlador
serial
controlador
de video
clado y ratón (nos olvidaremos, para simplificar,
de discos y otros componentes). Este ya es un mo- bus
delo estructural, suficiente para muchos usuarios
y vendedores de ordenadores. Pero si uno no se
fuente de
conforma con considerar la «caja» como una «ca- alimentación

ja negra», y abre la carcasa, con unos mínimos


(a) componentes físicos
conocimientos puede identificar fácilmente cuatro
grandes componentes: la fuente de alimentación,
la «placa base» (que incluye los circuitos de la
unidad central de procesamiento y de la memo- entrada UCP salida

ria principal), la placa controladora de vídeo y una


placa más pequeña con unos circuitos para contro-
lar al ratón (los del teclado suelen estar incluidos MP

en la placa madre, y, a veces, también los del ra-


tón). Uno puede rápidamente establecer el modelo (b) componentes conceptuales

de la Figura 0.8(a). O bien puede decidir que no


le interesa lo que se refiere al suministro de ener-
gía ni a la disposición física, y, haciendo abstrac- dato programa resultado
principal
ción de tales cosas, agrupar los componentes de
más bajo nivel (los circuitos) por su función. Lle-
gará así al modelo «clásico» que muestra la Fi-
función
gura 0.8(b). Pero cabe también que no le interesen
en absoluto estas descomposiciones en componen-
(c) componentes abstractos
tes físicos, sino otra que sea de más utilidad para para un programa
describir lo que ocurre en la ejecución de un deter-
minado programa. Sea éste uno que lee del teclado
un número natural, lo convierte a la representación Figura 0.8. Descomposiciones estructurales de un or-
binaria interna, utiliza una función para calcular el denador.
factorial del dato leído, convierte la representación
10 Lección 0. Modelos y niveles

¿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

efecto, si el sistema exhibe un comportamiento di-


námico en sus relaciones con el entorno, necesa- modelo = {función de transición, función de salida}
riamente tienen que producirse cambios en su in-
Figura 0.9 Modelo procesal («caja abstracta»).
terior. Un modelo procesal describe estos cambios,
haciendo abstracción de la estructura, basándose
en las ideas de estados y transiciones. estado u otro21 . Un proceso, por el contrario, es
El estado es una entidad abstracta, conceptual, un sistema material (las actividades internas son
que podemos definir como la información mínima reales, aunque se abstraigan en el modelo), y como
necesaria en un instante dado para, conociendo la tal en cada momento estará en un estado.
evolución de los estímulos a partir de ese instante, Un modelo procesal incluye el conjunto de es-
predecir la evolución de las respuestas. El estado tados, Q, el de estímulos o entradas, E, y el de
resume la «historia» del sistema. Ante un estímulo respuestas o salidas, S, y las funciones de tran-
en un instante, el estado cambia, y a este cambio sición, f , y de salida, g. Si los conjuntos son fi-
de un estado al siguiente se le llama transición20 . nitos (Q = {q0 , q1 , ..., qn }, E = {e0 , e1 , ..., em },
Un proceso es una sucesión de estados y transi- S = {s0 , s1 , ..., sr }) las funciones de transición
ciones (y de respuestas asociadas a ellos). Su des- y de salida son discretas: qt+1 = f (et , qt ) y
cripción formal se hace mediante dos funciones st+1 = g(et , qt ), donde «t» se refiere al «instante
matemáticas: la función de transición determina actual» y «t + 1» al «instante siguiente».
el estado siguiente, dependiendo del estado actual Decíamos que los modelos procesales son abs-
y del estímulo que se reciba, y la función de sali- tractos. Quizás a algún lector se lo parezcan dema-
da determina la respuesta para el estado actual y el siado. Para ayudarle, pondremos algunos ejemplos
estímulo recibido (Figura 0.9). A partir del estado en el siguiente Apartado. Terminamos éste con una
en un determinado instante y de los estímulos que consideración similar a la que hacíamos más arriba
desde ese instante se vayan recibiendo, el mode- con respecto a los «sistemas abiertos»: el concep-
lo procesal determinará el proceso que seguirá el to de proceso, aquí definido de manera general, se
sistema, es decir, la secuencia de estados, de res- utiliza en el campo de los ordenadores con un sig-
puestas y de transiciones entre estados. nificado mucho más concreto, como veremos en el
Un modelo procesal es un sistema conceptual, Apartado 17.9.
y como tal no tiene sentido decir que esté en un
21
«Los objetos concretos o materiales son y están: existen
20
En la Segunda Parte veremos que en los modelos de des- físicamente y están en algún estado. Los objetos conceptua-
cripción del hardware los estados se suceden sin que parezca les, en cambio, son: existen (conceptualmente), tienen pro-
existir ningún estímulo. Esto es así cuando el sistema está piedades conceptuales que no posee objeto concreto alguno,
«sincronizado», de modo que regularmente cambia de un es- tales como la propiedad de ser un conjunto, o una relación, o
tado al siguiente. Pero, en realidad, siempre hay un estímulo: un espacio. Los conjuntos no se mueven, las funciones no me-
el paso inexorable del tiempo. En los ordenadores y en otros tabolizan, los espacios no procrean, las estructuras algebrai-
sistemas digitales este estímulo tiene, además, una materiali- cas no pasan hambre, las derivadas no explotan.» M. Bunge:
zación bien clara: la señal periódica del reloj. Epistemología. Ariel, Barcelona, 1980.
12 Lección 0. Modelos y niveles

0.4. Ejemplos de sistemas y modelos x(t)

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.

Ejemplo 1: un sistema mecánico


Volvamos a la Figura 0.5, introducida para ilus- Figura 0.10. Un modo de comportamiento del sistema
trar que un sistema eléctrico es un modelo analógi- mecánico de la Figura 0.5.
co de un sistema mecánico22 . Las ecuaciones son
modelos funcionales de los correspondientes siste-
mas. En efecto, en el sistema mecánico podemos y el comportamiento (modelo funcional) de cada
considerar que la «entrada» o «estímulo» (acción parte viene dado por leyes de la Física:
del entorno sobre el sistema) en cada momento es d2 x
Fm (t) = M · dt2
para la masa,
la fuerza aplicada, F (t), y que la «salida» o «res- dx
Fa (t) = D · para el amortiguador, y
puesta» es el desplazamiento de un punto del siste- dt
ma, x(t), con respecto a la posición de reposo. La Fr (t) = K · x para el resorte.
ecuación resume todas las relaciones posibles en-
El modelo estructural, al definir por completo la
tre la entrada y la salida. Así, si como consecuen-
interrelación entre partes y el modelo funcional de
cia de una fuerza aplicada en el instante t = t0 el
cada parte, determina totalmente el modelo fun-
desplazamiento es x0 > 0 y si a partir de ese mo-
cional del sistema. De hecho, lo que ocurre es que
mento no se aplica ninguna fuerza (F (t) = 0 para
el modelo funcional procede de las simplificacio-
t > t0 ), la evolución de la salida, x(t), se pue-
nes hechas en el modelo estructural.
de obtener matemáticamente integrando la ecua-
Para establecer un modelo procesal hemos de
ción; el resultado, puesto en forma gráfica, es el
definir las variables de estado. De acuerdo con la
que muestra la Figura 0.10: un movimiento oscila-
definición de «estado» dada anteriormente, estas
torio amortiguado.
variables deben ser tales que baste con conocer sus
Para el modelo estructural consideramos que el
valores en un instante t = t0 y los valores de F (t)
sistema está formado por tres partes: una masa,
desde t = t0 hasta t > t0 para poder calcular x(t)
un amortiguador y un resorte. Suponemos que el
en t > t0 . Pueden servir como variables de estado
amortiguador y el resorte carecen de masa, que
x(t) y v(t) = dx(t)
dt : desde un punto de vista mate-
la masa y el amortiguador carecen de propiedades
mático, para integrar la ecuación que aparece en la
elásticas, etc. La fuerza total aplicada se reparte
Figura 0.5 (y poder así calcular x(t)) hacen falta
entre las tres partes:
dos condiciones iniciales: x(t0 ) y x0 (t0 ); desde un
F (t) = Fm (t) + Fa (t) + Fr (t) punto de vista intuitivo, basta conocer la posición
22
y la velocidad con que se mueve el sistema en un
También el sistema mecánico es un modelo analógico del
eléctrico. Pero lo normal, por razones prácticas (facilidad de
momento para saber dónde va a estar después. El
manipulaciones y medidas), es que se utilice el segundo como modelo procesal viene dado por las ecuaciones de
modelo del primero. estado:
0.4 Ejemplos de sistemas y modelos 13

dx/dt suficientes presas; si no hubiese presas, su nú-


mero tendería asintóticamente a cero.
4. La tasa de crecimiento de la población de pre-
x sas depende, por una parte, del número de pre-
0 x
sas (cuanto más hay, más crece), y, por otra, del
número de encuentros, que es proporcional al
producto P (t) · D(t) (cuanto más hay menos
crece la población).
5. La tasa de crecimiento de la población de pre-
dadores depende igualmente del número de
Figura 0.11. Trayectoria correspondiente al comporta- predadores (cuanto más hay, menos crece, por-
miento de la Figura 0.10. que tienen que repartirse a las presas), y del nú-
mero de encuentros (cuanto más hay, más cre-
dx(t)
= v(t) ce).
dt
dv(t) K D 1
6. Abstraemos cualquier interacción con el en-
dt = −M · x(t) − M · v(t) + M · F (t) torno.
que determinan, de forma continua, el cambio de
un estado (x(t), v(t)) al siguiente. El espacio de Teniendo en cuenta las hipótesis 4 y 5 es fácil
estados es el conjunto de valores posibles del par expresar gráficamente las relaciones entre las va-
(x(t), v(t)): todo el plano real. A partir de un es- riables como indica la Figura 0.12. Este tipo de
tado inicial, y para un estímulo F (t), la sucesión modelo estructural se llama diagrama causal.
de estados (puntos en el plano) forma una tra-
Y, combinando todas las hipótesis, tampoco es
yectoria. En la Figura 0.11 puede verse la tra-
difícil cuantificar las relaciones en forma de ecua-
yectoria correspondiente al caso de la Figura 0.10
ciones diferenciales:
(x(t0 ) > 0, v(t0 ) = 0 y F (t) = 0 para t > t0 ).
dP
dt = K11 · P − K12 · P · D
Ejemplo 2: un sistema ecológico
dD
dt = −K22 · D + K21 · P · D
Imaginemos dos especies animales. Los anima-
les de una especie son presas, y los de la otra, pre- Estas son las conocidas ecuaciones de Volterra,
dadores. Nos interesa un modelo de la evolución y son un modelo procesal de nuestro sistema.
en el tiempo de la población de cada una de las
especies. Hagamos las siguientes hipótesis: ¿Y el modelo funcional? Pues bien, la última hi-
pótesis equivale a decir que estamos considerando
1. Las variables P (t) y D(t) representarán a los
un sistema cerrado. Por tanto, no existe modelo
números de presas y de predadores (o depre-
funcional.
dadores) existentes en el instante t. Sus valores
son números naturales, pero nuestro modelo las
tratará como variables continuas (con valores
+
reales).
+ P D −
2. Las presas se reproducen sin limitación; si no −
hubiese predadores su crecimiento sería expo-
nencial. Figura 0.12. Modelo estructural (diagrama causal) de
3. Los predadores viven y se reproducen si hay las presas y los predadores.
14 Lección 0. Modelos y niveles

Ejemplo 3: un sumador binario


E
1
Los dos ejemplos anteriores se refieren a siste- ... e12 e11 e10 sumador S
E ... s2 s1 s0
mas continuos: las magnitudes de interés toman 2
serial
... e22 e12 e02
valores en una escala de números reales. Por ese
motivo, los modelos están expresados en el tipo de ... t2 t1 t0 ... t2 t1 t0
ecuaciones matemáticas que permiten trabajar con
variables de esta naturaleza. Analizaremos ahora S= E + E
1 2
un sistema que es discreto, en el sentido de que las
magnitudes sólo pueden tomar, en cada momento, Figura 0.13. Sumador binario serial: modelo funcio-
uno de entre un conjunto finito de valores, y ade- nal.
más los cambios de esos valores no ocurren con- −
O tiempo
tinuamente a lo largo del tiempo, sino solamente
en instantes determinados. Se trata de un sistema R

electrónico digital sencillo: un sumador binario se- e


1
rial.
En primer lugar, veamos su descripción funcio- e
2
nal. Un sumador binario es un sistema que suma
dos números expresados en el sistema de numera- z
ción de base 2 y da el resultado en el mismo siste-
s
ma23 . En los ordenadores es un componente de la
unidad aritmética y lógica que funciona en para- q
lelo, es decir, los bits (dígitos binarios) que cons-
tituyen los sumandos se presentan todos al mismo
tiempo (es un circuito combinacional24 ), pero aquí Figura 0.14. Sumador binario serial: ejemplo de com-
consideramos el caso de un sumador serial, en el portamiento.
que los bits de los sumandos se presentan secuen-
cialmente y por parejas, y los bits del resultado se
dad, el comportamiento está definido por los valo-
obtienen también secuencialmente. Es decir, pri-
res de la entrada y la salida, pero la figura incluye
mero se presentan los dos bits de menor peso, el
más información: la variable interna z representa
sumador los suma y entrega el bit de menor peso
al acarreo; q (también interna) es el «acarreo retar-
del resultado (y toma nota del acarreo, si lo hay,
dado», o acarreo de la suma binaria en el instante
pero esto es una actividad interna), luego los si-
t − Θ, que ha de sumarse con et1 y et2 en el instante
guientes, etc.
t. R es la «señal de reloj», que marca el período,
La Figura 0.13 presenta al sistema como una ca- Θ, de presentación de los estímulos. Las variables
ja negra, y en la Figura 0.14 puede verse un ejem- q y z representan cosas que «pasan dentro», y por
plo de comportamiento que corresponde al caso tanto no forman parte del modelo funcional. Pero
particular 011001+011101 = 11011025 . En reali- el período Θ sí es un parámetro funcional impor-
23
En el Apéndice A se resume la aritmética con base 2, o tante, ya que es preciso conocerlo para poder usar
binaria, en la que sólo hay dos dígitos, 0 y 1. el sistema.
24
En el Apéndice B se resumen los principios de los cir- Por tanto, el modelo funcional (que incluye a
cuitos lógicos combinacionales y secuenciales.
25
Para interpretar bien la Figura 0.14, obsérvese que los
todos los comportamientos particulares posibles)
dígitos binarios están representados en ella en sentido inverso puede expresarse formalmente de una manera muy
a como los escribimos sobre el papel. sencilla:
0.4 Ejemplos de sistemas y modelos 15

(a) La relación entre las entradas y las salidas es e1


etapa de s
S = E1 + E2 , donde S, E1 y E2 represen- e2
tan, de manera general, números expresados sumador
z
q
en binario (cadenas de bits).

(b) Los bits que forman las cadenas de entrada elemento de


deben presentarse con un período Θ. −
retardo, O

Un posible modelo estructural del sumador


puede establecerse con dos componentes, una Figura 0.15. Sumador binario serial: modelo estructu-
«etapa de sumador» y un «circuito de retardo», ral.
conectados como indica la Figura 0.15. Para que
el modelo estructural esté completo (de modo que
punto de vista electrónico, es un «circuito combi-
el modelo funcional quede totalmente determina-
nacional»).
do a partir de él) hay que dar modelos funcionales
Finalmente, veamos el modelo procesal de este
de ambos componentes. Si e1 , e2 , s, z y q repre-
sumador binario serial. Más arriba hemos definido
sentan dígitos binarios, estos modelos son:
el concepto de «estado» como «información míni-
Para la etapa de sumador:
ma necesaria en un instante dado para, conociendo
s = (e1 + e2 + q)(mód 2) la evolución de los estímulos a partir de ese instan-
 te, predecir la evolución de las respuestas». En es-
 0
si e1 + e2 + q = 0

 te caso, la única información necesaria para poder
 o si e1 + e2 + q = 1
z= predecir el valor que toma la salida cuando se pre-
 1 si e1 + e2 + q = 10

 sentan dos valores particulares en las entradas es

o si e1 + e2 + q = 11
si ha habido acarreo anteriormente o no. Es decir,
Es decir, s es el bit menos significativo de la su- el sistema puede estar en uno de dos estados po-
ma binaria de los dos bits que se presentan en un sibles, que podemos representar con los símbolos
momento dado a la entrada, junto con el posible q0 (correspondiente a q = 0, no acarreo previo) y
acarreo (q) de la suma anterior, y z es el acarreo q1 (correspondiente a q = 1). El espacio de esta-
generado que ha de guardarse para la suma de los dos es finito, y consta sólo de dos «puntos» (dos
siguientes. estados concretos):
Para el circuito de retardo: Q = {q0 , q1 }
q(t) = z(t − Θ), El conjunto de estímulos diferentes también es
donde Θ debe coincidir con el período de presen- finito:
tación de los estímulos (bits) a la entrada. Es decir, E = {00, 01, 10, 11}
el acarreo que en cada momento hay que sumar es así como el de respuestas:
el que se haya podido generar en la suma de los S = {0, 1}
bits precedentes. Como decíamos antes, dados el estado actual y
En la especificación de la etapa de sumador no el estímulo, la función de transición, f (e, q), de-
se ha indicado explícitamente que las variables be dar el estado siguiente, y la función de salida,
son función del tiempo (s(t), e1 (t), etc.). Pode- g(e, q), la respuesta. Por ejemplo, si hay acarreo
mos proceder así porque este componente no tiene (q = 1) y el estímulo es e1 = 1, e2 = 0, la res-
«memoria»: su respuesta en un instante depende puesta debe ser s = 0 y el acarreo z = 1, es de-
solamente de las entradas en ese instante (desde el cir: g(10, 1) = 0, f (10, 1) = 1. Un análisis ex-
16 Lección 0. Modelos y niveles

haustivo de las 4 × 2 = 8 combinaciones posibles Ejemplo 4: un programa de ordenador


de entradas y estados nos permite especificar com-
pletamente las funciones f y g. En la Figura 0.16
Volvamos al ejemplo del Apartado anterior so-
aparece esta especificación en dos formas equiva-
bre el modelo estructural de un programa para or-
lentes: como una tabla de transiciones y como un
denador (Figura 0.8(c)) cuyo modelo funcional es
diagrama de transiciones.
«resultado = factorial(dato)». El modelo procesal
puede verse en la Figura 0.17, sobre la que cabe
e hacer estos comentarios:
q 00 01 10 11
q0 q0 /0 q0 /1 q0 /1 q1 /0 1. Inicialmente, mientras el ordenador no empiece
q1 q0 /1 q1 /0 q1 /0 q1 /1 a ejecutar el programa, el proceso no existe. El
modelo procesal incluye un estado inicial para
00/0 01/0 esta situación al que llamamos nonato.
2. En cuanto el programa empieza a ejecutarse, el
11/0 proceso pasa al estado activo, pero durante un
01/1 10/0
tiempo muy pequeño, porque lo primero que
q q
0 1 hace es «pedir» un dato.
3. La unidad («periférico») por la que se introduce
00/1
el dato (el teclado, por ejemplo), es mucho más
11/1
lenta que la unidad de procesamiento. Mientras
10/1
no se haya terminado de leer el dato, el proceso
Figura 0.16. Sumador binario serial: modelo procesal. no puede continuar: está bloqueado.
4. Una vez obtenido el dato, el proceso vuelve a
estar activo. Durante este segundo estado ac-
La tabla indica los ocho valores de la función
tivo el programa hace la transformación a la
f (los escritos delante de los símbolos «/») y los
representación interna, llama a la función, és-
ocho valores de g (los escritos detrás). En el dia-
ta calcula el factorial y el programa traduce el
grama, los círculos corresponden a estados, y los
resultado a la representación a escribir por la
arcos a transiciones entre estados; cada arco, eti-
pantalla.
quetado «e1 e2 /s», corresponde a una transición de
un estado a otro (que puede ser el mismo) debida 5. De nuevo el proceso pasa a bloqueado, ahora
a la entrada (e1 , e2 ), generándose la salida s. esperando a que el resultado quede escrito.
Los tres modelos (funcional, estructural y pro- 6. Terminada la salida del resultado, el proceso
cesal) son tres formas distintas de describir al mis- vuelve a estar activo (seguramente, y como al
mo sistema. Dependiendo de lo que se pretenda principio, por muy poco tiempo).
puede ser más interesante uno u otro. Así, desde 7. Como el proceso ha terminado, pasa al estado
un punto de vista de «usuario» (un diseñador de un muerto.
sistema de nivel superior, en el que se utiliza éste
como componente o subsistema), lo que importa Éste es un modelo procesal para un programa
es el modelo funcional (incluido el parámetro Θ). concreto. En el Apartado 17.9 estudiaremos un
Pero desde un punto de vista de «diseñador» los modelo genérico, de gran importancia para el es-
modelos más útiles son el estructural y el proce- tudio del funcionamiento del ordenador durante la
sal. ejecución de programas.
0.4 Ejemplos de sistemas y modelos 17

En cuanto a la risa, si no quemo incienso, apa-


nonato rece o no según que el canto estuviese presente o
ausente (de modo que la risa imita al canto con un
minuto de retardo). Ahora bien, si quemo incien-
so la risa hace justamente lo contrario de lo que
hacía el canto.
activo bloq.
En el momento en que le escribo estoy oyendo
a la vez la risa y el canto. Le quedaré sumamente
dato
introducido agradecido si me aconseja sobre las manipulacio-
nes de órgano e incienso que debo realizar para
activo bloq. restablecer definitivamente la calma.»
El comportamiento que describe esta carta (tra-
resultado
escrito
ducida de un inolvidable libro de Ross Ashby26 )
caracteriza a un sistema cuyas entradas y salidas
se pueden formalizar con variables binarias: I, O
activo
(entradas), R y C (salidas) (I = 0 si no se que-
ma incienso, I = 1 si se quema, etc.). El mismo
texto de la carta es ya un modelo funcional, que se
puede formalizar con el lenguaje de la lógica:
muerto
párrafo 4: Ct+1 = Ct ⊕ (Rt · Ot )
párrafo 5: Rt+1 = It ⊕ Ct
Figura 0.17. Modelo procesal del ordenador durante el También podemos establecer un modelo estruc-
proceso del cálculo del factorial. tural, considerando dos componentes, los agentes
que generan la risa y el canto, y las influencias mu-
Ejemplo 5: una casa encantada tuas entre ellos y con las entradas. Del texto de
la carta se deduce el diagrama causal de la Figu-
«Querido amigo: ra 0.18.
Al poco de comprar esta vieja mansión me sor-
prendió desagradablemente el comprobar que es-
I O
tá hechizada con dos sonidos de ultratumba que
la hacen prácticamente inhabitable: un canto pi-
caresco y una risa sardónica.
Aún conservo, sin embargo, alguna esperanza,
pues la experiencia me ha demostrado que su com- R C
portamiento obedece a ciertas leyes, oscuras pero
infalibles, que permiten modificarlo tocando el ór-
gano y quemando incienso.
En cada minuto, cada sonido está presente o
ausente. La situación en el minuto siguiente es así: Figura 0.18. Modelo estructural (diagrama causal) de
El canto conserva el mismo estado (presente o la casa encantada.
ausente) salvo si en el minuto actual no se oye la 26
W.R. Ashby: An Introduction to Cybernetics. Chapman
risa y toco el órgano, en cuyo caso el canto pasa and Hall, Londres, 1956. Traducción de J. Santos: Introduc-
al estado opuesto. ción a la cibernética. Nueva Visión, Buenos Aires, 1960.
18 Lección 0. Modelos y niveles

Pero el más interesante para este ejemplo es un e : no O y no I


0
modelo procesal que, como veremos, conduce in-
mediatamente a una solución del problema. q
0
R y C son las variables de estado (además de no R,
no C
e : O y no I
ser las de salida). En efecto, según explican los pá- e2 : no O y no I
e :OeI 0
rrafos 4 y 5 de la carta, basta con saber qué valor 3
e : no O y no I e : no O e I
tienen esas variables en un minuto determinado y e0 : O y no I 1 e : no O e I
2 e :OeI e1 : O e I
q 3 q 3
qué estímulos (valores de I y O) se dan en ese mi- 3 2
R, C e : O y no I R, no C
nuto para conocer los valores que tomarán R y C 2

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

0.5. Pragmática En general, un artefacto28 es un sistema ma-


terial o conceptual concebido y construido por el
Analicemos ahora la vertiente pragmática de los hombre, y una herramienta29 es un artefacto que
modelos. Un modelo de un sistema puede servir a tiene un fin específico: el de usarlo como ayuda
la persona que hace uso de él para varios fines: para la resolución de ciertos problemas. Un auto-
• Utilizar el sistema. Esto es, saber qué estímulos móvil y un edificio son (como el ordenador) arte-
tiene que aplicarle para obtener un comporta- factos y herramientas, y también lo son, aunque se
miento deseado. En este caso normalmente in- trate de sistemas conceptuales, la lógica y las teo-
teresa disponer de un modelo funcional, pero rías matemáticas. Las obras de arte son artefactos,
(como pone de manifiesto el último ejemplo) a pero, normalmente, no son herramientas. Todas las
veces puede resultar más útil un modelo proce- herramientas son artefactos (si excluimos las «he-
sal. rramientas primitivas» que se encuentran en la na-
• Diseñar, rediseñar, implementar, reparar o man- turaleza). Los sistemas naturales no son artefactos,
tener el sistema. En estas actividades suele do- y, por tanto, tampoco herramientas (aunque a ve-
minar el uso de modelos estructurales y proce- ces se usen como si lo fueran)30 .
sales. El modelo funcional es la «entrada» a la Las intenciones y las motivaciones de las perso-
actividad. Pero ocurre con frecuencia que es- nas que tratan con un mismo artefacto (y, en gene-
te modelo no está formalizado, y se hace ne- ral, con un mismo sistema) pueden ser muy varia-
cesario pasar por una fase previa en la que se das. De ahí que el mismo sistema pueda verse de
establecen las especificaciones formales, como muchas maneras diferentes, o, lo que es igual, que
veremos más adelante. puedan formularse diferentes tipos de modelos en
diferentes niveles de abstracción.
• Simplemente, comprender el sistema. La mo-
tivación puede ser pura curiosidad científica, o
un paso previo para alguna de las actividades Adecuación de los modelos
anteriormente enunciadas. Por ejemplo, en este
Ya sabemos que toda descripción de un siste-
libro presentamos modelos pensados para que
ma es un modelo de ese sistema. Distintos obser-
el lector comprenda los ordenadores. El objeti-
vadores, contemplando la misma realidad, pueden
vo final es que el lector se convierta en (o per-
elaborar o encontrar útiles descripciones muy di-
feccione sus habilidades como) usuario y/o di-
ferentes para esa realidad. Ello no implica necesa-
señador de ordenadores o de sistemas construi-
riamente que unas descripciones se ajusten más o
dos con él (así lo esperamos). Para una com-
menos que otras a la realidad. La mejor descrip-
prensión cabal del sistema hay que estudiar mo-
ción para una determinada persona en un determi-
delos funcionales, estructurales y procesales.
nado momento no es la más completa ni la más de-
tallada, sino, simplemente, la que mejor le permite
Artefactos y herramientas a esa persona resolver el problema que se plantea
en ese momento.
Un ordenador es un artefacto: algo hecho con 28
«1. Obra mecánica hecha según arte. 2: Máquina, apara-
arte. El diseño de ordenadores tiene, en efecto, to» (D.R.A.E.)
29
mucho de «artístico». Al mismo tiempo, un orde- «1. Instrumento, por lo común de hierro o acero, con que
nador es una herramienta: un objeto que ayuda en trabajan los artesanos» (D.R.A.E.)
30
Estas afirmaciones, como algunas otras de esta Lección,
la resolución de problemas (entre los cuales se en- son matizables y cuestionables. En particular, los bien cono-
cuentra el diseño de artefactos, ordenadores inclui- cidos avances biológicos recientes empiezan a difuminar los
dos). límites entre «artefacto» y «sistema natural».
20 Lección 0. Modelos y niveles

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

un artefacto. Son artefactos un automóvil, un or- Diseño, implementación y especificaciones


denador, un programa, un edificio..., pero también
un sistema axiomático, un sistema de transporte, En las actividades ligadas a la concepción y
un sistema social... Puede discutirse si el diseño construcción de un artefacto es útil distinguir en-
del segundo tipo de sistemas es «ingeniería», pero tre diseño e implementación. El diseño comien-
hay principios y herramientas que son de utilidad za con una descripción de las funciones pretendi-
en el diseño de ciertos tipos de sistemas y que pue- das (un modelo funcional) del sistema, y termina
den extenderse a otros. con una descripción de los componentes abstrac-
tos y sus interrelaciones y procesos (modelos es-
En el proceso de diseño se pueden utilizar como tructural abstracto y procesal). En la implementa-
herramientas sistemas materiales o conceptuales. ción se materializa el modelo estructural en otro
La herramienta material más general y flexible es cuyos componentes son concretos. La Figura 0.20
el ordenador, que, con técnicas de simulación y vi- (que el lector debe situar en el contexto de la Figu-
sualización, permite prever el funcionamiento del ra 0.3) muestra los tipos de modelos más ligados a
sistema que se está diseñando; esto es lo que se lla- cada actividad.
ma CAD («Computer-Aided Design»: diseño asis-
tido por ordenador). Las herramientas conceptua- artefacto
(original)
les son las teorías, metodologías y modelos dispo-
nibles para el tipo de artefacto a diseñar.
El diseño de un artefacto suele incluir muchas
modelo modelo modelo
facetas, y con frecuencia sólo se dispone de mode- funcional estructural procesal
los formalizados y sustentados por una teoría para
algunas de ellas. Esta carencia se suple con heu-
rísticos: «trucos» o reglas empíricas cuya utilidad
está avalada por la experiencia. usuario implementador diseñador

Figura 0.20. Modelos de artefactos más adecuados se-


gún la pragmática.
Usuarios y diseñadores
Además de su utilidad dentro de cada actividad,
El ordenador se puede considerar como una he- los modelos también son vehículos de comunica-
rramienta (punto de vista del usuario) o como un ción entre unas actividades y otras. Cuando sirven
artefacto a construir (punto de vista del diseñador). a esta función, los modelos suelen llamarse espe-
Pero esta diferenciación no es tan neta como a pri- cificaciones. Y, para reducir al mínimo posible los
mera vista pudiera parecer: el diseñador de progra- errores de comunicación, conviene que estos mo-
mas de aplicación es usuario de un sistema opera- delos estén expresados en un lenguaje formal. Se
tivo; el diseñador de éste es usuario de una máqui- habla entonces de especificaciones formales.
na hardware, diseñada haciendo uso de placas, que Para ilustrar lo anterior, volvamos al ejemplo
están construidas con circuitos integrados... Cada del sumador binario. Partiendo de su especifica-
una de estas personas necesita modelos adecuados ción funcional, el resultado del diseño es el mode-
para ejercer su actividad: en general, el usuario de lo procesal de la Figura 0.16 y el estructural de la
un sistema necesita un modelo funcional de ese Figura 0.15. La implementación en este caso con-
sistema, y utiliza modelos estructurales y procesa- sistiría en buscar los componentes físicos (siste-
les de los sistemas que diseña con él. mas electrónicos digitales) que tengan las funcio-
22 Lección 0. Modelos y niveles

nes requeridas por el modelo estructural. Un hecho Productos y ciclo de vida


interesante aparece aquí: al bajar el nivel de abs-
tracción, en la implementación pueden ponerse de Hemos visto, con un ejemplo sencillo (el del su-
manifiesto restricciones físicas que obligan a vol- mador binario), que, como resultado de la imple-
ver sobre las especificaciones del diseño. Así, en la mentación, puede ser necesario rehacer las especi-
especificación funcional podría haberse decidido ficaciones para el diseño. Pero también es preciso
un determinado valor, muy pequeño, del paráme- replantearse las especificaciones iniciales cuando
tro Θ (intervalo entre presentación de los bits). En el diseño es para un producto.
el modelo estructural procedente del diseño, este
Entendemos por «producto» un artefacto que
valor es el que debe tener el «elemento de retar-
se obtiene como resultado de un proceso de fabri-
do». Pero supongamos, ya en la implementación,
cación. Es decir, no sólo es un sistema diseñado
que al buscar un componente electrónico que ma-
e implementado por el hombre; este diseño y esta
terialice a este elemento33 , no encontramos nin-
implementación están condicionados por la exis-
guno con ese valor tan pequeño34 . En este caso
tencia de un mercado y, frecuentemente, de una
sencillo no hay más solución que relajar las espe-
normativa. Cuando el artefacto es un producto, el
cificaciones (conformándose con un sistema más
resultado de la implementación es un prototipo,
lento); en otros, en los que existen modelos alter-
que debe someterse a pruebas antes de su produc-
nativos, es posible rehacer el diseño de modo tal
ción o fabricación. Como resultado de estas prue-
que la implementación sea factible.
bas, y también a lo largo de la vida del producto,
La implementación no siempre consiste en
es posible que aparezca de nuevo la necesidad de
construir un modelo estructural con componentes
un rediseño.
físicos. El caso más notorio es el que se da en pro-
gramación. Para el diseño de un programa se parte La Figura 0.21 ilustra esta naturaleza recurren-
de unas especificaciones funcionales y se llega a te de las actividades ligadas a la conceptuación,
un modelo estructural de componentes abstractos, la construcción y el uso de un producto. El mode-
definido cada uno por su función. Así, en el ejem- lo conceptual es una descripción de las funciones
plo del programa para el cálculo del factorial se que se desean en el sistema, y el diseño consis-
podría llegar a la descomposición en componen- te en elaborar modelos estructurales y procesales
tes o módulos que resumía la Figura 0.18(c). Pa- para que el sistema satisfaga esas especificaciones
ra programas complejos esta descomposición mo- funcionales.
dular es recursiva: para cada módulo se estable- La sucesión de fases por las que pasa un pro-
cen un modelo estructural y un modelo procesal, ducto desde su conceptuación hasta su abandono
cada componente del modelo estructural vuelve a por obsolescencia o envejecimiento se llama ciclo
descomponerse, y así sucesivamente hasta llegar de vida. La Figura 0.21 representa un modelo muy
a funciones simples. En cualquier caso, el mode- general de ciclo de vida. En áreas particulares de
lo estructural resultante incluye módulos defini- la ingeniería se han propuesto ciclos de vida es-
dos funcionalmente. La implementación consiste pecializados para los distintos tipos de productos.
en este caso en plasmar esas funciones abstrac- Así, en la ingeniería del software un ciclo de vida
tas en construcciones concretas con un lenguaje de «clásico» es el formado por las fases sucesivas de
programación. captura de requisitos (correspondiente, aproxima-
33
damente, a la «conceptuación» de la Figura 0.21),
Un biestable, como se explica en el Apéndice B.
34
O bien lo encontramos pero a un coste prohibitivo. El
diseño, codificación (que corresponde a «imple-
criterio de coste, aquí omitido, forma parte importante de las mentación»), depuración y validación (pruebas),
especificaciones iniciales del diseño. y mantenimiento.
0.6 Jerarquías de abstracciones 23

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

Jerarquías de niveles de abstracción


Figura 0.21 Ciclo de vida de un producto.
Acabamos de sugerir que un mismo sistema
puede describirse no sólo con distintos modelos,
0.6. Jerarquías de abstracciones sino también en distintos niveles de abstracción.
35
Entre comillas, porque los cambios se describen como
Un ordenador es un sistema complejo que puede graduales, o como funciones continuas del tiempo, en un ni-
describirse mediante diferentes modelos, en distin- vel de abstracción inferior, pero si aún descendemos más en
el nivel de abstracción y aplicamos modelos de la física cuán-
tos niveles de una jerarquía de abstracciones. Ésta tica nos encontramos «en realidad» con cambios nuevamente
era nuestra declaración inicial, y el objetivo de es- discretos. No olvidemos la precaución acerca del modelo y la
ta Lección es profundizar en su significado y en realidad, mencionada en el párrafo sobre sistemas complejos.
24 Lección 0. Modelos y niveles

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

NIVELES COMPONENTES SISTEMAS

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

micromáquina máquinas microprogramables


(interpretan
microinstrucciones)

sistemas combinacionales
circuito lógico y secuenciales,
memorias, ...

circuito eléctrico puertas lógicas

metales, transistores,
dispositivo semiconductores, ... resistores, ...

Figura 0.22 Niveles de descripciones para los ordenadores.

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

0.8. Un último ejemplo: la «máqui- UCP


na de von Neumann» datos
UAL UE/S
Los ordenadores tienen una larga «prehistoria» datos
(Apartado 0.12). Un hito importante fue la intro-
ducción del concepto de programa almacenado:
direcciones
previamente a su ejecución, las instrucciones que MP
UC direcciones
forman el programa deben estar guardadas, o al-
instrucciones
macenadas, en una memoria de acceso rápido. Es-
to condiciona fuertemente los modelos estructura-
les, funcionales y procesales de los ordenadores en instrucciones, y datos (operandos y resultados)
direcciones (de MP y de UE/S)
todos los niveles. señales de control ("microórdenes")
Modelos estructurales que contenían unidades
de memoria, de procesamiento, de control y de Figura 0.23. Modelo estructural de la «máquina de von
entrada/salida se habían propuesto tiempo atrás, Neumann».
pero la idea de tener el programa almacenado en
la memoria, y el modelo procesal que acompa- «UE/S» (unidades de entrada y salida) en el esque-
ña a esta idea, se atribuye generalmente (y quizás ma de bloques de la Figura 0.23. Al conjunto de la
erróneamente, véase el Apartado 0.12) a John von UC y la UAL se le llama «UCP» (unidad cen-
Neumann. Hay un documento escrito en 1946 por tral de procesamiento, o procesador central).
Burks, Goldstine y von Neumann (cuando aún no La tecnología electrónica actual permite encapsu-
se había construido ninguna máquina de programa lar la UCP (y parte de la MP, Apartado 15.7) en un
almacenado) que mantiene hoy toda su vigencia chip, y el resultado se llama microprocesador.
conceptual. Haciendo abstracción de los detalles
tecnológicos, esa descripción no ha sido superada, Programa almacenado y propósito general
pese a que seguramente se habrán publicado de-
«... La máquina debe ser capaz de almacenar
cenas de miles de páginas explicando lo mismo. no solamente la información digital necesaria en
Por eso, nos serviremos de ese texto, extrayendo y una determinada computación [...] sino también
glosando algunos de sus párrafos. las instrucciones que gobiernen la rutina a rea-
lizar sobre los datos numéricos. En una máquina
de propósito especial, estas instrucciones son un
Unidades (subsistemas) componente integrante del dispositivo y constitu-
yen parte de su estructura de diseño. Para que la
«... Puesto que el dispositivo final ha de ser
máquina sea de propósito general, debe ser po-
una máquina computadora de propósito general,
sible instruirla de modo que pueda llevar a ca-
deberá contener ciertos órganos fundamentales
bo cualquier computación formulada en términos
relacionados con la aritmética, la memoria de al-
numéricos. Por tanto, debe existir algún órgano
macenamiento, el control y la comunicación con
capaz de almacenar esas órdenes de programa...»
el operador humano...».
En el escrito se utilizan indistintamente, y con
Aquí el documento introduce el modelo estruc- el mismo significado, «instrucciones», «órdenes»
tural básico en el nivel de máquina convencio- y «órdenes de programa». Actualmente se habla
nal. Los «órganos» son los subsistemas denomi- siempre de instrucciones. El conjunto de instruc-
nados «UAL» (unidad aritmética y lógica), «MP» ciones diferentes que puede ejecutar un ordenador
(memoria principal), «UC» (unidad de control) y se llama juego o repertorio de instrucciones.
0.8 Un último ejemplo: la «máquina de von Neumann» 29

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...»

Como su nombre indica, la UAL incluye tam-


bién las operaciones de tipo lógico (negación,
palabra palabra
o «NOT», conjunción, o «AND», disyunción, u
obtenida a grabar «OR»), que no se mencionan aquí, pero sí en otras
(caso de lectura) (caso de escritura)
partes del documento que estamos comentando.
Figura 0.24. Lectura y escritura en una memoria de Al final de la cita aparece claramente expresado
acceso aleatorio. un ejemplo del problema de la disyuntiva hardwa-
re/software, habitual en el diseño de los ordena-
Dos propiedades importantes de la MP son: dores, y que veremos repetirse a lo largo de todo
el curso: muchas funciones pueden realizarse in-
• Una celda nunca puede estar «vacía»: siempre
distintamente de manera cableada (por hardware)
tiene un contenido formado por un conjunto de
o de manera programada (por software). La elec-
bits («ceros» y «unos»).
ción depende de que predomine el deseo de redu-
• La operación de lectura no es «destructiva»: el cir el coste (soluciones software) o de conseguir
contenido leído permanece tal como estaba pre- una máquina más rápida (soluciones hardware).
viamente en la celda; la escritura sí lo es: el En la Segunda Parte estudiaremos una solución in-
contenido anterior desaparece y queda sustitui- termedia: la realización microprogramada (o por
do por el nuevo. firmware).
El término palabra se refiere, de forma abstrac- En resumen, la unidad aritmética y lógica, o
ta, a un conjunto (ordenado, es decir, una «lista») UAL, es un subsistema que puede tomar dos ope-
de bits. Pero lo utilizaremos indistintamente para randos (o sólo uno, como en el caso de «NOT»)
referirnos tanto a una posición de la MP como a su y generar el resultado correspondiente a la ope-
contenido. ración que se le indique, de entre un conjunto de
0.8 Un último ejemplo: la «máquina de von Neumann» 31

operaciones previstas en su diseño. En lo sucesivo utilización de los procesos aritméticos habituales,


seguiremos el convenio de representar la UAL por no hay ninguna razón para que el mismo compu-
el diagrama de la Figura 0.25. tador no pueda llevar a cabo tal conversión. Po-
dría argumentarse que ésta es una operación que
resultado consume mucho tiempo. Sin embargo, no es así
[...]. Está claro que un computador de propósito
general, utilizado como herramienta de investiga-
operación 1
ción científica, está llamado a hacer gran número
operación 2
UAL ... de multiplicaciones sobre una cantidad relativa-
mente pequeña de datos de entrada, y de aquí que
operación n
el tiempo consumido en la conversión de decimal
a binario sea solamente un pequeño porcentaje
del tiempo total de computación. Una observa-
operando 1 operando 2
ción similar cabe aplicar a los datos de salida...»
Figura 0.25 Diagrama de la UAL.

La propuesta era para una máquina que, aunque


«... Al considerar los órganos de cálculo de
«de propósito general», estaba concebida pensan-
una máquina computadora nos vemos natural-
mente obligados a pensar en el sistema de nume- do especialmente en su aplicación a problemas de
ración que debemos adoptar. Pese a la tradición cálculo científico. Cuando más tarde aparecieron
establecida de construir máquinas digitales con las primeras aplicaciones comerciales, se vio que
el sistema decimal, para la nuestra nos sentimos podía ser más eficiente hacer las operaciones arit-
más inclinados por el sistema binario...» méticas en decimal (aunque, desde luego, codifi-
cando los dígitos decimales en binario, es decir,
Luego de unas consideraciones para justificar
utilizando códigos BCD, como veremos en la Lec-
esta elección, muy ligadas a la tecnología de la
ción 3).
época (aunque podrían aplicarse también, en esen-
cia, a la tecnología actual), continúa con las venta-
jas del sistema binario: Unidades de entrada y salida
«... La principal virtud del sistema binario
frente al decimal radica en la mayor sencillez y «... Por último, tiene que haber dispositivos,
velocidad con que pueden realizarse las opera- que constituyen el órgano de entrada y de sali-
ciones elementales...» da, mediante los cuales el operador y la máqui-
na puedan comunicarse entre sí [...] Este órgano
«... Un punto adicional que merece resaltarse puede considerarse como una forma secundaria
es éste: una parte importante de la máquina no de memoria automática...»
es de naturaleza aritmética, sino lógica. Ahora
bien, la lógica, al ser un sistema del sí y del no, es
fundamentalmente binaria. Por tanto, una dispo- Las unidades de entrada y salida, o dispositivos
sición binaria de los órganos aritméticos contri- periféricos (que, abreviadamente, se suelen llamar
buye de manera importante a conseguir una má- o bien dispositivos o bien periféricos), represen-
quina más homogénea, que puede integrarse me-
tadas en la Figura 0.23 como un simple bloque
jor y ser más eficiente...»
(UE/S), pueden ser muchas y variadas. Se inclu-
«... El único inconveniente del sistema binario
yen entre ellas no sólo las que permiten la comu-
desde el punto de vista humano es el problema
de la conversión. Sin embargo, como se cono- nicación con las personas (teclado, pantalla, ratón,
ce perfectamente la manera de convertir núme- impresora, etc.), sino también las memorias secun-
ros de una base a otra, y puesto que esta con- darias (cintas, discos, etc.), como veremos en la
versión puede efectuarse totalmente mediante la Lección 5.
32 Lección 0. Modelos y niveles

Unidad de control «... Debe ser posible transferir datos de la me-


moria al órgano aritmético, y viceversa. En la
«... Si la memoria para órdenes es simplemente transferencia de la información desde el órgano
un órgano de almacenamiento, tiene que haber aritmético a la memoria hay que distinguir dos
otro órgano que pueda ejecutar automáticamente tipos: transferencias de números como tales y
las órdenes almacenadas en la memoria. A este transferencias de números que forman parte de
órgano le llamaremos el control ...» órdenes. El primer caso es bastante obvio y no
necesita mayor explicación. El segundo es más
La UC examina las instrucciones («órdenes») sutil y sirve para explicar la generalidad y sen-
almacenadas en la memoria y genera las seña- cillez del sistema. Consideremos, a modo de ilus-
les («microórdenes»)38 precisas para que las otras tración, el problema de la interpolación. Supon-
unidades ejecuten lo que indica la instrucción. gamos que hemos formulado las instrucciones ne-
cesarias para realizar una interpolación de orden
microórdenes dirección de dato dirección de la n en una secuencia de datos. La posición exacta
(a la UAL, la MP (a la MP instrucción dentro de la memoria de las (n+1) cantidades que
y/o las UE/S) o las UE/S) siguiente (a la MP) pueden corresponder al valor funcional deseado
es función de un argumento. Y este argumento es,
probablemente, el resultado de una computación
en la máquina. Así pues, necesitamos una orden
UC que pueda sustituir un número dentro de una de-
terminada orden — en el caso de la interpolación,
la posición del argumento o del grupo de argu-
mentos más próximo en nuestra tabla al valor de-
instrucción (de la MP) seado —. Por medio de tal orden, los resultados
de un cálculo se pueden introducir en las instruc-
Figura 0.26 Unidad de control. ciones que realizan esa u otra computación dife-
rente. Esto hace posible que una secuencia de ins-
trucciones se pueda utilizar con diferentes con-
«... Tiene que ser posible extraer números de juntos de números localizados en diferentes par-
cualquier parte de la memoria en cualquier mo- tes de la memoria...»
mento. Sin embargo, en el caso de las órdenes, el «... En resumen, las transferencias a la memo-
tratamiento puede ser más metódico, puesto que ria serán de dos tipos: sustituciones totales, con
las instrucciones de control se pueden poner, por las que la cantidad previamente almacenada que-
lo menos parcialmente, en secuencia lineal. En da borrada y sustituida por un nuevo número, y
consecuencia, el control se construirá de forma sustituciones parciales con las que la parte de una
que normalmente proceda de la posición n de me- orden que contiene un número de posición de me-
moria a la posición (n+1) para su siguiente ins- moria — suponemos que las distintas posiciones
trucción...» de memoria están numeradas consecutivamente
por números de posición de memoria — queda
Tras la ejecución de una instrucción que está al- sustituida por un nuevo número de posición de
macenada en la palabra de dirección d de la me- memoria...»
moria, la siguiente a ejecutar es, normalmente, la Estos dos párrafos aluden a una técnica a la que
almacenada en la dirección d + 1 (las excepciones había que recurrir en las primeras máquinas para
son las instrucciones de bifurcación, que comenta- recorrer zonas de memoria: la modificación de ins-
remos luego, al hablar de los programas). trucciones. Posteriormente se introdujeron otros
38
Cómo la unidad de control genera estas microórdenes es
mecanismos, que estudiaremos a partir de la Lec-
ya algo propio del nivel de microarquitectura, a lo que dedi- ción 2, con los que se resuelve el mismo problema
caremos la Segunda Parte. de forma más segura y cómoda, pero la posibili-
0.8 Un último ejemplo: la «máquina de von Neumann» 33

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

Programas 0.9. Estructura y contenido del libro


«... La utilidad de un computador automáti-
co radica en la posibilidad de utilizar repetida- Este libro se centra en los niveles superiores al
mente una secuencia determinada de instruccio- de circuito lógico. La Primera Parte se dedica al
nes, siendo el número de veces que se repite o nivel de máquina convencional, la Segunda al de
bien previamente determinado o bien dependien- microarquitectura, y la Tercera al de máquina ope-
te de los resultados de la computación. Cuando rativa, con algunos ingredientes del nivel de má-
se completa cada repetición hay que seguir una u quina simbólica.
otra secuencia de órdenes, por lo que en la ma-
Se añaden tres Apéndices. El primero resume
yoría de los casos tenemos que especificar dos se-
cuencias distintas de órdenes, precedidas por una algunos elementos sobre codificación, sistemas de
instrucción que indique la secuencia a seguir. Es- numeración y aritmética binaria, necesarios para
ta elección puede depender del signo de un núme- la Lección 3. El segundo recoge los conceptos bá-
ro (el cero representará “positivo” a efectos in- sicos (necesarios para la Segunda Parte) sobre el
ternos en la máquina). En consecuencia, introdu- nivel de circuito lógico. Y en el tercero se presen-
cimos una orden (la orden de transferencia con- tan alfabéticamente las traducciones de términos
dicionada) que, dependiendo del signo de un nú- ingleses comentadas en los Apartados de «Obser-
mero determinado, hará que se ejecute la rutina
vaciones terminológicas».
apropiada de entre las dos...»
Cada Parte consta de ocho Lecciones en las que
«... Frecuentemente, dos secuencias distintas
de órdenes terminan en una rutina común. Por
se desarrollan modelos funcionales, estructurales
tanto, es preciso indicar al control que en ambos y procesales en el nivel correspondiente. Estos
casos siga desde el punto de comienzo de la ruti- modelos se particularizan dando lugar a una gran
na común. Esta transferencia incondicionada pue- diversidad de detalles cuando se aplican a orde-
de llevarse a cabo bien por el empleo artificial de nadores reales. Nuestro enfoque es conceptual: se
una transferencia condicionada o bien mediante trata de formar conceptos básicos y generales que
la introducción de una orden explícita para tal el lector pueda posteriormente aplicar a máquinas
transferencia...»
concretas con las que tenga que trabajar. Por eso,
Es decir, los programas constan de una secuen- no describimos ningún ordenador real (salvo algu-
cia de instrucciones que se almacenan consecuti- nos detalles, en algunos de los Ejercicios).
vamente en la memoria. Normalmente, tras la eje- Ahora bien, los conceptos y los modelos gene-
cución de una instrucción se pasa a la siguiente. rales sólo se asientan bien mentalmente si se con-
Pero en ocasiones hay que pasar no a la instrucción cretan con estudios de casos. Definiremos para es-
almacenada en la dirección siguiente, sino a otra, to máquinas ficticias especialmente pensadas para
almacenada en otra dirección. Para poder hacer tal concentrarse en lo esencial y no perderse en los
cosa están las instrucciones de transferencia de detalles de las máquinas reales. Con «Símplez»
control, o instrucciones de bifurcación40 . y «Símplez+i4», las más elementales, introducire-
Para completar el modelo funcional sería preci- mos lo más básico. «Algorítmez», algo más ela-
so especificar todas las instrucciones, explicando borada, nos permitirá presentar muchas de las ca-
para cada una su código de operación y lo que hace racterísticas que se encuentran en la realidad, en
la instrucción. Esto es lo que haremos en la Lec- el nivel de máquina convencional y en el de mi-
ción 1, con una máquina muy similar a la descrita cromáquina; asimismo, se utilizará, en la Tercera
en este documento que hemos comentado. Parte, para entrar en el nivel de máquina operativa.
40
Como veremos en la Lección 4, las instrucciones de bi-
Finalmente, «Regístrez» incluye ya prácticamente
furcación son un caso particular de las de transferencia de todos los mecanismos de una arquitectura y una
control. microarquitectura reales.
0.9 Estructura y contenido del libro 35

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

Figura 0.28 Diagrama de dependencias entre las Lecciones.

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

la Lección 3), ideas básicas de la «arquitectura de • Introducción a los sistemas operativos en


von Neumann» y de programación en ese nivel. la asignatura «Arquitectura de ordenadores», de
• En el nivel de microarquitectura (entrada a la cuarto curso, con las Lecciones 18 a 20 (Mono-
Lección 12), conceptos de transferencias entre re- algorítmez y Multialgorítmez).
gistros y control. (Pero obsérvese también que las
Lecciones 13 y 14 son dependientes de la 6).
0.10. Resumen
Las dos Lecciones sobre Regístrez (8 y 16) pue-
den estudiarse con bastante independencia de las Los ordenadores son sistemas complejos que
demás si se dispone de una buena base de conoci- pueden estudiarse, diseñarse o utilizarse desde dis-
mientos sobre los niveles de máquina convencio- tintos puntos de vista. Estos puntos de vista pue-
nal y microarquitectura. den situarse en una jerarquía de niveles de abstrac-
Como ejemplos de adaptación del material a di- ción. Los niveles de esta jerarquía aparecen en la
ferentes necesidades, lo hemos utilizado en: Figura 0.22. Y dentro de cada nivel se puede des-
• Un curso básico sobre estructura y funciona- cribir la función (mediante un modelo funcional),
miento de los ordenadores impartido dentro de un la estructura (mediante un modelo estructural) o el
programa de reconversión de titulados superiores a funcionamiento (mediante un modelo procesal).
las tecnologías de la información. Un curso sobre En las descripciones de ordenadores se utilizan
programación (con Pascal) y otro sobre circuitos frecuentemente los tres modelos, como hemos po-
lógicos precedían a éste. El objetivo era impartir dido ver al comentar la descripción clásica de la
conocimientos imprescindibles a futuros usuarios «máquina de von Neumann».
de los niveles de máquina convencional, máquina Una vez fijado este marco conceptual, se pue-
operativa y/o máquina simbólica. Para un total de de situar en él el contenido del libro. Es lo que se
sesenta horas lectivas, se siguieron las Lecciones resume en la Figura 0.28.
1, 2, 3, 4, 9, 10, 11, 17, 21 y 22. Terminaremos con una reflexión acerca de la se-
• La asignatura «Fundamentos de Ordenadores», cuencia de estudio de los modelos en distintos ni-
incluida en el segundo curso del plan de estudios veles. Podría pensarse en recorrer la jerarquía or-
de la Escuela Técnica Superior de Ingenieros de denadamente, en sentido ascendente o descenden-
Telecomunicación de Madrid. Es una asignatura te, de manera indiferente. En efecto, en principio
cuatrimestral de seis créditos cuyos alumnos han cada nivel debería poder estudiarse independien-
estudiado previamente programación (con Java) y temente de los demás: basta con conocer los mo-
electrónica digital. El contenido de «Fundamentos delos funcionales del nivel inmediatamente infe-
de ordenadores» (que se amplía en «Arquitectura rior. Aquí, sin embargo, empezamos en el nivel de
de ordenadores») junto con el de «Fundamentos máquina convencional, luego «descendemos» al
de programación», es el pilar básico para varias de microarquitectura y finalmente «nos elevamos»
de las asignaturas incluidas en la especialidad de a los de máquina operativa y máquina simbólica.
Telemática: «Ingeniería del software», «Softwa- Las flechas de la Figura 0.28 sugieren esta trayec-
re de comunicaciones», «Sistemas operativos dis- toria, que tiene una justificación: las ideas básicas
tribuidos», «Bases de datos», etc. En los últimos de los modelos funcional, estructural y procesal en
años hemos seguido, esencialmente, la siguiente el nivel de máquina convencional propuestos por
secuencia de Lecciones: 1, 2, 9, 10, 11 (Símplez), von Neumann aún se conservan, a pesar de la gran
3, 4 (variaciones), 6, 7 (Algorítmez), 12 y 15 (mi- evolución tecnológica posterior, y su fuerza es tal
cromáquina y microarquitectura). Esto representa, que determinan de manera fundamental la mayo-
aproximadamente, el 40 % del texto. ría de los modelos en los otros niveles.
0.11 Observaciones terminológicas 37

0.11. Observaciones terminológicas o de «funcionamiento» para referirse a lo que nosotros


llamamos «modelo procesal». La adecuación del tér-
A lo largo del libro aparece con frecuencia el tér- mino al concepto parece clara: «procesal» es «pertene-
mino genérico «máquina» para designar a un tipo par- ciente o relativo al proceso».
ticular de máquina, el ordenador. No es más que una Algunos de los nombres de los niveles de máqui-
sinécdoque para eludir la reiteración. nas requieren comentario. «Nivel de máquina conven-
Muchos autores de lengua castellana rechazan la de- cional» es una expresión introducida por Tanenbaum
nominación «ordenador», y hablan de «computador» en un texto clásico que referenciamos más adelante. El
o «computadora». Éstos son, además, los términos prefijo «micro» en el «nivel de micromáquina» («nivel
utilizados habitualmente en los países americanos de de microprogramación», según Tanenbaum) sólo se re-
habla española. «Ordenador» tiene origen francés: lo fiere a un mayor grado de resolución, o de detalle, que
introdujo Jacques Perret con motivo de la presentación el propio del nivel de máquina convencional; es decir,
en Europa del IBM 701 (Elgozy, 1970)41 . no guarda relación alguna con el tamaño físico de la
Según Edgar Morin (1977), «[...] el término francés máquina (Apartado 9.1). El «nivel de máquina operati-
‘ordinateur’—que expresa tanto la emisión de órdenes va» es el que corresponde a una máquina acompañada
como la puesta en orden—completa el término anglo- de unos programas que constituyen lo que se llama un
sajón ‘computer’, que expresa el tratamiento de la in- «sistema operativo». Cabe discutir si «sistema operati-
formación. Se trata de un aparato de mando». Podemos vo» es una traducción acertada de operating system42 ,
añadir que «computador» evoca las aplicaciones exclu- pero es la utilizada por todos los hispanohablantes (y
sivamente numéricas para las que se diseñaron los pri- consagrada por la R.A.E.). Finalmente, el «nivel de má-
meros ordenadores, mientras que actualmente, y cada quina simbólica» implica que la máquina procesa sím-
vez más, la mayor parte del procesamiento que se rea- bolos o, lo que es igual, el lenguaje que corresponde a
liza con ordenadores es de naturaleza simbólica. la máquina está definido sobre un alfabeto de símbolos
Hemos procurado buscar las traducciones más idó- más rico que «{0,1}» (véase el Apartado 17.6).
neas para los términos técnicos. Entre las excepciones En las descripciones de los años 40 y 50 se utiliza-
(palabras que dejamos en inglés para no perturbar la ba la palabra «orden» como sinónimo de «instrucción».
comprensión) están «hardware» (para el conjunto de Por eso, se llamaron «microórdenes» a las señales ge-
componentes físicos que constituyen el ordenador) y neradas por la UC para gobernar a las otras unidades, y
«software» (para los programas), que son los únicos esta denominación sí se ha conservado, diferenciándo-
utilizados en el mundo profesional y hasta en la cultura la de «microinstrucción», como veremos en la Segun-
popular. Se han propuesto traducciones, como «mate- da Parte. Asimismo, se hablaba de «dígito binario»; el
rial» y «logical» (influidas por las francesas «materiel» término «bit», como contracción de «binary digit», lo
y «logiciel»), «soporte físico» y «soporte lógico», pero propuso John Tukey en 1949 (frente a otras alternati-
su aceptación ha sido escasa. vas que también se contemplaron: «bigit», «binit»...)
«Implementar» es, según el D.R.A.E., «poner en (Howe, 2004).
funcionamiento, aplicar métodos, medidas, etc., para En muchos textos y manuales escritos en español se
llevar algo a cabo». Como hemos podido ver en esta utilizan las abreviaturas CPU (por «Central Processing
Lección, el término adquiere un significado específi- Unit»), ALU (por «Arithmetic and Logic Unit») y MM
co en el contexto de la jerarquía de niveles de abstrac- (por «Main Memory») en lugar de UCP, UAL y MP,
ción: en cada nivel, implementar es concretar estructu- respectivamente.
ralmente, mediante componentes del nivel inferior, un El D.R.A.E. dice que un «chip» es un «pequeño cir-
sistema descrito funcionalmente. cuito integrado que realiza numerosas funciones en or-
«Procesal» no es un adjetivo que se utilice habitual- denadores y dispositivos electrónicos», y para «proce-
mente en el campo de los ordenadores, donde general- sador» da una definición aún más sorprendente: «uni-
mente se habla de «descripción del comportamiento»
42
A «operativo» («dícese de lo que obra y hace su efec-
41
De ahora en adelante las referencias a las fuentes apare- to») le corresponde en inglés «operative». El verbo «operate»
cen con el nombre del autor y el año. Los datos completos, or- debería traducirse por «hacer funcionar» o «explotar». Hace
denados alfabéticamente por autores, están en «Referencias», años se decía «sistema de explotación» (y su equivalente en
al final del libro. francés sí se ha conservado).
38 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

los animales no lo consumiesen, crecería TN = KN × fN (A/P );


exponencialmente: dP
dt = K · P TM = KM × fM (A/P )
(c) Los animales, cuando hay alimento suficien- Tecnología, T . Aumenta con una tasa de inno-
te, consumen el pasto con una tasa constan- vaciones tecnológicas, TT , proporcional al
te, TC , que se mide en Kg/(individuo·año). producto A × P .
(d) Se considera que hay alimento suficiente si Elabore, primero, un modelo estructural (diagra-
la cantidad de pasto para cada herbívoro, ma causal). Después, un modelo procesal (ecua-
PH = P/H, es igual o superior a 10 ciones diferenciales). Parece razonable que las
Kg/individuo. Definimos una variable au- funciones fF , fN y fM no sean lineales; dibuje
xiliar, DP , que representa la deficiencia de las formas aproximadas que podrían tener.
pasto por animal, del siguiente modo: 4. Un detector de paridad es un sistema digital con
DP = 0 si PH ≥ 10 una entrada y una salida, ambas binarias. El valor
DP = 1 − PH /10 si PH < 10 de la salida debe ser «0» si el número total de
(e) En condiciones de alimento insuficiente se «1» que se han introducido a la entrada, desde que
producen los siguientes fenómenos: comenzó a funcionar, es par (o ninguno), y «1»
si es impar. Obtenga un modelo procesal de este
• La tasa de mortalidad aumenta en una
sistema expresado en las mismas formas que el de
cantidad proporcional a DP , con una cons-
la Figura 0.16.
tante de proporcionalidad KM .
5. Mi perro tiene un carácter de ordinario apacible.
• La tasa de natalidad disminuye en una
Normalmente está tranquilo, y en cualquier caso
cantidad proporcional a DP , con una cons-
puede devolvérsele a ese estado ofreciéndole un
tante de proporcionalidad KN .
hueso. Si huele a un desconocido, ladra y se pone
• La tasa de consumo de pasto por animal nervioso. Si se intenta quitarle un hueso gruñe y
se divide por (1 + KP × DP ). se irrita. Si yo le regaño se queda tranquilo, pero
si es un desconocido se pone nervioso e irritado.
Con todos estos datos, elabore un modelo cuali- Cuando está nervioso e irritado, muerde. He lle-
tativo en forma de diagrama causal y un mode- gado a la conclusión de que se puede prever su
lo procesal en forma de ecuaciones diferenciales. comportamiento con un modelo procesal que tie-
Analice cualitativamente la dinámica del sistema ne en cuenta cinco entradas, cuatro estados y tres
(también puede simularlo en un ordenador), y ra- salidas. ¿Qué modelo es ése? (Problema adaptado
zone si con este modelo podría explicarse la ex- de Gilbert, 1976).
tinción de los dinosaurios.
6. Explorando un lugar lejano y misterioso, descu-
3. Se pretende establecer un modelo básico para el bre usted un extraño artilugio de origen descono-
estudio de la dinámica de una población limitada cido. Es una caja negra y hermética cuya mono-
por la cantidad total de alimentos, pero tal que la tonía sólo se ve interrumpida por la presencia de
población, además de consumir alimentos, puede tres elementos: una palanca en su parte frontal y
influir en su elaboración por medio de innovacio- dos protuberancias, una verde (V) y otra roja (R)
nes tecnológicas. Se consideran las siguientes va- en su parte superior. La palanca está bajada (b),
riables como principales: pero parece admitir dos posiciones: arriba (a) y
abajo (b). Por su aspecto, diríase que las protube-
Alimentos, A. Disminuye según una tasa de rancias son luces, aunque en este momento están
consumo de alimentos, TC , proporcional a apagadas. Más curioso que precavido, decide us-
la población, y aumenta con una tasa de fa- ted experimentar, y comprueba que, en efecto, al
bricación de alimentos, TF , función del ni- mover la palanca se desencadena una secuencia
vel de tecnología: TF = KF × fF (T ) de apagados y encendidos de las lámparas, con
Población, P . Las tasas de natalidad (TN ) y de un período de un minuto. Toma nota de todas sus
mortalidad (TM ) dependen de la cantidad acciones sobre la palanca y de sus efectos, y, codi-
de alimentos por persona: ficando los efectos observados así:
44 Lección 0. Modelos y niveles

00: luces apagadas, ¿Cambian estas nuevas observaciones sus


01: V apagada, R encendida, hipótesis sobre el sistema? ¿Qué nuevas in-
10: R apagada, V encendida, vestigaciones puede hacer, y qué otros mo-
11: las dos encendidas, delos podría proponer?

registra el siguiente comportamiento: 7. La Figura 0.28 es un modelo de este libro. ¿De


qué tipo? Identifique sus aspectos sintácticos, se-
instante palanca luces mánticos y pragmáticos.
0 b 00
1 a 01 8. En el Apartado 0.3 se sugería que el «programa
2 a 10 principal» de la Figura 0.8(c) podría modificarse
3 a 00 automáticamente para que el sistema mejorase su
4 a 01 comportamiento, y, de este modo, «aprendiese».
5 b 10 Trate el lector de extraer sus propias conclusio-
6 a 01 nes, teniendo en cuenta conocimientos básicos de
7 a 10 la psicología: refuerzo (premio y castigo), repre-
8 b 11 sentación del conocimiento, etc., y de extrapolar
9 a 10 (por ejemplo, ¿cuándo podría decirse que el siste-
10 b 11 ma «comprende»?).
11 b 01 9. Trate de reconstruir algunas de las consideracio-
12 b 00 nes que cabe imaginar que se hicieran von Neu-
13 b 00 mann y sus colaboradores. Por ejemplo, habiendo
14 a 01 llegado a la conclusión de fijar en veinte bits la
15 a 10 longitud de las instrucciones, analice las distin-
16 a 00 tas alternativas de diseño en cuanto a número de
17 b 00 instrucciones diferentes y capacidad de memoria
18 a 01 direccionable.
19 a 10
20 b 11 10. Continuando con el tipo de Ejercicio anterior, su-
21 b 01 ponga que se planteasen otro formato de instruc-
22 b 00 ciones, en el que hubiese tres campos: CO, CD1
y CD2, donde CD1 y CD2 indican direcciones de
(a) Establezca un modelo procesal que explique MP en las que se encuentran dos operandos. Las
este comportamiento, y un modelo estruc- instrucciones que operan sobre dos operandos de-
tural que pueda servir de base para la im- jan el resultado en la palabra de memoria inicial-
plementación, con nuestra tecnología, de un mente ocupada por el primero de ellos. ¿Qué ven-
sistema que muestre el mismo comporta- tajas y qué inconvenientes tendría este tipo de or-
miento. ¿Podríamos asegurar que tiene el denador con respecto al anterior?
mismo modelo funcional? 11. Identifique, en cada uno de los niveles de la Fi-
(b) Sigue usted experimentando y observa esto: gura 0.22, los elementos característicos de cada
nivel de abstracción que se han enunciado en el
instante palanca luces Apartado 0.6.
23 b 00
24 a 11 12. Según algunos oráculos (no carentes de funda-
25 a 10 mento) una tecnología basada en moléculas or-
26 a 10 gánicas podría sustituir a la actual de los semi-
27 b 01 conductores. Especule sobre la validez, tras esta
28 b 00 eventual mutación tecnológica, de la jerarquía de
la Figura 0.22.

También podría gustarte