Vous êtes sur la page 1sur 11

Notas y

Transparencias de
Arquitectura
de Computadores
Paco Aylagas
Universidad Politcnica de Madrid

Departamento de
Informtica
Aplicada
CPU
Memorias
Controladores
de E/S
Arquitectura de Computadores Notas y Transparencias - ii














I.S.B.N.: 84-96244-99-7
Depsito Legal: M-33299-2006
Edita y distribuye:
Departamento de Publicaciones de la
Escuela Universitaria de Informtica
de la Universidad Politcnica de Madrid




















BAJO EL PATROCINIO DE LA FUNDACIN GENERAL DE LA
UNIVERSIDAD POLITCNICA DE MADRID
Reservados todos los derechos.
Prohibida la reproduccin parcial o
Total sin autorizacin.
Arquitectura de Computadores Notas y Transparencias - iii



PRLOGO

Estas Notas y Transparencias no pretenden en modo alguno servir de alternativa a
cualquiera de los libros de texto indicados en la bibliografa de la asignatura. Slo son las
transparencias de clase con sus notas y comentarios de un curso de 30 horas de
introduccin a la Arquitectura de Computadores, y simplemente intentan servir de apoyo a
las explicaciones dadas en clase.

Para cualquier duda o ampliacin sobre los temas aqu tratados, se recomienda utilizar las
fuentes bibliogrficas que se citan. En las pginas que siguen se encuentra, muy detallado,
el programa de la asignatura, indicando en cada captulo y apartado la fuente bibliogrfica
que se ha utilizado para la confeccin de estas Notas y Transparencias.



Agradecimientos
Estas Notas y Transparencias de Arquitectura de Computadores se han realizado gracias a
los textos citados en la Bibliografa, por ello, quiero dejar sentado que el principal mrito de
estos apuntes se debe a los autores de las correspondientes fuentes bibliogrficas, los
cuales me han servido de gua y fuente en la realizacin de estas notas. Espero, no
obstante, que alguna explicacin o ejemplo de mi propia cosecha tambin ayude a
comprender los conceptos bsicos de la Arquitectura de Computadores.

Quiero dar las gracias a Javier Garca por la ayuda de sus propios apuntes; a Pilar
Manzano y Andrs Sevilla por la revisin general, y a Soledad Delgado por su estupenda
revisin y correccin del tema de memoria cach; a Pablo Carazo y a Jos Luis Esteban,
que hicieron las transparencias originales del Motorola 68000; y tambin a los dems
compaeros y alumnos que con sus comentarios, correcciones de erratas y sugerencias de
todo tipo han ayudado en gran manera a que estas Notas y Transparencias vean la luz.

Junio de 2008
Arquitectura de Computadores Notas y Transparencias - iv
Arquitectura de Computadores Notas y Transparencias - v
Contenido y Referencias Bibliogrficas


1. Introduccin
1.1. Qu es la Arquitectura de Computadores?
1.2. Perspectiva Histrica
1.3. Estructura Bsica de un Ordenador
1.4. Clasificacin de las arquitecturas
2. La CPU
2.1. Estructura de la CPU
2.2. Ciclo de Instruccin
2.3. Interfaz hardware de una CPU
2.4. Ciclo de Reloj, Memoria e Instruccin
3. Lenguaje Mquina
3.1. Visin del Programador
3.2. Formato de las Instrucciones
3.3. Modos de Direccionamiento
3.4. Instrucciones Tpicas
3.5. Un Ejemplo: Motorola 68000
4. La Memoria
4.1. Jerarqua de Memoria
4.2. La Memoria Principal
4.3. Interconexin CPU - Memoria
5. Sistemas de Entrada/Salida
5.1. Estructura de un Sistema de E/S
5.2. Los Mtodos de E/S
5.3. E/S por Sondeo (polling)
5.4. E/S por Interrupciones
5.5. E/S por Acceso Directo a Memoria (DMA)
6. Segmentacin (Pipelining)
6.1. Conceptos bsicos
6.2. Causas de ralentizacin
7. Memoria Cach
7.1. Fundamento e introduccin
7.2. Estructura de una memoria cach
7.3. Polticas de ubicacin
7.4. Polticas de sustitucin
7.5. Polticas de escritura
7.6. Otras consideraciones
7.7. Casos: Pentium, PowerPC y Motorola
8. Arquitecturas RISC
8.1. Evolucin de las Arquitecturas CISC
8.2. Anlisis de los Programas
8.3. Principios y Caractersticas de las Arquitecturas RISC
8.4. Diseo de los Procesadores Actuales
8.5. Algunos Procesadores RISC




