Вы находитесь на странице: 1из 21

Universidad de Concepcin o Facultad de Ingenier a

Departamento Ingenier Informtica a a y Ciencias de la Computacin o

..

Apuntes de Arquitectura y Organizacin de Computadores o

Autor: Javier Vidal Valenzuela

Concepcin, Julio de 2007 o

Departamento Ingenier Informtica a a y Ciencias de la Computacin o Facultad de Ingenier a Universidad de Concepcin o

..

Apuntes de Arquitectura y Organizacin de Computadores o

Autor: Javier Vidal Valenzuela Concepcin, Julio de 2007 o

UNIVERSIDAD DE CONCEPCION FACULTA DE INGENIERIA


DEPARTAMENTO DE INGENIERIA INFORMATICA Y CIENCIA DE LA COMPUTACION

IDENTIFICACIN
Nombre de la asignatura Cdigo Nivel (semestre de carrera) Carrera N de crditos Duracin Pre-requisitos Co-requisitos N de horas tericas N de horas prcticas N de horas laboratorio : Arquitectura y Organizacin de Computadores : 503351 :7 : Ingeniera Civil Informtica :4 : Un semestre : 543205 : -:3 :0 :2

II

DESCRIPCIN : Este curso proporciona las bases para entender el funcionamiento interno de un sistema computacional moderno. Entre los tpicos cubiertos en el curso se incluyen la arquitectura de computadores y las tcnicas y mecanismos utilizados para maximizar su desempeo. El curso utiliza como ejemplo especfico el sistema RISC MIPS, lo que permitir trabajar con el lenguaje de ensambladores MIPS durante el transcurso del semestre. Esto proporcionar una nocin de cmo funcionan los sistemas a bajo nivel. Al final del curso el alumno conocer las caractersticas de los sistemas computacionales modernos y su incidencia en el desempeo de la mquina as como tambin la interaccin entre el hardware y el software. OBJETIVO GENERAL : Este curso provee las herramientas de anlisis para la evaluacin de las arquitecturas computacionales modernas. OBJETIVOS ESPECFICOS
-

III IV

: Al finalizar el curso el alumno ser capaz de: Entender los principios de un sistema computacional moderno. Familiarizarse con distintas alternativas de diseo con el respectivo impacto en el rendimiento del sistema. Entender y aplicar principios de evaluacin de desempeo de un sistema computacional Programar eficientemente un procesador a nivel de instrucciones de mquina.

1. Introduccin 1.1. Motivacin (arquitectura vs organizacin de computadores) 1.2. Componentes de un sistema computacional 1.3. Definiciones y terminologa 1.4. Interfaz hardware/software 1.5. Ley de Moore 1.6. Historia y evolucin de los computadores 2. Fundamentos del Diseo de Computadores 2.1. Rendimiento y Costos 2.2. Jerarquas de memoria 3. Arquitectura de conjunto de instrucciones (ISA) y programacin assembly 3.1. La arquitectura a nivel de instrucciones de mquina 3.2. Ejecucin de instrucciones 3.3. Operandos de instrucciones. Tipo y tamao 3.4. Mtodos de direccionamiento 3.5. Operaciones del repertorio de instrucciones 3.6. Tipos de instrucciones RISC vs CISC 4. Tcnicas para la Implementacin de Procesadores 4.1. Los Datapath del procesador

III

CONTENIDOS

UNIVERSIDAD DE CONCEPCION FACULTA DE INGENIERIA


DEPARTAMENTO DE INGENIERIA INFORMATICA Y CIENCIA DE LA COMPUTACION

5.

6.

7. 8.

9.

4.2. El ciclo de instruccin de las mquinas 4.3. Control cableado 4.4. Control microprogramado 4.5. Interrupciones Diseo de Memoria Principal y Secundaria 5.1. Las jerarquas de memoria. Principio de localidad 5.2. Cachs 5.3. Memoria principal 5.4. Memoria virtual 5.5. Proteccin de memoria 5.6. Optimizacin usando jerarquas 5.7. Discos 5.8. RAID 5.9. Memorias pticas Entradas y Salidas 6.1. Medidas de rendimiento de E/S 6.2. Tipos de dispositivos de E/S 6.3. Buses 6.4. Interfaces con la CPU y sistema operativo 6.5. Mtricas de desempeo Procesadores Vectoriales 7.1. Arquitectura vectorial bsica 7.2. Modelos de funcionamiento Procesamiento Paralelo 8.1. clasificacin de Flynn 8.2. SIMD, MIMD, SISD, MISD 8.3. Coherencia de cach y protocolo MESI Excepciones e interrupciones 9.1. Conceptos y diferencias 9.2. Manejo de excepciones 9.3. Relacin arquitectura con sistema operativo

