Arquitectura de Computadores II Clase #1

Documentos relacionados
Arquitectura de Computadores II Clase #1

1. Introducción a la Arquitectura de Computadoras

Introducción a la arquitectura de computadores

Unidad I: Organización del Computador. Ing. Marglorie Colina

Introducción. Universidad Nacional Tecnológica del Cono Sur de Lima JORGE AUGUSTO MARTEL TORRES 1

FUNCIONAMIENTO DEL ORDENADOR

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

Organización del Computador I. Introducción e Historia

Pontificia Universidad Católica del Ecuador

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik

PROGRAMA de Organización de Computadoras

Ing. Carlos Bacalla

Arquitectura de un computador

Estructura de un Ordenador

INDICE 1. Operación del Computador 2. Sistemas Numéricos 3. Álgebra de Boole y Circuitos Lógicos

ESTRUCTURA BÁSICA DE UN ORDENADOR

Estructura del Computador

ARQUITECTURA DE COMPUTADORAS

Tema: Microprocesadores

PROCESADORES. Existen 3 tipos de procesadores: DE GALLETA, DE PINES Y DE CONTACTO. DE GALLETA: se utilizaban en las board en los años 80 y 90.

UNIVERSIDAD NACIONAL FEDERICO VILLARREAL FACULTAD DE INGENIERÍA ELECTRÓNICA E INFORMÁTICA SÍLABO

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones

Organización del Computador 1. Máquina de von Neumann Jerarquía de Niveles

Código: ARC-265. Horas Semanales: 6. Prelaciones: INI-154

Estructura de Computadores Tema 1. Introducción a los computadores

INDICE Control de dispositivos específicos Diseño asistido por computadora Simulación Cálculos científicos

Dr.-Ing. Paola Vega Castillo

Lenguaje binario. Código ASCII. Medidas de la información

UNIVERSIDAD NACIONAL DE RÍO CUARTO FACULTAD DE CIENCIAS EXACTAS, FÍSICO-QUÍMICAS Y NATURALES DEPARTAMENTO DE COMPUTACIÓN

OBJETIVOS DE LA MATERIA... 4 PROGRAMA ANALÍTICO. CONTENIDOS TEÓRICOS Y PRÁCTICOS... 5 BIBLIOGRAFIA... 7

ARQUITECTURA BÁSICA DEL ORDENADOR: Hardware y Software. IES Miguel de Cervantes de Sevilla

Sistemas. POSTREQUISITO: CATEGORÍA: Obligatorio SECCION: A HORAS POR SEMANA

INDICE Programa Entrada Unidad de control Unidad aritmética y lógica (ALU)

EVOLUCIÓN DE LOS PROCESADORES

Circuitos Digitales II y Laboratorio Electrónica Digital II y Laboratorio

INEL 4206 Microprocesadores Texto: Barry B Brey, The Intel Microprocessors: 8va. Ed., Prentice Hall, 2009

Tema 1: Introducción a Estructura de Computadores. Conceptos básicos y visión histórica

SISTEMAS OPERATIVOS Arquitectura de computadores

PROGRAMA ANALÍTICO DE ASIGNATURA

0-31 : caracteres de control : carac. Comunes : especiales (flechas, símbolos) y particulares (ñ)

TEMA 1: Concepto de ordenador

Arquitecturas vectoriales, SIMD y extensiones multimedia

ARQUITECTURA DE COMPUTADORAS II. Propósito del curso : Ingeniería Ingeniería en Sistemas. Hardware. Clave de la materia: 413

UNIVERSIDAD DE GUADALAJARA

Tema I. La computación en el profesional de la Ingeniería

Organización de Procesadores

ISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones

Organización del Computador I. Introducción

Arquitectura de Computadores II

PREGUNTAS INFORMÁTICA MONITOR UPB EXAMEN 1

El nivel ISA (II)! Conjunto de Instrucciones

Procesador Concepto Tipos Velocidad de proceso Características funciones aritmético- lógicas y de control

