Scoreboard",$onloadbodyscore); if (isset($acc) && $acc=="simulation")//El usuario ha seleccionado la acción de simulación { require("funcscore.php");//Funciones para la simulación del 'Scoreboard'. //Compruebo si el usuario quiere ver la ejecución hasta un ciclo en concreto. // Si no es asi, inicializo la variable. if (!isset($ciclopar)) $ciclopar=''; //Compruebo si se ha modificado la configuración de las unidades funcionales. //Si no es así, la inicializo. if (!isset($config)) $config='1|10|2|40'; //Compruebo que hay código cargado en el simulador if (!empty($instruc)) { $ResultSim=SimulacionScoreboard($instruc,$ciclopar,$config);//Llamada a la simulación //Muestro los resultados de la simulación CuerpoScoreboard($path,$instruc,$config,$ResultSim[0],$ResultSim[1],$ResultSim[2], $ResultSim[3],$ResultSim[4],$ResultSim[5]); }//if else CuerpoScoreboard($path,'','','','','','','',''); } else {//No se ha seleccionado ninguna acción del simulador 'Scoreboard' if (!isset($instruc)) $instruc=''; if ((empty($int)) || (strspn($int,'0123456789')!=strlen($int))) $int='1'; if ((empty($mult)) || (strspn($mult,'0123456789')!=strlen($mult))) $mult='10'; if ((empty($add)) || (strspn($add,'0123456789')!=strlen($add))) $add='2'; if ((empty($div)) || (strspn($div,'0123456789')!=strlen($div))) $div='40'; $config=$int.'|'.$mult.'|'.$add.'|'.$div; CuerpoScoreboard($path,$instruc,$config,'','','','','',''); PiePag(); }//else break; }//case scoreboard case "tomasulo":{ CabeceraPag("Distributed Dynamic Scheduling. Tomasulo Algorithm",$JSEditor.$JSRollover); TituloPag("Distributed Dynamic Scheduling.
Tomasulo Algorithm",$onloadbodytomasulo); if (isset($acc) && $acc=="simulation")//El usuario ha seleccionado la acción de simulación { require("functomasulo.php");//Funciones para la simulación del 'Tomasulo'. //Compruebo si el usuario quiere ver la ejecución hasta un ciclo en concreto. // Si no es asi, inicializo la variable. if (!isset($ciclopar)) $ciclopar=''; //Compruebo si se ha modificado la configuración de las unidades funcionales. //Si no es así, la inicializo. if (!isset($config)) $config='2|10|2|40|1|2'; //Compruebo que hay código cargado en el simulador if (!empty($instruc)) { $ResultSim=SimulacionTomasulo($instruc,$ciclopar,$config);//Llamada a la simulación //Muestro los resultados de la simulación CuerpoTomasulo($path,$instruc,$config,$ResultSim[0],$ResultSim[1],$ResultSim[2], $ResultSim[3],$ResultSim[4],$ResultSim[5]); }//if else CuerpoTomasulo($path,'','','','','','','',''); }//if else//No se ha seleccionado ninguna acción del simulador 'Tomasulo' { if (!isset($instruc)) $instruc=''; if ((empty($load)) || (strspn($load,'0123456789')!=strlen($load))) $load='2'; if ((empty($mult)) || (strspn($mult,'0123456789')!=strlen($mult))) $mult='10'; if ((empty($add)) || (strspn($add,'0123456789')!=strlen($add))) $add='2'; if ((empty($div)) || (strspn($div,'0123456789')!=strlen($div))) $div='40'; if ((empty($int)) || (strspn($int,'0123456789')!=strlen($int))) $int='1'; if ((empty($store)) || (strspn($store,'0123456789')!=strlen($store))) $store='2'; $config=$load.'|'.$mult.'|'.$add.'|'.$div.'|'.$int.'|'.$store; CuerpoTomasulo($path,$instruc,$config,'','','','','',''); PiePag(); }//else break; }//case tomasulo case "editor":{//Editor de código para las simulaciones CabeceraPag("Code Editor",$JSEditor.$JSRollover); TituloPag("Code Editor",$onloadbodyeditor); $directorio=''; // El usuario carga el código desde un fichero. // Compruebo si el nombre del fichero es no vacio y si el fichero existe. if ((!empty($AbrirFich))&&(isset($test))&&($test=='ok')) { $Examinar_name=$_FILES['Examinar']['name']; $Examinar_size=$_FILES['Examinar']['size']; $Examinar=$_FILES['Examinar']['tmp_name']; if ($Examinar_size>51200) { die ("Error. The file size is higher than 51.200 bytes."); }//if else { if (is_uploaded_file($Examinar) && !empty($Examinar)) { $directorio=$path.uniqid("UpFile").".tmp"; move_uploaded_file($Examinar,$directorio); }//if $accion='AbrirFich'; if (file_exists($Examinar)) unlink($Examinar); }//else }//if //El usuario quiere validar el código de la página. //Compruebo si el código es no vacio else if (!empty($validar)&&($codigo!='')) $accion='Validar'; //El usuario quiere borrar el código de la página. else if (!empty($borrar)) $accion='Borrar'; //El usuario quiere ver el ejemplo de código. else if (!empty($ejemplo)) $accion='Example'; else if (!empty($open)) $accion='Open'; // El usuario guarda el código a un fichero. // Compruebo si el nombre del fichero es no vacio. else if (!empty($save)) { $directorio=$path.uniqid("Code").".txt"; $accion='GuardarFich'; } //Ninguna acción seleccionada. Inicializo las variables. else { if (!isset($accion)) $accion=''; if (!isset($codigo)) $codigo=''; }//else CuerpoEditor($accion,$directorio,$codigo); PiePag(); break; }//case editor case "configurar":{//Configuración de las unidades funcionales CabeceraPag("Functional Unit Configuration",$JSRollover); TituloPag("Functional Unit Configuration",$onloadbodyconfig); if (!isset($inst)) $inst=''; if ($acc == 'defecto') if ($plan=='scoreboard') $config='1|10|2|40'; else $config='2|10|2|40|1|2'; CuerpoConfigurar($inst,$plan,$config); PiePag(); break; }//case ufconfig case "estadistica":{//Estadísticas de la simulación CabeceraPag("Statistics",$JSRollover); TituloPag("Statistics",$onloadbodystatis); if (!isset($Estad)) $Estad=''; CuerpoEstadistica($Estad,$plan); PiePag(); break; }//case estadistica case "print":{//Imprimir resultados $cad=''; if (!isset($ResTabUFER)) $ResTabUFER=''; $cad=ImprimirSim($plan,$ResTabInst,$ResTabReg,$ResTabUFER,$ResTabEtap,$ResCicloAct,$ResEstad,$ResConfig); echo $cad; break; }//case print case "theory":{//Desarrollo teórico CabeceraPag("Theory Development",$JSRollover); TituloPag("Theory Development",$onloadbodytheory); CuerpoTheory(); PiePag(); break; }//case theory case "download":{//Descargas CabeceraPag("Download Site",$JSRollover); TituloPag("Download Site",$onloadbodydownload); CuerpoDownload(); PiePag(); break; }//case download default:{//Portada de la Web CabeceraPag("Web Simulator for Dynamic Scheduling of the Pipelining",$JSPortada); TituloPag("Web Simulator for Dynamic
Scheduling of the Pipelining",''); CuerpoPortada(); PiePag(); }//default }//switch }//if else {//Ninguna opción seleccionada. Portada de la Web CabeceraPag("Web Simulator for Dynamic Scheduling of the Pipelining",$JSPortada); TituloPag("Web Simulator for Dynamic
Scheduling of the Pipelining",''); CuerpoPortada(); PiePag(); }//else*/ ?>