Introducción ¿Qué es una computadora? Stallings: “Máquina digital electrónica programable para el tratamiento automático de la información, capaz de recibirla, operar sobre ella mediante procesos determinados y suministrar los resultados de tales operaciones.”
Introducción Por qué estudiar organización y arquitectura de computadoras? Diseñar mejores programas de base: compiladores, sistemas operativos, y drivers Optimizar programas Construir computadoras Evaluar su desempeño Entender los “compromisos” entre poder de computo, espacio y costos
Arquitectura vs Organización Arquitectura: atributos visibles al programador Set de instrucciones, bits utilizados para representar los datos, mecanismos de direccionamiento, entrada y salida, etc. Organización: cómo se implementan Señales de control, tecnología de la memoria Ejemplos: Las instrucciones las ejecuta directo el hardware o son interpretadas por microprogramas? La multiplicación es realizadad directamente por un componente o se realizan muchas sumas?
Arquitectura vs. Organización Toda la familia x86 de Intel comparte la misma arquitectura básica Esto asegura la compatibilidad de código Al menos la de programas antiguos La organización cambia entre diferentes versiones de una misma familia
Componentes No hay una clara distinción entre asuntos relacionados con la organización y los relevantes con la arquitectura Principio de equivalencia Hardware-Software: “Cualquier cosa que puede ser hecha por software puede ser hecha en hardware y cualquier cosa que puede ser hecha con hardware puede ser hecha con software”
Estructura vs. Función La Estructura es la forma en que los componentes se relacionan entre sí. La función es la operación que realizan los componentes individuales como parte de una estructura
Funciones Las funciones básicas de una computadora son: Procesamiento de Datos Almacenamiento de datos Transferencia de Datos Control
Visión Funcional Transferencia de datos Control Almacenamiento de datos Procesamiento de datos
Operaciones (Transferencia de Datos) Transferencia de datos Control Almacenamiento de datos Procesamiento de datos Ej: Teclado a Monitor
Operaciones (Almacenamiento) Transferencia de datos Control Almacenamiento de datos Procesamiento de datos Ej: Grabar un documento
Operaciones (procecamiento desde/hasta almacenamiento) Transferencia de datos Control Almacenamiento de datos Procesamiento de datos Ej: Modificar el saldo de una cuenta
Operaciones (procesamiento desde almacenamiento a E/S) Transferencia de datos Control Almacenamiento de datos Procesamiento de datos Ej: Imprimir un resumen de cuenta
Computador Memoria Principal Entrada Salida Sistema de interconexión periféricos Líneas de comunicación Unidad Central de Proceso CPU Computador Estructura (computadora)
Computer Unidad Aritmética y Lógica Unidad de Control Interconexión Interna de la CPU Registros CPU I/O Memory System Bus CPU Estructura (CPU)
CPU Memoria de control Unidad de control de registros y decodificadores Lógica Secuencial Registers Internal Bus Unidad de Control ALU Control Unit Estructura (UC)
Un ejemplo Un aviso de segunda mano… MHz?? MB?? PCI?? USB?? L1 Cache?? Que significa todo esto?
Algunas abreviaturas Medidas de capacidad y velocidad: Kilo- (K) = mil = 103 y 210 Mega- (M) = 1 millón = 106 y 220 Giga- (G) = 100 millones = 109 y 230 Tera- (T) = 1 billón = 1012 y 240 Peta- (P) = 1000 millones = 1015 y 250 Que una medida corresponda a potencias de 10 ó 2 depende de la magnitud a medir.
Algunas abreviaturas Hertz = ciclos de reloj por segundo (frecuencia) 1 MHz = 1,000,000 Hz 1GHz = 1,000 MHz La velocidad del procesador se mide en MHz o GHz. Byte = unidad de almacenamiento 1 KB = 210 = 1024 Bytes 1 MB = 220 = 1,048,576 Bytes La memoria principal (RAM) se mide en MB El almacenamiento en disco se mide en GB para sistemas chicos, en TB para sistemas mas grandes. Word (palabra) = unidad de transferencia: cantidad de bits que pueden moverse simultáneamente dentro de la CPU 8 bits, 16 bits, 32 bits, 64 bits
Algunas abreviaturas Medidas de tiempo y espacio: Mili- (m) = milésima = 10 -3 Micro- (?) = millonésima = 10 -6 Nano- (n) = mil millonésima= 10 -9 Pico- (p) = billonésima = 10 -12 Femto- (f) = mil billonésima = 10 -15
Un ejemplo Milisegundo = milésima de segundo El tiempo de acceso de los HD suele ser de 10 a 20 milisegundos. Nanosegundo = mil millonésima de segundo El tiempo de acceso a RAM suele ser de 50 a 70 nanosegundos. Micron (micrómetro) = millonésima de un metro Los circuitos en los chips de una computadora suelen medirse en micrones.
Un ejemplo Notar que el tiempo de un ciclo es inversamente proporcional a la frecuencia del reloj. Un bus operando a 133 MHz tiene un tiempo de ciclo de 7.52 nanosegundos (T = 1/F): Volvamos al aviso… 133,000,000 ciclos/segundo = 7.52 ns/ciclo
El bus del sistema mueve datos dentro de la computadora. Cuando más rapido el bus mejor la performance. Este corre a 133MHz. El microprocesador es el “cerebro” del sistema. Ejecuta las instrucciones de los programas. Este es un Pentium III (Intel) corriendo a 667MHz. Un ejemplo
Las computadoras con mucha memoria principal pueden correr programas más grandes con mayor velocidad que las computadoras que tienen poca memoria. RAM es la sigla para nombrar a memoria de acceso aleatorio. Esto significa que los contenidos pueden ser accedidos directamente si se conoce su locación. El cache es un tipo de memoria temporaria que puede ser accedida más rapidamente que la RAM. Un ejemplo
… y 2 niveles de cache de memoria, el cache de nivel 1 (L1) es más chica y (probablemente) más rapida que la cache L2. Este sistema tiene 64MB de una memoria dinámica RAM sincrónica (SDRAM) . . . Un ejemplo
Este es de 30GB. 7200 RPM es la velocidad de rotacion del disco. En gral, cuanto más rapido gira el disco más datos puede enviar a la RAM. La capacidad de HD determina la cantidad y el tamaño de los datos que podemos almacenar. Un ejemplo
Un CD-ROM puede almacenar entre 640 y 700MB de datos. 48x describe su velocidad. EIDE (enhanced integrated drive electronics): describe cómo el HD debe comunicarse con otros componentes. Un ejemplo
Este sistema tiene 4 puertos. Los puertos permiten el movimiento de datos entre el sistema y los dispositivos externos. Un ejemplo
Los puertos serial envían datos como una serie de pulsos sobre 1 o 2 líneas de datos, también denominados puertos RS-232. Los puertos paralelos envían datos como un solo pulso sobre varias líneas de datos. USB, universal serial bus, es una interface serie inteligente que se “auto-configura” (plug and play) Un ejemplo
Los buses del sistema puede ser ampliados con buses dedicados a la E/S. El PCI, peripheral component interface, es un ejemplo. Este sistema tiene dos dispositivos PCI: una tarjeta de sonido y un modem. Un ejemplo
El numero de veces por segundo que la imagen del monitor se refresca se llama “tasa de refresco”. El dot pitch se relaciona con cuan clara es la imagen. Este monitor tiene un dot pitch de 0.28 mm y una tasa de refresco de 85Hz. La tarjeta de video contiene memoria y programas para manejar el monitor. Un ejemplo
Organización del Computador 1 SubHistoria
Historia
Primeras “computadoras” Ábacos Calculadoras mecánicas Sistemas basados en relés
Maquinas diferenciales de Babbage 1822: Primera “computadora“ (mecánica) Usaba el método de las diferencias finitas para el cálculo de polinomios de 2do grado. Requería aprox. 25.000 partes. Fracaso en el intento 1847: Otra versión más “pequeña“ No llego a construirse Fue reproducida por el Museo de Ciencia en 1985
Maquina analítica (1834) Primera Computadora Digital (mecánica) Calculaba cualquier función algebraica y almacenaba números. Se programaba con tarjetas. Charles Babbage y Ada Lovelace. Fracaso en el intento…
Harvard Mark I (1939-1944) IBM y la universidad de Harvard Electromecanico, 760.000 ruedas! 800km de cables! Basado en la maquina analitica de Babagge Decimal 0.3 a 10 segundos por cálculo Programable mediante una cinta de papel Se uso hasta 1959 Grace Hooper: popularizo el nombre “Bug” Escribió en su cuaderno de trabajo :"Relé #70 Panel F insecto en Relé".
Primera Generación 1940-1955 Utilizan tubos al vacío Enormes (20,000 tubos) y lentas (un ciclo ? 1 seg.) Un solo grupo diseñaba, construía, programaba, operaba y mantenía cada máquina. Toda la programación se hacía en lenguaje máquina (conectando cables en un tablero por ejemplo). No existían los sistemas operativos. En 1950 se introducen las tarjetas perforadas.
Atanasoff Berry Computer (1939 – 1942) Primera computadora digital (binaria) No era de propósito general Resolvía sistemas de ecuaciones lineales. John Atanasoff y Clifford Berry de la Iowa State University.
Colossus (1943) Desarrollo Británico Diseñada para descrifar los mensajes encriptados por los alemanes Participo Turing No se conoció hasta los 80 (Top Secret) Maquina Alemana “Enigma”150,000,000,000,000,000,000 combinacionesPero los Aliados pudieron descifrar los mensajes
ESTA PRESENTACIÓN CONTIENE MAS DIAPOSITIVAS DISPONIBLES EN LA VERSIÓN DE DESCARGA