commit 54cf70ff3fddfc7d665c3326a4a7e4f34253472d
parent 7e43536e1f58aff2a918d9b8c435dd1ae4995327
Author: Christos Margiolis <christos@FreeBSD.org>
Date: Wed, 26 Mar 2025 00:23:11 +0100
add thesis and advanced_architecture
Diffstat:
16 files changed, 292 insertions(+), 10 deletions(-)
diff --git a/advanced_architecture/ex1/doc.aux b/advanced_architecture/ex1/doc.aux
@@ -0,0 +1,15 @@
+\relax
+\providecommand\babel@aux[2]{}
+\@nameuse{bbl@beforestart}
+\bibstyle{biblatex}
+\bibdata{doc-blx}
+\citation{biblatex-control}
+\abx@aux@refcontext{nty/global//global/global}
+\babel@aux{english}{}
+\@writefile{toc}{\contentsline {section}{\numberline {1}Προσαρμογή προσομοιωτή}{2}{}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {2}Ερώτημα 1}{2}{}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {3}Ερώτημα 2}{2}{}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {4}Ερώτημα 3}{3}{}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {5}Ερώτημα 4}{4}{}\protected@file@percent }
+\abx@aux@read@bbl@mdfivesum{nobblfile}
+\gdef \@abspage@last{5}
diff --git a/advanced_architecture/ex1/doc.pdf b/advanced_architecture/ex1/doc.pdf
Binary files differ.
diff --git a/advanced_architecture/ex1/doc.tex b/advanced_architecture/ex1/doc.tex
@@ -0,0 +1,109 @@
+\documentclass[12pt]{article}
+\usepackage[utf8]{inputenc}
+\usepackage[greek,english]{babel}
+\usepackage{alphabeta}
+\usepackage{fancyhdr}
+\usepackage{listings}
+\usepackage{mathtools}
+\usepackage{xcolor}
+\usepackage{float}
+\usepackage{siunitx}
+\usepackage[margin=0.5in]{geometry}
+\usepackage[backend=bibtex]{biblatex}
+
+\lstset {
+ basicstyle=\ttfamily,
+ columns=fullflexible,
+ breaklines=true,
+ keepspaces=true,
+ showstringspaces=false
+}
+
+\title{Εργαστήριο Προηγμένης Αρχιτεκτονικής Υπολογιστών -- Εργασία 1}
+\author{Χρήστος Μαργιώλης -- 19390133}
+\date{Μάρτιος 2025}
+
+\begin{document}
+
+\begin{titlepage}
+ \maketitle
+ \begin{figure}[t!]
+ \begin{center}
+ \includegraphics[scale=0.3]{./res/uniwalogo.png} \\
+ \Large
+ \textbf{Πανεπιστήμιο Δυτικής Αττικής} \\
+ \large
+ Τμήμα Μηχανικών Πληροφορικής και Ηλεκτρονικών Υπολογιστών
+ \end{center}
+ \end{figure}
+\end{titlepage}
+
+\renewcommand{\contentsname}{Περιεχόμενα}
+\tableofcontents
+\pagebreak
+
+\section{Προσαρμογή προσομοιωτή}
+
+Απενεργοποίηση Enable Forwarding, Enable Target Buffer και Enable Delay Slot:
+\\
+
+\includegraphics{res/disable.png} \\
+
+Επαλήθευση τιμών παραμέτρων: FP Addition Latency = 4, Multiplier Latency = 7,
+Division Latency = 24: \\
+
+\includegraphics{res/latency.png}
+
+\section{Ερώτημα 1}
+
+\section{Ερώτημα 2}
+
+Παρακάτω δίνονται οι χρόνοι εκτέλεσης (σε κύκλους ρολογιού) κάθε εντολής:
+
+\begin{center}
+\begin{tabular}{|l|l|}
+ \hline
+ \textbf{Εντολή} & \textbf{Κύκλοι} \\
+ \hline
+ \lstinline|ddiv r18,r19,r20| & 28 \\
+ \hline
+ \lstinline|lw r1,4(r2)| & 5 \\
+ \hline
+ \lstinline|sw r3,8(r4)| & 5 \\
+ \hline
+ \lstinline|daddi r5,r6,10| & 5 \\
+ \hline
+ \lstinline|or r7,r8,r9| & 5 \\
+ \hline
+ \lstinline|dadd r10,r11,r0| & 5 \\
+ \hline
+ \lstinline|dsub r12,r13,r14| & 5 \\
+ \hline
+ \lstinline|dmul r15,r16,r17| & 11 \\
+ \hline
+ \lstinline|add.d f1,f2,f3| & 8 \\
+ \hline
+ \lstinline|mul.d f4,f5,f6| & 11 \\
+ \hline
+ \lstinline|halt| & 5 \\
+ \hline
+\end{tabular}
+\end{center}
+
+\includegraphics[width=\textwidth]{res/cycles.png}
+
+\section{Ερώτημα 3}
+
+Για την εκτέλεση όλου του κώδικα χρειάστηκαν 28 κύκλοι: \\
+
+\includegraphics{res/total.png}
+
+\section{Ερώτημα 4}
+
+Το CPI (Cycles Per Instruction) είναι 2.545 (βλ. εικόνα ερωτήματος 3). Η τιμή του υπολογίζεται ως:
+
+\[
+ CPI = \frac{Cycles}{Instructions} = \frac{28}{11} \approx 2.545
+\]
+
+\end{document}
diff --git a/advanced_architecture/ex1/doc.toc b/advanced_architecture/ex1/doc.toc
@@ -0,0 +1,6 @@
+\babel@toc {english}{}\relax
+\contentsline {section}{\numberline {1}Προσαρμογή προσομοιωτή}{2}{}%
+\contentsline {section}{\numberline {2}Ερώτημα 1}{2}{}%
+\contentsline {section}{\numberline {3}Ερώτημα 2}{2}{}%
+\contentsline {section}{\numberline {4}Ερώτημα 3}{3}{}%
+\contentsline {section}{\numberline {5}Ερώτημα 4}{4}{}%
diff --git a/advanced_architecture/ex1/res/cycles.png b/advanced_architecture/ex1/res/cycles.png
Binary files differ.
diff --git a/advanced_architecture/ex1/res/disable.png b/advanced_architecture/ex1/res/disable.png
Binary files differ.
diff --git a/advanced_architecture/ex1/res/latency.png b/advanced_architecture/ex1/res/latency.png
Binary files differ.
diff --git a/advanced_architecture/ex1/res/total.png b/advanced_architecture/ex1/res/total.png
Binary files differ.
diff --git a/advanced_architecture/ex1/res/uniwalogo.png b/advanced_architecture/ex1/res/uniwalogo.png
Binary files differ.
diff --git a/concurrent_programming/extern.h b/concurrent_programming/extern.h
@@ -20,18 +20,14 @@ static inline const char *move2str(int);
static inline int
str2move(const char *str)
{
- int move;
-
if (strcmp(str, "rock") == 0)
- move = MOVE_ROCK;
+ return (MOVE_ROCK);
else if (strcmp(str, "paper") == 0)
- move = MOVE_PAPER;
+ return (MOVE_PAPER);
else if (strcmp(str, "scissor") == 0)
- move = MOVE_SCISSOR;
+ return (MOVE_SCISSOR);
else
- move = -1;
-
- return (move);
+ return (-1);
}
static inline const char *
diff --git a/concurrent_programming/rps_server.c b/concurrent_programming/rps_server.c
@@ -116,6 +116,7 @@ srv(int fd)
break;
cp = NULL;
}
+ /* TODO add lock */
if (cp == NULL) {
warnx("id=%d not found", id);
continue;
@@ -361,8 +362,9 @@ main(int argc, char *argv[])
/* We caught a termination signal. */
if (f_quit)
break;
- if ((*nclients + 1) > CLIENTS_MAX)
- continue;
+ /* TODO */
+ /*if ((*nclients + 1) >= CLIENTS_MAX)*/
+ /*continue;*/
if ((cfd = accept(sfd, NULL, NULL)) < 0) {
warn("accept(%d)", cfd);
continue;
diff --git a/thesis/doc.aux b/thesis/doc.aux
@@ -0,0 +1,12 @@
+\relax
+\providecommand\babel@aux[2]{}
+\@nameuse{bbl@beforestart}
+\bibstyle{biblatex}
+\bibdata{doc-blx}
+\citation{biblatex-control}
+\abx@aux@refcontext{nty/global//global/global}
+\babel@aux{english}{}
+\@writefile{toc}{\contentsline {section}{\numberline {1}Εισαγωγή}{6}{}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {2}Βιβλιογραφία}{6}{}\protected@file@percent }
+\abx@aux@read@bbl@mdfivesum{nobblfile}
+\gdef \@abspage@last{11}
diff --git a/thesis/doc.pdf b/thesis/doc.pdf
Binary files differ.
diff --git a/thesis/doc.tex b/thesis/doc.tex
@@ -0,0 +1,139 @@
+\documentclass[12pt]{article}
+\usepackage[utf8]{inputenc}
+\usepackage[greek,english]{babel}
+\usepackage{alphabeta}
+\usepackage{fancyhdr}
+\usepackage{listings}
+\usepackage{mathtools}
+\usepackage{xcolor}
+\usepackage{float}
+\usepackage{siunitx}
+\usepackage[nottoc,numbib]{tocbibind}
+\usepackage[margin=0.5in]{geometry}
+\usepackage[backend=bibtex]{biblatex}
+
+\lstset {
+ basicstyle=\ttfamily,
+ columns=fullflexible,
+ breaklines=true,
+ keepspaces=true,
+ showstringspaces=false
+}
+
+\title{Διπλωματική Εργασία
+\linebreak
+\linebreak
+Μελέτη και ανάπτυξη τεχνικών για την παρακολούθηση και την αποσφαλμάτωση της
+εκτέλεσης εντολών σε υπολογιστικά συστήματα}
+\author{Χρήστος Μαργιώλης \\ Α.Μ. 19390133}
+\date{}
+
+\begin{document}
+
+\begin{titlepage}
+ \maketitle
+ \begin{figure}[t!]
+ \begin{center}
+ \includegraphics[scale=0.3]{./res/uniwalogo.png} \\
+ \Large
+ \textbf{Πανεπιστήμιο Δυτικής Αττικής} \\
+ \large
+ Σχολή Μηχανικών \\
+ Τμήμα Μηχανικών Πληροφορικής και Υπολογιστών \\
+ \end{center}
+ \end{figure}
+ \begin{center}
+ Εισηγητής: Παναγιώτης Καρκαζής % TODO βαθμίδα
+ \end{center}
+\end{titlepage}
+
+\shipout\null
+
+\begin{center}
+Διπλωματική Εργασία
+\linebreak
+\linebreak
+Μελέτη και ανάπτυξη τεχνικών για την παρακολούθηση και την αποσφαλμάτωση της
+εκτέλεσης εντολών σε υπολογιστικά συστήματα
+\linebreak
+\linebreak
+Χρήστος Μαργιώλης
+\linebreak
+Α.Μ. 19390133
+\end{center}
+
+Εισηγητής:
+
+\begin{center}
+Παναγιώτης Καρκαζής % TODO βαθμίδα
+\end{center}
+
+Εξεταστική επιτροπή:
+
+\begin{center}
+FILLME % TODO
+\linebreak
+\linebreak
+Ημερομηνία εξέτασης: FILLME % TODO
+\end{center}
+
+\pagebreak
+\shipout\null
+
+\begin{center}
+\textbf{Δήλωση συγγραφέα διπλωματικής εργασίας}
+\end{center}
+
+% TODO
+
+\begin{center}
+Ο Δηλών
+
+% TODO υπογραφή
+\end{center}
+
+\pagebreak
+\shipout\null
+
+\begin{center}
+\textbf{Ευχαριστίες}
+\end{center}
+
+% TODO
+
+\pagebreak
+\shipout\null
+
+\begin{center}
+\textbf{Περίληψη}
+\end{center}
+
+Η εργασία αποσκοπεί στην μελέτη τεχνικών που χρησιμοποιούνται στην ανάλυση και
+αποσφαλμάτωση λογισμικού μέσω της καταγραφής και παρακολούθησης των εντολών που
+εκτελούνται σε ένα επεξεργαστή. Στο πλαίσιο της διπλωματικής θα σχεδιαστεί και
+θα αναπτυχθεί επέκταση του εργαλείου DTrace η οποία θα παρέχει την δυνατότητα
+παρακολούθησης οποιασδήποτε μεμονωμένης εντολής assembly εντός μιας δεδομένης
+συνάρτησης του πυρήνα του λειτουργικού συστήματος FreeBSD.
+% TODO improve
+
+\begin{center}
+\textbf{Abstract}
+\end{center}
+
+% TODO
+
+\pagebreak
+
+\renewcommand{\contentsname}{Περιεχόμενα}
+\tableofcontents
+\pagebreak
+
+\section{Εισαγωγή}
+
+% TODO
+
+\renewcommand{\refname}{Βιβλιογραφία}
+\begin{thebibliography}{00}
+\end{thebibliography}
+
+\end{document}
diff --git a/thesis/doc.toc b/thesis/doc.toc
@@ -0,0 +1,3 @@
+\babel@toc {english}{}\relax
+\contentsline {section}{\numberline {1}Εισαγωγή}{6}{}%
+\contentsline {section}{\numberline {2}Βιβλιογραφία}{6}{}%
diff --git a/thesis/res/uniwalogo.png b/thesis/res/uniwalogo.png
Binary files differ.