Arquitectura de Computadores Notas y Transparencias - vi
1. Introduccin

1.1. Qu es la Arquitectura de
Computadores?
Van de Goor 1.1.1; Stallings 1.1
1.2. Perspectiva Histrica Hayes 1.2 y 1.3; Tanenbaum 1.2; Stallings 2;
1.2.1. Los Microprocesadores
Tanenbaum (3
rd
. ed.) 1.5.6 y 1.5.7;
Stallings pag. 38, 2.3 (Pentium y PowerPC)
1.3. Estructura Bsica de un Ordenador
1.3.1. Mquina de von Neumann
Hayes pag. 20; Stallings 2.1; Tanenbaum 1.2.2
1.3.2. Esquema general de un ordenador
Hamacher 1.1; Stallings 3.1; Tanenbaum 2
1.4. Clasificacin de las arquitecturas Hwang 1.1.3 (Flynns classification)
2. La CPU

2.1. Estructura de la CPU Stallings 3.2, 11.1, 11.2; Tanenbaum 2.1.1;
Hamacher 3.1
2.2. Ciclo de Instruccin Tanenbaum 2.1.2; Stallings 10.1; 12.3; van de Goor
7.1; Hamacher 3.2
2.3. Interfaz hardware de una CPU Tanenbaum 3.4.1
2.4. Ciclo de Reloj, Memoria e
Instruccin

3. Lenguaje Mquina

3.1. Visin del Programador
3.2. Formato de las Instrucciones Stallings 11.3; Instruction set design (p. 330);
Tanenbaum 5.3
3.2.1. Consideraciones de diseo
Tanenbaum 5.3.1; Stallings 10.3
3.2.2. Cdigos de operacin con
extensin
Tanenbaum 5.3.2
3.3. Modos de Direccionamiento Stallings 11.1; Tanenbaum 5.4; van de Goor 5.2
3.3.1. La Pila
Tanenbaum 5.4.8; Stallings apndice 10-A
3.4. Instrucciones Tpicas Stallings 10.4; Tanenbaum 5.5, 5.6;
Desplazamientos y rotaciones: van de Goor 6.3
3.4.1. Llamadas a procedimientos
Tanenbaum 5.6.2; Stallings p. 373
3.5. Un Ejemplo: Motorola 68000
3.5.1. Organizacin de la memoria
Clements 2.2 (Address Registers)
Arquitectura de Computadores Notas y Transparencias - vii
3.5.2. Registros internos
Clements 2.2; Acarreo y Overflow: Hamacher 6.2 y
6.4
3.5.3. Modos de direccionamiento
Clements 2.3
3.5.4. Repertorio de instrucciones
Clements 2.4 - 2.7
3.5.5. Excepciones e interrupciones
Clements 6. Una introduccin en van de Goor A.4
4. La Memoria

4.1. Jerarqua de Memoria Hamacher 5.1; Stallings 4.1 (The Memory Hierarchy)
4.2. La Memoria Principal
4.2.1. Tipos de memorias
Stallings 5.1; Tanenbaum p. 110-111
4.2.2. La memoria principal
Stallings 1.1
4.2.3. Organizacin y orden
Tanenbaum 2.2.2, 2.2.3; Stallings 10-B
4.2.4. Interfaz de una pastilla de
memoria
Stallings 4.1 (Encapsulado de los Chips)
4.2.5. Cronogramas de lectura y
escritura
Tanenbaum 3.4.4
4.3. Interconexin CPU - Memoria
4.3.1. El mapa de memoria

