\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{kjwkc3} \pdfinfo{ /Title (cs-2700-mid-term.pdf) /Creator (Cheatography) /Author (kjwkc3) /Subject (CS 2700 - Mid-Term 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 2700 - Mid-Term Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{kjwkc3} via \textcolor{DarkBackground}{\uline{cheatography.com/20734/cs/3623/}}} \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}kjwkc3 \\ \uline{cheatography.com/kjwkc3} \\ \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Cheat Sheet}} \\ \vspace{-2pt}Published 6th March, 2015.\\ Updated 13th 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{0.78959 cm} x{2.64341 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{3.833cm}}{\bf\textcolor{white}{Organization vs. Architecture}} \tn % Row 0 \SetRowColor{LightBackground} \seqsplit{Architecture} & The attributes of a system visible to a programmer \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} \seqsplit{Organization} & The oerational units and their interconnections that realize the architectural specifications \tn % Row Count 6 (+ 4) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{3.833cm}{x{1.30454 cm} x{2.12846 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{3.833cm}}{\bf\textcolor{white}{Main Components of the CPU}} \tn % Row 0 \SetRowColor{LightBackground} Control Unit & Controls the operation of the CPU and hence the computer \tn % Row Count 3 (+ 3) % Row 1 \SetRowColor{white} Arithmetic and Logic Unit & Performs the computers data processing function \tn % Row Count 5 (+ 2) % Row 2 \SetRowColor{LightBackground} Registers & provides storage central to the CPU \tn % Row Count 7 (+ 2) % Row 3 \SetRowColor{white} CPU \seqsplit{Interconnection} & some mechanism that provides for communication among the control unit, ALU, and registers \tn % Row Count 11 (+ 4) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{3.833cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{3.833cm}}{\bf\textcolor{white}{Integer Representation}} \tn \SetRowColor{white} \mymulticolumn{1}{x{3.833cm}}{Sign Magnitude: \newline % Row Count 1 (+ 1) +18 = 00010010 \newline % Row Count 2 (+ 1) -18 = 10010010 \newline % Row Count 3 (+ 1) Benefits: Simple \newline % Row Count 4 (+ 1) Drawbacks: addition and subtraction need to take sign and number into consideration for calculations and there are two ways to represent 0. \newline % Row Count 7 (+ 3) To extend range: Move sign bit to new leftmost bit and fill rest with 0s \newline % Row Count 9 (+ 2) Two's Complement: \newline % Row Count 10 (+ 1) Similar to sign magnitude, except for how the other digits except the signed one are considered. \newline % Row Count 12 (+ 2) to extend range: move sign bit to new leftmost bit and fill rest with same sign as sign bit \newline % Row Count 14 (+ 2) Biased Representation \newline % Row Count 15 (+ 1) A fixed value is subtracted from the field% Row Count 16 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{3.833cm}{p{0.61794 cm} x{2.81506 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{3.833cm}}{\bf\textcolor{white}{Structure vs. Function}} \tn % Row 0 \SetRowColor{LightBackground} \seqsplit{Structure} & The way in which the components are interrelated \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} \seqsplit{Function} & The operation of each individual component as part of the structure \tn % Row Count 5 (+ 3) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{3.833cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{3.833cm}}{\bf\textcolor{white}{HISTORY}} \tn \SetRowColor{white} \mymulticolumn{1}{x{3.833cm}}{First generation computers: ENIAC -\textgreater{} IAS Computer -\textgreater{} UNIVAC \newline % Row Count 2 (+ 2) "von Neumann Machines" \newline % Row Count 3 (+ 1) Why important? - Stored-Program Concept \newline % Row Count 4 (+ 1) How does it work? - 1000 memory locations called words, which are 40 bits each. Each word is divided into a left and right instruction. Each instruction is divided into an 8 bit opcode saying the operation to be performed and a 12 bit address pointing to one of the words in memory. Repeatedly performs instruction cycles, divided between the fetch and execute cycles. In the fetch cycle, the opcode of the next instruction is loaded into the IR and the address portion is loaded into the MAR. This instruction may be taken from the IBR, or it can be obtained from memory by loading a word into the MBR and then down to the IBR, IR, and MAR. Once opcode is in IR, execute cycle is performed - opcode is interpreted and sends out the appropriate signals to cause data to be moved or an operation to be performed by the ALU \newline % Row Count 21 (+ 17) Second Generation: Transistors \newline % Row Count 22 (+ 1) Transistors are smaller and cheaper than vacuum tubes. This created a huge boom in availability of computers. \newline % Row Count 25 (+ 3) Third Generation: Integrated Circuits \newline % Row Count 26 (+ 1) All of these components can now be produced in silicon chips instead of discrete components, further reducing the cost and size of computers.% Row Count 29 (+ 3) } \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}{Main Functions that a computer can perform}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{3.833cm}}{Data Processing} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{3.833cm}}{Data Storage} \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{3.833cm}}{Date Movement} \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} \mymulticolumn{1}{x{3.833cm}}{Control} \tn % Row Count 4 (+ 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}{Moore's Law}} \tn \SetRowColor{white} \mymulticolumn{1}{x{3.833cm}}{The number of transistors that can be placed onto a chip doubles every year. {\bf{ revised to every 18 months since the 1970s }} \newline % Row Count 3 (+ 3) Importance: \newline % Row Count 4 (+ 1) 1) Cost remains relatively the same while computing power doubles \newline % Row Count 6 (+ 2) 2) Operating Speed is increased due to shorter electrical pathways because everything is so close together \newline % Row Count 9 (+ 3) 3) Smaller size means computers can be placed in more environments \newline % Row Count 11 (+ 2) 4) Reduction in power and cooling requirements \newline % Row Count 12 (+ 1) 5) With more circuitry on each chip, there are fewer interchip connections% Row Count 14 (+ 2) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{3.833cm}{x{1.44186 cm} x{1.99114 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{3.833cm}}{\bf\textcolor{white}{Main Components of a Computer}} \tn % Row 0 \SetRowColor{LightBackground} Central Processing Unit (CPU) & Controls the operation of the computer and performs its data processing functions \tn % Row Count 4 (+ 4) % Row 1 \SetRowColor{white} Main Memory & Stores Data \tn % Row Count 5 (+ 1) % Row 2 \SetRowColor{LightBackground} I/O & Moves data between the computer and its external environment \tn % Row Count 8 (+ 3) % Row 3 \SetRowColor{white} System \seqsplit{Interconnections} & Some mechanism that provides for communication among CPU, main memory, and I/O. \tn % Row Count 12 (+ 4) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{3.833cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{3.833cm}}{\bf\textcolor{white}{EQUATIONS}} \tn \SetRowColor{white} \mymulticolumn{1}{x{3.833cm}}{CPI = (SUM\_i=1\textasciicircum{}n (CPI\_i x I\_i)) / I\_C \newline % Row Count 1 (+ 1) T = I\_C x CPI x Tau \newline % Row Count 2 (+ 1) Tau = 1/f \newline % Row Count 3 (+ 1) MIPS rate = I\_C / (T x 10\textasciicircum{}6\textasciicircum{} ) or f / (CPI x 10\textasciicircum{}6\textasciicircum{}) \newline % Row Count 5 (+ 2) MFLOPS rate = (number of executed floating-point operations in a program) / (execution time x 10\textasciicircum{}6\textasciicircum{}) \newline % Row Count 8 (+ 3) speedup (Amdahl's Law) = 1 / ((1 - f) + (f/N))% Row Count 9 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} % That's all folks \end{multicols*} \end{document}