csse232 computer architecture
play

CSSE232 Computer Architecture Introduc5on Reading - PowerPoint PPT Presentation

CSSE232 Computer Architecture Introduc5on Reading Be:er for you if done before class For today: Ch 1 (esp 1.1-3, 10) App. C


  1. CSSE232 ¡ Computer ¡Architecture ¡ Introduc5on ¡ ¡

  2. Reading ¡ • Be:er ¡for ¡you ¡if ¡done ¡before ¡class ¡ • For ¡today: ¡ – Ch ¡1 ¡(esp ¡1.1-­‑3, ¡10) ¡ – App. ¡C ¡ – Sec5ons ¡2.4, ¡3.1-­‑2 ¡

  3. Outline ¡ • Introduc5ons ¡ • Class ¡details ¡ – Syllabus, ¡website, ¡schedule ¡ • History ¡of ¡compu5ng ¡ • Moore’s ¡Law ¡ • Class ¡outline ¡ – Parts ¡of ¡a ¡computer ¡ – Program ¡processing ¡ – Introduc5on ¡to ¡MIPS ¡ – Project ¡

  4. Introduc5on ¡ • Introduc5ons ¡ – Name/nickname ¡ – Loca5on ¡on ¡campus ¡ – One ¡thing ¡you ¡enjoy ¡or ¡are ¡good ¡at ¡ • Student ¡assistants ¡ • Instructor ¡

  5. Class ¡details ¡ • Syllabus ¡on ¡course ¡webpage ¡ – h:p://www.rose-­‑hulman.edu/Class/csse/csse232/ ¡ • Submit ¡homework ¡hardcopies ¡in ¡class ¡ • Submit ¡labs ¡through ¡SVN ¡ – You ¡will ¡be ¡given ¡a ¡repository ¡ – csse232-­‑1314b-­‑ yourusername ¡ • Project ¡submission ¡will ¡be ¡discussed ¡later ¡

  6. Quick ¡poll ¡ • How ¡many ¡SE? ¡CS? ¡CPE? ¡ • Anyone ¡else? ¡

  7. Five ¡classic ¡components ¡of ¡a ¡computer ¡ • Same ¡components ¡for ¡all ¡kinds ¡of ¡computers ¡ ( Desktop, ¡server, ¡embedded) ¡

  8. Five ¡classic ¡components ¡of ¡a ¡computer ¡ • Same ¡components ¡for ¡all ¡kinds ¡of ¡computers ¡ ( Desktop, ¡server, ¡embedded) ¡ – Input ¡ – Output ¡ – Memory ¡-­‑ ¡stored ¡program ¡model ¡(von ¡Neumann) ¡ – Datapath ¡– ¡performs ¡arithme5c ¡opera5ons ¡ – Control ¡– ¡tells ¡the ¡datapath, ¡memory, ¡and ¡I/O ¡ devices ¡what ¡to ¡do ¡

  9. • Difference ¡between ¡hardware/so]ware? ¡ – Both ¡implement ¡algorithms ¡ • What ¡is ¡a ¡computer? ¡ – Input, ¡output, ¡memory, ¡processor ¡ – Processor ¡: ¡datapath, ¡control ¡ • How ¡old ¡is ¡compu5ng? ¡ – 1943, ¡enigma, ¡Alan ¡Turing, ¡Blechly ¡Park, ¡Colossus ¡ – 1830, ¡Charles ¡Babbage, ¡Analy5cal ¡engine ¡ – 1803, ¡Jacquard ¡loom ¡ – 1951, ¡UNIVAC, ¡1 st ¡commercial ¡computer ¡

  10. History ¡of ¡Computers ¡ • Mechanical ¡/ ¡Electromechanical ¡ • Vacuum ¡tube ¡ • Transistor ¡ • Integrated ¡circuit ¡ • Very ¡Large ¡Scale ¡Integra5on ¡(VLSI) ¡/ ¡ Microprocessor ¡ • Ultra ¡Large ¡Scale ¡Integra5on ¡(ULSI) ¡/ ¡ Microprocessor ¡

  11. Mechanical/Electromechanical ¡ Jacquard’s Loom 1805 Babbage’s engine 1833,1837,1853 Hollerith’s Census Tabulator 1890 http://www.history.rochester.edu/steam/hollerith/loom.htm http://www.computersciencelab.com/ComputerHistory/History.htm

  12. Vacuum ¡Tubes ¡ ENIAC COLUSSUS 1946 1943 http://www.computersciencelab.com/ComputerHistory/History.htm

  13. Transistors ¡ CDC 1604 1960 TX-0 1955 Replica of first working transistor http://tixo.org/image/tx-0-console?size=preview http://www.billdolson.com/history/ui/fluids/cdc1604.htm

  14. Integrated ¡Circuits ¡ IBM 360 1965 Illiac IV 1976 http://en.wikipedia.org

  15. VLSI ¡and ¡ULSI ¡ • Thousands ¡of ¡transistors ¡on ¡chip ¡ • En5re ¡system ¡on ¡chip ¡ • Parallel ¡processing ¡

  16. 1982 vs 2010 28.75 lbs/ 0.3 lbs = ~100 times heavier 4MHz / 1 GHz = 250 times slower $2500 / $500 = 5 times more expensive (52cm x 23cm x 33cm)/(11.5cm x 5.86cm x 0.93cm) = 629 times as large http://en.wikipedia.org/wiki/File:Osborne_Executive_with_iPhone_in_2009.jpg

  17. Moore’s ¡Original ¡Predic5on ¡ • Moore ¡predicted ¡that ¡ transistor ¡counts ¡would ¡ double ¡every ¡2 ¡years ¡ • Not ¡really ¡a ¡law, ¡just ¡an ¡ observa5on ¡

  18. http://www.isgtw.org/images/mooreslaw.jpg

  19. Computers ¡for ¡us ¡ • Datapath ¡+ ¡control ¡ • I/O ¡ • Memory ¡ • Instruc5ons ¡to ¡make ¡drive ¡the ¡whole ¡engine ¡ – Instruc5on ¡set ¡

  20. Datapath ¡

  21. Levels ¡of ¡Program ¡Code ¡ • High-­‑level ¡language ¡ – Level ¡of ¡abstrac5on ¡closer ¡to ¡problem ¡domain ¡ – Provides ¡for ¡produc5vity ¡and ¡portability ¡ ¡ • Assembly ¡language ¡ – Textual ¡representa5on ¡of ¡instruc5ons ¡ • Hardware ¡representa5on ¡ – Binary ¡digits ¡(bits) ¡ – Encoded ¡instruc5ons ¡and ¡data ¡

  22. What ¡is ¡an ¡Instruc5on ¡Set? ¡ ¡ To ¡command ¡a ¡computer, ¡you ¡must ¡speak ¡its ¡ language. ¡ ¡ The ¡words ¡of ¡a ¡computer ¡are ¡called ¡instruc5ons, ¡ and ¡its ¡vocabulary ¡is ¡an ¡instruc5on ¡set. ¡ ¡ ¡

  23. The ¡MIPS ¡Instruc5on ¡Set ¡ • Used ¡as ¡the ¡example ¡throughout ¡the ¡book ¡ • Stanford ¡MIPS ¡commercialized ¡by ¡MIPS ¡Technologies ¡ (www.mips.com) ¡ • Large ¡share ¡of ¡embedded ¡core ¡market ¡ – Applica5ons ¡in ¡consumer ¡electronics, ¡network/storage ¡ equipment, ¡cameras, ¡printers, ¡… ¡ • Typical ¡of ¡many ¡modern ¡ISAs ¡ – See ¡MIPS ¡Reference ¡Data ¡tear-­‑out ¡card, ¡and ¡Appendixes ¡B ¡ and ¡E ¡

  24. Extra Information Android ¡and ¡MIPS ¡ http://www.androidauthority.com/android-jelly-bean-mips-source-code-107257/

  25. MIPS ¡Design ¡Principles ¡ 1. Simplicity ¡favors ¡regularity ¡ – All ¡instruc5ons ¡single ¡size ¡ – Always ¡requires ¡three ¡register ¡operands ¡in ¡arithme5c ¡instruc5ons ¡ – Register ¡fields ¡always ¡in ¡the ¡same ¡place ¡ 2. Smaller ¡is ¡faster ¡ – Only ¡32 ¡registers ¡ 3. Make ¡the ¡common ¡case ¡fast ¡ – PC-­‑rela5ve ¡addressing ¡for ¡condi5onal ¡branches ¡ – Immediate ¡addressing ¡for ¡larger ¡constant ¡operands ¡ 4. Good ¡design ¡demands ¡good ¡compromise ¡ – Compromise ¡between ¡providing ¡for ¡larger ¡addresses ¡and ¡constants ¡in ¡ instruc5ons ¡and ¡keeping ¡all ¡instruc5ons ¡the ¡same ¡length ¡ ¡

  26. Course ¡outline ¡ • We ¡will ¡learn ¡ – CPU ¡performance ¡metrics ¡ – MIPS ¡instruc5on ¡set ¡architecture ¡ – Assembly ¡language ¡programs ¡ – CPU ¡datapath ¡design ¡ • Types ¡ • Components ¡ – Project ¡– ¡build ¡CPU ¡

  27. Project ¡ • Teamwork ¡(3 ¡or ¡4) ¡ • Design ¡a ¡“miniscule ¡instruc5on ¡set” ¡general ¡ purpose ¡processor ¡that ¡can ¡execute ¡programs ¡ stored ¡in ¡an ¡external ¡memory ¡ • Model ¡your ¡design, ¡test ¡it, ¡debug ¡it, ¡assess ¡its ¡ performance, ¡and ¡possibly ¡implement ¡it ¡on ¡a ¡ Field ¡Programmable ¡Gate ¡Array ¡(FPGA) ¡microchip ¡ • Maintain ¡current ¡documenta5on ¡ • Presenta5ons ¡

  28. Project ¡(cont.) ¡ • Your ¡processor ¡must ¡be ¡capable ¡of ¡execu5ng ¡programs ¡ stored ¡in ¡an ¡external ¡memory ¡with ¡which ¡it ¡ communicates ¡using: ¡ – A ¡16-­‑bit ¡address ¡bus, ¡and ¡ – A ¡16-­‑bit ¡data ¡bus. ¡ • Further, ¡your ¡processor ¡should ¡support: ¡ – Interrupts ¡from ¡two ¡input ¡devices, ¡ – Reading ¡from ¡a ¡4-­‑bit ¡input ¡port, ¡ – Reading ¡from ¡and ¡wri5ng ¡to ¡a ¡special ¡16-­‑bit ¡display ¡ register, ¡and ¡ – Displaying ¡the ¡contents ¡of ¡the ¡display ¡register ¡on ¡the ¡LCD ¡ display ¡via ¡a ¡16-­‑bit ¡output ¡port. ¡

  29. Project ¡(cont.) ¡ • Your ¡instruc5on ¡set: ¡ – Must ¡be ¡capable ¡of ¡performing ¡general ¡ computa5ons, ¡and ¡ – Must ¡support ¡parameterized ¡and ¡nested ¡ procedures. ¡

  30. Lab0 ¡-­‑ ¡ioBlockPart ¡ • Install ¡Xilinx ¡Tools ¡(ISE ¡13.4) ¡ • Run ¡ISE ¡13.4 ¡ • Test ¡your ¡installa5on ¡ – Boards ¡are ¡in ¡F217 ¡ • Modify ¡the ¡project ¡ • Due ¡date ¡on ¡website ¡ ¡

  31. HW0 ¡ • Review ¡of ¡CSSE132 ¡ • Material ¡we ¡will ¡cover ¡in ¡the ¡upcoming ¡days ¡ • Due ¡date ¡on ¡website ¡

  32. Recap ¡ • Introduc5ons ¡ • Class ¡details ¡ – Syllabus, ¡website, ¡schedule ¡ • History ¡of ¡compu5ng ¡ • Moore’s ¡Law ¡ • Class ¡outline ¡ – Parts ¡of ¡a ¡computer ¡ – Program ¡processing ¡ – Introduc5on ¡to ¡MIPS ¡ – Project ¡

Recommend


More recommend