V
-

METODOLOGA
Clases tericas o Presentacin de contenidos va Web o Resolucin de ejemplos y demos o Participacin activa del alumno desarrollando ejercicios Laboratorios o Desarrollo de trabajos prcticos o Proyectos en grupos (designados) o En algunos casos se podr exigir la presentacin de trabajos al curso

VI

EVALUACIN

La evaluacin de la asignatura incluye dos certmenes, un examen y un conjunto de tareas y test siendo la frmula de evaluacin final la siguiente: Nota Final = C1 * 0,25 + C2 * 0,25 + Tareas * 0,30 + Test * 0,20 La nota Tareas corresponde al promedio de entre 3 y 6 tareas que el alumno debe cumplir durante el semestre. Esta nota debe ser superior o igual a 4.0. El retraso en la entrega de cualquier tarea tendr una penalizacin de 10% por da, incluyendo fines de semana y feriados. Si el alumno no asiste a un certamen o no entrega una tarea en el plazo estipulado y no ha entregado una justificacin o no ha comunicado con anticipacin esta situacin, entonces ser calificado con nota final NCR.

UNIVERSIDAD DE CONCEPCION FACULTA DE INGENIERIA


DEPARTAMENTO DE INGENIERIA INFORMATICA Y CIENCIA DE LA COMPUTACION

VII Bsica

BIBLIOGRAFIA

John L. Hennessy-David A . Patterson. "Computer Organization & Design: The Hardware/Software Interface". Morgan Kaufmann, 3rd Edition, 2005 John L. Hennessy-David A . Patterson. "Arquitectura y Organizacin de Computadores. Un Enfoque Cuantitativo". McGraw-Hill, Segunda Edicin, 1996 William Stallings. "Organizacin y Arquitectura de Computadores". Prentice-Hall, 7ma Edicin, 2006. William Stallings. "Organizacin y Arquitectura de Computadores. Diseo Para Optimizar Prestaciones". Prentice-Hall, 5ta Edicin, 1997. Jaime Martnez G.- Jorge Olvera R. "Organizacin y Arquitectura de Computadores", Prentice-Hall, 2000. Andrew Tanenbaum, "Structured Computer Organization", Prentice Hall, Third edition, 1990. John Hayes. "Computer Architecture and Organization". McGraw-Hill Book Company, Second Edition, 1988. Web site http://www.inf.udec.cl/~arqorg

Indice general
Indice de Figuras Indice de Tablas 1. Introduccin o 1.1. Organizacin versus Arquitectura . . . . . . . . . . . . . . . . o 1.2. Evolucin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o Bibliograf a V VII 1 1 2 6

III

Indice de Figuras
1.1. Las generaciones de computadores y sus principales avances y caracter sticas . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2. Aumento de rendimiento de las mquinas top en cada ao . . a n 1.3. Aumentos de rendimiento diferenciado por tipos de mquina . a 3 4 4

Indice de Tablas

VII

Cap tulo

Introduccin o
1.1. Organizacin versus Arquitectura o

Arquitectura se reere a los atributos de un sistema computacional que son visibles a un programador, es decir, atributos que tienen un impacto directo en la generacin lgica de un programa (Stallings, 2000) o o Ejemplo: Conjunto de instrucciones de mquina a Tamao de tipos de datos bsicos (en bits) n a Mecanismos de E/S Tcnicas de direccionamiento e etc. Organizacin de computadores se reere a las unidades funcionales y sus o interconexiones, que materializan las especicaciones de la arquitectura. Son los detalles de hardware transparentes al programador. Ejemplo: Seales de control n Interfaces computador-perifricos e Tecnolog de memoria a 1

2 etc.

1.2. Evolucin o