INDICE 2. Organización de computadoras 3. El Nivel de Lógica Digital

1-Componentes Físicos y Lógicos de un Ordenador.

SOPORTE FÍSICO O HARDWARE (I)

Tema 2: Lenguaje máquina. La interfaz entre el hardware y el software

UNIVERSIDAD DEL VALLE DE MÉXICO PROGRAMA DE ESTUDIO DE LICENCIATURA PRAXIS MES XXI

ENIAC, Primer computador electrónico y su panel de conexiones

2.3 Lenguajes de descripción: - Lenguajes de descripción hardware: VHDL, Verilog - Álgebra de Boole

2. Elementos de Arquitectura de Computadores

Proyecto docente Fundamentos de Computadores

Fecha de Introducción. Velocidad de reloj. Anchura del bus. Número de transistores. (microns) Memoria direccionable.

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria.

Principios de Computadoras II

Instituto Tecnológico de Morelia

Clase 20: Arquitectura Von Neuman

F1131 Fundamentos de sistemas operativos 1/12

Plataformas de soporte computacional: arquitecturas avanzadas,

Tema I. La computación en el profesional de la Ingeniería

Arquitectura basica de un computador

El ordenador. Codificación binaria. Código ASCII

TEMA II: ALMACENAMIENTO DE LA INFORMACIÓN

Sistemas embebidos basados en FPGAs para instrumentación

Area Académica: Sistemas Computacionales. Tema: Elementos de diseño de memoria caché

INDICE Capitulo 1. Álgebra de variables lógicas Capitulo 2. Funciones lógicas

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES SYLLABUS ARQUITECTURA DE COMPUTADORES

TEMA III: OPERACIONES CON LOS DATOS

Sistemas de Computación

ENSAMBLE Y MANTENIMIENTO DE COMPUTADORES

Tema 1: Introducción a los Computadores

3. Programa Analítico

Generación 1. Características. Estaban construidos con electrónica de válvulas. Se programaban en lenguaje de máquina.

Qué es un programa informático?

Arquitectura de un sistema de cómputo

PLANIFICACION Establecimiento: INSTITUTO SUPERIOR JUJUY Carrera: TECNICATURA SUPERIOR EN INFORMATICA CON ORIENTACIÓN EN SISTEMAS DE INFORMACIÓN

Estructura de Computadores. Introducción a los Computadores

Dispositivos Digitales. EL-611 Complemento de Diseño Lógico y. Dispositivos Digitales

Introducción a la Computación. Herramientas Informáticas. Omar Ernesto Cabrera Rosero Universidad de Nariño

Síntesis arquitectónica y de alto nivel

Tema 1: Arquitectura de ordenadores, hardware y software

FACULTAD DE INGENIERÍAS INGENIERIA DE SISTEMAS ARQUITECTURA DEL COMPUTADOR TECNICO

UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO

Figura 1.4. Elementos que integran a la Tecnología de Información.

ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES I

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

Interfaces. Carrera: SCF Participantes. Representantes de la academia de sistemas y computación de los Institutos Tecnológicos.

PLAN DE MATERIAS ACADEMUSOFT 3.2

Arquitectura de Computadores II Clase #7

(1) Unidad 1. Sistemas Digitales Basados en Microprocesador SISTEMAS BASADOS EN MICROPROCESADORES. Grado en Ingeniería Informática EPS - UAM

PROGRAMA DE ESTUDIO. Nombre de la asignatura: MICROPROCESADORES Y MICROCONTROLADORES. Horas de Práctica

Transcripción:

Arquitectura de Computadores II Clase #1 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010

Aspectos administrativos: quiénes, cuándo? Docentes Eduardo Grampín Álvaro Martín Luis Michelena Matías Richart Juan Saavedra Gonzalo Tejera Teórico Miércoles y Viernes de 8:00 a 10:30 hs. Salón A12 Taller Lunes de 16 a 18 hs. Salón A21

