block: stufen => stages, usw
authorMartin Perner <martin@perner.cc>
Thu, 11 Nov 2010 12:07:10 +0000 (13:07 +0100)
committerMartin Perner <martin@perner.cc>
Thu, 11 Nov 2010 12:07:10 +0000 (13:07 +0100)
dos2unix :)
umlaut => \"umlaut

4_block/block.tex
4_block/blockdesc.tex
4_block/common.sty

index d8edaeb8850fdfd048697ff84fd94f68fd4b0c6a..7572ddd28cc9e711c3aec689ca6412fbcf0a2075 100644 (file)
@@ -1,28 +1,28 @@
-\documentclass[a4paper,12pt]{scrartcl}\r
-\usepackage{common}\r
-\begin{document}\r
-\allauthors\r
-\r
-\title{Blockdiagramm \\Deep Thought}\r
-\titlehead{Vienna University of Technology \hfill WS~2010}\r
-\subject{Computer Architecture Labor\"ubung}\r
-\date{\today}\r
-\publishers{Gruppe 1}\r
-\r
-\maketitle\r
-\newpage\r
-\tableofcontents\r
-\newpage\r
-\r
-\newcommand{\abbildung}[5]{\r
-       \begin{figure}[H]\r
-         \centering\r
-         \includegraphics[width=#4,angle=#5]{#1}\r
-         \caption{#2}\r
-         \label{#3}\r
-       \end{figure}\r
-}\r
-\r
-\input{blockdesc}\r
-\r
-\end{document}\r
+\documentclass[a4paper,12pt]{scrartcl}
+\usepackage{common}
+\begin{document}
+\allauthors
+
+\title{Blockdiagramm \\``Deep Thought''}
+\titlehead{Vienna University of Technology \hfill WS~2010}
+\subject{Computer Architecture Labor\"ubung}
+\date{\today}
+\publishers{Gruppe 1}
+
+\maketitle
+\newpage
+\tableofcontents
+\newpage
+
+\newcommand{\abbildung}[5]{
+       \begin{figure}[H]
+         \centering
+         \includegraphics[width=#4,angle=#5]{#1}
+         \caption{#2}
+         \label{#3}
+       \end{figure}
+}
+
+\input{blockdesc}
+
+\end{document}
index 342a95d948b8cfd02a87dbed71ea9a9db05293a3..3dcf71e718f1815dd77c4c549931d25f9b279509 100644 (file)
@@ -1,48 +1,48 @@
-\section{Allgemein}\r
-%\abbildung{pipeline.png}{so schaut unsre Architektur aus}{fig:pipeline}{1.4\textwidth}{90}\r
-\abbildung{pipeline.png}{Schematische Darstellung der Pipeline}{fig:pipeline}{0.95\textheight}{90} %0.95 weil sonst warning!\r
-Die Pipeline gliedert sich in 4 getrennte Stufen. Jene sind Fetch, Decode, Execute und Writeback.\r
-\section{Fetch-Stage}\r
-Die Aufgaben der Fetch-Stage sind relativ simple in\r
-\begin{itemize}\r
-       \item Anlegen der Instruktionsadresse an den Instruktions-Speicherbus. Daraufhin erhält die Decode-Stage die gewünschte Instruktion im nächsten Zyklus.\r
-       \item Die Instruktionsadresse ist entweder der inkrementierte Programmcounter, Jump-Result oder das Ergebnis der statischen Branchprediction\r
-\end{itemize}\r
-gegliedert.\r
-\section{Decode-Stage}\r
-Die Aufgaben der Decode-Stage fallen schon etwas komplexer aus und sind in\r
-\begin{itemize}\r
-       \item Decodieren der dichten Instruktion in eine aufgespaltene Form.\r
-       \item Laden der Operanden aus dem Registerfile und übergeben der jeweiligen Adressen.\r
-       \item Laden von Immediates in die Operanden.\r
-       \item   Evaluierung der Branchprediction. Rückführung der statischen Sprungadresse\r
-                               und NOP insertion falls die ALU/Writeback springt.\r
-\end{itemize}\r
-gegliedert.\r
-\section{Execute-Stage}\r
-Neben den Berechnungen beinhaltet diese Stufe auch die Forward-Unit welche s\"amtlichen\r
-Konflikte behandelt.\r
-\begin{itemize}\r
-       \item Ausführung der einzelnen Instruktionen auf die Operanden\r
-       \item Signalisieren eines Sprungs (ret vs. jmp). Jumpadresse kommt entweder vom Datenbus oder aus dem ALU-Ergebnis.\r
-       \item Signalisieren eines Registerschreibzugriffs, wobei dieses Ergebnis wieder vom Result oder Datenbus kommt.\r
-       \item   Ansprechen des Datenbusses (RAM, Extension-Module, read, write) und des Statuswortes sowie des Stackpointers.\r
-\end{itemize}\r
-\r
-\r
-Die Forward-Unit muss sämtliche Konflikte behandeln und veraltete Operanden durch die letzten Ergebnisse ersetzen. Sie besteht aus\r
-\begin{itemize}\r
-       \item 2-Register um \"Anderungskonflikte an Registern zu l\"osen.\r
-       \item   Zusammensetzen eines dieser zwei Register mit dem Wert vom Datenbus (load byte etc.).\r
-\end{itemize}\r
-\r
-Die Extensionmodule werden vom Prozessor aus wie der Speicher behandelt. Jedes Modul besitzt einen spezifischen Adressbereich.\r
-Ein eigener Controller mapped die Adressbereiche auf die Extensionmodule und leitet die entsprechenden Daten über ein Register auf das Modul weiter. \r
-Beim Lesezugriff auf einen dieser Speicherbereiche legt das Extensionmodul einen Zyklus sp\"ater seinen Output auf den Datenbus. \r
-\r
-\r
-\section{Writeback-Stage}\r
-\r
-Die Writeback stage übernimmt die Werte aus dem Ergebnisregister der Alu oder aus der Forwardunit(Registerzusammensetzung) und schreibt diese in das Registerfile zurück. \r
-Des weiteren kann die ALU das Jump Result nicht direkt an die Decode stage zurückgeben, da dieses erst im Folgezyklus vorhanden ist (im Falle eines branch-returns).\r
-Somit muss dies auch von der Writeback Stage erledigt werden.
\ No newline at end of file
+\section{Allgemein}
+%\abbildung{pipeline.png}{so schaut unsre Architektur aus}{fig:pipeline}{1.4\textwidth}{90}
+\abbildung{pipeline.png}{Schematische Darstellung der Pipeline}{fig:pipeline}{0.95\textheight}{90} %0.95 weil sonst warning!
+Die Pipeline gliedert sich in 4 getrennte Stages. Jene sind Fetch, Decode, Execute und Writeback.
+\section{Fetch-Stage}
+Die Aufgaben der Fetch-Stage sind relativ simple in
+\begin{itemize}
+       \item Anlegen der Instruktionsadresse an den Instruktions-Speicherbus. Daraufhin erh\"alt die Decode-Stage die gew\"unschte Instruktion im n\"achsten Zyklus.
+       \item Die Instruktionsadresse ist entweder der inkrementierte Programmcounter, Jump-Result oder das Ergebnis der statischen Branchprediction
+\end{itemize}
+gegliedert.
+\section{Decode-Stage}
+Die Aufgaben der Decode-Stage fallen schon etwas komplexer aus und sind in
+\begin{itemize}
+       \item Decodieren der dichten Instruktion in eine aufgespaltene Form.
+       \item Laden der Operanden aus dem Registerfile und \"ubergeben der jeweiligen Adressen.
+       \item Laden von Immediates in die Operanden.
+       \item   Evaluierung der Branchprediction. R\"uckf\"uhrung der statischen Sprungadresse
+                               und NOP insertion falls die ALU/Writeback springt.
+\end{itemize}
+gegliedert.
+\section{Execute-Stage}
+Neben den Berechnungen beinhaltet diese Stage auch die Forward-Unit welche s\"amtlichen
+Konflikte behandelt.
+\begin{itemize}
+       \item Ausf\"uhrung der einzelnen Instruktionen auf die Operanden
+       \item Signalisieren eines Sprungs (ret vs. jmp). Die Jumpadresse kommt entweder vom Datenbus oder aus dem ALU-Ergebnis.
+       \item Signalisieren eines Registerschreibzugriffs, wobei dieses Ergebnis wieder vom Result oder Datenbus kommt.
+       \item Ansprechen des Datenbusses (RAM, Extension-Module, read, write) und des Statuswortes sowie des Stackpointers.
+\end{itemize}
+
+
+Die Forward-Unit muss s\"amtliche Konflikte behandeln und veraltete Operanden durch die letzten Ergebnisse ersetzen. Sie besteht aus
+\begin{itemize}
+       \item 2-Register um \"Anderungskonflikte an Registern zu l\"osen.
+       \item   Zusammensetzen eines dieser zwei Register mit dem Wert vom Datenbus (load byte etc.).
+\end{itemize}
+
+Die Extensionmodule werden vom Prozessor aus wie der Speicher behandelt. Jedes Modul besitzt einen spezifischen Adressbereich.
+Ein eigener Controller mapped die Adressbereiche auf die Extensionmodule und leitet die entsprechenden Daten \"uber ein Register auf das Modul weiter. 
+Beim Lesezugriff auf einen dieser Speicherbereiche legt das Extensionmodul einen Zyklus sp\"ater seinen Output auf den Datenbus. 
+
+
+\section{Writeback-Stage}
+
+Die Writeback-Stage \"ubernimmt die Werte aus dem Ergebnisregister der ALU oder aus der Forward-Unit (Registerzusammensetzung) und schreibt diese in das Registerfile zur\"uck. 
+Des weiteren kann die ALU das Jump Result nicht direkt an die Decode-Stage zur\"uckgeben, da dieses erst im Folgezyklus vorhanden ist (im Falle eines branch-returns).
+Somit muss dies auch von der Writeback-Stage erledigt werden.
index e156ba40a34453825c3e573f4816cc2a6a3ccb0f..7d23c5ac093c439fdf30317aaf8bfbcf23265198 100644 (file)
@@ -1,72 +1,72 @@
-\usepackage{graphicx}\r
-\usepackage{amsmath}\r
-\usepackage{hyperref}\r
-\usepackage{url}\r
-\usepackage{color}\r
-\usepackage[latin1]{inputenc}\r
-\usepackage{listings}\r
-%\usepackage{ngerman}\r
-\r
-\usepackage{longtable}\r
-\r
-%used for coloring of instr.\r
-\usepackage{colortbl}\r
-\r
-\definecolor{title}{rgb}{0.86,0.86,0.86}\r
-\definecolor{bit}{rgb}{0.8,0.86,0.8}\r
-\definecolor{bitval}{rgb}{0.8,0.8,0.8}\r
-\definecolor{names}{rgb}{0.86,0.93,0.86}\r
-\r
-\arrayrulecolor{black}\r
-\r
-\r
-% put footnotes below floats\r
-% this is a good idea if the table for the cmp looks bad on top of page\r
-\usepackage{fnpos}\r
-\makeFNbelow\r
-\r
-\r
-\lstset{%\r
-basicstyle=\footnotesize,\r
-frame=single,\r
-breaklines=true,\r
-tabsize=4\r
-}\r
-\r
-\newcommand{\insertemail}[1]{\href{mailto:#1}{#1}}\r
-\r
-\newcommand{\longcomment}[1]{}\r
-\r
-\newcommand{\addauthor}[3]{\r
-       #1 {\small (#2)}\\{\small\insertemail{#3}}\r
-}\r
-\r
-\newcommand{\todo}[1]{\r
-       \large\textcolor{red}{TODO: #1}\r
-}\r
-\r
-\lstset{%\r
-       basicstyle=\footnotesize,\r
-       frame=single,\r
-       breaklines=true,\r
-       tabsize=4\r
-}\r
-\r
-\newcommand{\listingS}[2] {\r
-       %wtf, no "Assembler" exists??\r
-       %\lstinputlisting[language=Assembler,caption=#1]{#2}\r
-       \lstinputlisting[caption=#1]{#2}\r
-}\r
-\newcommand{\listingC}[2] {\r
-       \lstinputlisting[language=C,caption=#1]{#2}\r
-}\r
-\r
-\newcommand{\allauthors}{\r
-       \author{\r
-               \addauthor{Markus Hofst\"atter}{0725034}{markus.manrow@gmx.at}\and\r
-               \addauthor{Martin Perner}{0725782}{e0725782@student.tuwien.ac.at}\and\r
-               \addauthor{Stefan Rebernig}{0726283}{stefan.rebernig@gmail.com}\and\r
-               \addauthor{Manfred Schwarz}{0725898}{e0725898@student.tuwien.ac.at}\and\r
-               \addauthor{Bernhard Urban}{0725771}{lewurm@gmail.com}\r
-       }\r
-}\r
+\usepackage{graphicx}
+\usepackage{amsmath}
+\usepackage{hyperref}
+\usepackage{url}
+\usepackage{color}
+\usepackage[latin1]{inputenc}
+\usepackage{listings}
+\usepackage{ngerman}
+
+\usepackage{longtable}
+
+%used for coloring of instr.
+\usepackage{colortbl}
+
+\definecolor{title}{rgb}{0.86,0.86,0.86}
+\definecolor{bit}{rgb}{0.8,0.86,0.8}
+\definecolor{bitval}{rgb}{0.8,0.8,0.8}
+\definecolor{names}{rgb}{0.86,0.93,0.86}
+
+\arrayrulecolor{black}
+
+
+% put footnotes below floats
+% this is a good idea if the table for the cmp looks bad on top of page
+\usepackage{fnpos}
+\makeFNbelow
+
+
+\lstset{%
+basicstyle=\footnotesize,
+frame=single,
+breaklines=true,
+tabsize=4
+}
+
+\newcommand{\insertemail}[1]{\href{mailto:#1}{#1}}
+
+\newcommand{\longcomment}[1]{}
+
+\newcommand{\addauthor}[3]{
+       #1 {\small (#2)}\\{\small\insertemail{#3}}
+}
+
+\newcommand{\todo}[1]{
+       \large\textcolor{red}{TODO: #1}
+}
+
+\lstset{%
+       basicstyle=\footnotesize,
+       frame=single,
+       breaklines=true,
+       tabsize=4
+}
+
+\newcommand{\listingS}[2] {
+       %wtf, no "Assembler" exists??
+       %\lstinputlisting[language=Assembler,caption=#1]{#2}
+       \lstinputlisting[caption=#1]{#2}
+}
+\newcommand{\listingC}[2] {
+       \lstinputlisting[language=C,caption=#1]{#2}
+}
+
+\newcommand{\allauthors}{
+       \author{
+               \addauthor{Markus Hofst\"atter}{0725034}{markus.manrow@gmx.at}\and
+               \addauthor{Martin Perner}{0725782}{e0725782@student.tuwien.ac.at}\and
+               \addauthor{Stefan Rebernig}{0726283}{stefan.rebernig@gmail.com}\and
+               \addauthor{Manfred Schwarz}{0725898}{e0725898@student.tuwien.ac.at}\and
+               \addauthor{Bernhard Urban}{0725771}{lewurm@gmail.com}
+       }
+}