Skip to content

08.TheConfiguration

nonodev96 edited this page Mar 27, 2022 · 5 revisions

Editar configuración

Editar la configuración del IDE

Núcleos de operaciones de punto flotante.

DLX tiene una estructura con 3 tipos de núcleos especializados en operaciones de punto flotante (suma, división y multiplicación), estos núcleos se pueden configurar para tener entre 1 y 8 núcleos y que cada uno de estos tenga un tiempo de cálculo de operación, nosotros podemos editar está configuración.

Tamaño de la memoria

Podemos modificar el tamaño de la memoria en Bytes, por defecto tiene 32768 bytes.

Adelantamientos

Podemos activar o desactivar los adelantamientos.

Tiempo de simulación

Podemos definir el tiempo de simulación de cada paso para que sea más sencillo ejecutar y ver como se mueven los datos.

Como mínimo tenemos 100 ms en cada paso.

Autoguardado

Para que sea más sencillo se incluye la opción de autoguardado para ejecutar y guardar en la nube.

Multiview

Podemos indicar que ver y en que orden ver las distintas secciones en la vista múltiple.

Desarrollo

Para actualizar la configuración de la máquina se envía un json de tipo TypeConfigurationMachine por el socket UpdateConfigurationMachineRequest, se puede tratar la respuesta por UpdateConfigurationMachineRequest o por UpdateConfigurationMachineResponse.

Este tipo de envío nos permite configurar los núcleos y el delay de cada nucleo, así como el tamaño de la memoria y si se encuentra activo los adelantamientos.

export type TypeConfigurationMachine = {
  addition: {
    count: number;
    delay: number;
  },
  multiplication: {
    count: number;
    delay: number;
  },
  division: {
    count: number;
    delay: number;
  },
  memorySize: number;
  enabledForwarding: boolean;
};

Siendo el objeto que se envía al servidor con la configuración la siguiente.

{
  "addition": {
    "count": 3,
    "delay": 3
  },
  "multiplication": {
    "count": 3,
    "delay": 3
  },
  "division": {
    "count": 3,
    "delay": 3
  },
  "memorySize": 3,
  "enabledForwarding": true
}
Clone this wiki locally