Aspectos administrativos: laboratorios Microarquitectura MIC-1 Presentación: clase del 18/8/2010 Entrega: 12/9/2010 Arquitectura Intel IA-32 Presentación: clase del 8/10/2010 Entrega: 7/11/2010

Recursos Página web http://www.fing.edu.uy/inco/cursos/arqsis2/ Newsgroup fing.cursos.arqsis2 Bibliografía William Stallings, Computer Organization and Architecture 5th Edition, Prentice Hall, 2000, ISBN: 0130812943. J. L. Hennessy and D. A. Patterson, Computer Architecture: A Quantitative Approach, 3rd Edition, Morgan Kaufmann Publishing Co., 2002, ISBN: 1558607242 Andrew S. Tanenbaum, Structured Computer Organization 4th Edition, Prentice Hall, 1998, ISBN: 0130959901.

Veremos Introducción, por qué estudiar la arquitectura del computador? Definición de Arquitectura, Organización e Implementación Perspectiva histórica:mejorando la performance. La máquina de von Neumann

Por qué estudiar esto? (1/3) Cambios vertiginosos: Tubo de vacío -> transistor -> IC -> VLSI Se duplica cada 18 meses: Capacidad de la memoria Velocidad del procesador (x avances en tecnología y organización) De que trata este curso: Cómo funcionan los computadores? Ejemplos Cómo analizar la performance? Temas importantes para procesadores modernos Servidores, sistemas embebidos, que es esto?

Por qué estudiar esto? (2/3) Las computadores le dan sentido práctico a la Ciencia de la computación. Considerar el computador como caja negra es riesgoso Programas eficientes en diferentes arquitecturas? Qué sistema elegir? Servidores? Performance? Y si tuviera que implementar un sistema embebido? Es importante conocer la relación entre lenguajes de alto y bajo nivel y su relación con el hardware La arquitectura soporta el sistema operativo y los lenguajes de programación Más vale conocerla!

Por qué estudiar esto? (3/3) Entender los factores que influyen sobre la performance para construir programas y sistemas Conocer alternativas de compra; asesoramiento experto Entender las técnicas de diseño, estructuras de máquinas, factores tecnológicos, métodos de evaluación que determinan el desarrollo actual de los computadores Aplicaciones Tecnología Paralelismo Arquitectura del Computador: Diseño del Set de Instrucciones Organización Hardware Lenguajes de Programación Diseño de las Interfaces (ISA) Sistemas Operativos Medidas& Evaluación Historia

Qué es un computador? (1/2) Componentes: entrada (mouse, teclado) salida (monitor, impresora) memoria (discos duros, DRAM, SRAM, CD) red Nos centraremos en el procesador (datapath y control) Implementado con millones de transistores Imposible de entender analizando qué hace cada transistor Necesitamos abstracción

Qué es un computador? (2/2) Arquitectura, qué es? Application Compiler Instr. Set Proc. Operating System Digital Design Circuit Design Firmware I/O system Datapath & Control Layout Coordinación de niveles de abstracción Sometida a un conjunto de estímulos cambiantes Instruction Set Architecture

Abstracción Programa en C swap(int v[], int k) {int temp; } temp=v[k]; v[k]=v[k+1]; v[k+1]=temp; Abstracción permite manejar la complejidad Compilador de C (MIPS) Programa en Assembler swap: Ensamblador (MIPS) muli $t1, $a1,4 add $t1, $a0,$t1 lw $t0, 0($t1) Programa en Lenguaje de máquina lw $t2, 4($t1) 00000000101000010000000000011000 sw $t2, 0($t1) 00000000100011100001100000100001 sw $t0, 4($t1) 10001100011000100000000000000000 jr $ra 10001100111100100000000000000100 10101100111100100000000000000000 10101100011000100000000000000100 00000011111000000000000000001000

