Skip to content

Instantly share code, notes, and snippets.

@mnorkin
Created June 18, 2010 06:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mnorkin/443327 to your computer and use it in GitHub Desktop.
Save mnorkin/443327 to your computer and use it in GitHub Desktop.
#!/bin/bash
# Laboratorinis darbas 5
# Maksim Norkin
# Programos direktorija
FOLDER=$(pwd)
# Konfiguracijos direktorija
CONFIG_DIR="config"
# Rezultatu directorija
RESULTS_DIR="results"
# Sim dir
SIM_DIR="/home/maksim/Documents/Ketvirtas_semestras/Kompiuteriu_architektura/simplesim-3.0"
# sim-cache
SIM_OUTORDER="$SIM_DIR/sim-outorder"
# testine programa
TEST_PROGRAM_1="bin.little/test-math"
TEST_PROGRAM_2="bin.little/test-fmath"
TEST_PROGRAM_3="$SIM_DIR/go.ss 5 8 $FOLDER/$CONFIG_DIR/go.in"
# Kuriame du katalogus konfiguracijos failams ir simuliacijos rezultatams saugoti
if [ ! -d "$CONFIG_DIR" ]; then
echo "Creating configuration directory .."
mkdir $CONFIG_DIR
fi
if [ ! -d "$RESULTS_DIR" ]; then
echo "Creating rezults directory .."
mkdir $RESULTS_DIR
fi
# Varom konfiguracija
$SIM_OUTORDER -dumpconfig $FOLDER/$CONFIG_DIR/rc.cfg &> /dev/null
printf "B A5\nW H2\nB B1\n" >> $FOLDER/$CONFIG_DIR/go.in
# pirma simuliacija
#$SIM_OUTORDER \
# -fetch:ifqsize 4 \ # išrenkamų instrukcijų eilės dydis ( šiuo atvėju 4 instrukcijos )
# -bpred taken \ # šakojimosi spėjimo būdas (šiuo atvėju taken reiškia šakojimosi spėjimas bus visuomet vykdomas )
# -issue:width 4 \ # instrukcijų paleidimas ( šiuo atvėju 4 kartus per ciklą )
# -mem:lat 18 2 \ # kriepties į atmintį delsimo trukmė ( pirkas kreipimas : antras kreipimas )
# -mem:width 8 \ # atminties magistralės plotis ( baitais, šiuo atvėju 8 baitai )
# -res:ialu 4 \ # Sveikųjų skaičių aritmetikos ir logikos įrangeinių skaičius ( šiuo atvėju 4 įrenginiai )
# -res:imult 1 \ # Sveikųjų skaičių daugybos ir dalybos įtaisų skaičius ( šiuo atvėju - 1 įtaisas )
# -res:fpalu 1 \ # Slankaus kablelio skaičių ALĮ skaičius ( šiuo atvėju - 1 įrenginys )
# -res:fpmult 1 \ # Slankaus kablelio daugybos ir dalybos įtaisų skaičius ( šiuo atvėju - 1 įtaisas )
# -redir:sim $FOLDER/$RESULTS_DIR/pirma-simuliacija.rez $SIM_DIR/tests/$TEST_PROGRAM
$SIM_OUTORDER -fetch:ifqsize 4 -bpred taken -issue:width 4 -mem:lat 18 2 -mem:width 8 -res:ialu 4 -res:imult 1 -res:fpalu 1 -res:fpmult 1 \
-redir:sim $FOLDER/$RESULTS_DIR/sim-profile-first-4-1-1-1.rez $SIM_DIR/tests/$TEST_PROGRAM_1
# PIRMA PROGRAMA
# Sveikųjų skaičių ALĮ skaičius
list="1 2 3 4 5"
for number in $list
do
$SIM_OUTORDER -fetch:ifqsize 4 -bpred taken -issue:width 4 -mem:lat 18 2 -mem:width 8 -res:ialu $number -res:imult 1 -res:fpalu 1 -res:fpmult 1 \
-redir:sim $FOLDER/$RESULTS_DIR/sim-profile-first-program-first-$number-1-1-1.rez $SIM_DIR/tests/$TEST_PROGRAM_1
done
list="1 2 3"
for number in $list
do
$SIM_OUTORDER -fetch:ifqsize 4 -bpred taken -issue:width 4 -mem:lat 18 2 -mem:width 8 -res:ialu 1 -res:imult $number -res:fpalu 1 -res:fpmult 1 \
-redir:sim $FOLDER/$RESULTS_DIR/sim-profile-first-program-second-1-$number-1-1.rez $SIM_DIR/tests/$TEST_PROGRAM_1
done
for number in $list
do
$SIM_OUTORDER -fetch:ifqsize 4 -bpred taken -issue:width 4 -mem:lat 18 2 -mem:width 8 -res:ialu 1 -res:imult 1 -res:fpalu $number -res:fpmult 1 \
-redir:sim $FOLDER/$RESULTS_DIR/sim-profile-first-program-third-1-1-$number-1.rez $SIM_DIR/tests/$TEST_PROGRAM_1
done
for number in $list
do
$SIM_OUTORDER -fetch:ifqsize 4 -bpred taken -issue:width 4 -mem:lat 18 2 -mem:width 8 -res:ialu 1 -res:imult 1 -res:fpalu 1 -res:fpmult $number \
-redir:sim $FOLDER/$RESULTS_DIR/sim-profile-first-program-forth-1-1-1-$number.rez $SIM_DIR/tests/$TEST_PROGRAM_1
done
# ANTRA PROGRAMA
# Sveikųjų skaičių ALĮ skaičius
list="1 2 3 4 5"
for number in $list
do
$SIM_OUTORDER -fetch:ifqsize 4 -bpred taken -issue:width 4 -mem:lat 18 2 -mem:width 8 -res:ialu $number -res:imult 1 -res:fpalu 1 -res:fpmult 1 \
-redir:sim $FOLDER/$RESULTS_DIR/sim-profile-second-program-first-$number-1-1-1.rez $SIM_DIR/tests/$TEST_PROGRAM_2
done
list="1 2 3"
for number in $list
do
$SIM_OUTORDER -fetch:ifqsize 4 -bpred taken -issue:width 4 -mem:lat 18 2 -mem:width 8 -res:ialu 1 -res:imult $number -res:fpalu 1 -res:fpmult 1 \
-redir:sim $FOLDER/$RESULTS_DIR/sim-profile-second-program-second-1-$number-1-1.rez $SIM_DIR/tests/$TEST_PROGRAM_2
done
for number in $list
do
$SIM_OUTORDER -fetch:ifqsize 4 -bpred taken -issue:width 4 -mem:lat 18 2 -mem:width 8 -res:ialu 1 -res:imult 1 -res:fpalu $number -res:fpmult 1 \
-redir:sim $FOLDER/$RESULTS_DIR/sim-profile-second-program-third-1-1-$number-1.rez $SIM_DIR/tests/$TEST_PROGRAM_2
done
for number in $list
do
$SIM_OUTORDER -fetch:ifqsize 4 -bpred taken -issue:width 4 -mem:lat 18 2 -mem:width 8 -res:ialu 1 -res:imult 1 -res:fpalu 1 -res:fpmult $number \
-redir:sim $FOLDER/$RESULTS_DIR/sim-profile-second-program-forth-1-1-1-$number.rez $SIM_DIR/tests/$TEST_PROGRAM_2
done
# TRECIA PROGRAMA
# Sveikųjų skaičių ALĮ skaičius
#list="1 2 3 4 5"
#for number in $list
#do
# $SIM_OUTORDER -fetch:ifqsize 4 -bpred taken -issue:width 4 -mem:lat 18 2 -mem:width 8 -res:ialu $number -res:imult 1 -res:fpalu 1 -res:fpmult 1 \
# -redir:sim $FOLDER/$RESULTS_DIR/sim-profile-third-program-first-$number-1-1-1.rez $TEST_PROGRAM_3
#done
#list="1 2 3"
#for number in $list
#do
# $SIM_OUTORDER -fetch:ifqsize 4 -bpred taken -issue:width 4 -mem:lat 18 2 -mem:width 8 -res:ialu 1 -res:imult $number -res:fpalu 1 -res:fpmult 1 \
# -redir:sim $FOLDER/$RESULTS_DIR/sim-profile-third-program-second-1-$number-1-1.rez $TEST_PROGRAM_3
#done
#for number in $list
#do
# $SIM_OUTORDER -fetch:ifqsize 4 -bpred taken -issue:width 4 -mem:lat 18 2 -mem:width 8 -res:ialu 1 -res:imult 1 -res:fpalu $number -res:fpmult 1 \
# -redir:sim $FOLDER/$RESULTS_DIR/sim-profile-third-program-third-1-1-$number-1.rez $TEST_PROGRAM_3
#done
#for number in $list
#do
# $SIM_OUTORDER -fetch:ifqsize 4 -bpred taken -issue:width 4 -mem:lat 18 2 -mem:width 8 -res:ialu 1 -res:imult 1 -res:fpalu 1 -res:fpmult $number \
# -redir:sim $FOLDER/$RESULTS_DIR/sim-profile-third-program-forth-1-1-1-$number.rez $TEST_PROGRAM_3
#done
# Sudarom LATEX
rm report.tex
echo "\documentclass[11pt,a4paper]{article}" >> report.tex
echo "\usepackage[left=25mm,right=10mm,top=10mm,bottom=20mm]{geometry}" >> report.tex
echo "\usepackage[utf8x]{inputenc}" >> report.tex
echo "\usepackage[L7x]{fontenc}" >> report.tex
echo "\usepackage[lithuanian]{babel}" >> report.tex
echo "\begin{document}" >> report.tex
echo "\title{Laboratorinis darbas nr.5}" >> report.tex
echo "\author{Maksim Norkin}" >> report.tex
echo "\date{\today}" >> report.tex
echo "\maketitle" >> report.tex
echo "\textsl{ALĮ modeliavimo rezultatų lentelė taikant test-math tekstinę programą}\\\ " >> report.tex
echo "\begin{tabular}{| p{2cm} | p{2cm} | p{2cm} | p{2cm} | p{2cm} | p{3cm} |}\hline" >> report.tex
echo "Sveikųjų skaičių ALĮ skaičius & Sveikųjų skaičių dalybos ir daugybos įtaisų skaičius & Slankaus kablelio skaičių ALĮ skaičius & Slankaus kablelio skaičių dalybos ir daugybos įtaisų skaičius & Atliktų instrikcijų per vieną procesoriaus ciklą skaičius (sim\_IPC parametras) & Procesoriaus ciklų tenkančių vienai instrukcijai atlikti skaičius (sim\_CPI parametras) \\\ \hline" >> report.tex
echo "\multicolumn{6}{|c|}{Sveikųjų skaičių ALĮ įtaka modeliuojamo procesoriaus našumui} \\\ \hline" >> report.tex
list="1 2 3 4 5"
for number in $list
do
echo -n "$number & 1 & 1 & 1 & " >> report.tex
cat $FOLDER/$RESULTS_DIR/sim-profile-first-program-first-$number-1-1-1.rez | grep "sim_IPC" | awk '{printf $2 " & "}' >> report.tex
cat $FOLDER/$RESULTS_DIR/sim-profile-first-program-first-$number-1-1-1.rez | grep "sim_CPI" | awk '{printf $2}' >> report.tex
echo "\\\ \hline" >> report.tex
done
echo "\multicolumn{6}{|c|}{Sveikųjų skaičių dalybos ir daugybos įtaka modeliuojamo procesoriaus našumui} \\\ \hline" >> report.tex
list="1 2 3"
for number in $list
do
echo -n "1 & $number & 1 & 1 & " >> report.tex
cat $FOLDER/$RESULTS_DIR/sim-profile-first-program-second-1-$number-1-1.rez | grep "sim_IPC" | awk '{printf $2 " & "}' >> report.tex
cat $FOLDER/$RESULTS_DIR/sim-profile-first-program-second-1-$number-1-1.rez | grep "sim_CPI" | awk '{printf $2}' >> report.tex
echo "\\\ \hline" >> report.tex
done
echo "\multicolumn{6}{|c|}{Slankaus kablelio skaičių ALĮ skaičiaus įtaką modeliuojamo procesoriaus našumui} \\\ \hline" >> report.tex
list="1 2 3"
for number in $list
do
echo -n "1 & 1 & $number & 1 & " >> report.tex
cat $FOLDER/$RESULTS_DIR/sim-profile-first-program-third-1-1-$number-1.rez | grep "sim_IPC" | awk '{printf $2 " & "}' >> report.tex
cat $FOLDER/$RESULTS_DIR/sim-profile-first-program-third-1-1-$number-1.rez | grep "sim_CPI" | awk '{printf $2}' >> report.tex
echo "\\\ \hline" >> report.tex
done
echo "\multicolumn{6}{|c|}{Slankaus kablelio skaičių dalybos ir daugybos įtaisų skaičiaus įtaka modeliuojamo procesoriaus našumui} \\\ \hline" >> report.tex
list="1 2 3"
for number in $list
do
echo -n "1 & 1 & 1 & $number & " >> report.tex
cat $FOLDER/$RESULTS_DIR/sim-profile-first-program-forth-1-1-1-$number.rez | grep "sim_IPC" | awk '{printf $2 " & "}' >> report.tex
cat $FOLDER/$RESULTS_DIR/sim-profile-first-program-forth-1-1-1-$number.rez | grep "sim_CPI" | awk '{printf $2}' >> report.tex
echo "\\\ \hline" >> report.tex
done
echo "\end{tabular}\\" >> report.tex
echo "" >> report.tex
echo "\textsl{ALĮ modeliavimo rezultatų lentelė taikant test-fmath tekstinę programą} \\\ " >> report.tex
echo "\begin{tabular}{| p{2cm} | p{2cm} | p{2cm} | p{2cm} | p{2cm} | p{3cm} |}\hline" >> report.tex
echo "Sveikųjų skaičių ALĮ skaičius & Sveikųjų skaičių dalybos ir daugybos įtaisų skaičius & Slankaus kablelio skaičių ALĮ skaičius & Slankaus kablelio skaičių dalybos ir daugybos įtaisų skaičius & Atliktų instrikcijų per vieną procesoriaus ciklą skaičius (sim\_IPC parametras) & Procesoriaus ciklų tenkančių vienai instrukcijai atlikti skaičius (sim\_CPI parametras) \\\ \hline" >> report.tex
echo "\multicolumn{6}{|c|}{Sveikųjų skaičių ALĮ įtaka modeliuojamo procesoriaus našumui} \\\ \hline" >> report.tex
list="1 2 3 4 5"
for number in $list
do
echo -n "$number & 1 & 1 & 1 & " >> report.tex
cat $FOLDER/$RESULTS_DIR/sim-profile-second-program-first-$number-1-1-1.rez | grep "sim_IPC" | awk '{printf $2 " & "}' >> report.tex
cat $FOLDER/$RESULTS_DIR/sim-profile-second-program-first-$number-1-1-1.rez | grep "sim_CPI" | awk '{printf $2}' >> report.tex
echo "\\\ \hline" >> report.tex
done
echo "\multicolumn{6}{|c|}{Sveikųjų skaičių dalybos ir daugybos įtaka modeliuojamo procesoriaus našumui} \\\ \hline" >> report.tex
list="1 2 3"
for number in $list
do
echo -n "1 & $number & 1 & 1 & " >> report.tex
cat $FOLDER/$RESULTS_DIR/sim-profile-second-program-second-1-$number-1-1.rez | grep "sim_IPC" | awk '{printf $2 " & "}' >> report.tex
cat $FOLDER/$RESULTS_DIR/sim-profile-second-program-second-1-$number-1-1.rez | grep "sim_CPI" | awk '{printf $2}' >> report.tex
echo "\\\ \hline" >> report.tex
done
echo "\multicolumn{6}{|c|}{Slankaus kablelio skaičių ALĮ skaičiaus įtaką modeliuojamo procesoriaus našumui} \\\ \hline" >> report.tex
list="1 2 3"
for number in $list
do
echo -n "1 & 1 & $number & 1 & " >> report.tex
cat $FOLDER/$RESULTS_DIR/sim-profile-second-program-third-1-1-$number-1.rez | grep "sim_IPC" | awk '{printf $2 " & "}' >> report.tex
cat $FOLDER/$RESULTS_DIR/sim-profile-second-program-third-1-1-$number-1.rez | grep "sim_CPI" | awk '{printf $2}' >> report.tex
echo "\\\ \hline" >> report.tex
done
echo "\multicolumn{6}{|c|}{Slankaus kablelio skaičių dalybos ir daugybos įtaisų skaičiaus įtaka modeliuojamo procesoriaus našumui} \\\ \hline" >> report.tex
list="1 2 3"
for number in $list
do
echo -n "1 & 1 & 1 & $number & " >> report.tex
cat $FOLDER/$RESULTS_DIR/sim-profile-second-program-forth-1-1-1-$number.rez | grep "sim_IPC" | awk '{printf $2 " & "}' >> report.tex
cat $FOLDER/$RESULTS_DIR/sim-profile-second-program-forth-1-1-1-$number.rez | grep "sim_CPI" | awk '{printf $2}' >> report.tex
echo "\\\ \hline" >> report.tex
done
echo "\end{tabular}\\" >> report.tex
echo "" >> report.tex
echo "\textsl{ALĮ modeliavimo rezultatų lentelė taikant go.ss tekstinę programą}\\\ " >> report.tex
echo "\begin{tabular}{| p{2cm} | p{2cm} | p{2cm} | p{2cm} | p{2cm} | p{3cm} |}\hline" >> report.tex
echo "Sveikųjų skaičių ALĮ skaičius & Sveikųjų skaičių dalybos ir daugybos įtaisų skaičius & Slankaus kablelio skaičių ALĮ skaičius & Slankaus kablelio skaičių dalybos ir daugybos įtaisų skaičius & Atliktų instrikcijų per vieną procesoriaus ciklą skaičius (sim\_IPC parametras) & Procesoriaus ciklų tenkančių vienai instrukcijai atlikti skaičius (sim\_CPI parametras) \\\ \hline" >> report.tex
echo "\multicolumn{6}{|c|}{Sveikųjų skaičių ALĮ įtaka modeliuojamo procesoriaus našumui} \\\ \hline" >> report.tex
list="1 2 3 4 5"
for number in $list
do
echo -n "$number & 1 & 1 & 1 & " >> report.tex
cat $FOLDER/$RESULTS_DIR/sim-profile-third-program-first-$number-1-1-1.rez | grep "sim_IPC" | awk '{printf $2 " & "}' >> report.tex
cat $FOLDER/$RESULTS_DIR/sim-profile-third-program-first-$number-1-1-1.rez | grep "sim_CPI" | awk '{printf $2}' >> report.tex
echo "\\\ \hline" >> report.tex
done
echo "\multicolumn{6}{|c|}{Sveikųjų skaičių dalybos ir daugybos įtaka modeliuojamo procesoriaus našumui} \\\ \hline" >> report.tex
list="1 2 3"
for number in $list
do
echo -n "1 & $number & 1 & 1 & " >> report.tex
cat $FOLDER/$RESULTS_DIR/sim-profile-third-program-second-1-$number-1-1.rez | grep "sim_IPC" | awk '{printf $2 " & "}' >> report.tex
cat $FOLDER/$RESULTS_DIR/sim-profile-third-program-second-1-$number-1-1.rez | grep "sim_CPI" | awk '{printf $2}' >> report.tex
echo "\\\ \hline" >> report.tex
done
echo "\multicolumn{6}{|c|}{Slankaus kablelio skaičių ALĮ skaičiaus įtaką modeliuojamo procesoriaus našumui} \\\ \hline" >> report.tex
list="1 2 3"
for number in $list
do
echo -n "1 & 1 & $number & 1 & " >> report.tex
cat $FOLDER/$RESULTS_DIR/sim-profile-third-program-third-1-1-$number-1.rez | grep "sim_IPC" | awk '{printf $2 " & "}' >> report.tex
cat $FOLDER/$RESULTS_DIR/sim-profile-third-program-third-1-1-$number-1.rez | grep "sim_CPI" | awk '{printf $2}' >> report.tex
echo "\\\ \hline" >> report.tex
done
echo "\multicolumn{6}{|c|}{Slankaus kablelio skaičių dalybos ir daugybos įtaisų skaičiaus įtaka modeliuojamo procesoriaus našumui} \\\ \hline" >> report.tex
list="1 2 3"
for number in $list
do
echo -n "1 & 1 & 1 & $number & " >> report.tex
cat $FOLDER/$RESULTS_DIR/sim-profile-third-program-forth-1-1-1-$number.rez | grep "sim_IPC" | awk '{printf $2 " & "}' >> report.tex
cat $FOLDER/$RESULTS_DIR/sim-profile-third-program-forth-1-1-1-$number.rez | grep "sim_CPI" | awk '{printf $2}' >> report.tex
echo "\\\ \hline" >> report.tex
done
echo "\end{tabular}\\" >> report.tex
echo "" >> report.tex
echo "\end{document}" >> report.tex
pdflatex report.tex
evince report.pdf
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment