uni

University stuff
git clone git://git.margiolis.net/uni.git
Log | Files | Refs | README | LICENSE

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:
Aadvanced_architecture/ex1/doc.aux | 15+++++++++++++++
Aadvanced_architecture/ex1/doc.pdf | 0
Aadvanced_architecture/ex1/doc.tex | 109+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aadvanced_architecture/ex1/doc.toc | 6++++++
Aadvanced_architecture/ex1/res/cycles.png | 0
Aadvanced_architecture/ex1/res/disable.png | 0
Aadvanced_architecture/ex1/res/latency.png | 0
Aadvanced_architecture/ex1/res/total.png | 0
Aadvanced_architecture/ex1/res/uniwalogo.png | 0
Mconcurrent_programming/extern.h | 12++++--------
Mconcurrent_programming/rps_server.c | 6++++--
Athesis/doc.aux | 12++++++++++++
Athesis/doc.pdf | 0
Athesis/doc.tex | 139+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Athesis/doc.toc | 3+++
Athesis/res/uniwalogo.png | 0
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.