\documentclass[10pt,a4paper]{article} % Packages \usepackage{fancyhdr} % For header and footer \usepackage{multicol} % Allows multicols in tables \usepackage{tabularx} % Intelligent column widths \usepackage{tabulary} % Used in header and footer \usepackage{hhline} % Border under tables \usepackage{graphicx} % For images \usepackage{xcolor} % For hex colours %\usepackage[utf8x]{inputenc} % For unicode character support \usepackage[T1]{fontenc} % Without this we get weird character replacements \usepackage{colortbl} % For coloured tables \usepackage{setspace} % For line height \usepackage{lastpage} % Needed for total page number \usepackage{seqsplit} % Splits long words. %\usepackage{opensans} % Can't make this work so far. Shame. Would be lovely. \usepackage[normalem]{ulem} % For underlining links % Most of the following are not required for the majority % of cheat sheets but are needed for some symbol support. \usepackage{amsmath} % Symbols \usepackage{MnSymbol} % Symbols \usepackage{wasysym} % Symbols %\usepackage[english,german,french,spanish,italian]{babel} % Languages % Document Info \author{peshay} \pdfinfo{ /Title (rechnerarchitektur.pdf) /Creator (Cheatography) /Author (peshay) /Subject (Rechnerarchitektur Cheat Sheet) } % Lengths and widths \addtolength{\textwidth}{6cm} \addtolength{\textheight}{-1cm} \addtolength{\hoffset}{-3cm} \addtolength{\voffset}{-2cm} \setlength{\tabcolsep}{0.2cm} % Space between columns \setlength{\headsep}{-12pt} % Reduce space between header and content \setlength{\headheight}{85pt} % If less, LaTeX automatically increases it \renewcommand{\footrulewidth}{0pt} % Remove footer line \renewcommand{\headrulewidth}{0pt} % Remove header line \renewcommand{\seqinsert}{\ifmmode\allowbreak\else\-\fi} % Hyphens in seqsplit % This two commands together give roughly % the right line height in the tables \renewcommand{\arraystretch}{1.3} \onehalfspacing % Commands \newcommand{\SetRowColor}[1]{\noalign{\gdef\RowColorName{#1}}\rowcolor{\RowColorName}} % Shortcut for row colour \newcommand{\mymulticolumn}[3]{\multicolumn{#1}{>{\columncolor{\RowColorName}}#2}{#3}} % For coloured multi-cols \newcolumntype{x}[1]{>{\raggedright}p{#1}} % New column types for ragged-right paragraph columns \newcommand{\tn}{\tabularnewline} % Required as custom column type in use % Font and Colours \definecolor{HeadBackground}{HTML}{333333} \definecolor{FootBackground}{HTML}{666666} \definecolor{TextColor}{HTML}{333333} \definecolor{DarkBackground}{HTML}{4096A3} \definecolor{LightBackground}{HTML}{F3F8F9} \renewcommand{\familydefault}{\sfdefault} \color{TextColor} % Header and Footer \pagestyle{fancy} \fancyhead{} % Set header to blank \fancyfoot{} % Set footer to blank \fancyhead[L]{ \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{C} \SetRowColor{DarkBackground} \vspace{-7pt} {\parbox{\dimexpr\textwidth-2\fboxsep\relax}{\noindent \hspace*{-6pt}\includegraphics[width=5.8cm]{/web/www.cheatography.com/public/images/cheatography_logo.pdf}} } \end{tabulary} \columnbreak \begin{tabulary}{11cm}{L} \vspace{-2pt}\large{\bf{\textcolor{DarkBackground}{\textrm{Rechnerarchitektur Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{peshay} via \textcolor{DarkBackground}{\uline{cheatography.com/81645/cs/19533/}}} \end{tabulary} \end{multicols}} \fancyfoot[L]{ \footnotesize \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{LL} \SetRowColor{FootBackground} \mymulticolumn{2}{p{5.377cm}}{\bf\textcolor{white}{Cheatographer}} \\ \vspace{-2pt}peshay \\ \uline{cheatography.com/peshay} \\ \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Cheat Sheet}} \\ \vspace{-2pt}Not Yet Published.\\ Updated 15th May, 2019.\\ Page {\thepage} of \pageref{LastPage}. \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Sponsor}} \\ \SetRowColor{white} \vspace{-5pt} %\includegraphics[width=48px,height=48px]{dave.jpeg} Measure your website readability!\\ www.readability-score.com \end{tabulary} \end{multicols}} \begin{document} \raggedright \raggedcolumns % Set font size to small. Switch to any value % from this page to resize cheat sheet text: % www.emerson.emory.edu/services/latex/latex_169.html \footnotesize % Small font. \begin{multicols*}{3} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Gleitkomma}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{p{5.377cm}}{\vspace{1px}\centerline{\includegraphics[width=5.1cm]{/web/www.cheatography.com/public/uploads/peshay_1556867815_pasted-image.png}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{3.13551 cm} x{1.84149 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Zweierkomplement}} \tn % Row 0 \SetRowColor{LightBackground} {\bf{Beispiel}} & 3D-6D \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} 6D & `0110 1101` \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} 6D Einerkomplement & `1001 0010` \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} 6D Zweierkomplement & `1001 0011` \tn % Row Count 4 (+ 1) % Row 4 \SetRowColor{LightBackground} 3D & `0011 1101` \tn % Row Count 5 (+ 1) % Row 5 \SetRowColor{white} Ergebnis (D0) & `1101 0000` \tn % Row Count 6 (+ 1) % Row 6 \SetRowColor{LightBackground} Invertieren (2F) & `0010 1111` \tn % Row Count 7 (+ 1) % Row 7 \SetRowColor{white} Plus 1 (30) & `0011 0000` \tn % Row Count 8 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{p{0.59724 cm} x{4.37976 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{CPU Aufbau}} \tn % Row 0 \SetRowColor{LightBackground} MDR & Memory Data Register \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} MAR & Memory Address Register \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} PC & Program Counter \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} IR & Instruction Register \tn % Row Count 4 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Von-Neumann vs Harvard}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{p{5.377cm}}{\vspace{1px}\centerline{\includegraphics[width=5.1cm]{/web/www.cheatography.com/public/uploads/peshay_1557596384_von.jpg}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{1.51041 cm} x{1.28156 cm} x{1.78503 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{5.377cm}}{\bf\textcolor{white}{CISC vs RISC}} \tn % Row 0 \SetRowColor{LightBackground} Eigenschaft & CISC & RISC \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} Register & Wenige\{\{nl\}\}(ca. 20) & Viele\{\{nl\}\}(bis zu 200) \tn % Row Count 3 (+ 2) % Row 2 \SetRowColor{LightBackground} Befehlssatz & ca. 300 & ca. 100 \tn % Row Count 4 (+ 1) % Row 3 \SetRowColor{white} Adressierungs-\{\{nl\}\}arten & ca. 12 & nur 3 bis 5 \tn % Row Count 6 (+ 2) % Row 4 \SetRowColor{LightBackground} Caches & gemeinsam & getrennt\{\{nl\}\}(nach Harvard) \tn % Row Count 8 (+ 2) % Row 5 \SetRowColor{white} CPI & 1-10 (\textasciitilde{}4) & 1 (\textasciitilde{} 1,5) \tn % Row Count 9 (+ 1) % Row 6 \SetRowColor{LightBackground} \seqsplit{Befehlssteuerung} & Mikrocode im Speicher & Hartverdrahtet Mikroprogramme \tn % Row Count 11 (+ 2) % Row 7 \SetRowColor{white} Beispiele & x86, AMD, Cyrix & UltraSparc, PowerPC \tn % Row Count 13 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}---} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Hazards}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{p{5.377cm}}{\vspace{1px}\centerline{\includegraphics[width=5.1cm]{/web/www.cheatography.com/public/uploads/peshay_1556918461_B0E879B7-47C3-4E0E-B0EE-26305E086EF3.jpeg}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{DNF und KNF}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{p{5.377cm}}{\vspace{1px}\centerline{\includegraphics[width=5.1cm]{/web/www.cheatography.com/public/uploads/peshay_1557168753_KNF+DNF.png}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Pipelining}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{p{5.377cm}}{\vspace{1px}\centerline{\includegraphics[width=5.1cm]{/web/www.cheatography.com/public/uploads/peshay_1557596059_Bildschirmfoto 2019-05-11 um 19.34.00.png}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Takte T = Befehle + (Pipestufen - 1)} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Ablauf LOAD Befehl}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{p{5.377cm}}{\vspace{1px}\centerline{\includegraphics[width=5.1cm]{/web/www.cheatography.com/public/uploads/peshay_1557170612_Bildschirmfoto 2019-05-06 um 21.15.51.png}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{PC in MAR kopiert und auf Adressbus \newline Kontrollwerk verlangt eine Leseoperation und PC um eins inkrementiert \newline Hauptspeicher erh{\"a}lt die Adresse der Speicherzelle vom Adressbus, Inhalt der Zelle per Datenbaus an MDR weiter \newline Inhalt MDR in IR kopiert. Kontrollwerk ersten zwei Bits für LOAD Befehl \newline Vier weitere Bits vom IR ins MAR, Inhalt wird dann vom Hauptspeicher gelesen und im MDR gespeichert \newline Inhalt des MDR wird in Register R1 kopiert} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{KV Diagramm}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{p{5.377cm}}{\vspace{1px}\centerline{\includegraphics[width=5.1cm]{/web/www.cheatography.com/public/uploads/peshay_1556888563_Bildschirmfoto 2019-05-01 um 22.05.39.png}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{2.63781 cm} x{2.33919 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{CPU Befehle}} \tn % Row 0 \SetRowColor{LightBackground} {\bf{Kategorie}} & {\bf{Befehle}} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} Transfehrbefehle & LOAD, STORE \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} Arithmetisch- \{\{nl\}\}und Logisch & ADC, CMP \tn % Row Count 4 (+ 2) % Row 3 \SetRowColor{white} Sprungbefehle & JMP, CALL \tn % Row Count 5 (+ 1) % Row 4 \SetRowColor{LightBackground} Systembefehle & DISABLE IRQ\{\{nl\}\}ENABLE IRQ \tn % Row Count 7 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{CPU Ablauf}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{p{5.377cm}}{\vspace{1px}\centerline{\includegraphics[width=5.1cm]{/web/www.cheatography.com/public/uploads/peshay_1557080959_Bildschirmfoto 2019-05-05 um 20.08.05.png}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Stackframe}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{p{5.377cm}}{\vspace{1px}\centerline{\includegraphics[width=5.1cm]{/web/www.cheatography.com/public/uploads/peshay_1557340814_342px-Call_stack_layout.svg.png}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{MIPS}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{p{5.377cm}}{\vspace{1px}\centerline{\includegraphics[width=5.1cm]{/web/www.cheatography.com/public/uploads/peshay_1557145418_Bildschirmfoto 2019-05-06 um 14.23.24.png}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} % That's all folks \end{multicols*} \end{document}