1 / 42

Computer Architecture: Intro Beginnings

Computer Architecture: Intro Beginnings. J. Schmalzel S. Mandayam. Course. Introduction Overview Content launch: Module 1. Structure & Conduct of the Course. Discussion v. Lecturing Interaction: Question/Comment Ticket Team-learning In-class labs

arleen
Download Presentation

Computer Architecture: Intro Beginnings

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computer Architecture: Intro Beginnings J. Schmalzel S. Mandayam

  2. Course • Introduction • Overview • Content launch: Module 1

  3. Structure & Conduct of the Course • Discussion v. Lecturing • Interaction: Question/Comment Ticket • Team-learning • In-class labs • Out-of-class labs, readings, problems

  4. Introduction • Instructors: J. Schmalzel, S. Mandayam • Course • Digital Foundations • Introduction to Embedded Processors • The Embedded Development Environment • Interfacing to the Physical World • Hardware and Software Trade-Offs

  5. Course Goal • Goal: Impart knowledge of computer architecture to support informed decisions about the hardware, software, and the hardware/software trade-offs that underlie the computing paradigm.

  6. Objectives, 1  Describe major functional elements of CISC, RISC architectures • Perform detailed analysis and synthesis of combinatorial and sequential subsystems using schematic and/or behavioral design capture w/ sim • Describe principles and applications of the three basic computing elements: CPU, MEM, I/O • Use an embedded system that includes diverse architectural features

  7. Objectives, 2  Apply analytic and simulation techniques to predict and verify performance metrics  Design an example architecture using SOTA tools • Identify opportunities for hardware and software trade-offs • (Insert your objectives here…) • ( …and here)

  8. CPU MEM I/O Digital Foundations • The basic model of a computer system:

  9. Central Processing Unit (CPU) • Controls • Executes • Computes (Fixed- and/or Floating-Point)

  10. Memory • Program store • Data storage • High-speedLow-speed • Volatile, Non-volatile • RAM, ROM, FLASH (EEPROM) • FastSlow

  11. Input/Output (I/O) • Communication between CPU and outside world • FastSlow • Standardized (e.g., IEEE 802.11b) • Parallel (IEEE 1184)Serial (USB 2.0)

  12. CPU MEM I/O Hierarchical View of EP and Digital Systems Operating System HLLs Computer Architecture State Machines Interface Method Design Techniques MSI Functions Boolean Algebra Gates

  13. Number Systems • Binary • Hexadecimal • Octal

  14. For an n-bit binary number: Base notation. For a k-bit binary number with n-bits to the left of the radix point and m-bits to the right of the radix point. For example, 1101001.101 = ______________10 = (64 + 32 + 8 + 1) . (0.5 + 0.125) = 105.625 Similarly, for hex:

  15. Conversions • 11111111  ____________(10) • (Fast way: 100000000 -1 = 255) • 10101010.01  _____________ (10) • (AA.416 = 10*16 + 10 + .25 = 170.25) • AB6C.D  _________________________ (2)  ___________(10) • (1010101101101100.1101; 10*4096 + 11*256 + • 6*16 + 12 + 13/16 = 43,884.8125)

  16. Coding Binary system must be used to accomplish many functions such as arithmetic and data transmission. A code defines the mapping between binary digits and the intended application.

  17. Example Codes • Gray code: Only one bit change between adjacent codes (000010110100 101111011001000…) • Binary-Coded Decimal (BCD): Direct (but inefficient) coding of decimal numbers using 4 bits

  18. 2’s Complement • Need: A method to represent negative numbers. Can use a sign bit + magnitude; e.g., +5: 0 101, -5: 1 101, but there are better codes. The 2’s Complement is one. • 1’s Complement: Complement each bit. • 1’s Complement of 11011 is 00100 • 2’s complement: 1’s complement + 1 • Example: Find 2’s complement of 1001100.  _______________ (0110100.) • To check, sum of the positive and negative codes should sum to zero (ignore overflow out of msb). • (“By inspection” trick: Working from right to left, write down all zeros until the first 1. Write it down, too, then complement every bit after that.)

  19. Boolean Algebra • True/False • High/Low • On/Off • +5 Vdc / 0 Vdc (+3.3 Vdc / 0 Vdc) • Notation • Variable by itself is assumed “true” • Variable with a symbol denotes complementation: ¯ ~ * /

  20. X0=0 X1=X XX=X XX*=0 X+0=X X+1=1 X+X=X X+X*=1 X**=X Commutative Laws: X+Y=Y+X XY=YX Associative Laws: X+(Y+Z)=(X+Y)+Z X(YZ)=(XY)Z Distributive Laws: X(Y+Z)=XY+XZ DeMorgan’s Theorems: (XY)*=X*+Y* (X+Y)*=X* Y* Boolean Identities

  21. Gates (p. 63 M&K) AND ( ^ • & C: & ) OR (  + C: | ) NOT {Inverter} ( ¯ ~ * / C: ~ ) XOR (  C:  ) NAND NOR XNOR

  22. Combinatorial Design Process • Problem statement • Truth table and describing Boolean Algebra • Simplification • Implementation • Verification

  23. A S B FA Ci Co Design Examples • Full Adder (Step 1: Design a device that performs binary addition, including carry input.)

  24. Ci A B S Co 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 Full Adder Truth Table (Step 2) Sum-of-Product Boolean expressions for S and Co: S = Ci*A*B + Ci*AB* + CiA*B* + CiAB Co = Ci*AB + CiA*B + CiAB* + CiAB

  25. Graphical Simplification (Step 3) Ci A Karnaugh-Map organizes truth table entries as a gray code--only one variable changes between adjacent cells. This lets you use the identities X+X*=1 and X*1=X to simplify by inspection. For example, the AB subcube: ABCi* + ABCi = AB(Ci*+Ci) = AB(1) = AB Co 0 1 0 0 00 BCi 01 0 1 AB AB 11 1 1 ACi 10 0 1 Co = AB + ACi + BCi

  26. Other Simplification Methods • Quine-McCluskey algorithm “Espresso” http://www-cad.eecs.berkeley.edu:80/Software/software.html http://cse.bellarmine.edu/espresso (C. Staley; Find it on download.com)

  27. Espresso Demo Simplify So and Co for FA

  28. & & & + Implementation (Step 3) Translate the simplified BA to a network of gates: Ci A Ci Co B A B

  29. Verification (Step 4) Verify the proper behavior of the design. Use simulation techniques to present test vectors and compare responses to predictions. Exhaustive v. Statistical (Monte Carlo)

  30. Combinatorial Function Blocks • Decoders • Multiplexers

  31. CPU MEM I/O Digital Foundations, cont. • The basic model of a computer system:

  32. Real Gates • Logic levels are voltage levels • Finite current drive • Timing diagrams • Finite switching speed • Propagation delays • Noise

  33. Logic Levels are Voltage Levels High Vdd VOHtyp VOHmin VIHmin VILmax VOLmax Low Vss VOLtyp

  34. RS VOH/VOL + VOH’/VOL’ Finite Current Levels The electrical circuit model for a digital output (or input) includes a series impedance. This helps explain why a gate can’t source/sink unlimited amounts of current (mA v. A).

  35. Finite Switching Speeds Example: Switching speed of an inverter. A timing diagram shows behavior as it develops with time. Input (Ideal) Output tr tf

  36. Finite Propagation Delays Example: Switching speed of an inverter. Input (Ideal) Output tPDLH tPDHL

  37. Noise How well logic is able to reject noise is described by its Noise Immunity. The Noise Margin (NM) is the predicted ability of a device to handle noise on its inputs and still reliably determine the correct logic levels. NML = VOLmax - VILmax NMH = VOHmin - VIHmin

  38. Logic Levels/Voltage Levels for 74HC138 w/ VCC=5 Vdc @IOH = -20A High Vdd VOHtyp 4.999 VOHmin 4.9 V (5.0-0.1) VIHmin 3.5 V (0.7*5.0) VILmax 1.5 V (0.3*5.0) VOLmax 0.1 V (0.0+0.1) Low Vss VOLtyp @IOL = +20A 0.001

  39. Variation in VOH and VOL IOH Rs VOH or VOL Ideal VOH or VOL + IOL This is reference direction--that’s why IOH is negative. What is a typical Rs?

  40. Calculation of Rs at IOL of 4 mA IOH Rs VOH or VOL Ideal VOH or VOL + IOL This is reference direction--that’s why IOH is negative. Use 6 Vdc values: 0.26V/.004A = 65 

  41. Propagation delay (6 Vdc) • From A, B, or C to any Y output: Max 38 ns • From Enable to any Y output: Max 33 ns

  42. Questions, Comments, Discussion

More Related