From 8211b172579aac12a07afbddd5bed12e3b1cd83b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Ko=C4=8D=C3=AD?= Date: Sun, 15 Apr 2018 13:56:43 +0200 Subject: Change presets --- qtmips_gui/NewDialog.ui | 8 ++++---- qtmips_gui/newdialog.cpp | 16 ++++++++-------- qtmips_machine/machineconfig.cpp | 14 +++++++------- qtmips_machine/machineconfig.h | 6 +++--- 4 files changed, 22 insertions(+), 22 deletions(-) diff --git a/qtmips_gui/NewDialog.ui b/qtmips_gui/NewDialog.ui index 3c1eaba..135ac83 100644 --- a/qtmips_gui/NewDialog.ui +++ b/qtmips_gui/NewDialog.ui @@ -50,16 +50,16 @@ - + - Pipelined without hazard unit and without cache + No pipeline with cache - + - Pipelined with hazard unit and without cache + Pipelined without hazard unit and without cache diff --git a/qtmips_gui/newdialog.cpp b/qtmips_gui/newdialog.cpp index ee957cb..565d353 100644 --- a/qtmips_gui/newdialog.cpp +++ b/qtmips_gui/newdialog.cpp @@ -21,8 +21,8 @@ NewDialog::NewDialog(QWidget *parent, QSettings *settings) : QDialog(parent) { connect(ui->pushButton_cancel, SIGNAL(clicked(bool)), this, SLOT(cancel())); connect(ui->pushButton_browse, SIGNAL(clicked(bool)), this, SLOT(browse_elf())); connect(ui->preset_no_pipeline, SIGNAL(toggled(bool)), this, SLOT(set_preset())); + connect(ui->preset_no_pipeline_cache, SIGNAL(toggled(bool)), this, SLOT(set_preset())); connect(ui->preset_pipelined_bare, SIGNAL(toggled(bool)), this, SLOT(set_preset())); - connect(ui->preset_pipelined_hazard, SIGNAL(toggled(bool)), this, SLOT(set_preset())); connect(ui->preset_pipelined, SIGNAL(toggled(bool)), this, SLOT(set_preset())); connect(ui->pipelined, SIGNAL(clicked(bool)), this, SLOT(pipelined_change(bool))); @@ -159,12 +159,12 @@ unsigned NewDialog::preset_number() { enum machine::ConfigPresets preset; if (ui->preset_no_pipeline->isChecked()) preset = machine::CP_SINGLE; + else if (ui->preset_no_pipeline_cache->isChecked()) + preset = machine::CP_SINGLE_CACHE; else if (ui->preset_pipelined_bare->isChecked()) preset = machine::CP_PIPE_NO_HAZARD; - else if (ui->preset_pipelined_hazard->isChecked()) - preset = machine::CP_PIPE_NO_CACHE; else if (ui->preset_pipelined->isChecked()) - preset = machine::CP_PIPE_CACHE; + preset = machine::CP_PIPE; else return 0; return (unsigned)preset + 1; @@ -188,13 +188,13 @@ void NewDialog::load_settings() { case machine::CP_SINGLE: ui->preset_no_pipeline->setChecked(true); break; + case machine::CP_SINGLE_CACHE: + ui->preset_no_pipeline_cache->setChecked(true); + break; case machine::CP_PIPE_NO_HAZARD: ui->preset_pipelined_bare->setChecked(true); break; - case machine::CP_PIPE_NO_CACHE: - ui->preset_pipelined_hazard->setChecked(true); - break; - case machine::CP_PIPE_CACHE: + case machine::CP_PIPE: ui->preset_pipelined->setChecked(true); break; } diff --git a/qtmips_machine/machineconfig.cpp b/qtmips_machine/machineconfig.cpp index ce0e3d8..13a1ff2 100644 --- a/qtmips_machine/machineconfig.cpp +++ b/qtmips_machine/machineconfig.cpp @@ -64,17 +64,17 @@ void MachineConfigCache::store(QSettings *sts, const QString &prefix) { void MachineConfigCache::preset(enum ConfigPresets p) { switch (p) { - case CP_PIPE_CACHE: + case CP_PIPE: + case CP_SINGLE_CACHE: set_enabled(true); - set_sets(3); - set_blocks(1); - set_associativity(1); + set_sets(4); + set_blocks(2); + set_associativity(2); set_replacement_policy(RP_RAND); set_write_policy(WP_TROUGH); break; case CP_SINGLE: case CP_PIPE_NO_HAZARD: - case CP_PIPE_NO_CACHE: set_enabled(false); } } @@ -198,6 +198,7 @@ void MachineConfig::preset(enum ConfigPresets p) { // Note: we set just a minimal subset to get preset (preserving as much of hidden configuration as possible) switch (p) { case CP_SINGLE: + case CP_SINGLE_CACHE: set_pipelined(false); set_delay_slot(true); break; @@ -205,8 +206,7 @@ void MachineConfig::preset(enum ConfigPresets p) { set_pipelined(true); set_hazard_unit(MachineConfig::HU_NONE); break; - case CP_PIPE_CACHE: - case CP_PIPE_NO_CACHE: + case CP_PIPE: set_pipelined(true); set_hazard_unit(MachineConfig::HU_STALL_FORWARD); break; diff --git a/qtmips_machine/machineconfig.h b/qtmips_machine/machineconfig.h index 1ec2703..56cdf8e 100644 --- a/qtmips_machine/machineconfig.h +++ b/qtmips_machine/machineconfig.h @@ -8,9 +8,9 @@ namespace machine { enum ConfigPresets { CP_SINGLE, // No pipeline cpu without cache - CP_PIPE_NO_HAZARD, // Pipelined cpu without hazard unit - CP_PIPE_NO_CACHE, // Pipelined cpu without cache - CP_PIPE_CACHE // Full pipelined cpu + CP_SINGLE_CACHE, // No pipeline cpu with cache + CP_PIPE_NO_HAZARD, // Pipelined cpu without hazard unit and without cache + CP_PIPE // Full pipelined cpu }; class MachineConfigCache { -- cgit v1.2.3