Arquitectura del Computador Instruction Set Architecture (IBM 360) atributos de un sistema [computacional] visto por el programador/compilador. Es decir, la estructura conceptual y el comportamiento funcional, a diferencia de la organización del flujo de datos y el control, el diseño lógico y la implementación física. -- Amdahl, Blaaw, & Brooks, 1964 Códigos de operación, modos de direccionamiento, registros enteros y de punto flotante Organización (microarquitectura) Visión del diseñador del procesador/sistema: ALUs y otras unidades funcionales, pipelines, caches, registros físicos, buses, memorias, etc Implementación Compuertas, transistores, pistas

Qué temas se resuelven en cada nivel? Arquitectura: atributos visibles al programador Set de instrucciones, tamaño de palabra, mecanismos de E/S, técnicas de direccionamiento. Por ejemplo: existe la multiplicación? Organización: cómo se implementan las características de la arquitectura Señales de control, interfaces, tecnología de memoria. Por ejemplo: la multiplicación se hace en hardware o mediante microprogramación (usando la suma)? Implementación: diseño físico, eléctrico, mecánico Cuantas capas tiene la placa madre? Circuitería extra en un solo integrado?

Set de Instrucciones (Instruction Set Architecture ISA) Una abstracción importante interfaz entre el hardware y el software de bajo nivel Estandariza instrucciones, lenguaje de máquina ventaja: es posible tener diferentes implementaciones de la misma arquitectura desventaja: puede impedir innovaciones Ejemplos: x86, x86-64 (AMD/Intel), IA-64 (Itanium), SPARC, PowerPC, MIPS, la familia IBM System/370 Compatibilidad del código (al menos hacia atrás) La organización difiere entre distintas versiones

Estructura y funcionamiento Estructura: de qué manera los componentes se relacionan entre si? Funcionalidad: operación individual de c/componente como parte de una estructura

Visión funcional Funciones de un computador: Procesamiento de datos Almacenamiento de datos Transferencia de datos Control

Operaciones (1/2) (1) Transferencia de datos (2) Almacenamiento de datos

Operaciones (2/2) (3) Procesamiento desde/hacia almacenamiento (4) Procesamiento desde almacenamiento a E/S

Estructura: alto nivel Peripherals Computer Central Processing Unit Main Memory Computer Systems Interconnection Communication lines Input Output

Estructura: la CPU CPU I/O Computer System Bus Memory CPU Registers Internal CPU Interconnection Arithmetic and Login Unit Control Unit

Estructura: Unidad de Control Control Unit ALU CPU Internal Bus Registers Control Unit Sequencing Login Control Unit Registers and Decoders Control Memory

Historia: Generaciones de Computadores Tubos de vacío - 1946-1957 Transistores - 1958-1964 Small scale integration - 1965 en adelante Hasta 100 transistores en un chip Medium scale integration - hacia 1971 100-3,000 transistores en un chip Large scale integration - 1971-1977 3,000-100,000 transistores en un chip Very large scale integration - 1978 a la fecha 100,000-100,000,000 transistores en un chip Ultra large scale integration Más de 100,000,000 transistores en un chip

Ley de Moore Gordon Moore - cofundador de Intel: La capacidad de integración se duplica cada año Desde los 70 s se enlentece : Número de transistores se duplica cada 18 meses Algunas consecuencias: Costo x chip no ha cambiado -> costo de la lógica y memoria baja dramáticamente Mayor densidad -> cables más cortos, mayor performance de la interconexión Más circuitos x chip -> menos interconexiones, mayor confiablilidad Menor tamaño -> mayor flexibilidad (poder de cómputo de un celular?) Requerimientos de alimentación y refrigeración

Ley de Moore: Transistores x CPU, familia Intel

Ley de Moore: otra mirada 100,000,000 Bit-level parallelism Instruction-level Thread-level (?) Transistors 10,000,000 1,000,000 100,000 i80286 R10000 Pentium i80386 R2000 R3000 i8086 10,000 i8080 i8008 i4004 1,000 1970 1975 1980 1985 1990 1995 2000 2005

