La respuesta de Michael es una descripción excelente y simple de una computadora con un conjunto de instrucciones reducido, o RISC, como un núcleo ARM. Las computadoras más complejas son VLIW, o sistemas de palabras de instrucción muy largas. En estos sistemas complejos, pueden suceder muchas cosas diferentes, de modo que una sola instrucción puede agregar dos valores, almacenarlos en registros específicos para su uso posterior, sin adicional. Accesos RAM; determine un desplazamiento a un registro para recuperar un operando base, y use el campo de operando de la institución como un desplazamiento de la base, y genere la dirección para una rama lógica. La ejecución interna se realiza a través de multiplexores y escaleras que el programador no puede acceder directamente. Un ejemplo heredado sería Univac 1832.
Los campos de instrucción se definieron como tales. Se definieron las instrucciones:
F = Instrucción, como ADD:
a = acumulador para usar. Hay A0-7 u 8 disponibles;
- ¿Cómo utilizar Fedora 21 (Beta) Spin Electronic Lab para volver a revisar los esquemas electrónicos de mi empresa? ¿O hay algún tutorial sobre cómo crear nuevos componentes electrónicos con Fedora?
- ¿Por qué las compuertas AND de IC y las compuertas AND que hice usando transistores se comportan de manera diferente?
- ¿Cuál es el efecto de la temperatura sobre la resistencia de los aisladores y conductores?
- ¿Cuál es la frecuencia autorresonante de un condensador?
- ¿Puede un regulador de voltaje convertir CA a CC?
k = qué porción del operando se usaría, 8-, 16-, 32-, bits;
B = qué registro base usar, B0-B7. Uno los usó como una dirección base para listas de operandos, como compensaciones. Estos se incrementan automáticamente cuando se accede.
I = acceso indirecto al operando requerido;
S = registros de estado o base, S0-S7. Estos no se incrementan.
Y = operando, desplazamiento u otro, según la instrucción de tipo. En el ejemplo ADD, este valor se agrega al acumulador designado. Entonces, básicamente, la mayoría de estos bits se usan directamente para cambiar lógicamente números de multiplexores y compuertas combinatorias para que se seleccionen los registros, las escaleras y demás. Esta computadora tenía literalmente cientos de tarjetas de circuitos de circuitos integrados TTL. No tenía un sistema operativo, exactamente. Un programador usó una tarjeta impresa que contenía el conjunto completo de instrucciones, y tuvo que codificar cada instrucción a mano, y hacer coincidir manualmente el flujo lógico con un diagrama de flujo con precisión.
Afortunadamente, hoy en día existen pocos programas que requieran la codificación de la máquina para este detalle, principalmente cosas como los controladores de dispositivos y el código del núcleo.