S01 - myTeachingURJC/Arq-computadores-01 GitHub Wiki
Sesión de Teoría 1: Introducción a los computadores
- Tiempo: 1h
- Diapositivas: Introducción. Conceptos básicos de computadores (PDF)
- Objetivos de la sesión:
- Presentación de la asignatura
- Introducción a los computadores
- Objetivos de la asignatura
Contenido
- Introducción
- La máquina universal: Computadores
- Objetivos de la asignatura
- Lecturas del libro de referencia
- Para saber más
- Autores
- Licencia
- Enlaces
Introducción
¿Cómo funciona un computador? ¿Cómo se relaciona el hardware con el Software? ¿Cómo conseguir que un computador vaya más rápido? Las respuestas a estas preguntas las estudiaremos en detalle en esta asignatura. Los computadores son una de las creaciones más complejas hechas por los humanos. Para entenderlos hay que hacer un largo viaje por los conceptos y las abstracciones. Pero empecemos por el principio: los números
Era digital
Vivimos en un mundo digital: televisión digital, radio digital, circuitos digitales...Es la era digital ¿Pero esto qué significa? Simplemente que TODO son números. Toda la información que recibimos son números. Las imágenes que nos llegan por la televisión son en realidad números. Los sonidos que escuchamos son números. Las Apps que ejecutamos en nuestros móviles son números. Los documentos que enviamos por internet son ... ¡Números!
Pero es que además, gracias al segundo teorema de Nyquist, tenemos garantizado matemáticamente que cualquier señal analógica se puede convertir a números y posteriormente ser reconstruidas. De esta forma, tenemos garantizado que cualquier señal la podemos convertir a números ¡¡Los pitagóricos estarían orgullosos!! ¡¡Tenían razón!! :-)
Circuitos digitales
Los circuitos digitales son los que trabajan con números. Y sólo con números. Sólo realizan tres operaciones con los números: Almacenar, transportar y manipular
Estos circuitos reciben números por sus entradas, realizan estas operaciones, y producen otros números como salida
Ahora bien, con la tecnología actual, los chips trabajan internamente con bits. Son elementos de información que sólo pueden estar en dos estados: 1 ó 0. Y se usan bits porque son muy fáciles de implementar a partir de transistores que se fabrican muy fácilmente y barato con silicio
Cualquier número se puede representar mediante dígitos binarios (bits). De esta forma podemos redefinir los chips digitales como: Aquellos componentes que almacenan, transportan y manipulan bits. Y sólo hacen eso
Por sus entradas llegan bits, que son manipulados, almacenados y transportados, y como resultado se obtienen más bits que se sacan por las salidas
Niveles
En ciencia y en ingeniería dividimos el conocimiento por niveles. El modelo es como el que ya conocéis de las capas de red. En cada capa se introduce una abstracción, y permite abordar nuevos problemas sin tener que conocer los detalles de los niveles inferiores. Estos son algunos de los niveles en la tecnología actual:
En este dibujo vemos el viaje desde un teléfono móvil (que es un computador) hasta el átomo. Dentro del teléfono encontraremos todos sus componentes soldados en una placa de circuito impreso. En ella hay chips digitales, que son esos componentes negros con patas en los lados
En el interior del chip hay un elemento más pequeño todavía: el dado. En su interior están los transistores, hechos mediante materiales semiconductores de silicio. El cristal de silicio está hecho a partir de la unión de átomos de silicio
Electrónica digital. Circuitos cableados
En la asignatura de electrónica digital aprendiste a diseñar y construir circuitos digitales a partir de puertas lógicas y biestables. Estos circuitos tienen existencia física. Para construirlos hay que colocar los chips y unirlos mediante cables
Los construimos con una función específica: sumar números (calculadora), contador, controlador de un robot, apertura de una cerradura mediante un código, alarma despertador...
Si queremos modificar uno de estos circuitos para que haga otra cosa, no hay más remedio que rediseñarlo. Las conexiones que tiene ya NO valen. Hay que unir los componentes lógicos de otra forma, añadir nuevos componentes, y eliminar los no usados
Se dice que estos circuitos tienen la lógica cableada. Ya está unida. No podemos modificarla sin romper el circuito. Son por tanto unas máquinas que tienen un único propósito: aquel para el que fueron construidas
Este es un ejemplo de un circuito digital, hecho con puertas lógicas y registros, cuyas uniones están en la placa (PCB). Es un transmisor-receptor digital. Si lo queremos modificar para añadir alguna funcionalidad, hay que rediseñar el circuito, y montar uno nuevo
La máquina universal: Computadores
A partir de circuitos lógicos podemos construir una máquina más general. Una máquina cuya función no esté determinada a priori por sus componentes internos, sino por las instrucciones que ejecute. Así, la misma máquina física funcionará de una forma u otra según el programa que ejecute. Es el mismo hardware, pero cambiando el programa, hacemos que realice funciones diferentes. ¡Bienvenidos al mundo del software!
Alan Turing bautizó a esta máquina como La máquina universal, ya que se puede programar para comportarse como se quiera
Sin duda, el computador es uno de los grandes inventos de la humanidad
Componentes del computador
El computador es un sistema digital que recibe unos datos de entrada, los procesa y genera unos datos de salida. La forma de realizar este procesado está definido por el programa. Según el programa que se haya cargado, los datos se procesan de una forma u otra
Hay dos componentes principales: El procesador y la memoria principal. El programa se almacena la memoria principal. El procesador ejecuta las instrucciones del programa para realizar el procesado de la información. Esto se conoce también con el nombre de computador de programa almacenado
Fue propuesto en 1945 por Von Neumann y Eckert-Mauchly en el primer borrador del informe del EDVAC, una de las primeras computadores electrónicas.
En esta foto se puede ver el EDVAC (Fuente: Wikipedia)
Clases de computadores
Tradicionalmente, los computadores se han clasificado según el tipo de aplicación en:
- Ordenadores personales (Personal computers: PCs). Son de propósito general. Buen rendimiento a bajo precio. Son los que han hecho que la computación haya evolucionado tanto: ordenadores para las masas
- Servidores. Normalmente sólo accesibles a través de la red. Alta capacidad, rendimiento y fiabilidad. Ejecutan programas para muchísimos usuarios (Ej: servidores web, servidor del juego Fornite...)
- Gama baja: Un ordenador de escritorio o un servidor multimedia en una raspberry pi
- Supercomputadores: ¡Decenas de miles de procesadores! Se usan para cálculos científicos y de ingeniería. Ej. reconstrucción de la foto del primer agujero negro. Ej. Superordenador Picasso, de la universidad de Málaga (UMA): 4096 cores, 23 TB de RAM y aproximadamente 6.5 PB de almacenamiento. Todos los 500 superordenadores más potentes del mundo utilizan el sistema operativo Linux
- Sistemas empotrados: Se encuentran dentro de otros sistemas. Son el grupo más grande. ¡Hay computadores empotrados en casi todos los aparatos!
A partir del año 2011, el número de móviles fabricados por año (smart phones) superó al de los PCs, que habían dominado desde la década de los 80. El número de tablets se duplica cada año. Entramos en una nueva era, que se denomina la era post-PC. La clasificación de computadores en esta nueva era es:
- Dispositivos móviles personales (personal mobile device: PMD): Se conectan a Internet por conexión inalámbrica (Wifi), tienen baterías recargables y el software se instala descargando apps. Incluye los móviles, las tablets y los dispositivos futuros (como por ejemplo gafas electrónicas)
- La nube (Cloud computing). Grandes cantidades de servidores que ofrecen servicios sobre Internet. Están situados en centros de datos denominados WSCs (Warehouse scale computers). Por ejemplo, Amazon y Google tienes sus WSC con más de 100.000 servidores, que los alquilan a otras empresas para proporcionar servicios de software
Objetivos de la asignatura
El rendimiento de los ordenadores es muy importante. Como ingenieros, siempre queremos obtener el mayor rendimiento: que los programas se ejecuten a la máxima velocidad, usando la menor cantidad posible de recursos. Para ello hay que conocer el funcionamiento interno de los computadores
Los objetivos de esta asignatura los resumimos en las siguientes preguntas:
- ¿Cómo un programa escrito en un lenguaje de alto nivel, como C o Java (o python o javascript), se traduce a lenguaje máquina y cómo el hardware ejecuta el programa resultante? Esto afecta mucho al Rendimiento de los programas
- ¿Cuál es la interfaz hardware / software y cómo el software indica al hardware la realización de las tareas necesarias?
- ¿Qué determina el rendimiento de un programa y cómo puede un programa mejorar su rendimiento? Esto dependerá de cómo esté escrito el programa, de su traducción a lenguaje máquina y de su ejecución por parte del hardware
- ¿Qué técnicas pueden aplicar los diseñadores de hardware para mejorar el rendimiento? Conceptos básicos de diseño de computadores
- ¿Cuáles son los motivos y las consecuencias del cambio de procesamiento secuencial al procesamiento paralelo?. Mecanismos hardware que soportan el paralelismo
- Desde la aparición del primer ordenador comercial en 1951, ¿Cuales son las grandes ideas en el campo de la arquitectura de computadores que fundamentan la computación moderna de hoy en día?
Como Ingenieros, conocer las respuestas a estas preguntas nos permitirán:
- Mejorar el rendimiento de un programa
- Determinar la máquina con las características más adecuadas para ejecutar una determinada aplicación
Lecturas del libro de referencia
Os propongo que leáis estas páginas del libro de referencia: "Computer Organization and Design. Hardware/Software interface. Risc-V"
- Apartado 1.1: Introduction (Pag 2-9)
- Traditional Classes of Computing Applications and Their Characteristics
- Welcome to the Post-PC Era
- What You Can Learn in This Book
Para saber más
- EDSAC 1951. Vídeo de 1951 en el que se explica el flujo de trabajo de uno de los primeros ordenadores: EDSAC
Notas para el profesor
- Título informal de la clase: "Todo es número..."
- El mundo digital se sustenta en números. Necesitamos circuitos digitales para trabajar con esos números. Los circuitos físicos están cableados y tienen un propósito específico. Frente a ellos surgió la idea de Máquina universal: la CPU: su comportamiento se determina por un programa (que no son más que números guardados en una memoria)
Autores
- Katia Leal Algara
- Juan González-Gómez (Obijuan)
Licencia
Créditos
- Imagen del ordenador PC: De AJ from openclipart.org - https://openclipart.org/detail/17924/computer, CC0, https://commons.wikimedia.org/w/index.php?curid=319128
- Foto de los servidores de la fundación wikimedia: De Victorgrigas - Trabajo propio, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=20348442
- Imagen del sistema empotrado: By Pe wiki editor - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=29917509
- Imagen del teléfono móvil: De Samuthebest - Trabajo propio, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=62433289