Computer Architecture Principles Dr. Mike Frank

# Computer Architecture Principles Dr. Mike Frank

## Computer Architecture Principles Dr. Mike Frank

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
##### Presentation Transcript

1. Computer Architecture PrinciplesDr. Mike Frank UF CDA 5155 / NTU CA 714-RSummer 2003 Module #2Review of Prerequisite Topics

2. Review of Prerequisite Topics • Digital numbers: • Binary, octal, hex, 2s-complement • Basic digital logic: • Boolean algebra, logic gates, combinational logic... • Sequential logic: • Latches, registers, timing, finite state machines… • Computer arithmetic: • Integer adders, multipliers, floating-point representations… • HW description languages (RTL, VHDL, Verilog). • Basic HW/SW interface: • Compilation/assembly/linking, some high-level language, assembly language, machine language… • Basic components of a computer: • CPU, motherboard, memory, expansion cards, disk, I/O ports, monitor, keyboard, mouse, network, power supply... • Basic CPU organization: Registers, memory units, ALUs, pipelining.

3. Digital Number Systems • Base-k arithmetic in general: • Rosen, Discrete Mathematics & Its Applications (textbook for COT3100). • Conversion between arbitrary bases (2,8,10,16). • Signed integer representations (including 2’s complement): • P&H, §4.2 • Hexadecimal notation. • Big- & little- “endian” byte ordering.

4. Basic Digital Logic • 1=True, 0=False • NOT, AND, OR, XOR, NAND, NOR & their truth tables (Rosen, P&H B.2) • Boolean algebra notation (¯, ·, +) & laws. (Rosen) • Gate symbols P&H,B.2 • Combinational (feed-forward) logic networks B.3 • Decoders, multiplexors. B.3 • Logic synthesis using PLAs (programmed logic arrays) B.3

5. Basic Sequential Logic • Clocks P&H B.4 • Clocked latches B.5 • Edge-triggered flip-flops B.5 • Registers B.5 • Register files B.5 • SRAM (static random access mem.) B.5 • DRAM (dynamic RAM) B.5 • FSM (Finite State Machine) design B.6

6. Computer Arithmetic • Half- and full adder cells. P&H 4.5 • Integer n-bit adders. P&H 4.5, H&P A.2 • Integer multiplication & division algorithms & sequential circuits. P&H 4.6-7; H&P A.2 • Floating-point representations (IEEE standard).P&H 4.8; H&P A.3

7. Hardware Description Languages • Pseudocode Register Transfer Languages (RTLs). (Carpinelli, chapter 5.) • Know at least one formal HW desc. language: • VHSIC HDL (VHDL) (IEEE standard 1076) (Carpinelli §5.4, misc books) • Verilog HDL (IEEE std. 1364). (Resources TBD.) • Status of “Verilog-VHDL” wars... • Verilog: Most popular, faster sims, better tools, easier to learn, faster to code... • VHDL: More tightly-structured language, government standard, required for all defense contracts. • Verilog:VHDL :: C:Ada ?

8. Hardware/Software Interface • What’s a compiler, assembler, linker, loader? • Have experience with at least one of each: • High-level programming language (C,Fortran,Java..) • Assembly language (x86, m68k, PPC, MIPS…) • Some machine language • Be familiar with common ISA features: • Registers & memory • Arithmetic/logical instructions • Addressing modes • Conditional branches & jumps

9. Basic Computer Components Terminology you should be familiar with: • CPU (central processing unit) • Die, package, MCM (multi-chip module), daughterboard, motherboard. • Memory • Cache, DRAM (dynamic random access memory), SIMM (single inline memory module), virtual memory. • I/O: Bus, PCI, expansion slot, expansion card, I/O port. • Disk: IDE, SCSI, controller, hard drive, floppy, RAID. • Networking: OSI model, interface card, Ethernet, NFS, TCP/IP, sockets, Internet, ATM. • Display: Graphics card, monitor, SVGA, … • Input: Keyboard, mouse, USB, FireWire, BlueTooth, ...

10. Basic CPU Organization • Memory access units (data & instruction) • Instruction decoders • Register files • Arithmetic-logic units • Basics of pipelining (see H&P appendix A)