Proyecto docente – Fundamentos de Computadores http://serdis.dis.ulpgc.es/~itis-fc Titulación de Ingeniería Técnica en Informática de Sistemas Escuela Universitaria de Informática
Proyecto Docente - Profesorado – Carmelo Cuenca Hernández (coordinador) •
[email protected] • Despacho 2-13 en el módulo 3
• Horario de T U T O R Í A S – Lunes de 11.00-13.00 y jueves 9.00-13.00 – Francisca Quintana Domínguez (responsable de prácticas) •
[email protected] • Despacho 2-12 en el módulo 3
• Horario de T U T O R Í A S – Lunes de 9.30-12.30 y miércoles 9.30-12.30
Curso 2005/2006
Fundamentos de Computadores
2
Proyecto Docente – Horarios L
M
V
8:30-9:30
TA
TB
9:30-10:30
TB
10:30-11:30 11:30-12:30 12:30-13:30 13:30-14:30
Curso 2005/2006
A-5 L3.3
A1-A2 L1.1
A3-A4 L1.1
B1-B2 L1.1
B3-B4 L1.1
Fundamentos de Computadores
TA
3
Proyecto docente - Objetivos de la asignatura •
Fundamentos de Computadores presenta los componentes de un computador y la organización de estos componentes para ejecutar programas – Obtener una visión general de la jerarquía de niveles de un computador – Conocer y comprender las características más importante de la arquitectura y estructura de un computador – Conocer y comprender los elementos básicos de la arquitectura del repertorio de instrucciones – Dominar la programación en lenguaje ensamblador de algún procesador como, por ejemplo, el MIPS R2000 – Conocer y comprender los elementos estructurales de un procesador para la ejecución de las instrucciones – Conocer los principios básicos y métodos de diseño de unidades de control cableadas y microprogramadas – Evaluar alternativas de diseño, así como el rendimiento de un computador
Curso 2005/2006
Fundamentos de Computadores
4
Proyecto Docente - Temario 1. Arquitectura de un computador y jerarquía de niveles (3 horas) 2. Arquitectura del nivel lenguaje máquina (10 horas) 1. 2. 3. 4.
Características generales del lenguaje máquina Tipos de operandos e instrucciones Modos de direccionamiento y formato de las instrucciones Subrutinas
3. Diseño del procesador (15 horas) 1. Diseño y control cableado de un camino de datos monociclo 2. Diseño y control cableado de un camino de datos multiciclo 3. Diseño y control microprogramado de un camino de datos multiciclo
4. Rendimiento (2 horas) Curso 2005/2006
Fundamentos de Computadores
5
Proyecto Docente - Prácticas 1. El simulador PCspim (2 horas) 2. Los datos en memoria (2 horas) 3. Carga y almacenamiento de los datos (2 horas) 4. Las operaciones aritméticas y lógicas (2 horas) 5. Interfaz con el programa (2 horas) 6. Estructuras de control condicionales y bucles (2 horas) 7. Gestión de subrutinas (3 horas) Curso 2005/2006
Fundamentos de Computadores
6
Proyecto Docente - Evaluación • Nota final = 0.7 Nota de teoría + 0.3 Nota de práctica (siempre que nota de teoría >=5 y Nota de práctica>=5)
• La nota de teoría y de práctica se obtendrá en los exámenes de convocatoria de la asignatura, uno para teoría y otro para práctica Curso 2005/2006
Fundamentos de Computadores
7
Arquitectura de un computador y jerarquía de niveles “La arquitectura de un computador es la estructura de un computador que un programador en lenguaje máquina debe conocer para escribir un programa correcto (independiente del tiempo)” Amdahl 1964
Objetivos • • • • • • •
Establecer características para nominar una máquina como computador Conocer los hitos de la arquitectura de los computadores Distinguir los diferentes niveles de estudio de los computadores Entender los mecanismos de traducción e interpretación de niveles Diferenciar entre la arquitectura y la estructura de un computador Describir los componentes básicos de un computador y las funcionalidades de cada uno de ellos por separados Explicar el funcionamiento global de un computador a partir de las relaciones de sus componentes básicos
Curso 2005/2006
Fundamentos de Computadores
9
Contenidos • •
Concepto de computador Historia de los computadores – La 1ª generación (los primeros computadores) – La 2ª generación (transistores) – La 3ª generación (SCI), la 4ª (LSI) y la 5ª (VLSI, UVLSI)
•
Organización estructurada de un computador – Lenguajes, niveles y máquinas virtuales – Computador multinivel
•
Funcionamiento de un computador – Componentes de un computador – Ciclo de instrucción – Interconexión con buses
•
El futuro de los computadores – Ley de Moore
Curso 2005/2006
Fundamentos de Computadores
10
Concepto de computador •
Diccionario de la Lengua Española – “Máquina electrónica dotada de una memoria de gran capacidad y de métodos de tratamiento de la información, capaz de resolver problemas aritméticos y lógicos gracias a la utilización automática de programas registrados en ella”
•
Microsoft Encarta – “Dispositivo electrónico capaz de recibir un conjunto de instrucciones y ejecutarlas realizando cálculos sobre los datos numéricos, o bien compilando y correlacionando otros tipos de información”
•
Enciclopedia Británica – “Device for processing, storing, and displaying information”
•
Wikipedia – “Sistema digital con tecnología microelectrónica capaz de procesar información a partir de un grupo de instrucciones denominado programa”
Curso 2005/2006
Fundamentos de Computadores
11
Historia de los computadores "Quien olvida las lecciones de la historia queda condenado a repetirla." Will Durant, Lecciones de la Historia
ENIAC – ¿Qué, quiénes, …? • • • • • •
Electronic Numerical Integrator And Computer Eckert y Mauchly Universidad de Pennsylvania Tablas de trayectorias balísticas Año de inicio 1943 Año de finalización 1946 – Tarde para la Segunda Guerra Mundial (1939-1945)
•
En funcionamiento hasta 1955
Curso 2005/2006
Fundamentos de Computadores
13
ENIAC - detalles • • • • • • • •
Decimal (no binario) 20 registros acumuladores de 10 dígitos Programado manualmente mediante 6000 interruptores 18000 tubos de vacío y 1500 relevadores 30 toneladas 15000 pies cuadrados 140 Kw de consumo de potencia 5000 sumas por segundo
Curso 2005/2006
Fundamentos de Computadores
14
Von Neumann/Turing • •
Concepto de programa almacenado Componentes de un computador – La memoria principal (MM) almacena programas y datos – La unidad aritmética lógica (ALU) opera con datos binarios – La unidad de control (UC) interpreta y provoca la ejecución de las instrucciones en memoria
•
Máquinas – EDSAC – la primera computadora de programa almacenado • Maurice Wilkes, Universidad de Cambridge, (¿?-1949)
– La máquina IAS • John von Neumann y Herman Goldstine, Instituto para Estudios Avanzados de Princeton, (19461952) Curso 2005/2006
Fundamentos de Computadores
15
Estructura de una máquina von Neumann
• Cinco partes básicas: – la memoria (M), almacena datos e instrucciones – la unidad aritmética lógica (ALU), capaz de hacer operaciones con datos binarios – la unidad de control (UC), interpreta y provoca la ejecución de las instrucciones en memoria – el equipo de entrada y salida (I/O) Curso 2005/2006
Fundamentos de Computadores
16
IAS - detalles • • • •
Aritmética binaria 1000 palabras de 40 bits 2 registros de instrucciones de 20 bits Registros dentro de la CPU – R. temporal de memoria (MBR) – R. de direcciones de memoria (MAR) – R. de instrucciones (IR) – R. temporal de instrucciones (IBR) – R. contador de programa (PC) – R. acumulador (AC) – R. multiplicador cociente (MQ)
Curso 2005/2006
Fundamentos de Computadores
17
Computadores comerciales • 1947 – Eckert-Mauchly Computer Comportation – UNIVAC I (Universal Automatic Computer) • Aplicaciones científicas y comerciales • Oficina del censo en 1950 • Operaciones algebraicas con matrices, problemas de matrices, primas para las compañías de seguro, problemas logísticos ...
– Absorción por Sperry-Rand Comporation – UNIVAC II a finales de los 50 • Más rápido • Más memoria
– Serie UNIVAC 1100 Curso 2005/2006
Fundamentos de Computadores
18
IBM • Fabricante de equipos de procesamiento con tarjetas perforadas • 1953 – El 701 para aplicaciones científicas • 1955 – El 702 para aplicaciones de gestión • Líder mundial con las series 700/7000
Curso 2005/2006
Fundamentos de Computadores
19
La segunda generación: los transistores (1955-1965) • Invención de Shockley y otros de los laboratorios Bell en 1947 • Sustitución de los tubos de vacío por transistores • Ventajas del transistor – – – –
Más pequeño Más barato Menor disipación de calor Fabricado con silicio (arena)
Curso 2005/2006
Fundamentos de Computadores
20
Computadores con transistores • NCR y RCA fueron los primeros en comercializar pequeñas máquinas con transistores • IBM 7000 • 1957 - Fundación de Digital Equipment Corporation (DEC) pionera de los minicomputadores – PDP 1 Curso 2005/2006
Fundamentos de Computadores
21
La 3ª, 4ª y 5ª generación: los circuitos integrados (1965-????) • • •
Un computador consta de puertas, celdas de memoria e interconexiones Tales componentes podían ser fabricados a partir de un semiconductor como el silicio en un circuito integrado (Robert Noyce – 1958) Generaciones 3ª, 4ª y 5ª de computadores – 3ª generación • • • •
Pequeña y mediana integración (SCI) 1965-1971 Hasta 100 componentes en un chip 1965 - IBM líder mundial inicia la “familia” 360 1965 - DEC lanza el minicomputador de bajo coste PDP-8
– 4ª generación • Gran integración (LSI ) 1972-1977 • Entre 3000 y 100000 componentes en un chip
– 5ª generación • Alta Integración (VLSCI y UVLSI) 1978-???? • Más de 100000000 componentes en un chip Curso 2005/2006
Fundamentos de Computadores
22
Organización estructurada de un computador Los computadores están diseñados como una serie de niveles, cada uno construido sobre sus predecesores. Cada nivel representa una abstracción distinta, y contiene diferentes objetos y operaciones
Lenguajes, niveles y máquinas virtuales • •
La máquina virtual Mi ejecuta sólo programas escritos en el lenguaje de programación Li Ejecución de programas en Mi: – Traducción • Un programa “traductor” sustituye cada instrucción escrita en Li por una secuencia equivalente de instrucciones en Li-1. El programa resultante consiste exclusivamente en instrucciones de Li-1. Luego, Mi-1 ejecuta el programa en Li-1
– Interpretación • Un programa “intérprete” escrito en Li-1 examina las instrucciones una por una y ejecuta cada vez la sucesión de instrucciones en Li-1 que equivale a cada una
Curso 2005/2006
Fundamentos de Computadores
24
Computador multinivel •
N. aplicaciones –
•
N. lenguaje alto nivel –
• •
Puertas lógicas: AND, OR …, biestables, registros …
N. dispositivos –
Curso 2005/2006
Banco de registros, ALU, camino de datos
N. lógica digital –
•
Salto, pila, …
N. microarquitectura –
•
Archivo, partición, proceso, …
N. arquitectura del repertorio de instrucciones (ISA) –
•
BASIC, C, C++, Java, Lisp, Prolog
N. lenguaje ensamblador N. sistema operativo –
•
Microsoft Office, eMule…
Transistores, diodos, estado sólido …
Fundamentos de Computadores
25
Funcionamiento de un computador
Componentes de un computador • Unidad central de proceso (CPU) – Unidad de control (UC) – Unidad aritméticalógica (ALU)
• Memoria (M) • Entrada y salida (E/S)
Curso 2005/2006
Fundamentos de Computadores
27
Ciclo de instrucción (1/2) •
Ciclo de búsqueda de instrucción – El registro contador de programa (PC) contiene la dirección de la siguiente instrucción a ejecutar – El procesador busca la instrucción a partir de la localización de memoria señalada por el PC – El procesador incrementa el contador de programa (hay excepciones) – La instrucción es cargada en el registro de instrucciones (IR)
Curso 2005/2006
Fundamentos de Computadores
28
Ciclo de instrucción (2/2) •
Ciclo de ejecución (5 tipos) – Procesador-memoria: transferencia de datos desde la CPU a la memoria o al revés – Procesador-E/S: transferencia de datos a o desde el exterior – Procesamiento de datos: la CPU ha de realizar alguna operación aritmética o lógica con los datos – Control: una instrucción puede especificar que la secuencia de ejecución sea alterada – Combinaciones de las anteriores
Curso 2005/2006
Fundamentos de Computadores
29
Ejemplo de ejecución de programa
Curso 2005/2006
Fundamentos de Computadores
30
Diagrama de estados del ciclo de instrucción
Curso 2005/2006
Fundamentos de Computadores
31
Esquema de interconexión mediante buses •
•
Conjunto de conductores eléctricos para la conexión de dos o más dispositivos Tipos de buses – De memoria, de datos y de control – Anchura de los buses: 8, 16, 32, 64 bits
•
¿Cómo son los buses? – Pistas paralelas de los circuitos impresos – Cintas de plástico con hilos conductores – Conectores (ISA, PCI, …) – Cables sueltos
Curso 2005/2006
Fundamentos de Computadores
32
Bus ISA (Industry Standard Architecture)
Curso 2005/2006
Fundamentos de Computadores
33
Bus de alta prestaciones
Curso 2005/2006
Fundamentos de Computadores
34
El futuro de los computadores La relación coste/rendimiento ha mejorado los últimos 45 años aproximadamente 240 000 000 (un 54% anual)
Ley de Moore
• La densidad de integración dobla cada 18 meses • ¿Válida hasta 2020?)
Curso 2005/2006
Fundamentos de Computadores
36