\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{louielegrand} \pdfinfo{ /Title (cs-232-computer-organization-final.pdf) /Creator (Cheatography) /Author (louielegrand) /Subject (CS 232 Computer Organization Final 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}{A3A3A3} \definecolor{LightBackground}{HTML}{F3F3F3} \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{CS 232 Computer Organization Final Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{louielegrand} via \textcolor{DarkBackground}{\uline{cheatography.com/27914/cs/8200/}}} \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}louielegrand \\ \uline{cheatography.com/louielegrand} \\ \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 14th May, 2016.\\ 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*}{4} \begin{tabularx}{3.833cm}{p{1.09856 cm} x{2.33444 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{3.833cm}}{\bf\textcolor{white}{Terminology}} \tn % Row 0 \SetRowColor{LightBackground} Tera & 10\textasciicircum{}12\textasciicircum{} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} Giga & 10\textasciicircum{}9\textasciicircum{} \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} Mega & 10\textasciicircum{}6\textasciicircum{} \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} Kilo & 10\textasciicircum{}3\textasciicircum{} \tn % Row Count 4 (+ 1) % Row 4 \SetRowColor{LightBackground} 1 GHz & 1x10\textasciicircum{}9\textasciicircum{} Hz \tn % Row Count 5 (+ 1) % Row 5 \SetRowColor{white} 1 TB & 1x10\textasciicircum{}12\textasciicircum{} Byte \tn % Row Count 6 (+ 1) % Row 6 \SetRowColor{LightBackground} 1 Byte & 8 Bits \tn % Row Count 7 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{3.833cm}{x{1.27386 cm} x{0.87957 cm} x{0.87957 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{3.833cm}}{\bf\textcolor{white}{Conversions}} \tn % Row 0 \SetRowColor{LightBackground} {\bf{Binary}} & {\bf{Hex}} & {\bf{Dec}} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} 1111 & 0F & 15 \tn % Row Count 2 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}---} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{3.833cm}{p{2.30011 cm} p{1.13289 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{3.833cm}}{\bf\textcolor{white}{2's Complement}} \tn % Row 0 \SetRowColor{LightBackground} 0111 & 7 \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} 1000 & -8 \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} 1111 & -1 \tn % Row Count 3 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{3.833cm}{p{1.42551 cm} p{0.3033 cm} p{1.30419 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{3.833cm}}{\bf\textcolor{white}{Logic Gates}} \tn % Row 0 \SetRowColor{LightBackground} AND & & A B \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} OR & & A+B \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} NOT & & A \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} NAND & & A B \tn % Row Count 4 (+ 1) % Row 4 \SetRowColor{LightBackground} NOR & & A+B \tn % Row Count 5 (+ 1) % Row 5 \SetRowColor{white} XOR & & A B \tn % Row Count 6 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}---} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{3.833cm}{p{0.33363 cm} p{0.33363 cm} x{2.36574 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{3.833cm}}{\bf\textcolor{white}{XOR Truth Table}} \tn % Row 0 \SetRowColor{LightBackground} A & B & A XOR B \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} 0 & 0 & 0 \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} 0 & 1 & 1 \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} 1 & 0 & 1 \tn % Row Count 4 (+ 1) % Row 4 \SetRowColor{LightBackground} 1 & 1 & 0 \tn % Row Count 5 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}---} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{3.833cm}{x{0.87957 cm} x{1.09188 cm} x{1.06155 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{3.833cm}}{\bf\textcolor{white}{Basic Identities}} \tn % Row 0 \SetRowColor{LightBackground} {\bf{Name (Law)}} & {\bf{AND form}} & {\bf{OR form}} \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} Identity & 1A = A & 0+A = A \tn % Row Count 3 (+ 1) % Row 2 \SetRowColor{LightBackground} Null & 0A = 0 & 1+A = 1 \tn % Row Count 4 (+ 1) % Row 3 \SetRowColor{white} Idempotent & AA = A & A+A = A \tn % Row Count 5 (+ 1) % Row 4 \SetRowColor{LightBackground} Inverse & AA = 0 & A+A = 1 \tn % Row Count 6 (+ 1) % Row 5 \SetRowColor{white} \seqsplit{Commutative} & AB = BA & A+B = B+A \tn % Row Count 7 (+ 1) % Row 6 \SetRowColor{LightBackground} \seqsplit{Associative} & (AB)C = A(BC) & (A+B)+C = A+(B+C) \tn % Row Count 9 (+ 2) % Row 7 \SetRowColor{white} \seqsplit{Distributive} & A+BC = (A+B)(A+C) & A(B+C) = AB+AC \tn % Row Count 11 (+ 2) % Row 8 \SetRowColor{LightBackground} Absorption & A(A+B) = A & A+AB = A \tn % Row Count 12 (+ 1) % Row 9 \SetRowColor{white} DeMorgan's & AB = A+B & A+B = AB \tn % Row Count 13 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}---} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{3.833cm}{x{1.16722 cm} x{2.26578 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{3.833cm}}{\bf\textcolor{white}{Boolean Concepts}} \tn % Row 0 \SetRowColor{LightBackground} {\bf{Addition}} & {\bf{Subtraction}} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} 1+1 = 10 & 0-1 = 1 (borrow method) \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{2}{x{3.833cm}}{} \tn % Row Count 2 (+ 0) \hhline{>{\arrayrulecolor{DarkBackground}}--} \SetRowColor{LightBackground} \mymulticolumn{2}{x{3.833cm}}{All other operations straightforward.} \tn \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{3.833cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{3.833cm}}{\bf\textcolor{white}{Boolean Concepts II}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{3.833cm}}{Carry out: Carry out of leftmost bit} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{3.833cm}}{Overflow: Result too large or small to fit into bits} \tn % Row Count 3 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{3.833cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{3.833cm}}{\bf\textcolor{white}{S-R Latch}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{p{3.833cm}}{\vspace{1px}\centerline{\includegraphics[width=5.1cm]{/web/www.cheatography.com/public/uploads/louielegrand_1463158816_SR Latch.png}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{3.833cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{3.833cm}}{\bf\textcolor{white}{Decoder}} \tn \SetRowColor{white} \mymulticolumn{1}{x{3.833cm}}{Image could not be loaded.} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{3.833cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{3.833cm}}{\bf\textcolor{white}{Other Sequential Circuits}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{3.833cm}}{Multiplexer} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{3.833cm}}{Demultiplexer} \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{3.833cm}}{Decoder} \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} \mymulticolumn{1}{x{3.833cm}}{Encoder} \tn % Row Count 4 (+ 1) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{1}{x{3.833cm}}{Priority Encoder} \tn % Row Count 5 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{3.833cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{3.833cm}}{\bf\textcolor{white}{Byte Ordering}} \tn \SetRowColor{white} \mymulticolumn{1}{x{3.833cm}}{Bytes in a word can be numbered from left to right or right to left. Big-endian: Most significant byte (byte containing most significant bit) is stored first and following bytes are stored in decreasing significance order. Little-endian is the opposite.% Row Count 6 (+ 6) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{3.833cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{3.833cm}}{\bf\textcolor{white}{Memory Hierarchy}} \tn \SetRowColor{white} \mymulticolumn{1}{x{3.833cm}}{In order of increasing access time, storage capacity, and bits you get per dollar spent: Registers; Cache; Main Memory; Magnetic or solid state disk; Tape or Optical Disk.% Row Count 4 (+ 4) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{3.833cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{3.833cm}}{\bf\textcolor{white}{Cache}} \tn \SetRowColor{white} \mymulticolumn{1}{x{3.833cm}}{Component that stores data to speed up future search requests. Cache hit - data can be found vs Cache miss - data cannot be found. Hit rate - \% of accesses resulting in cache hits. Relatively small due to cost. Locality of reference - Temporal locality: reuse of specific data, and/or resources, within a relatively small time duration. Spatial locality: use of data elements within relatively close storage locations. Tradeoff: Larger caches have better hit rates but longer latency. Small fast caches backed up by larger, slower caches. Multi-level caches: check fastest L1 cache first; if it hits, proceeds at HS. If L1 misses, L2 is checked, and so on, before accessing external memory.% Row Count 14 (+ 14) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{3.833cm}{x{0.81891 cm} x{1.2132 cm} x{1.00089 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{3.833cm}}{\bf\textcolor{white}{Cache Mapping}} \tn % Row 0 \SetRowColor{LightBackground} {\bf{Cache type}} & {\bf{Hit Ratio}} & {\bf{Search speed}} \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} Direct Mapped & Good & Best \tn % Row Count 4 (+ 2) % Row 2 \SetRowColor{LightBackground} N-Way Set \seqsplit{Associative} & Very good, better as N increases & Good, worse as N increases \tn % Row Count 7 (+ 3) % Row 3 \SetRowColor{white} Fully \seqsplit{associative} & Best & Moderate \tn % Row Count 9 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}---} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{3.833cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{3.833cm}}{\bf\textcolor{white}{Replacement Algorithms}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{3.833cm}}{Optimize management of cache - chooses which items to discard in a full cache} \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{3.833cm}}{Each is a tradeoff between latency and hit ratio} \tn % Row Count 3 (+ 1) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{3.833cm}}{Common: LRU, MRU, RR, 2-way set, Direct-mapped} \tn % Row Count 4 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{3.833cm}{x{1.7165 cm} x{1.7165 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{3.833cm}}{\bf\textcolor{white}{Write Policy}} \tn % Row 0 \SetRowColor{LightBackground} {\bf{Write-through}} & {\bf{Write-back}} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} Write is done synchronously both to cache and main mem & Write initially only to cache; write to main memory postponed until cache blocks containing data are about to be modified/replaced \tn % Row Count 8 (+ 7) % Row 2 \SetRowColor{LightBackground} ADV: Simpler and more reliable, mem is always up-to-date & ADV: Faster, uses less memory bandwidth \tn % Row Count 11 (+ 3) % Row 3 \SetRowColor{white} DISADV: Write is slower, every write requires main memory access, uses more memory bandwidth & DISADV: More complex, must track "dirty" locations \tn % Row Count 16 (+ 5) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{3.833cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{3.833cm}}{\bf\textcolor{white}{Mean access time}} \tn \SetRowColor{white} \mymulticolumn{1}{x{3.833cm}}{mean access time = c + (1-h)m \newline % Row Count 1 (+ 1) c - cache access time \newline % Row Count 2 (+ 1) h - hit ratio \newline % Row Count 3 (+ 1) m - main memory access time% Row Count 4 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{3.833cm}{x{1.33887 cm} x{2.09413 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{3.833cm}}{\bf\textcolor{white}{Data Dependencies}} \tn % Row 0 \SetRowColor{LightBackground} True data dependency (RAW) & Occurs when an instruction depends on result of previous instruction \tn % Row Count 3 (+ 3) % Row 1 \SetRowColor{white} WAR & Occurs when an instruction requires a value that is later updated \tn % Row Count 6 (+ 3) % Row 2 \SetRowColor{LightBackground} WAW & Occurs when the ordering of instructions will affect the final output value of a variable \tn % Row Count 10 (+ 4) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{3.833cm}{x{1.7165 cm} x{1.7165 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{3.833cm}}{\bf\textcolor{white}{CISC vs. RISC}} \tn % Row 0 \SetRowColor{LightBackground} {\bf{CISC}} & {\bf{RISC}} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} Emphasis on hardware & Emphasis on software \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} Includes multi-clock complex instructions & Single-clock, reduced instruction only \tn % Row Count 5 (+ 3) % Row 3 \SetRowColor{white} Memory-to-memory: "LOAD" and "STORE" incorporated in instructions & \seqsplit{Register-to-register:} "LOAD" and "STORE" are independent instructions \tn % Row Count 9 (+ 4) % Row 4 \SetRowColor{LightBackground} Small code sizes, high cycles per second & Low cycles per second, large code sizes \tn % Row Count 11 (+ 2) % Row 5 \SetRowColor{white} MULT & LOAD LOAD PROD STORE \tn % Row Count 12 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{3.833cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{3.833cm}}{\bf\textcolor{white}{Performance equation}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{3.833cm}}{time/program = time/cycle x cycles/instruction x instructions/program} \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{3.833cm}}{CISC minimzes instructions per program at cost of cycles per instruction} \tn % Row Count 4 (+ 2) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{3.833cm}}{RISC reduces cycles per instruction at cost of number of instructions per program} \tn % Row Count 6 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{3.833cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{3.833cm}}{\bf\textcolor{white}{State Machines}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{3.833cm}}{Moore Machines: output is a function of the state} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{3.833cm}}{Mealy Machines: output is a function of the state and the input} \tn % Row Count 3 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{3.833cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{3.833cm}}{\bf\textcolor{white}{Opcode}} \tn \SetRowColor{white} \mymulticolumn{1}{x{3.833cm}}{Portion of a machine language that specifies the operation to be performed% Row Count 2 (+ 2) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{3.833cm}{p{0.3433 cm} p{0.3433 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{3.833cm}}{\bf\textcolor{white}{Addressing modes}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{2}{x{3.833cm}}{Immediate} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} \mymulticolumn{2}{x{3.833cm}}{Direct} \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{2}{x{3.833cm}}{Indirect} \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} \mymulticolumn{2}{x{3.833cm}}{Reg Direct} \tn % Row Count 4 (+ 1) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{2}{x{3.833cm}}{Reg Indirect} \tn % Row Count 5 (+ 1) % Row 5 \SetRowColor{white} \mymulticolumn{2}{x{3.833cm}}{Reg Base-Ind} \tn % Row Count 6 (+ 1) % Row 6 \SetRowColor{LightBackground} \mymulticolumn{2}{x{3.833cm}}{Reg Base-Scaled Ind} \tn % Row Count 7 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{3.833cm}{x{0.86889 cm} p{0.47394 cm} p{0.76357 cm} p{0.5266 cm} } \SetRowColor{DarkBackground} \mymulticolumn{4}{x{3.833cm}}{\bf\textcolor{white}{Basic ISA Classes}} \tn % Row 0 \SetRowColor{LightBackground} Accumulator & Stack & Gen Purp Reg & \seqsplit{Load/Store} \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} 1 or 1+x address & 0 \seqsplit{address} & 2 or 3 address & 3 address \tn % Row Count 4 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}----} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{3.833cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{3.833cm}}{\bf\textcolor{white}{Circuits}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{p{3.833cm}}{\vspace{1px}\centerline{\includegraphics[width=5.1cm]{/web/www.cheatography.com/public/uploads/louielegrand_1463241148_IMG_3562 (1).JPG}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{3.833cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{3.833cm}}{\bf\textcolor{white}{Speedup Calculation}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{3.833cm}}{Speedup = (NT\textasciicircum{}1\textasciicircum{})/{[}K+(N-1){]}T} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{3.833cm}}{Where N is \# of instructions, T\textasciicircum{}1\textasciicircum{} is time for stage 1 CPU to complete instruction} \tn % Row Count 3 (+ 2) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{3.833cm}}{K is \# of stages for multistage and T is time for step + latch} \tn % Row Count 5 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} % That's all folks \end{multicols*} \end{document}