Escolar Documentos
Profissional Documentos
Cultura Documentos
Contenidos
● Notas importantes del curso
○ Apuntador……………………………………………………………………………………………………………….2
○ Contacto con el profesor………………………………………………………………………………...…….2
○ Ficha del Estudiante…………………………………………………………..……………………...………….2
○ Proyectos……………………………………………………………………………..……………...………………...3
○ Libros ………………………………………………………………………………..…………………………………...3
○ Fraude Académico…………………………………………………………..…………………………………….4
● Introducción al curso
○ Historia: Nacimiento de los lenguajes de Alto Nivel…………..……………………………...5
○ ENIAC : Electronic Numerical Integrator And Computer…….……………………………...5
○ EDVAC : Electronic Discrete Variable Automatic Computer.…….………………………..6
● Arquitectura von Neumann
○ Unidad de Control………………………………………………………………..………………………………..7
○ Diseño de la Unidad de Control………………………………..………..……………………………….8
○ Unidad de Control Alambrada…………………………………..………..……………………………….8
○ Sir Maurice Vincent Wilkes…………………………………..……………..……………………………….9
○ EDSAC : Electronic Delay Storage Automatic Computer…....……………………………..9
○ Unidad de Control Microprogramada………………………………………………………………....10
○ ¿Aplicación Microprogramada?........................................................................................10
○ Productividad vs. Eficiencia………………….………………..……………………………………………..11
○ Lenguaje máquina………………………………………………………………………………………………….11
○ Lenguaje Ensamblador…………………………………………………………………………………………..11
● John Backus
1
Apuntador
Todas las clases habrán diferentes apuntadores.
Es obligatorio para todos los estudiantes ser apuntador, el número de veces los define la
cantidad de estudiantes. Tiene 4 dias Naturales para postear sus apuntes en el foro
(http://ec.tec.ac.cr/index.php/foro/sede-ic-san-jose). El PDF debe seguir el siguiente estándar
Com19MMDD-K.pdf (MM = mes, DD = día, KK= número de apuntado). Al ser un pdf este puede ser
generado en cualquier editor de texto. Los apuntadores no serán asignados, cada estudiante
debe ofrecerse al inicio de la lección. Los apuntes son revisados por el profesor y cuenta para la
nota final. Todas las clases habrán diferentes apuntadores.
Correo: torresrojas.cursos.@gmail.com
Ficha de Estudiante
Se debe preparar una breve ficha por cada estudiante para el profesor, si ya la entregó puede
actualizarla. La ficha debe tener lo siguiente:
2
Proyectos
Se desarrollarán en el lenguaje C sobre Linux.
Libros
No hay un libro oficial para el curso, se estará trabajando con material de diferentes libros, pero
es importante contar con un libro sobre compiladores para consulta y estudio. El profesor
asignará lecturas tanto de la bibliografía recomendada en la carta al estudiante como de otros
escritos.
3
Fraude Académico
Habrá cero tolerancia al fraude, ya sea el intento exitoso o no de manera deshonesta la
obtención de puntos para la nota de este curso. Si un estudiante hace fraude se le aplicará el
castigo más severo permitido por el reglamento del TEC.
Ejemplos:
4
Introducción al curso
Historia: Nacimiento de los lenguajes de Alto Nivel
5
6
costo es igual a la de ENIAC. La importancia de EDVAC es que tiene programa en memoria, ya
no ocupa cables.
Es uno de los científicos más brillantes de la historia, con
contribuciones en campos muy variados como: Arquitectura
de Computadores, Ciencias de la Computación, Teoría de
Juegos, Teoría de Conjuntos, Economía, Física, etc. Fue
parte del proyecto Manhattan (bomba atómica) y miembro
del IAS (Institute for Advanced Study), donde se albergaba a
científicos tras emigrar a causa de la segunda Guerra
Mundial. Publica First Draft en 1945, tras reunión de Mauchly y Eckert por lo que es visto como
plagio, se populariza con el nombre de Arquitectura von Neumann utilizada en la actualidad.
7
programar era rediseñar el alambrado (lo que llevaba semanas), por lo que en ese momento la
idea novedosa y revolucionaria era leer de una memoria.
Unidad de Control
Es hardware cuya responsabilidad principal es revisar instrucciones que ocupa el sistema
operativo, ejecutando el Ciclo de Fetch que funciona con un Program Counter (PC), para llevar el
control de las ejecuciones de la siguiente manera:
La Unidad de Control establece el lenguaje máquina o arquitectura de la computadora, en este
curso siempre que se diga arquitectura se piensa en lenguaje. Por lo que es importante aclarar
los siguientes conceptos:
● Organización de Computadoras: se refiere a la parte más básica del computador.
Hardware.
● Arquitectura de Computadoras: emerge de la organización de la computadora, atributos
que son visibles por el programador. Software.
La organización es capaz de modificar el lenguaje máquina para la arquitectura, en este existen
dos posibilidades básicas de diseño: alambrada y microprogramada.
En este diseño de organización cada instrucción máquina tiene sus circuitos correspondientes,
se implementa con compuertas lógicas. Por otra parte la arquitectura es fija, por lo que, para
cambiar el conjunto de instrucciones hay que rediseñar la Unidad de Control.
8
● Ventajas:
○ Es más rápida y eficiente que las Unidades de Control Microprogramadas.
● Desventajas:
○ Es poco o nada flexible.
Es uno de los fundadores de la Ciencia de la Computación e
Investigación de Operaciones. Contribuye con el concepto de
subrutinas para FORTRAN.
Muy impresionado por el paper de von Neumann (First Daft)
respecto a EDVAC, se interesa por el concepto de memoria. Esto lo
lleva a que en 1951 invente el concepto de microprogramación para el diseño de Unidades de
control en CPUs.
Es una computadora electrónica U.K (1946-1958),
inventada y creada por Maurice Wilkes.
9
Tomando que la organización crea el lenguaje máquina y define el conjunto de instrucciones se
da la organización subyacente, donde cada instrucción en lenguaje máquina se construye con
múltiples microinstrucciones tomadas de una micromemoria. La arquitectura se crea sobre esta
organización. El conjunto de instrucciones se define sobre la organización. Es más flexible que la
unidad alambrada pero más lenta.
Lo único real es el hardware, el cual se rodea de microprogramación para darle un
comportamiento, creando el lenguaje máquina y con esto teóricamente crear cualquier cosa.
¿Aplicación Microprogramada?
10
Eficiencia: cantidad de recursos (tiempo, espacio, etc.) que un sistema en funcionamiento
requiere por resultado.
Lenguaje Máquina
La microprogramación define el lenguaje máquina. Este último es mucho más fácil que
microprogramar pero sigue siendo muy difícil interpretar códigos binarios o hexadecimales. El
programador tenía responsabilidades como:
Inherentemente no es portátil. Es más productivo que la microprogramación pero mucho menos
eficiente.
Lenguaje Ensamblador
El programar en lenguaje a máquina es tedioso y propenso a errores, así que en los años 1950s
inventan ensamblador. Es un programa que recibe mnemónicos y nombres simbólicos que con
cierta sintaxis simple, genera lenguaje máquina, calcula desplazamientos. Se utilizan
pseudoinstrucciones y macros . Es mucho más fácil que el lenguaje máquina, además mucho
más productivo e igual de eficiente, pues cualquier cosa que se pueda hacer en lenguaje
máquina se puede hacer en ensamblador. No es portatil. El primer lenguaje ensamblador está
hecho en lenguaje a máquina que algún valiente se decidió crear al que deberían hacerle una
estatua.
Productividad
Eficiencia
11
John Backus
Matemático y Científico de la
computación, U.S.A. (1924-2007)
El proyecto terminó en 1956 inventando el primer lenguaje de alto nivel de uso extendido. En
1958 crea la BNF para describir cualquier lenguaje de programación libre de contexto. En 1977
inventa FP lenguaje de programación funcional.
12