Módulo 01 Introducciónldm/mypage/data/oc/apuntes/2019-modulo1.pdf · Organización de...
Transcript of Módulo 01 Introducciónldm/mypage/data/oc/apuntes/2019-modulo1.pdf · Organización de...
Organización de ComputadorasOrganización de ComputadorasDepto. Cs. e Ing. de la Comp.Depto. Cs. e Ing. de la Comp.Universidad Nacional del SurUniversidad Nacional del Sur
Módulo 01Módulo 01
IntroducciónIntroducción
Organización de ComputadorasOrganización de Computadoras 22
CopyrightCopyrightCopyright © 2011-2019 A. G. StankeviciusCopyright © 2016 Leonardo de - Matteis
Se asegura la libertad para copiar, distribuir y modificar este documento de acuerdo a los términos de la GNU Free Documentation License, Versión 1.2 o cualquiera posterior publicada por la Free Software Foundation,sin secciones invariantes ni textos de cubierta delantera o trasera.
Una copia de esta licencia está siempre disponibleen la página http://www.gnu.org/copyleft/fdl.html.
Organización de ComputadorasOrganización de Computadoras 33
ContenidosContenidosHistoria de la computación.
Arquitectura John von Neumann.
Generaciones.
Organización general.
Ley de Moore.
Evolución de la arquitectura Intel x86.
Ciclo básico de un CPU.
Organización de la memoria.
Organización de ComputadorasOrganización de Computadoras 44
¿¿Qué es una computadora?Qué es una computadora?Empecemos por acordar qué cosas califican como una computadora y cuáles no:
Una PC (Personal Computer)
Un tableta android o un iPad.
Un celular inteligente (smartphone).
Una calculadora de bolsillo.
Un TV inteligente (smart-tv).
Un lavarropa programable.
Un ábaco.
Organización de ComputadorasOrganización de Computadoras 55
¿¿Qué es una computadora?Qué es una computadora?OK, ok, podemos acotar la respuesta un poco más para sólo considerar a las computadoras electrónicas (¡que son las que nos interesan!).
Consultemos el mataburro (es decir, la RAE):
Computadora Electrónica: máquina electrónica, analógica o digital, dotada de una memoriade gran capacidad y de métodos de tratamientode la información, capaz de resolver problemas matemáticos y lógicos mediante la utilización automática de programas informáticos.
Organización de ComputadorasOrganización de Computadoras 66
Historia de la ComputaciónHistoria de la ComputaciónLa historia de la computación se remontan ala edad dorada de la Grecia clásica o incluso más atrás a los tiempos de los faraones.
No obstante, como nos interesa la computación usando computadoras electrónicas, el repaso de la historia de la computación se centrará en los avances más recientes, si bien no podemos ignorar la rica historia que nos respalda.
Después de todo, ¡la computación es meramenteuna rama de la matemática!
Organización de ComputadorasOrganización de Computadoras 77
Charles BabbageCharles BabbageCharles Babbage (1791-1871) fue un famoso matemático, filósofo e ingeniero inglés a quien se le atribuye haber creadola primer computadoramecánica programable.
Se lo considera el Padrede la Computación.
Su principal creación fuela Máquina Diferencial.
Organización de ComputadorasOrganización de Computadoras 88
Máquina DiferencialMáquina DiferencialLa Máquina Diferencial, si bien completamente diseñada en papel, no pudo ser fabricada por Babbage por cuestiones ajenas a él.
La calidad de los engranajes disponibles en su época no era la apropiada.
En 1991, usando unmaquinado moderno,se pudo completarfinalmente y poneren funcionamiento.
Organización de ComputadorasOrganización de Computadoras 99
Herman HollerithHerman HollerithHerman Hollerith (1860-1929)fue un estadístico americanoque creo quizás la primermáquina electrónicaprogramable para contar.
Su invención es conocidacomo el Telar de Hollerith.
Se basaba en una idea parecida a la usada en los telares de la revolución industrial para “programar” los distintos patrones de la tela a ser confeccionada.
Organización de ComputadorasOrganización de Computadoras 1010
Telar de HollerithTelar de HollerithLa idea central del Telar de Hollerith era hacer uso de tarjetas perforadas para codificar distintas características.
Cambiando la ubicación y la cantidad delas perforaciones se codificaban distintos aspectos.
Hollerith fundó unacompañía para vendersu máquina que luegose unió con otras paraformar a... ¡IBM!
Organización de ComputadorasOrganización de Computadoras 1111
Z3 (1941)Z3 (1941)La Z3, creada en Alemania por Konrad Zuse durante la segunda guerra mundial, esla primer computadora electromecánicadel mundo.
Recientementese pudo demostrarque es Turingcompleta.
¿Esto, qué implica?
Organización de ComputadorasOrganización de Computadoras 1212
Z3 (1941)Z3 (1941)Características:
Velocidad de reloj: 5.3 Hertz.
Suma en 0,8 segundos, multiplica en 3 segundos.
Capacidad de memoria: 64 palabras de 22 bits.
Operaba sólo en punto flotante, base 10.
Consumo de electricidad: 4.000 Watts.
Peso: unos 1.000 kilogramos.
Componentes: unos 2.000 relés, de los cuales 1.400se usaban para representar la memoria.
Organización de ComputadorasOrganización de Computadoras 1313
Colossus (1944)Colossus (1944)Del otro lado del Canal de la Mancha,los británicos no se quedaron atrás,creando la computadora Colossus.
Su principal uso era romper el código usado porlos alemanes para codificar sus comunicaciones.
Su existencia se ocultópor ser considerada unsecreto de estado.
Churchill ordenó que sedestruya por completo.
Organización de ComputadorasOrganización de Computadoras 1414
Colossus (1944)Colossus (1944)No confundir con el dispositivo electromecánico diseñado por Turing para quebrar el esquema de encriptado alemán llamado enigma.
Para más data ver:
The Imitation Game
Organización de ComputadorasOrganización de Computadoras 1515
ENIAC (1946)ENIAC (1946)Los americanos John Mauchly y Presper Eckert construyeron la ENIAC, la primer computadora electrónica de propósito general que además era Turing completa.
Su principal propósitoera calcular las tablasde artillería para losdistintos tipos decañones de aquellaépoca.
Organización de ComputadorasOrganización de Computadoras 1616
ENIAC (1946)ENIAC (1946)Características:
Operaba en decimal.
Contaba con 20 acumuladores de 10 dígitos.
Se programaba a mano usando interruptores.
Calculaba unas 5.000 sumas por segundo.
Componentes: 18.000 válvulas y 7.200 diodos.
Peso: unos 27.000 kg.
Tamaño: ocupaba alrededor de 167 m².
Consumo de electricidad: 150.000 Watts.
Organización de ComputadorasOrganización de Computadoras 1717
EDSAC (1949)EDSAC (1949)El británico Maurice Wilkes puso en prácticalas ideas de John von Neumann al diseñar y construir la EDSAC, la primera computadora electrónica práctica de programa almacenado.
La revolucionaria idea de Johnvon Neumann era usar la memoriade la computadora para almacenarno sólo datos sino ademásel programa a ser ejecutado.
De nuevo, Alan S. Turing colaborócon John von Neumann en este diseño.
Organización de ComputadorasOrganización de Computadoras 1818
EDSAC (1949)EDSAC (1949)Características:
Operaba en binario, en notación complemento a dos.
Capacidad de memoria: 1.024 palabras de 17 bits.
La memoria era de tipo dinámica (como hoy en día).
La industria del software nació en el momento quese desarrolló el ensamblador para esta máquina.
Al no contar con registros índices, para recorrer arreglos se debía apelar al código automodificable.
La entrada era a través de tarjetas perforadas yla salida a través de una teletipo.
Organización de ComputadorasOrganización de Computadoras 1919
Arquitectura von NeumannArquitectura von NeumannLa arquitectura de programa almacenado propuesta por John von Neumann esla que sigue en uso hoy en día.
Se basa en cuatro componentes principales:
La CPU (Unidad Central de Proceso), la cual cuenta con su respectiva ALU (Unidad Aritmético-Lógica).
La memoria principal.
Uno o más dispositivos de entrada y/o de salida.
Un componente de control que orquesta la interacción entre todos estos componentes.
Organización de ComputadorasOrganización de Computadoras 2020
Arquitectura von NeumannArquitectura von Neumann
CPU
Organización de ComputadorasOrganización de Computadoras 2121
EDVAC (1951)EDVAC (1951)Los creadores de la ENIAC junto con John von Neumann crearon la EDVAC, una computadora de programa almacenado que corregía algunas de las deficiencias de su predecesora.
La programación era mucho mássencilla (no más interruptores).
Adoptaba el sistema binarioen vez del sistema decimal.
Incorporaba la mayor parte de lasmejoras tecnológicas disponiblesal momento de su creación.
Organización de ComputadorasOrganización de Computadoras 2222
EDVAC (1951)EDVAC (1951)Características:
Componentes: 6.000 válvulas y 12.000 diodos.
Consumo eléctrico: 56.000 Watts.
Tamaño: ocupaba unos 46 m².
Peso: 7.850 kg.
Sumaba en 864 µs y multiplicaba en 2900 µs.
Contaba con una unidad lecto/escritora de cinta.
Mucho más confiable que los modelos anteriores,se la podía usar... ¡hasta 20 horas por día!
Organización de ComputadorasOrganización de Computadoras 2323
Invención del transistorInvención del transistorLa invención del transistor en 1947 revolucionó al incipiente campo de la computación.
Sirve como reemplazo directo de las válvulas.
Son más pequeños y más baratos.
Disipan menos calor, en otras palabras, consumen menos corriente eléctrica.
Se trata de un dispositivode estado sólido.
Se fabrica a partir desilicio... esto es, ¡arena!
Organización de ComputadorasOrganización de Computadoras 2424
GeneracionesGeneracionesEl advenimiento del transistor permitió construir computadoras tan diferentes a las anteriores que se habla de distintas generaciones.
La primera generación está compuestade las computadoras que hemos enumerado,las cuales están construidas usando válvulas.
La segunda generación está compuestade las nuevas computadoras construidas usando transistores.
Por caso, la familia IBM 7000 o la DEC PDP-1.
Organización de ComputadorasOrganización de Computadoras 2525
GeneracionesGeneracionesClaramente para poder hablar de una tercera generación iba a hacer falta una invencióntan radical como la del transistor.
La invención en la década del '60de los circuitos integradosconstituyó esa invención radical.
En consecuencia, la tercerageneración está compuestapor computadoras construidasusando circuitos integrados
Organización de ComputadorasOrganización de Computadoras 2626
GeneracionesGeneracionesPrimera generación (1941-1957)
Computadoras construidas usando válvulas.
Segunda generación (1958-1964)
Computadoras construidas usando transistores.
Tercera generación (1965-2015)
Computadoras construidas usando circuitos integrados.
Algunos autores consideran a las computadoras más recientes (1978-2015) como una cuarta generación.
Organización de ComputadorasOrganización de Computadoras 2727
Niveles de integraciónNiveles de integraciónUsando integrados SSI y MSI (1965-1971)
SSI hasta 100 transistores por chip.
MSI de 100 a 3.000 transistores por chip.
Usando integrados LSI (1971-1977)
De 3.000 a 100.000 transistores por chip.
Usando integrados VLSI (1978-1991)
De 100.000 a 100.000.000 de transistores por chip.
Usando integrados ULSI (1991-2015)
Más de 100.000.000 de transistores por chip.
Organización de ComputadorasOrganización de Computadoras 2828
Sistema OperativoSistema OperativoUn componente faltante en estas primeras computadoras es el sistema operativo.
¿Tiene sentido que hoy en día una computadorano cuente con su correspondiente sistema operativo?
Las tareas del sistema operativo era realizadas por los propios operadores.
No era de extrañar ver decenas de operarios en torno a estas computadoras, para que entre todos lograran llevar adelante un cierto cómputo.
Organización de ComputadorasOrganización de Computadoras 2929
Proceso de compilaciónProceso de compilaciónProtocolo para compilar un programa escritoen un cierto lenguaje de programación:
Buscar en el armario la caja de tarjetas perforadas conteniendo el programa compilador del lenguaje(por caso, para la época sería Fortran o Cobol).
Hacer correr esos cientos de tarjetas por el lectorde tarjetas hasta que la computadora se detenga(a la espera de ingresar el programa a ser compilado).
Poner en el lector el conjunto de tarjetas perforadas correspondientes al programa que queremos compilar y esperar a que sean procesadas.
Organización de ComputadorasOrganización de Computadoras 3030
Proceso de compilaciónProceso de compilaciónContinúa:
En ese momento la perforadora de cinta entra en acción (puesto que no se usaban monitores). Pueden pasar dos cosas, que la compilación sea exitosa oque haya habido un error en el programa fuente.
Si la compilación fue exitosa, la perforadora de cinta genera la versión ejecutable del programa.
Si la compilación falló, se genera un reporte de cuál fue el error, pero eso significa tener que descartar y volver a perforar una o más tarjetas (por así decir,las tarjetas perforadas son “sólo lectura”).
Organización de ComputadorasOrganización de Computadoras 3131
Proceso de ejecuciónProceso de ejecuciónProtocolo para ejecutar el programa una vez compilado satisfactoriamente.
Buscar en el armario las tarjetas perforadas asociadas al cargador de programas.
Hacer pasar esas tarjetas por el lector de tarjetas hasta que la computadoras se detenga.
En ese punto se hace pasar la cinta perforada antes generadas por el compilador por el lector de cinta.
En este punto, el programa puede o bien finalizar satisfactoriamente, o bien abortar su ejecuciónpor la mitad, o bien ciclar indefinidamente.
Organización de ComputadorasOrganización de Computadoras 3232
Proceso de ejecuciónProceso de ejecuciónContinúa:
Si el programa termina de ejecutar y además cuenta con alguna forma de salida, se activará el teletipo oel perforador de cinta según corresponda.
Si el programa aborta por la mitad su ejecución,se genera un volcado en impresora del estadode la memoria en ese momento para que el autordel programa intente descubrir qué pasó.
Si el programa cicla indefinidamente, el operador tiene que darse cuenta e interrumpir su ejecución, generándose un volcado como en el caso anterior.
Organización de ComputadorasOrganización de Computadoras 3333
IBM System/360IBM System/360Esta computadora introducida en 1964 constituye la primer familia de computadoras:
Todas tienen un set de instrucciones similar o incluso idéntico y usan el mismo sistema operativo.
La principal diferencia entre las distintas versiones de la familia es su velocidad y su capacidad de memoria.
Popularizó el conceptode que un byte tiene 8 bits.
¡Casi termina teniendo 4 bits,o alternativamente 6 bits!
Organización de ComputadorasOrganización de Computadoras 3434
DEC PDP-8DEC PDP-8DEC creo en 1964 la primer minicomputadora.
El nombre hace referencia a otra invención contemporánea, la minifalda.
No requería un equipo de aireacondicionado propio.
Era lo suficientemente pequeñacomo entrar en un escritorio.
Una bicoca para la época:$16.000 (la System/360 de IBMarrancaba en unos $100.000).
Organización de ComputadorasOrganización de Computadoras 3535
PDP-8PDP-8La PDP-8 se caracteriza por hace uso deun innovativo bus único llamado Omnibus,el cual interconecta a todos sus componentes.
Resultó un éxito, vendiéndose más de 300.000 unidades entre sus distintas variantes.
Organización de ComputadorasOrganización de Computadoras 3636
Ley de MooreLey de MooreGordon Moore, unos de los fundadores de Intel, observó que la densidad de los circuitos integrados crecía constantemente.
Predijo que la cantidad de transistoresen los chips iba a duplicarse cada año.
Tan precisa fue esa predicción que hoy se la conoce como la Ley de Moore.
Desde la década del '70 este crecimientose desaceleró un poco:
Ahora... ¡sólo se duplica cada 18 meses!
Organización de ComputadorasOrganización de Computadoras 3737
Transistores por CPUTransistores por CPU
Organización de ComputadorasOrganización de Computadoras 3838
Transistores por CPUTransistores por CPU¿Qué beneficio genera contar dentrode un mismo chip con más transistores?
Los transistores de los integrados CMOS cuanto más pequeños resultan más veloces y disipan menos calor.
Al ser más pequeños todos los componentes, sus interconexiones son mas cortas, y por ende pueden funcionar a mayor velocidad.
El costo de fabricar un chip se ha mantenido relativamente constante, por lo que al aumentarel nivel de integración baja el costo (es decir,pagando lo mismo podemos hacer más que antes).
Organización de ComputadorasOrganización de Computadoras 3939
Evolución de la memoriaEvolución de la memoriaLa tecnología de la memoria principal de las primeras computadora era bien diversa.
Una de las alternativas más populares de la época (1955-1975) fue la memoria de núcleo.
Cada bit se almacenaba enun pequeño toroide magnético.
Se trata de una memoriapersistente, pero cuyocontenido se destruye al leerlo.
Otro tipo: de núcleo cableado.
Organización de ComputadorasOrganización de Computadoras 4040
Evolución de la memoriaEvolución de la memoriaEn la década del '70 finalmente se pudo aplicar la tecnología de los circuitos integrados ala producción de memoria.
La tecnología de los semiconductores permitió empaquetar unos 256 bits en el espacio ocupadopor un único toroide de la memoria de núcleo.
Las lecturas no eran destructivas y ademásel ciclo de lectura era mucho más veloz.
Eso si, se trata de una memoria dinámica,el contenido se pierde pasado un cierto tiempo.
Organización de ComputadorasOrganización de Computadoras 4141
Evolución de la memoriaEvolución de la memoriaUna vez implementada la memoria dentro de un circuito integrado, se pudo sacar provecho de los avances en el nivel de integración:
La capacidad de los módulos de memoria se duplica cada unos 12 meses.
No obstante, sólo la capacidad de los módulos se incrementa de forma exponencial, no asísu velocidad.
Existe una separación cada vez mayor entrelas velocidades del procesador y de la memoria.
Organización de ComputadorasOrganización de Computadoras 4242
CPU vs. MemoriaCPU vs. Memoria
Organización de ComputadorasOrganización de Computadoras 4343
Soluciones ensayadasSoluciones ensayadasA lo largo del tiempo se han ensayado distintas alternativas para atemperar el impacto de esta creciente diferencia de desempeño:
Traer más información a la vez (que los módulosde memoria tengan más “patitas”).
Incorporar múltiples niveles de memoria cache.
Minimizar los accesos a memoria (tarea tantodel programador como del compilador).
Mejorar la interconexión entre CPU y memoria(por ejemplo, haciendo uso de múltiples canales).
Organización de ComputadorasOrganización de Computadoras 4444
IntelIntelIntel introdujo en 1971 el i4004, el primer microprocesador.
Un microprocesador contiene todos los componentes del CPU dentro de un único chip.
Se trata de una arquitectura de 4 bits.
En 1972 introdujo el i8008, de 8 bits.
Tanto el i4004 como el i8008 eran de propósito específico.
Luego, en 1974 introdujo el i8080, el primer microprocesador de propósito general.
Organización de ComputadorasOrganización de Computadoras 4545
Intel 4004 (1971)Intel 4004 (1971)Características:
Arquitectura de 4 bits.
Capacidad de memoria:4 KB (12 bits)
Transistores: 2.250
Tamaño: 12 mm²
Frecuencia: 108 KHz
Organización de ComputadorasOrganización de Computadoras 4646
Intel 8086 (1978)Intel 8086 (1978)Características:
Arquitectura de 16 bits.
Capacidad de memoria:1 MB (20 bits)
Transistores: 29.000
Tamaño: 23 mm²
Frecuencia: 5.000 KHz
Organización de ComputadorasOrganización de Computadoras 4747
Intel 80386 (1985)Intel 80386 (1985)Características:
Arquitectura de 32 bits.
Capacidad de memoria:4 GB (32 bits)
Transistores: 275.000
Tamaño: 104-39 mm²
Frecuencia: 12-33 MHz
Organización de ComputadorasOrganización de Computadoras 4848
Intel 80486 (1989)Intel 80486 (1989)Características:
Arquitectura de 32 bits.
Capacidad de memoria:4 GB (32 bits)
Transistores: 1.200.000
Tamaño: 81 mm²
Frecuencia: 16-100 MHz
Cache: 8 KB
Incluye por primera vez un coprocesador matemático en el mismo chip.
Organización de ComputadorasOrganización de Computadoras 4949
Intel Pentium (1993)Intel Pentium (1993)Características:
Arquitectura de 32 bits.
Capacidad de memoria:4 GB (32 bits)
Transistores: 3.100.000
Tamaño: 294 mm²
Frecuencia: 60-233 MHz
Cache: 16-32 KB
Primer arquitectura x86superescalar.
Organización de ComputadorasOrganización de Computadoras 5050
Intel Pentium III (1999)Intel Pentium III (1999)Características:
Arquitectura de 32 bits.
Capacidad de memoria:4 GB (32 bits)
Transistores: 9.500.000
Tamaño: 125 mm²
Frecuencia: 450-1400 MHz
Cache: 256-512 KB
Esta arquitectura es aún la basede los procesadores modernos.
Organización de ComputadorasOrganización de Computadoras 5151
Intel Pentium IV (2000)Intel Pentium IV (2000)Características:
Arquitectura de 32 bits.
Capacidad de memoria:4 GB (32 bits)
Transistores: 42.000.000
Tamaño: 145 mm²
Frecuencia: 1.3-3.8 GHz
Cache: 256-2048 KB
Primera implementación dela técnica de hyperthreading.
Organización de ComputadorasOrganización de Computadoras 5252
Intel Core2 (2006)Intel Core2 (2006)Características:
Arquitectura de 64 bits.
Capacidad de memoria:64 GB - 8 EB (36-64 bits)
Transistores: 291.000.000
Tamaño: 143 mm²
Frecuencia: 1.06-3.5 GHz
Cache: 1-12 MB
Núcleos: 1, 2 ó 4.
Organización de ComputadorasOrganización de Computadoras 5353
Intel Core i7 (2008)Intel Core i7 (2008)Características:
Arquitectura de 64 bits.
Capacidad de memoria:64 GB - 8 EB (36-64 bits)
Transistores: 1.600.000.000
Tamaño: 160 mm²
Frecuencia: 1.06-3.5 GHz
Cache: 5-15 MB
Núcleos: 2, 4 ó 6.
Organización de ComputadorasOrganización de Computadoras 5454
Intel Core i9Intel Core i9Características:
Arquitectura de 64 bits
Capacidad de memoria:64 GB - 8 EB (36-64 bits)
Transistores: secreto comercial
Tamaño: 322-484 mm²
Frecuencia: 2.6-4 GHz
Cache: 24-43 MB
Núcleos: 10, 12, 14, 16 o 18
Organización de ComputadorasOrganización de Computadoras 5555
ARM Cortex-A9 (2007)ARM Cortex-A9 (2007)Características:
Arquitectura de 32 bits
Capacidad de almacenamiento:1 GB de RAM / 16 o 32 GB de datos
Transistores: 26.000.000
Tamaño: 31 mm²
Frecuencia: 1.5 GHz
Cache: 16-64 KB
Núcleos: 22.3
Organización de ComputadorasOrganización de Computadoras 5656
A15 (2010) + A7 (2007)A15 (2010) + A7 (2007)Características:
Arquitectura de 32 bits
Capacidad de almacenamiento:2 GB de RAM / 16 o 32 GB de datos
Transistores: ¡top secret!
Tamaño: ¡top secret!
Frecuencia: 1.6 GHz + 1.2 GHz
Cache: 512 KB - 4 MB
Núcleos: 4 + 44.2.2
Organización de ComputadorasOrganización de Computadoras 5757
A57 (2012) + A57 (2012) + A53 (2012)A53 (2012)Características:
Arquitectura de 64 bits
Capacidad de almacenamiento:4 GB de RAM / 32 o 64 GB de datos
Transistores: ¡top secret!
Tamaño: ¡top secret!
Frecuencia: 2.1 GHz + 1.5 GHz
Cache: 512 KB - 2 MB
Núcleos: 4 + 45.0
Organización de ComputadorasOrganización de Computadoras 5858
M2 (2017) + A53 (2012)M2 (2017) + A53 (2012)Características:
Arquitectura de 64 bits
Capacidad de almacenamiento:4-6 GB de RAM / 64-128 GB de datos
Transistores: ¡top secret!
Tamaño: ¡top secret!
Frecuencia: 2.3 GHz + 1.7 GHz
Cache: 2 MB
Núcleos: 4 + 47.0
Organización de ComputadorasOrganización de Computadoras 5959
M4 (2019) + A75 (2017) + A55 (2017)M4 (2019) + A75 (2017) + A55 (2017)Características:
Arquitectura de 64 bits
Capacidad de almacenamiento:8-12 GB de RAM / 128GB-1TB datos
Transistores: ¡top secret!
Tamaño: ¡top secret!
Frecuencia: 2.73/2.71/1.95 GHz
Cache: 2-4 MB
Núcleos: 2 + 2 + 49.0
Organización de ComputadorasOrganización de Computadoras 6060
Hardware vs. SoftwareHardware vs. SoftwareLas computadoras hoy en día se componen esencialmente de hardware y de softwarte.
Denominamos hardware a todo componente tangible, es decir, que se puede tocar.
Por caso, procesador, memoria, teclado, etc.
En contraste, denominamos software alos restantes componentes intangibles.
Por caso, el sistema operativo, los programasde aplicación, etc.
Organización de ComputadorasOrganización de Computadoras 6161
Principio de equivalenciaPrincipio de equivalenciaEl principio de equivalencia nos brindaun puente entre el hardware y el software:
“Todo lo que pueda ser implementado a nivel de software también puede ser reimplementado a nivel de hardware y todo lo que pueda ser implementadoa nivel de hardware puede ser reimplementadoa nivel de software”
La decisión de qué implementar en hardware y qué en software depende de otros parámetros:
Velocidad, costo, facilidad de mantenimiento, etc.
Organización de ComputadorasOrganización de Computadoras 6262
MicroprogramaciónMicroprogramaciónUna aplicación inmediata de la ley de equivalencia se puede observar, por caso,en las minicomputadoras de la compañía DEC.
En ocasiones, las instrucciones máquina más complicadas se implementaban en un software de bajo nivel llamado microcódigo.
Parte de las instrucciones estaban implementadas directamente en hardware, pero parte tambiénse implementaban a través de microprogramación.
La idea era balancear costo vs. desempeño.
Organización de ComputadorasOrganización de Computadoras 6363
MicroprogramaciónMicroprogramaciónLa técnica de microprogramación floreció principalmente durante el período quela memoria principal era excesivamente lenta
El contar con un set de instrucciones complejo permite generar programas más compactos y con menor requerimiento de ancho de banda a memoria
Este tipo de arquitectura se denomina casualmente Complex Instruction Set Computer (CISC)
La familia de procesadores Intel es el ejemplo más conocido de esta arquitectura CISC
Organización de ComputadorasOrganización de Computadoras 6464
MicroprogramaciónMicroprogramaciónLa utilidad de la microprogramación empezóa ceder de la mano de dos avances:
Por un lado el crecimiento exponencial de la cantidad de transistores disponibles permitió reimplementaren hardware más y más funcionalidad
Pero el mayor impacto vino de la mano de la mejora en el desempeño de la memoria principal
En la actualidad se opta por simplificar el set de instrucciones (RISC), mejorando el desempeño mediante el uso de pipeline y múltiples núcleos
La arquitectura ARM implementa esta filosofía.
Organización de ComputadorasOrganización de Computadoras 6565
Ciclo básico del CPUCiclo básico del CPULas computadoras llevan adelante infinitas veces su ciclo básico de operación:
Etapa Fetch: se busca la próxima instrucción a ser ejecutada, la cual es apuntada por el registro PC.
Etapa Decode: luego, se determina de qué tipode instrucción se trata.
Etapa Effective Address: se calcula la dirección efectiva referida por la instrucción (si es que existe alguna) y/o se busca en memoria los operandos para poder ejecutar la instrucción.
Organización de ComputadorasOrganización de Computadoras 6666
Ciclo básico del CPUCiclo básico del CPUContinúa:
Etapa Execute: sabiendo de qué instrucción se trata y contando con los operandos que se necesiten se puede enviar todo a la ALU para que sea ejecutado.
Etapa Memory: las arquitecturas que no permiten acceder a operandos en memoria cuentan con una etapa específica donde se accede a memoria para leer o escribir una determinada locación.
Etapa Write-Back: usualmente el resultado de la operación se almacena en alguno de los registrosde la máquina durante esta etapa.
Organización de ComputadorasOrganización de Computadoras 6767
Ciclo básico del CPUCiclo básico del CPU
WRITEBACK
WRITEBACK
FETCHFETCH
MEMORYMEMORY
DECODEDECODE
EXECUTEEXECUTE
EFFECTIVEADDRESS
EFFECTIVEADDRESS
Organización de ComputadorasOrganización de Computadoras 6868
Organización de la memoriaOrganización de la memoriaLa memoria se organiza como un arreglo den locaciones, cada una de k bits.
Cada locación cuenta con unidentificador que la caracterizadenominado dirección.
De igual forma, cada locaciónalmacena un contenido de k bits.
Las operaciones básicas con la memoria son:
Leer un valor de la memoria.
Escribir un valor en la memoria.
011100100000:0001:0010:0011:0100:
1110:1111:
11100101000110010111001000100101
0011100110010110
… …
Organización de ComputadorasOrganización de Computadoras 6969
Interfaz con la memoriaInterfaz con la memoriaLa unidad controladora de la memoria cuenta esencialmente con dos registros:
El registro MAR el cual almacena la direcciónde una locación de memoria
El registro MDR el cual almacena el contenidode una locación de memoria
unidad controladorade la memoria
MAR MDR
Organización de ComputadorasOrganización de Computadoras 7070
Interfaz con la memoriaInterfaz con la memoriaOperación de lectura (load):
El procesador escribe la locación que se desea acceder en el registro MAR, luego activa la señalde lectura y finalmente accede al valor en cuestiónel cual estará disponible en el registro MDR.
Operación de escritura (store):
El procesador escribe la locación que se desea acceder en el registro MAR y el contenido que se desea almacenar en el registro MDR y por último activa la señal de escritura.
Organización de ComputadorasOrganización de Computadoras 7171
Latinoamérica y ArgentinaLatinoamérica y Argentina
Historia de la Informática en Latinoamérica y el Caribe: Investigaciones y testimonios
Jorge Aguirre & Raúl Carnota (Compiladores)
Universidad Nacional de Río Cuarto, 2009
Organización de ComputadorasOrganización de Computadoras 7272
Clementina (1960)Clementina (1960)Primera computadora utilizada con fines científicos.
Manuel Sadosky (matemático y físico) creador de la carrera de Computador Científico (Lic. en Ciencias de la Computación).
Instalada en el Instituto de Cálculo de la UBA.
Características:
Marca: Ferranti Mercury (de Gran Bretaña)
Sucedor del modelo Mark 1
Memoria núcleo magnético 4Kwords de 10bits.
Componentes: 18 gabinetes
Lector de tarjetas (nacional)
Primer lenguaje de prog. Argentino: COMIC
Organización de ComputadorasOrganización de Computadoras 7373
SupercomputadorasSupercomputadoras
Cristina
En honor a la Dra. María Cristina Giordano
pionera de la investigación en
fisicoquímica en Córdoba
Comienzo de operaciones: marzo 2010
Univ. Nacional de Córdoba
Organización de ComputadorasOrganización de Computadoras 7474
Supercomputadoras (cont.)Supercomputadoras (cont.)
Características:
nodo de administración 32 GiB de RAM, 8 núcleos Intel Xeon E5420 2.5 GHz, fuente redundante.
nodo de almacenamiento 32 Gb de RAM, 8 núcleos Intel Xeon E5420 2.5 GHz y 20 TiB de almacenamiento RAID, fuente redundante.
68 nodos de cómputo con 16 GiB de RAM, 8 núcleos Intel Xeon E5420 2.5 GHz.
Total de procesadores: 560 CPUs, 32 TiB de disco y 1.1 TiB de RAM.
(1 TiB/tebibyte = 240 bytes = 1099511627776bytes = 1024 gibibytes)
Organización de ComputadorasOrganización de Computadoras 7575
Supercomputadoras (cont.)Supercomputadoras (cont.)
Mendieta
Séptima más rápida de LA (según LarTop50 2014)
Univ. Nacional de Córdoba
Isaac
Segunda más veloz de la Argentina.
CNEA (Comisión Nacional de Energía Atómica)
Organización de ComputadorasOrganización de Computadoras 7676
Supercomputadoras (cont.)Supercomputadoras (cont.)
Tupac
Cluster del CONICET
Características:
16384 GPUs nVidia
4096 CPUs AMD Opteron (AMD 6276)
Memoria general: 2GB por core
Memoria total GPU: 8192GB
Organización de ComputadorasOrganización de Computadoras 7777
¿¿Preguntas?Preguntas?