CSSE232 ¡ Computer ¡Architecture ¡ Introduc5on ¡ ¡
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 ¡
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 ¡
Introduc5on ¡ • Introduc5ons ¡ – Name/nickname ¡ – Loca5on ¡on ¡campus ¡ – One ¡thing ¡you ¡enjoy ¡or ¡are ¡good ¡at ¡ • Student ¡assistants ¡ • Instructor ¡
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 ¡
Quick ¡poll ¡ • How ¡many ¡SE? ¡CS? ¡CPE? ¡ • Anyone ¡else? ¡
Five ¡classic ¡components ¡of ¡a ¡computer ¡ • Same ¡components ¡for ¡all ¡kinds ¡of ¡computers ¡ ( Desktop, ¡server, ¡embedded) ¡
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 ¡
• 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 ¡
History ¡of ¡Computers ¡ • Mechanical ¡/ ¡Electromechanical ¡ • Vacuum ¡tube ¡ • Transistor ¡ • Integrated ¡circuit ¡ • Very ¡Large ¡Scale ¡Integra5on ¡(VLSI) ¡/ ¡ Microprocessor ¡ • Ultra ¡Large ¡Scale ¡Integra5on ¡(ULSI) ¡/ ¡ Microprocessor ¡
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
Vacuum ¡Tubes ¡ ENIAC COLUSSUS 1946 1943 http://www.computersciencelab.com/ComputerHistory/History.htm
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
Integrated ¡Circuits ¡ IBM 360 1965 Illiac IV 1976 http://en.wikipedia.org
VLSI ¡and ¡ULSI ¡ • Thousands ¡of ¡transistors ¡on ¡chip ¡ • En5re ¡system ¡on ¡chip ¡ • Parallel ¡processing ¡
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
Moore’s ¡Original ¡Predic5on ¡ • Moore ¡predicted ¡that ¡ transistor ¡counts ¡would ¡ double ¡every ¡2 ¡years ¡ • Not ¡really ¡a ¡law, ¡just ¡an ¡ observa5on ¡
http://www.isgtw.org/images/mooreslaw.jpg
Computers ¡for ¡us ¡ • Datapath ¡+ ¡control ¡ • I/O ¡ • Memory ¡ • Instruc5ons ¡to ¡make ¡drive ¡the ¡whole ¡engine ¡ – Instruc5on ¡set ¡
Datapath ¡
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 ¡
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. ¡ ¡ ¡
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 ¡
Extra Information Android ¡and ¡MIPS ¡ http://www.androidauthority.com/android-jelly-bean-mips-source-code-107257/
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 ¡ ¡
Course ¡outline ¡ • We ¡will ¡learn ¡ – CPU ¡performance ¡metrics ¡ – MIPS ¡instruc5on ¡set ¡architecture ¡ – Assembly ¡language ¡programs ¡ – CPU ¡datapath ¡design ¡ • Types ¡ • Components ¡ – Project ¡– ¡build ¡CPU ¡
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 ¡
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. ¡
Project ¡(cont.) ¡ • Your ¡instruc5on ¡set: ¡ – Must ¡be ¡capable ¡of ¡performing ¡general ¡ computa5ons, ¡and ¡ – Must ¡support ¡parameterized ¡and ¡nested ¡ procedures. ¡
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 ¡ ¡
HW0 ¡ • Review ¡of ¡CSSE132 ¡ • Material ¡we ¡will ¡cover ¡in ¡the ¡upcoming ¡days ¡ • Due ¡date ¡on ¡website ¡
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