diff --git a/src/main/java/cli/History.java b/src/main/java/cli/History.java index afd82d353f71d81292e54b1ab0c2534ec7d8678e..3559be68dec4df94e3eca77ae5bf43772845f3de 100644 --- a/src/main/java/cli/History.java +++ b/src/main/java/cli/History.java @@ -97,9 +97,6 @@ public class History extends Command { return "Invalid argument. Must provide an int"; } - - - } public void fillSubCommands() { diff --git a/src/main/java/myutil/Terminal.java b/src/main/java/myutil/Terminal.java index 8121f1c9094d67b7281b87e97cb35016d3786d5b..0e8dc0d263ed902bafe54ee73024b92f2a0341b6 100644 --- a/src/main/java/myutil/Terminal.java +++ b/src/main/java/myutil/Terminal.java @@ -68,7 +68,7 @@ public class Terminal { private int maxbufferSize = MAX_BUFFER_SIZE; private TerminalProviderInterface terminalProvider; private int cpt; - private String sequence; + private char[] sequence; private String os; @@ -78,6 +78,7 @@ public class Terminal { os = System.getProperty("os.name").toLowerCase(); System.out.println("Detected OS:" + os); os = os.split(" ")[0]; + bufferPointer = 0; } public void setTerminalProvider(TerminalProviderInterface tp) { @@ -89,13 +90,12 @@ public class Terminal { char x; int val = 0; cursorPosition = 0; - bufferPointer = 0; - printPrompt(cpt); String currentBuf = ""; sequence = null; + int seqNb = 0; long timeSeq = 0; @@ -109,7 +109,8 @@ public class Terminal { // Special sequence? if (sequence == null) { if (val == ESC) { - sequence = ""; + sequence = new char[256]; + seqNb = 0; timeSeq = System.currentTimeMillis(); } } else { @@ -118,20 +119,23 @@ public class Terminal { if (now - timeSeq > 10) { sequence = null; } else { - sequence += x; + sequence[seqNb] = x; + seqNb ++; } } - /*if (sequence != null) { - TraceManager.addDev("Sequence=" + sequence); - printSequence(sequence); - }*/ + if (sequence != null) { + //TraceManager.addDev("Sequence=" + sequence + "length=" + sequence.length()); + //printSequence(sequence); + } - if ((sequence != null) && (sequence.length() == 2)) { - //UP? - if ((sequence.charAt(0) == 91) && (sequence.charAt(1) == 65)) { + if ((sequence != null) && (seqNb == 2)) { + //UP? + if ((sequence[0] == 91) && (sequence[1] == 65)) { + //TraceManager.addDev("UP"); + //System.out.println("UP buffersize=" + buffer.size() + " bufferpointer=" + bufferPointer); if (buffer.size() > 0) { delCurrent(currentBuf); bufferPointer = (bufferPointer > 0) ? bufferPointer - 1 : bufferPointer; @@ -148,7 +152,8 @@ public class Terminal { // DOWN - } else if ((sequence.charAt(0) == 91) && (sequence.charAt(1) == 66)) { + } else if ((sequence[0] == 91) && (sequence[1] == 66)) { + //System.out.println("DOWN buffersize=" + buffer.size()); if (buffer.size() > 0) { //System.out.println("DOWN"); delCurrent(currentBuf); @@ -166,17 +171,16 @@ public class Terminal { // BACKWARD - } else if ((sequence.charAt(0) == 91) && (sequence.charAt(1) == 68)) { + } else if ((sequence[0] == 91) && (sequence[1] == 68)) { - //System.out.println("DOWN"); + //System.out.println("BACKWARD"); backward(); sequence = null; val = -1; // FORWARD - } else if ((sequence.charAt(0) == 91) && (sequence.charAt(1) == 67)) { + } else if ((sequence[0] == 91) && (sequence[1] == 67)) { - //System.out.println("DOWN"); forward(currentBuf); sequence = null; val = -1; @@ -185,11 +189,13 @@ public class Terminal { } } - if ((sequence != null) && (sequence.length() == 3)) { + + + if ((sequence != null) && (seqNb == 3)) { // DEL - if ((sequence.charAt(0) == 91) && (sequence.charAt(1) == 51) && - (sequence.charAt(2) == 126)) { + if ((sequence[0] == 91) && (sequence[1] == 51) && + (sequence[2] == 126)) { //TraceManager.addDev("DEL"); currentBuf = del(currentBuf); //cursorPosition--; @@ -273,9 +279,7 @@ public class Terminal { private void addToBuffer(String newBuf) { // Add at bufferPointer // Therefore remove all elements after bufferPointer - for (int i = buffer.size() - 1; i >= bufferPointer; i--) { - buffer.removeElementAt(i); - } + buffer.add(newBuf); @@ -284,7 +288,11 @@ public class Terminal { } bufferPointer = buffer.size(); + //System.out.println("new BufferPointer=" + bufferPointer + " size buffer=" + buffer.size()); + /*for(int j=0; j<buffer.size(); j++) { + System.out.println("Buffer at" + j + " = " + buffer.get(j)); + }*/ } @@ -358,5 +366,9 @@ public class Terminal { cursorPosition++; } + /*private void printSequence(String seq) { + + }*/ + } diff --git a/src/main/java/ui/window/JDialogCPUNode.java b/src/main/java/ui/window/JDialogCPUNode.java index e58ab408c13d9c42815d4c4a58cfa93a403fd3f3..34d184e65be2a3f519e8fa3fc4d4113b9335e434 100644 --- a/src/main/java/ui/window/JDialogCPUNode.java +++ b/src/main/java/ui/window/JDialogCPUNode.java @@ -42,7 +42,10 @@ package ui.window; import cli.Action; +import help.HelpEntry; +import help.HelpManager; import myutil.GraphicLib; +import myutil.TraceManager; import tmltranslator.modelcompiler.ArchUnitMEC; import ui.ColorManager; import ui.util.IconManager; @@ -78,6 +81,7 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener { // private static int selectedTracemode = 0; // Panel1 protected JTextField nodeName; + private JFrameHelp jFrameHelp = null; // Panel2 protected JTextField sliceTime, nbOfCores, byteDataSize, pipelineSize, goIdleTime, maxConsecutiveIdleCycles, @@ -93,8 +97,8 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener { private java.util.List<SimulationTransaction> transactions; //issue 183 - List<JTextArea> instructionHelpList; - List<JButton> buttons; + List<JButton> buttons = new ArrayList<>(); + List<HelpEntry> helpEntries; /* Creates new form */ public JDialogCPUNode(Frame _frame, String _title, TMLArchiCPUNode _node, ArchUnitMEC _MECType, java.util.List<SimulationTransaction> _transactions) { @@ -121,114 +125,101 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener { } //issue 183 - private void buttonClick(JButton but, JTextArea jta) { - JPopupMenu helpPopup = new JPopupMenu(); - helpPopup.add(jta); - but.addMouseListener(new MouseAdapter() { - @Override - public void mouseClicked(MouseEvent e) { - - if (!helpPopup.isVisible()) { - helpPopup.show(but,20,20); - } else { - helpPopup.setVisible(false); - } - } - }); - - helpPopup.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("ESCAPE"), "closeJTextArea"); - helpPopup.getActionMap().put("closeJTextArea", new AbstractAction() { + private void buttonClick(JButton but, HelpEntry he, HelpManager hm) { + but.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - helpPopup.setVisible(false); + setModalityType(ModalityType.MODELESS); + if(jFrameHelp == null ) { + jFrameHelp = new JFrameHelp("help", hm, he); + jFrameHelp.setModalExclusionType(ModalExclusionType.APPLICATION_EXCLUDE); + jFrameHelp.getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("ESCAPE"), "close"); + jFrameHelp.getRootPane().getActionMap().put("close", new AbstractAction() { + @Override + public void actionPerformed(ActionEvent e) { + if(!jFrameHelp.isVisible()) + dispose(); + jFrameHelp.setVisible(false); + } + }); + }else{ + if(!jFrameHelp.isVisible()) { + jFrameHelp = new JFrameHelp("help", hm, he); + jFrameHelp.setModalExclusionType(ModalExclusionType.APPLICATION_EXCLUDE); + setModalityType(ModalityType.MODELESS); + jFrameHelp.getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("ESCAPE"), "close"); + jFrameHelp.getRootPane().getActionMap().put("close", new AbstractAction() { + @Override + public void actionPerformed(ActionEvent e) { + if(!jFrameHelp.isVisible()) + dispose(); + jFrameHelp.setVisible(false); + } + }); + }else{ + jFrameHelp.setVisible(false); + jFrameHelp = null; + } + } } }); - } //issue 183 private void hardwareHelp(){ - instructionHelpList = new ArrayList<>(); - buttons = new ArrayList<>(); - JTextArea jft1 = new JTextArea(); - jft1.setText("CPU name"); - instructionHelpList.add(jft1); - - JTextArea jft2 = new JTextArea(); - jft2.setText("The arbitration policy used by OS to schedule mapped tasks"); - instructionHelpList.add(jft2); - - JTextArea jft3 = new JTextArea("Slice time : The maximum time allocated by the OS " + - "scheduler to execute a task"); - instructionHelpList.add(jft3); - - JTextArea jft4 = new JTextArea("Nb of Cores : The number of cores of the CPU"); - instructionHelpList.add(jft4); - - JTextArea jft5 = new JTextArea("Data size : The size of an EXECI/EXECC operation, in " + - "number of bytes"); - instructionHelpList.add(jft5); - - JTextArea jft6 = new JTextArea("Pipeline size : The number of stages of the pipeline"); - instructionHelpList.add(jft6); - - JTextArea jft7 = new JTextArea("Task switching : The time taken by the OS for a context switch"); - instructionHelpList.add(jft7); - - JTextArea jft8 = new JTextArea("Mis-branching prediction: The miss percentage of the CPU branch " + - "prediction scheme"); - instructionHelpList.add(jft8); - - JTextArea jft9 = new JTextArea("cahe-miss : The percentage of cache misses"); - instructionHelpList.add(jft9); - - JTextArea jft10 = new JTextArea("Go idle time (cycles) : The time taken by the OS and the CPU " + - "hardware to go idle"); - instructionHelpList.add(jft10); - - JTextArea jft11 = new JTextArea("Max consecutive cycles before idle (cycles) : Number of consecutive cycles of NOPs before the " + - "CPU goes idle"); - instructionHelpList.add(jft11); - - JTextArea jft12 = new JTextArea("EXECI execution : The number of clock cycles corresponding to an " + - "integer operation"); - instructionHelpList.add(jft12); - - JTextArea jft13 = new JTextArea("EXECC execution : The number of clock cycles corresponding to an " + - "operation on complex numbers"); - instructionHelpList.add(jft13); - - JTextArea jft14 = new JTextArea("Clock divider : This number defines the operating clock frequency of the CPU \n" + - "It is expressed via a number that is used to divide the global design\n" + - "frequency, whose default value is 200 MHz. Thus a clock divider equal to 4 means that the CPU\n" + - "operates at 200/4 = 50 MHz"); - instructionHelpList.add(jft14); - - JTextArea jft15 = new JTextArea("Encryption"); - instructionHelpList.add(jft15); - - JTextArea jft16 = new JTextArea("CPU Extension Construct"); - instructionHelpList.add(jft16); - - JTextArea jft17 = new JTextArea("Operation"); - instructionHelpList.add(jft17); + HelpManager helpManager = new HelpManager(); + + if(helpManager.loadEntries()) { + helpEntries = new ArrayList<>(); + HelpEntry he0 = helpManager.getHelpEntryWithHTMLFile("cpuname.html"); + helpEntries.add(he0); + HelpEntry he1 = helpManager.getHelpEntryWithHTMLFile("schedulingpolicy.html"); + helpEntries.add(he1); + HelpEntry he2 = helpManager.getHelpEntryWithHTMLFile("slicetime.html"); + helpEntries.add(he2); + HelpEntry he3 = helpManager.getHelpEntryWithHTMLFile("numbercores.html"); + helpEntries.add(he3); + HelpEntry he4 = helpManager.getHelpEntryWithHTMLFile("datasize.html"); + helpEntries.add(he4); + HelpEntry he5 = helpManager.getHelpEntryWithHTMLFile("pipelinesize.html"); + helpEntries.add(he5); + HelpEntry he6 = helpManager.getHelpEntryWithHTMLFile("taskswitchingtime.html"); + helpEntries.add(he6); + HelpEntry he7 = helpManager.getHelpEntryWithHTMLFile("misbrandingprediction.html"); + helpEntries.add(he7); + HelpEntry he8 = helpManager.getHelpEntryWithHTMLFile("cachemiss.html"); + helpEntries.add(he8); + HelpEntry he9 = helpManager.getHelpEntryWithHTMLFile("goidletime.html"); + helpEntries.add(he9); + HelpEntry he10 = helpManager.getHelpEntryWithHTMLFile("maxconsecutivecycles.html"); + helpEntries.add(he10); + HelpEntry he11 = helpManager.getHelpEntryWithHTMLFile("execi.html"); + helpEntries.add(he11); + HelpEntry he12 = helpManager.getHelpEntryWithHTMLFile("execc.html"); + helpEntries.add(he12); + HelpEntry he13 = helpManager.getHelpEntryWithHTMLFile("clockdivider.html"); + helpEntries.add(he13); + HelpEntry he14 = helpManager.getHelpEntryWithHTMLFile("encryption.html"); + helpEntries.add(he14); + HelpEntry he15 = helpManager.getHelpEntryWithHTMLFile("cpuextension.html"); + helpEntries.add(he15); + HelpEntry he16 = helpManager.getHelpEntryWithHTMLFile("operation.html"); + helpEntries.add(he16); + } - for(int i = 0; i < instructionHelpList.size(); i++) { + for(int i = 0; i < 17; i++) { Icon myIcon = IconManager.imgic32; JButton but = new JButton(myIcon); setButton(but); + buttonClick(but,helpEntries.get(i),helpManager); buttons.add(but); - instructionHelpList.get(i).setEditable(false); - } - - for (int i = 0; i < instructionHelpList.size(); i++) { - buttonClick(buttons.get(i),instructionHelpList.get(i)); } } private void initComponents() { + hardwareHelp(); Container c = getContentPane(); GridBagLayout gridbag0 = new GridBagLayout(); GridBagLayout gridbag2 = new GridBagLayout(); @@ -237,12 +228,12 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener { //GridBagConstraints c1 = new GridBagConstraints(); GridBagConstraints c2 = new GridBagConstraints(); GridBagConstraints c4 = new GridBagConstraints(); - hardwareHelp(); setFont(new Font("Helvetica", Font.PLAIN, 14)); c.setLayout(gridbag0); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); + setModalityType(ModalityType.APPLICATION_MODAL); panel2 = new JPanel(); @@ -290,7 +281,7 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener { c2.weighty = 0.5; c2.weightx = 0.5; c2.gridwidth = GridBagConstraints.REMAINDER; - panel2.add(buttons.get(1),c2); + panel2.add(buttons.get(1),c2); c2.gridwidth = 1; //issue 183 @@ -567,8 +558,8 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener { c0.weightx = 1.0; c0.gridwidth = GridBagConstraints.REMAINDER; //end row c0.fill = GridBagConstraints.BOTH; - /*c.add(panel2, c0); - c.add(panel4, c0);*/ + /* c.add(panel2, c0); + c.add(panel4, c0);*/ c.add( tabbedPane, c0 ); c0.gridwidth = 1; diff --git a/src/main/resources/help/cachemiss.html b/src/main/resources/help/cachemiss.html new file mode 100644 index 0000000000000000000000000000000000000000..9da08675117ba8f92ad8f80d2226076755a1a683 --- /dev/null +++ b/src/main/resources/help/cachemiss.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang=""> +<head> + <meta charset="utf-8" /> + <meta name="generator" content="pandoc" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" /> + <title>TTool help</title> + <style> + code{white-space: pre-wrap;} + span.smallcaps{font-variant: small-caps;} + span.underline{text-decoration: underline;} + div.column{display: inline-block; vertical-align: top; width: 50%;} + </style> + <!--[if lt IE 9]> + <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script> + <![endif]--> +</head> +<body> +<h2 id="cahe-miss-in">Cahe-miss (in %)</h2> +<p>The percentage of cache misses</p> +</body> +</html> diff --git a/src/main/resources/help/cachemiss.md b/src/main/resources/help/cachemiss.md new file mode 100644 index 0000000000000000000000000000000000000000..6271e71f46492861f596a882859e20b2a89aacb4 --- /dev/null +++ b/src/main/resources/help/cachemiss.md @@ -0,0 +1,2 @@ +## Cahe-miss (in %) +The percentage of cache misses \ No newline at end of file diff --git a/src/main/resources/help/cpuextension.html b/src/main/resources/help/cpuextension.html new file mode 100644 index 0000000000000000000000000000000000000000..f0a9d78b33cc32f4b0c2e7eaaf1ec30bbe847978 --- /dev/null +++ b/src/main/resources/help/cpuextension.html @@ -0,0 +1,29 @@ +<!DOCTYPE html> +<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang=""> +<head> + <meta charset="utf-8" /> + <meta name="generator" content="pandoc" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" /> + <title>TTool help</title> + <style> + code{white-space: pre-wrap;} + span.smallcaps{font-variant: small-caps;} + span.underline{text-decoration: underline;} + div.column{display: inline-block; vertical-align: top; width: 50%;} + </style> + <!--[if lt IE 9]> + <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script> + <![endif]--> +</head> +<body> +<h2 id="cpu-extension-construct">CPU Extension Construct</h2> +<p>The CPU Extension Construct :</p> +<ul> +<li>CPU</li> +<li>FEP (Front End Processor)</li> +<li>INTL (Interleaver)</li> +<li>MAPP (Mapper)</li> +<li>ADAIF (Analog to Digital-Digital to Analog Interface)</li> +</ul> +</body> +</html> diff --git a/src/main/resources/help/cpuextension.md b/src/main/resources/help/cpuextension.md new file mode 100644 index 0000000000000000000000000000000000000000..06ca82d18454a3c05f2abbb18e87a63e39d74004 --- /dev/null +++ b/src/main/resources/help/cpuextension.md @@ -0,0 +1,9 @@ +## CPU Extension Construct + +The CPU Extension Construct : + +- CPU +- FEP (Front End Processor) +- INTL (Interleaver) +- MAPP (Mapper) +- ADAIF (Analog to Digital-Digital to Analog Interface) \ No newline at end of file diff --git a/src/main/resources/help/cpuname.html b/src/main/resources/help/cpuname.html new file mode 100644 index 0000000000000000000000000000000000000000..0be8e984b42868c96433d8e1d4df567649561ee7 --- /dev/null +++ b/src/main/resources/help/cpuname.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang=""> +<head> + <meta charset="utf-8" /> + <meta name="generator" content="pandoc" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" /> + <title>TTool help</title> + <style> + code{white-space: pre-wrap;} + span.smallcaps{font-variant: small-caps;} + span.underline{text-decoration: underline;} + div.column{display: inline-block; vertical-align: top; width: 50%;} + </style> + <!--[if lt IE 9]> + <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script> + <![endif]--> +</head> +<body> +<h2 id="cpu-name">CPU name</h2> +<p>The CPU node name</p> +</body> +</html> diff --git a/src/main/resources/help/cpuname.md b/src/main/resources/help/cpuname.md new file mode 100644 index 0000000000000000000000000000000000000000..8895b64a167186e661cd255d087dbd5e456b804d --- /dev/null +++ b/src/main/resources/help/cpuname.md @@ -0,0 +1,2 @@ +## CPU name +The CPU node name \ No newline at end of file diff --git a/src/main/resources/help/datasize.html b/src/main/resources/help/datasize.html new file mode 100644 index 0000000000000000000000000000000000000000..5600b43c6c0536ce861cbf9f072b2e592217d7a6 --- /dev/null +++ b/src/main/resources/help/datasize.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang=""> +<head> + <meta charset="utf-8" /> + <meta name="generator" content="pandoc" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" /> + <title>TTool help</title> + <style> + code{white-space: pre-wrap;} + span.smallcaps{font-variant: small-caps;} + span.underline{text-decoration: underline;} + div.column{display: inline-block; vertical-align: top; width: 50%;} + </style> + <!--[if lt IE 9]> + <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script> + <![endif]--> +</head> +<body> +<h2 id="data-size">Data size</h2> +<p>The size of an EXECI/EXECC operation, in number of bytes</p> +</body> +</html> diff --git a/src/main/resources/help/datasize.md b/src/main/resources/help/datasize.md new file mode 100644 index 0000000000000000000000000000000000000000..affbb80116ee8b26f5f020930afc7b13aa47fbd9 --- /dev/null +++ b/src/main/resources/help/datasize.md @@ -0,0 +1,2 @@ +## Data size +The size of an EXECI/EXECC operation, in number of bytes \ No newline at end of file diff --git a/src/main/resources/help/encryption.html b/src/main/resources/help/encryption.html new file mode 100644 index 0000000000000000000000000000000000000000..eb7c2ec55444d5d6d82753e10b0402c9ff86e3a1 --- /dev/null +++ b/src/main/resources/help/encryption.html @@ -0,0 +1,27 @@ +<!DOCTYPE html> +<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang=""> +<head> + <meta charset="utf-8" /> + <meta name="generator" content="pandoc" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" /> + <title>TTool help</title> + <style> + code{white-space: pre-wrap;} + span.smallcaps{font-variant: small-caps;} + span.underline{text-decoration: underline;} + div.column{display: inline-block; vertical-align: top; width: 50%;} + </style> + <!--[if lt IE 9]> + <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script> + <![endif]--> +</head> +<body> +<h2 id="encryption">Encryption</h2> +<p>The encryption :</p> +<ul> +<li>None</li> +<li>Software Encryption</li> +<li>Hardware Security Module</li> +</ul> +</body> +</html> diff --git a/src/main/resources/help/encryption.md b/src/main/resources/help/encryption.md new file mode 100644 index 0000000000000000000000000000000000000000..ca300a8f8e4becfb410743895f79cb86ce177ae0 --- /dev/null +++ b/src/main/resources/help/encryption.md @@ -0,0 +1,6 @@ +## Encryption +The encryption : + +- None +- Software Encryption +- Hardware Security Module \ No newline at end of file diff --git a/src/main/resources/help/execc.html b/src/main/resources/help/execc.html new file mode 100644 index 0000000000000000000000000000000000000000..1aa4e018dd623674ced94eb759a39f690189d22f --- /dev/null +++ b/src/main/resources/help/execc.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang=""> +<head> + <meta charset="utf-8" /> + <meta name="generator" content="pandoc" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" /> + <title>TTool help</title> + <style> + code{white-space: pre-wrap;} + span.smallcaps{font-variant: small-caps;} + span.underline{text-decoration: underline;} + div.column{display: inline-block; vertical-align: top; width: 50%;} + </style> + <!--[if lt IE 9]> + <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script> + <![endif]--> +</head> +<body> +<h2 id="execc-execution-time-in-cycle">EXECC execution time (in cycle)</h2> +<p>The number of clock cycles corresponding to an operation on complex numbers</p> +</body> +</html> diff --git a/src/main/resources/help/execc.md b/src/main/resources/help/execc.md new file mode 100644 index 0000000000000000000000000000000000000000..e5aa709256e6dff6cf9e06471e0a8475a544dcd5 --- /dev/null +++ b/src/main/resources/help/execc.md @@ -0,0 +1,2 @@ +## EXECC execution time (in cycle) +The number of clock cycles corresponding to an operation on complex numbers \ No newline at end of file diff --git a/src/main/resources/help/execi.html b/src/main/resources/help/execi.html new file mode 100644 index 0000000000000000000000000000000000000000..9823bfab6e128874f75056129a91d0b1522d5968 --- /dev/null +++ b/src/main/resources/help/execi.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang=""> +<head> + <meta charset="utf-8" /> + <meta name="generator" content="pandoc" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" /> + <title>TTool help</title> + <style> + code{white-space: pre-wrap;} + span.smallcaps{font-variant: small-caps;} + span.underline{text-decoration: underline;} + div.column{display: inline-block; vertical-align: top; width: 50%;} + </style> + <!--[if lt IE 9]> + <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script> + <![endif]--> +</head> +<body> +<h2 id="execi-execution-time-in-cycle">EXECI execution time (in cycle)</h2> +<p>The number of clock cycles corresponding to an integer operation</p> +</body> +</html> diff --git a/src/main/resources/help/execi.md b/src/main/resources/help/execi.md new file mode 100644 index 0000000000000000000000000000000000000000..02ec5c7d49219b23a687d078ac16323270c9318a --- /dev/null +++ b/src/main/resources/help/execi.md @@ -0,0 +1,2 @@ +## EXECI execution time (in cycle) +The number of clock cycles corresponding to an integer operation \ No newline at end of file diff --git a/src/main/resources/help/goidletime.html b/src/main/resources/help/goidletime.html new file mode 100644 index 0000000000000000000000000000000000000000..4c70954aeabb460d2c7f339c186b124e9f3b9152 --- /dev/null +++ b/src/main/resources/help/goidletime.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang=""> +<head> + <meta charset="utf-8" /> + <meta name="generator" content="pandoc" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" /> + <title>TTool help</title> + <style> + code{white-space: pre-wrap;} + span.smallcaps{font-variant: small-caps;} + span.underline{text-decoration: underline;} + div.column{display: inline-block; vertical-align: top; width: 50%;} + </style> + <!--[if lt IE 9]> + <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script> + <![endif]--> +</head> +<body> +<h2 id="go-idle-time-in-cycle">Go idle time (in cycle)</h2> +<p>The time taken by the OS and the CPU hardware to go idle</p> +</body> +</html> diff --git a/src/main/resources/help/goidletime.md b/src/main/resources/help/goidletime.md new file mode 100644 index 0000000000000000000000000000000000000000..68f6c1170d4ded3468dad191eb69e3547211cdc3 --- /dev/null +++ b/src/main/resources/help/goidletime.md @@ -0,0 +1,2 @@ +## Go idle time (in cycle) +The time taken by the OS and the CPU hardware to go idle \ No newline at end of file diff --git a/src/main/resources/help/helpTable.txt b/src/main/resources/help/helpTable.txt index 5f85c7f91faec3f240bcf8c80abc2d9bcf745592..49f22de0e8eabee19d316796eaf392a7cfc6bba3 100644 --- a/src/main/resources/help/helpTable.txt +++ b/src/main/resources/help/helpTable.txt @@ -3,8 +3,26 @@ - diplodocus diplodocus hardware software partitioning dse design space exploration -- architecture architecture hardware os operating system --- cpu cpu processor cpu os + +----cpuname cpu_name cpu name +----schedulingpolicy scheduling_policy scheduling policy cpu +----slicetime slice_time slice time cpu +----numbercores number_of_core number core cpu +----datasize data_size data size cpu +----pipelinesize pipeline_size pipeline size cpu +----taskswitchingtime task_switching_time task switching time cpu +----misbrandingprediction mis-branding_prediction mis branding prediction cpu +----cachemiss cache_miss cache miss cpu +----goidletime go_idle_time go idle time cpu +----maxconsecutivecycles max_consecutive_cycles_before_idle max consecutive cycles before idle cpu +----execi execi_execution_time execi execution time cpu +----execc execc_execution_time execc execution time cpu ----clockdivider clock_divider clock divider cpu --- mapping mapping tasks communication mapping +----encryption encryption encryption cpu +----operation operation operation cpu +----cpuextension cpu_extension_construct cpu extension construct + +-- mapping mapping tasks communication mapping ---taskmapping taskmapping tasks mapping ---communicationmapping communicationmapping communication mapping - avatar avatar software embedded systems safety security diff --git a/src/main/resources/help/maxconsecutivecycles.html b/src/main/resources/help/maxconsecutivecycles.html new file mode 100644 index 0000000000000000000000000000000000000000..2cdd0c028a5ca3908743df083f6cf9fad079bd12 --- /dev/null +++ b/src/main/resources/help/maxconsecutivecycles.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang=""> +<head> + <meta charset="utf-8" /> + <meta name="generator" content="pandoc" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" /> + <title>TTool help</title> + <style> + code{white-space: pre-wrap;} + span.smallcaps{font-variant: small-caps;} + span.underline{text-decoration: underline;} + div.column{display: inline-block; vertical-align: top; width: 50%;} + </style> + <!--[if lt IE 9]> + <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script> + <![endif]--> +</head> +<body> +<h2 id="max-consecutive-cycles-before-idle-in-cycle">Max consecutive cycles before idle (in cycle)</h2> +<p>Number of consecutive cycles of NOPs before the CPU goes idle</p> +</body> +</html> diff --git a/src/main/resources/help/maxconsecutivecycles.md b/src/main/resources/help/maxconsecutivecycles.md new file mode 100644 index 0000000000000000000000000000000000000000..23992cc68ad54295619a63584501dfede2a2defa --- /dev/null +++ b/src/main/resources/help/maxconsecutivecycles.md @@ -0,0 +1,2 @@ +## Max consecutive cycles before idle (in cycle) +Number of consecutive cycles of NOPs before the CPU goes idle \ No newline at end of file diff --git a/src/main/resources/help/misbrandingprediction.html b/src/main/resources/help/misbrandingprediction.html new file mode 100644 index 0000000000000000000000000000000000000000..8393e35e153c05ebd7c5f8bca95e2f673435b5eb --- /dev/null +++ b/src/main/resources/help/misbrandingprediction.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang=""> +<head> + <meta charset="utf-8" /> + <meta name="generator" content="pandoc" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" /> + <title>TTool help</title> + <style> + code{white-space: pre-wrap;} + span.smallcaps{font-variant: small-caps;} + span.underline{text-decoration: underline;} + div.column{display: inline-block; vertical-align: top; width: 50%;} + </style> + <!--[if lt IE 9]> + <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script> + <![endif]--> +</head> +<body> +<h2 id="mis-branching-prediction-in">Mis-branching prediction (in %)</h2> +<p>The miss percentage of the CPU branch prediction scheme</p> +</body> +</html> diff --git a/src/main/resources/help/misbrandingprediction.md b/src/main/resources/help/misbrandingprediction.md new file mode 100644 index 0000000000000000000000000000000000000000..e51e94362e912027dcc361c99884e7e4942c70b4 --- /dev/null +++ b/src/main/resources/help/misbrandingprediction.md @@ -0,0 +1,2 @@ +## Mis-branching prediction (in %) +The miss percentage of the CPU branch prediction scheme \ No newline at end of file diff --git a/src/main/resources/help/numbercores.html b/src/main/resources/help/numbercores.html new file mode 100644 index 0000000000000000000000000000000000000000..f1796c60d5300cf62901ced547c2d1005c1a42b9 --- /dev/null +++ b/src/main/resources/help/numbercores.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang=""> +<head> + <meta charset="utf-8" /> + <meta name="generator" content="pandoc" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" /> + <title>TTool help</title> + <style> + code{white-space: pre-wrap;} + span.smallcaps{font-variant: small-caps;} + span.underline{text-decoration: underline;} + div.column{display: inline-block; vertical-align: top; width: 50%;} + </style> + <!--[if lt IE 9]> + <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script> + <![endif]--> +</head> +<body> +<h2 id="nb-of-cores">Nb of Cores</h2> +<p>The number of cores of the CPU</p> +</body> +</html> diff --git a/src/main/resources/help/numbercores.md b/src/main/resources/help/numbercores.md new file mode 100644 index 0000000000000000000000000000000000000000..0c97e0d83376486a2520db9e33f35fb9d7e91581 --- /dev/null +++ b/src/main/resources/help/numbercores.md @@ -0,0 +1,2 @@ +## Nb of Cores +The number of cores of the CPU \ No newline at end of file diff --git a/src/main/resources/help/operation.html b/src/main/resources/help/operation.html new file mode 100644 index 0000000000000000000000000000000000000000..9cc7a85a5a553e993d699958bb933b866e189d3a --- /dev/null +++ b/src/main/resources/help/operation.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang=""> +<head> + <meta charset="utf-8" /> + <meta name="generator" content="pandoc" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" /> + <title>TTool help</title> + <style> + code{white-space: pre-wrap;} + span.smallcaps{font-variant: small-caps;} + span.underline{text-decoration: underline;} + div.column{display: inline-block; vertical-align: top; width: 50%;} + </style> + <!--[if lt IE 9]> + <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script> + <![endif]--> +</head> +<body> +<h2 id="operation">Operation</h2> +<p>Operation …</p> +</body> +</html> diff --git a/src/main/resources/help/operation.md b/src/main/resources/help/operation.md new file mode 100644 index 0000000000000000000000000000000000000000..1e02b486d7715358da273c7bd8a972b38a8d7fdd --- /dev/null +++ b/src/main/resources/help/operation.md @@ -0,0 +1,2 @@ +## Operation +Operation ... \ No newline at end of file diff --git a/src/main/resources/help/pipelinesize.html b/src/main/resources/help/pipelinesize.html new file mode 100644 index 0000000000000000000000000000000000000000..a23289406df7fd2f5c5d247ba200cc318b06611f --- /dev/null +++ b/src/main/resources/help/pipelinesize.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang=""> +<head> + <meta charset="utf-8" /> + <meta name="generator" content="pandoc" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" /> + <title>TTool help</title> + <style> + code{white-space: pre-wrap;} + span.smallcaps{font-variant: small-caps;} + span.underline{text-decoration: underline;} + div.column{display: inline-block; vertical-align: top; width: 50%;} + </style> + <!--[if lt IE 9]> + <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script> + <![endif]--> +</head> +<body> +<h2 id="pipeline-size-num.-stages">Pipeline size (num. stages)</h2> +<p>The number of stages of the pipeline</p> +</body> +</html> diff --git a/src/main/resources/help/pipelinesize.md b/src/main/resources/help/pipelinesize.md new file mode 100644 index 0000000000000000000000000000000000000000..890445da9649936777d7ad267bcc02be6c7f50f7 --- /dev/null +++ b/src/main/resources/help/pipelinesize.md @@ -0,0 +1,2 @@ +## Pipeline size (num. stages) +The number of stages of the pipeline \ No newline at end of file diff --git a/src/main/resources/help/schedulingpolicy.html b/src/main/resources/help/schedulingpolicy.html new file mode 100644 index 0000000000000000000000000000000000000000..35d309c1a0a15585f2233a65d1c7248128455202 --- /dev/null +++ b/src/main/resources/help/schedulingpolicy.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang=""> +<head> + <meta charset="utf-8" /> + <meta name="generator" content="pandoc" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" /> + <title>TTool help</title> + <style> + code{white-space: pre-wrap;} + span.smallcaps{font-variant: small-caps;} + span.underline{text-decoration: underline;} + div.column{display: inline-block; vertical-align: top; width: 50%;} + </style> + <!--[if lt IE 9]> + <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script> + <![endif]--> +</head> +<body> +<h2 id="scheduling-policy">Scheduling policy</h2> +<p>The arbitration policy used by OS to schedule mapped tasks</p> +</body> +</html> diff --git a/src/main/resources/help/schedulingpolicy.md b/src/main/resources/help/schedulingpolicy.md new file mode 100644 index 0000000000000000000000000000000000000000..315db886d246a4e778c3c7cb6fee4b451d7de1ab --- /dev/null +++ b/src/main/resources/help/schedulingpolicy.md @@ -0,0 +1,2 @@ +## Scheduling policy +The arbitration policy used by OS to schedule mapped tasks \ No newline at end of file diff --git a/src/main/resources/help/slicetime.html b/src/main/resources/help/slicetime.html new file mode 100644 index 0000000000000000000000000000000000000000..5cc055ed501074cb5aa6608af5782263ecca4960 --- /dev/null +++ b/src/main/resources/help/slicetime.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang=""> +<head> + <meta charset="utf-8" /> + <meta name="generator" content="pandoc" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" /> + <title>TTool help</title> + <style> + code{white-space: pre-wrap;} + span.smallcaps{font-variant: small-caps;} + span.underline{text-decoration: underline;} + div.column{display: inline-block; vertical-align: top; width: 50%;} + </style> + <!--[if lt IE 9]> + <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script> + <![endif]--> +</head> +<body> +<h2 id="slice-time">slice time</h2> +<p>The maximum time allocated by the OS scheduler to execute a task</p> +</body> +</html> diff --git a/src/main/resources/help/slicetime.md b/src/main/resources/help/slicetime.md new file mode 100644 index 0000000000000000000000000000000000000000..cf18a3ca80810dd109d48e5de500647a1437c7d1 --- /dev/null +++ b/src/main/resources/help/slicetime.md @@ -0,0 +1,2 @@ +## slice time +The maximum time allocated by the OS scheduler to execute a task \ No newline at end of file diff --git a/src/main/resources/help/taskswitchingtime.html b/src/main/resources/help/taskswitchingtime.html new file mode 100644 index 0000000000000000000000000000000000000000..5aa245c8ca7df3c332249aece7c5019f87f4252b --- /dev/null +++ b/src/main/resources/help/taskswitchingtime.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang=""> +<head> + <meta charset="utf-8" /> + <meta name="generator" content="pandoc" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" /> + <title>TTool help</title> + <style> + code{white-space: pre-wrap;} + span.smallcaps{font-variant: small-caps;} + span.underline{text-decoration: underline;} + div.column{display: inline-block; vertical-align: top; width: 50%;} + </style> + <!--[if lt IE 9]> + <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script> + <![endif]--> +</head> +<body> +<h2 id="task-switching-time-in-cycle">Task switching time (in cycle)</h2> +<p>The time taken by the OS for a context switch</p> +</body> +</html> diff --git a/src/main/resources/help/taskswitchingtime.md b/src/main/resources/help/taskswitchingtime.md new file mode 100644 index 0000000000000000000000000000000000000000..640bbb54ea477a444aaafd816105cfd2ad26d835 --- /dev/null +++ b/src/main/resources/help/taskswitchingtime.md @@ -0,0 +1,2 @@ +## Task switching time (in cycle) +The time taken by the OS for a context switch \ No newline at end of file