¿Qué es el ensamblador?

ENIAC fue la primera computadora electrónica de propósito general. Se construyó en la Universidad de Pensilvania y se terminó en 1945. Snyder fue una de las seis mujeres que la programaron a mano.
Las computadoras humanas
Narrado por David BelmontAntes de máquinas como ENIAC, la palabra computadora designaba a una persona que hacía cálculos a mano, y las seis mujeres que programaron ENIAC habían sido contratadas para ese trabajo. Para programar la máquina, recableaban: conectaban cables y ajustaban interruptores cada vez que el problema cambiaba. Ese recableado es la razón histórica de que exista el lenguaje ensamblador. En pocos años, ingenieros de Europa y América comenzaron a reemplazar los cables y los ajustes de interruptores por breves códigos escritos que representaban instrucciones, de modo que una persona pudiera leer y cambiar un programa sin tocar un conector.
Primero, una CPU (unidad central de procesamiento) es el chip en el centro de tu computadora, y hace un solo trabajo: ejecutar una larga lista de pequeños comandos llamados instrucciones, uno tras otro, miles de millones por segundo. Cada instrucción es fácil por sí sola, como sumar dos números, mover un valor o saltar a otro lugar.
El ensamblador es la forma de las instrucciones que ejecuta una CPU que una persona puede leer. Cada línea es (casi) una instrucción de máquina. No obtienes bucles, objetos ni cadenas. Mueves números entre registros, pequeñas ranuras de almacenamiento dentro del procesador, y la memoria.

EDSAC ejecutó las Initial Orders de David Wheeler, uno de los primeros programas que traducían instrucciones escritas a código de máquina.
Los primeros ensambladores
Narrado por David BelmontTodo procesador necesita un programa que lea instrucciones escritas y produzca los bits sin procesar que ejecuta el hardware: un ensamblador. El ensamblador de esta página está dirigido a un conjunto de instrucciones.
Este simulador usa RISC-V, un conjunto de instrucciones moderno usado en chips reales y enseñado en universidades. Lo que aprendas aquí se aplica directamente al hardware.

RISC-V es una arquitectura de conjunto de instrucciones abierta. Cualquiera puede implementar su especificación publicada en hardware, y no se requiere ninguna tarifa ni permiso.
Por qué RISC-V
Narrado por David BelmontTodo diseño de conjunto de instrucciones tiene que decidir cuánto trabajo realiza una sola instrucción. Los chips CISC (Complex Instruction Set Computer), incluida la arquitectura x86 que se encuentra en la mayoría de las computadoras de escritorio y portátiles, ponen una gran cantidad de trabajo en cada instrucción. Una instrucción podría leer un valor de la memoria, realizar aritmética con él y almacenar el resultado de vuelta, todo en un solo paso. RISC-V sigue el diseño defendido por Patterson & Ditzel, 1980: cada instrucción realiza una operación simple, y cualquier comportamiento complejo se produce combinando muchas de estas instrucciones.
RISC significa Reduced Instruction Set Computer (computadora de conjunto de instrucciones reducido). El hardware está construido para ejecutar un pequeño grupo de instrucciones simples a alta velocidad. El comportamiento complejo se produce combinando estos pasos simples y rápidos.
El ensamblador de Kathleen Booth para el ARC (Booth, 1947) y las Initial Orders de David Wheeler para EDSAC (Wilkes, Wheeler & Gill, 1951) figuran entre los primeros ensambladores funcionales, y los historiadores siguen debatiendo cuál fue primero. RISC-V, el conjunto de instrucciones que ejecuta este simulador, define una lista pequeña y abierta de instrucciones que cualquiera puede implementar (Asanović & Patterson, 2014). Cada lección a partir de este punto enseña directamente ese conjunto de instrucciones.
Material sugerido
Referencias
- [1]IEEE Computer Society. Women of ENIAC.
- [2]Booth, K. General Considerations in the Design of an All Purpose Electronic Digital Computer. 1947.
- [3]Wilkes, M. V., Wheeler, D. J., Gill, S. The Preparation of Programs for an Electronic Digital Computer. Addison-Wesley, 1951.
- [4]Patterson, D. A., Ditzel, D. R. The Case for the Reduced Instruction Set Computer. ACM SIGARCH Computer Architecture News, 1980.
- [5]Asanović, K., Patterson, D. A. Instruction Sets Should Be Free: The Case For RISC-V. UCB/EECS-2014-146, 2014.
- [6]Gho, E. Unidad 0: Arquitectura RISC-V. Cátedra de Arquitectura de Computadoras, Universidad Nacional de La Matanza. YouTube.
- [7]Glen Beck and Betty Snyder program the ENIAC, building 328, Ballistic Research Laboratory. U.S. Army photo, public domain.
- [8]Maurice Wilkes examining a mercury delay line during the construction of EDSAC. Computer Laboratory, University of Cambridge, CC BY 2.0.
- [9]Yunsup Lee holding a RISC-V prototype chip, 2013. CC0.