Un ejemplo de decisin arquitectnica podr responder la pregunta el o o a sistema tendr instruccin de multiplicar?. Un ejemplo de decisin de orgaa o o nizacin podr responder la pregunta la instruccin de multiplicacin la o a o o aportar una unidad funcional especializada o se realizar iterativamente en a a la unidad de sumas?.

1.2.

Evolucin o

Alguno de los principales hitos de la historia de la computacin son: o J. Presper Eckert / John Mauchly construyeron el primer computador de propsito general en el mundo, el ENIAC (Electronic Numerical o Integrator and Calculator), ten 20 registros de 10 d a gitos cada uno y fue fabricado usando 18.000 tubos de vac La realizacin de una suma o. o tomaba 20 minutos. En 1949, Maurice Wilkes cre el EDSAC (Electronic Delay Storage o Automatic Calculator). El Mark I fue el primer prototipo operacional del EDSAC y fue liberado en 1948. En 1947 Eckert y Mauchly formaron la Eckert y Mauchly Computer Corporation, su primera mquina, el UNIVAC, fue liberada en 1951 a y fue adquirida en $250.000 por Remington-Rand y fue el primer computador comercial (se vendieron 48 mquinas). a El primer IBM se vendi en 1952, se trata del IBM 701, del cual se o vendieron 19 unidades. Son muchos ms los grandes logros obtenidos en computacin, el anteria o or es apenas un breve resumen. Por otro lado, es ampliamente aceptada la subdivisin de los avances en computacin en generaciones, los que tienen o o que ver principalmente con la tecnolog utilizada para la construccin de las a o mquinas, la tabla 1 resume las generaciones de computadores junto a los a detalles presentes en las mquinas de cada poca. a e Examinando los largos periodos transcurridos entre una generacin y otra o y tomando en cuenta la velocidad con la que avanza la computacin, se poo dr deducir que este avance no es slo producto de los cambios tecnolgicos, a o o

Cap tulo 1. Introduccin o

Figura 1.1: Las generaciones de computadores y sus principales avances y caracter sticas

sino que hay otro factor en el juego del aumento de rendimiento de los computadores, las innovaciones en su diseo. n Hacia nales de los 70s emerge el microprocesador, y con ello comienza el aumento vertiginoso en las ventas e incremento de rendimiento de los microcomputadores (PC, computadores personales). Por otro lado, existe una reduccin de costos, producto de la produccin o o masiva de microprocesadores, lo que permiti incrementar la cantidad de o computadores en uso basados en esta tecnolog a. Los aumentos de rendimiento se acercan a casi el 60 % anual (ver gura 1.2) y, por otro lado, los precios de estas mquinas disminuyen, lo que lleva a a las organizaciones a reemplazar sus minicomputadores, mainframes y, en general, sus grandes mquinas centralizadas, las que presentan aumentos de a rendimiento de menor envergadura (ver gura 1.3), por microcomputadores conectados a travs de redes y sistemas distribuidos, los que ofrecen tanta o e mejor eciencia que las mquinas centrales. Un ejemplo de lo dramtico del a a crecimiento: la estacin de trabajo con el rendimiento ms alto en 1993, una o a IBM Power2 exhib rendimiento comparable en la ejecucin de programas a o que ejecutaban clculos en punto otante (SPEC oating point benchmark) a y en el caso de programas que ejecutaban clculos sobre enteros al supera computador CRAY Y-MP, introducido en 1988. Se debe notar que la IBM Power2 costaba una dcima parte del valor de la Cray. e Concluyendo, el diseo de computadores es un area que se preocupa de n las innovaciones tecnolgicas y de poner en uso estas innovaciones, junto con o

Avances en computacin = Avances en tecnolog + Innovacin en el Diseo de Compu o a o n

1.2. Evolucin o

Figura 1.2: Aumento de rendimiento de las mquinas top en cada a o a n

Figura 1.3: Aumentos de rendimiento diferenciado por tipos de mquina a

Cap tulo 1. Introduccin o

lograr la mayor eciencia por parte del sistema. Diseo de computadores = Innovacin arquitectnica + Uso eciente de la tecnolog n o o a.

Bibliograf a

Bibliograf a
Stallings, W. (2000). Organizacin y Arquitectura de Computadores. Prentice o Hall, 5ta edition.

Вам также может понравиться