Aumentando la velocidad Algunas técnicas para mantener la CPU trabajando siempre: Pipelining On board cache On board L1 & L2 cache Branch prediction Data flow analysis Ejecución especulativa

Problemas de Performance Incremento en velocidad del Procesador Incremento en capacidad de memoria Velocidad de acceso a la memoria crece mucho menos!

Performance: Memoria vs. Lógica (CPU)

Uso de memoria

Soluciones Incrementar la cantidad de bits accedidos cada vez DRAM más ancha Cambio de la interfaz de memoria Caché Reducir la frecuencia de acceso a memoria Cachés más complejas, caché en el chip Incrementar el ancho de banda de la interconexión Buses de alta velocidad Jerarquía de buses

Una familia exitosa: Intel (1/4) 1971-4004 Primer microprocesador CPU en un solo chip 4 bits En 1972 aparece el 8008 8 bits Ambos diseñados para aplicaciones específicas 1974-8080 Primer procesador de propósito general de Intel Data path de 8 bits Usado en el primer personal computer : Altair

Una familia exitosa: Intel (2/4) 1978 8086 (1980 coproc. matemático 8087) Más poderoso 16 bits Caché de instrucciones, prefetch de instrucciones 8088 (bus externo de 8 bits) usado en el primer IBM PC 1982-80286 16 Mbytes de memoria direccionable (antes 1Mb) 1985-80386 32 bits Soporte para multitarea 1989-80486 sofisticado caché y pipelining de instrucciones coprocesador matemático integrado

Una familia exitosa: Intel (3/4) Pentium Superescalar Múltiples instrucciones ejecutadas en paralelo Pentium Pro Mejora de la organización superescalar Renombrado agresivo de registros branch prediction data flow analysis Ejecución especulativa Pentium II Tecnología MMX Procesamiento de gráficos, video & audio

Una familia exitosa: Intel (4/4) Pentium III Más instrucciones de punto flotante para gráficos 3D Pentium 4 Más mejoras de punto flotante y multimedia Itanium 64 bit Arquitectura nueva! Se dice la arquitectura Intel está esposada por la necesidad de retrocompatibilidad es una arquitectura difícil de entender Pero: sigue evolucionando y se sigue usando. Demostración: x86-64

Repaso del curso anterior Sistemas de Numeración Representación interna de datos Tipos de datos Álgebra de Boole Combinatoria Máquina de estados Sistemas secuenciales Máquina lógica general Interrupciones

Curso anterior -> este curso: Máquina de von Neumann Concepto de Programa Almacenado Memoria principal almacena programas y datos ALU opera con datos binarios La unidad de control manda a ejecutar las instrucciones almacenadas en memoria Dispositivos de Entrada/Salida operados por la unidad de control Se completó en 1952 en el Princeton Institute for Advanced Studies Se denominó IAS

Estructura de la máquina de von Neumann

Estructura en detalle de la IAS Palabra de 40 bits: Entero con signo 2 instrucciones de 20 bits por palabra Instrucciones: Transferencia de datos Saltos (Cond. e Incond.) Aritmética Modificación de direcciones

Concepto de Programa Sistemas cableados son inflexibles Hardware de propósito general puede hacer diferente tareas, excitado con las señales de control correctas En lugar de re-cablear, un nuevo conjunto de señales de control Qué es un programa? Secuencia de pasos Por cada paso se completa una operación aritmética o lógica Para cada operación se necesita un conjunto particular de señales de control

Funciones de la Unidad de Control Cada operación se corresponde con un código único Ej. ADD, MOVE El hardware acepta el código y genera las señales de control necesarias tenemos un computador!

Componentes La Unidad de Control y la Unidad Aritmético-Lógica constituyen la Unidad Central de Proceso (CPU) Datos e instrucciones deben ingresar al sistema, y los resultados deben salir Entrada/Salida Almacenamiento temporal de código y resultados Memoria principal

Preguntas?