4.3.2. Organizacin de mdulos de
memoria
Stallings 5.1 (Lgica del Chip y Organizacin en
Mdulos; Tanenbaum 3.3.4
4.3.2.1. Agrupacin por longitud de palabra

4.3.2.2. Agrupacin por direcciones

4.3.3. Decodificacin de direcciones
Tanenbaum 3.7.2; Clements 5.1
4.3.4. Sistema basado en el MC68000

4.3.4.1. Ciclos de lectura y escritura
Clements 4.2; Garca Guerra 6.4
4.3.4.2. Conexin de memoria y
decodificacin
Clements Fig. 5.6
5. Sistemas de
Entrada/Salida

5.1. Estructura de un Sistema de E/S van de Goor 11.1; Tanenbaum 2.4.1;
Garca Guerra 3.2
5.1.1. Controlador de dispositivo
Stallings 7.2
5.1.2. Software de Entrada/Salida
van de Goor 11.3
5.1.3. Acceso a los dispositivos de E/S
Garca Guerra 3.5; Hamacher 4.1
Arquitectura de Computadores Notas y Transparencias - viii
5.1.3.1. Espacio de direccionamiento de E/S

5.1.3.2. Espacio de E/S mapeado en
memoria

5.2. Los Mtodos de E/S Garca Guerra 3.6; Tanenbaum 5.5.7
5.3. E/S por Sondeo (polling) van de Goor 11.4.1; Garca Guerra 3.7
5.4. E/S por Interrupciones Stallings 7.4; Hamacher 4.2
5.4.1. Qu es una interrupcin?
Hamacher 4.2; Tanenbaum 5.6.5;
Garca Guerra 3.8-3.9
5.4.2. Tipos de interrupciones
Garca Guerra 3.12; Tanenbaum 5.6.4, 5.6.5;
5.4.3. Niveles y mscaras de
interrupcin
Garca Guerra 3.10, 3.11, 3.15-3.17;
Hamacher 4.2.2-4.2.3
5.4.4. Reconocimiento y tratamiento de
una int.
Stallings 7.4 (Procesamiento de la Interrupcin);
Garca Guerra 3.14; Hamacher 4.2.1
5.4.5. Esquema de E/S por
interrupciones
Hamacher 4.3.3
5.5. E/S por Acceso Directo a Memoria
(DMA)
Stallings 7.5; Wakerly 11.5.1; Hamacher 4.4;
Garca Guerra 3.18; Tanenbaum 5.5.7
5.5.1. Polticas de reparto del bus
Hayes 7.2.2
6. Segmentacin
(Pipelining)
Hamacher 7; van de Goor 14.8; Stallings 12.4;
Patterson 6
6.1. Conceptos bsicos Stallings 12.4 (Estrategia de segmentacin); van de
Goor 14.8; Hamacher 7.1
6.2. Causas de ralentizacin van de Goor 14.8 (ltimo prrafo); Stallings 12.4
6.2.1. Motivos estructurales
Stallings 12.4
6.2.2. Dependencias de datos
van de Goor 14.8.1; Hamacher 7.1.2 y 7.4;
6.2.3. Bifurcaciones
van de Gor 14.8.3; Hamacher 7.3; Stallings 12.4
(Tratamiento de Saltos)
7. Memoria Cach

7.1. Fundamento e introduccin Hamacher 5.5
7.2. Estructura de una memoria cach van der Goor 14.6.1; Stallings 4.2
7.3. Polticas de ubicacin Stallings 4.3 (Funcin de Correspondencia);
Hamacher 5.5.1, 5.5.3
7.3.1. Correspondencia directa

7.3.2. Correspondencia asociativa

Arquitectura de Computadores Notas y Transparencias - ix
7.3.3. Correspondencia asociativa de
conjuntos

7.4. Polticas de sustitucin van de Goor pag. 419; Hamacher 5.5.2;
Hennessy 5.2 Q3
7.4.1. Basadas en la estadstica

7.4.2. No basadas en la estadstica

7.5. Polticas de escritura Hennessy 5.2 Q4; Stallings 4.3 (Poltica de
Escritura);
7.5.1. Polticas de actualizacin

7.5.2. Falta de cach en escritura

7.6. Otras consideraciones
7.6.1. Tamao de la cach
Stallings 4.3 (Tamao de Cach);
7.6.2. Tamao de bloque
Stallings 4.3 (Tamao de Lnea); van der Goor 14.6.2
(Line & cach size); Hennessy pag. 393
7.6.3. Nmero de cachs
Stallings 4.3 (Nmero de caches); Hamacher 5.6.3;
Hennessy pag. 382
7.7. Casos: Pentium, PowerPC y
Motorola
Pentium y PowerPC: Stallings 4.4;
Motorola: Hamacher 5.5.4
8. Arquitecturas RISC

8.1. Evolucin de las Arquitecturas
CISC
van de Goor 15 y 15.1
8.2. Anlisis de los Programas van de Goor 15.2; Milutinovic 2.3.1; Stallings 13.1
8.3. Principios y Caractersticas de las
Arquitecturas RISC
van de Goor 15.3; Stallings 13.4; Milutinovic 2.3.1
8.4. Diseo de los Procesadores
Actuales
Tanenbaum 2.1.4
8.5. Algunos Procesadores RISC Hamacher 8 tiene una buen estudio comparativo.
8.5.1. MIPS
Kane 2; Stallings 13.6; Milutinovic 2.4.4;
Tanenbaum-3 8.1.6
8.5.2. PowerPC
Stallings 11.6 (5 ed.); Hamacher 8.3
8.5.3. Alpha AXP
Hamacher 8.4

Arquitectura de Computadores Notas y Transparencias - x
Bibliografa

La confeccin de estos apuntes est basada principalmente en libros de introduccin a la
Arquitectura de Computadores, no obstante, en algunos casos se ha recurrido a algunos
textos ms avanzados o especializados que han aportado algn dato o matiz de inters.
Tambin se incluyen aqu algunos textos avanzados que an no habiendo sido utilizados
para la realizacin de estos apuntes, los considero de inters para cualquier profundizacin
que se quiera hacer en esta materia.

Textos de Introduccin a la Arquitectura de Computadores.

Organizacin y Arquitectura de Computadoras (7 ed.)
William Stallings
Pearson Educacin, 2006

Computer Architecture and Design
A.J. van de Goor
Addison-Wesley, 1989

Structured Computer Organization (4
th
ed.)
Andrew S. Tanenbaum
Prentice-Hall, 1999

Computer Organization and Architecture (3
rd
. ed.)
John P. Hayes
McGraw-Hill, 1998

Computer Organization (4
th
ed.)
V. Carl Hamacher, Z. G. Vranesic, S. G. Zaky
McGraw-Hill, 1996

Computer Architecture. Concepts and Systems
Veljko M. Milutinovic
North-Holland, 1988

Sistemas Digitales. Ingeniera de los procesadores 68000
Antonio Garca Guerra
Centro de Estudios Ramn Areces, 1993

The Principles of Computer Hardware (3rd. Ed.)
Alan Clements
Oxford University Press, 2000


Textos Avanzados o Especializados de Arquitectura de Computadores.

Computer Organization and Design. The hardware and software interface.
David A. Patterson & John L. Hennessy
Morgan Kaufmann , 1994

Computer Architecture. A Quantitative Approach. (2
nd
. ed.)
John L. Hennessy & David A. Patterson
Morgan Kaufmann, 1996
Arquitectura de Computadores Notas y Transparencias - xi

Advanced Computer Architecture
Kai Hwang
McGraw-Hill,1993

Microprocessor Systems Design. 68000 Hw, Sw. and Interfacing (2
nd
. ed.)
Alan Clements
PWS-Kent Publising Company, 1992

Microcomputer Architectura and Programming. The 68000 family
John F. Wakerly
John Wiley & sons, 1989

The Architetcure of Pipelined Computers
Peter M. Kogge
Hemisphere Publishing, 1981

The Cache Memory Book
Jim Handy
Academic Press, 1998