Post on 30-Jan-2022
1
CS/COE0447: Computer Organization and Assembly Language
Course Introduction
Bruce Childers Fall 2012
MW 3:00-4:15, 4:30-5:45
Dept. of Computer Science University of Pittsburgh
CS/CoE0447: Computer Organization and Assembly Language University of Pittsburgh
Course information
§ Welcome to CS/CoE0447! § Course web page: http://www.cs.pitt.edu/~childers/CS0447
• Office hours & locations are available on this site for instructors & TAs § Course schedule is available from this web page
• You are responsible for checking this page regularly! • Schedule is tentative!
§ Instructor: • Dr. Bruce Childers (childers@cs.pitt.edu)
§ TAs: • John Carpenter and Guy Gadola • See web site for office hours & contact information
2
CS/CoE0447: Computer Organization and Assembly Language University of Pittsburgh
Course information
§ Book: Computer Organization and Design by Patterson and Hennessy, 4th Ed., revised printing, Morgan Kaufmann.
§ Simulators: MARS and Logisim
• See web site for download links
§ Grade determination • 12 lab. assignments, 20% of grade
" MUST TURN IN 10 LABS TO PASS • 3 programming assignments (2 MIPS, 1 logic design), 30% of grade • Exam #1, 15% of grade • Exam #2, 15% of grade • Exam #3, 20% of grade (final, cumulative)
CS/CoE0447: Computer Organization and Assembly Language University of Pittsburgh
Course policies
§ Exams • Closed book; calculators are OK • No make-up exam will be given unless prior approval is given
§ Labs (Recitations) • You must complete 10 of 12 labs • Attendance will count toward your lab grade • You will be given a lab assignment each week • Each assignment can be partially done during the lab; submission
deadline is the next lab meeting in a week • You can collaborate with a partner during the lab; however, each person
must submit the completed work individually
§ Written programming, design projects • Assignments must be done alone
3
CS/CoE0447: Computer Organization and Assembly Language University of Pittsburgh
Course policies
§ Two lectures & four recitation sessions • Questions about problems, grading, etc., should be first directed to the
TA for your registered lecture session, and then the instructor.
§ No switching recitations • You should attend only the lab for which you have registered
unless special permission is given by the instructor. • Lab space is limited, so we need to strictly follow this policy
§ Attending different lectures is allowed, except during exams • You may attend either lecture, but it is discouraged as seating is limited.
Students registered for a lecture get first priority. • Exams must be taken in your registered lecture section. If you take
the exam in the wrong lecture, it will not be graded and you will receive a 0 for the exam.
CS/CoE0447: Computer Organization and Assembly Language University of Pittsburgh
Course policies
§ Collaboration? • Permitted in labs with one other person (lab partner) • Exams are closed book • Not permitted on written homework or programming/design projects • Not permitted on exams (closed book, calculators allowed)
§ When in doubt, ASK YOUR INSTRUCTOR.
§ Result of cheating § F for the course § Reported to appropriate Dean
4
CS/CoE0447: Computer Organization and Assembly Language University of Pittsburgh
Late Assignments & Regrading
§ Late assignments • Project can be submitted late up to 5 days, 20% penalty each day • Assignments without penalty will be accepted only with approved
excuse by your instructor, with written documentation. • Events (sports, clubs, etc.) need prior approval for late submission. • Completed within one week of original date
§ You may ask to have an assignment regraded • One short typewritten paragraph on paper (no e-mail) • By next class after receiving back assignment • Entire assignment is regraded • Grade may go up or down • A few points here and there…. isn’t going to matter….
CS/CoE0447: Computer Organization and Assembly Language University of Pittsburgh
Laptops, Cell Phones, Etc.
§ “Computers” permitted only with permission • Note taking only. No web surfing, e-mail, etc.
§ Turn off cell phones prior to start of lecture • I need a new cell phone! • If your phone rings (& it’s a good phone J ), it’s mine!! J
§ No laptops, tablets, smart phones, cell phones, MP3 players, voice recorders, cameras, etc., etc. during exams.
§ A simple non-programmable calculator is permitted.
5
CS/CoE0447: Computer Organization and Assembly Language University of Pittsburgh
Important dates
§ 09/07: ADD/DROP deadline
§ 10/10: Exam #1 (TENTATIVE) § 11/19: Exam #2 (TENTATIVE) § 12/12 & 12/13: Exam #3 (final)
§ 10/08: Fall break § 10/09: Fall break make up class § 11/21: Thanksgiving holiday
§ Week of 08/27, 09/03, 11/19: No lab (1st week & holidays) § Last class is 12/05
CS/CoE0447: Computer Organization and Assembly Language University of Pittsburgh
Computer systems
§ Why do we call a computer a computer? § What makes a computer a computer?
§ Three general classes of “computer”
§ “Desktop computers” • Examples include PC, Mac, Chrome, Linux… • Notebooks, netbooks, tablets (smart phones), … • Interact with a user – applications • Handful of CPUs (4-12?), gigabytes (109 bytes) memory, few terabytes
(1012 bytes) of disk • 35 gigaflops (35×109 floating point operations/second for Intel Ivy
Bridge)
6
CS/CoE0447: Computer Organization and Assembly Language University of Pittsburgh
Desktop computers
CS/CoE0447: Computer Organization and Assembly Language University of Pittsburgh
Computer systems
§ Why do we call a computer a computer? § What makes a computer a computer?
§ “Desktop computers” § “Servers”
• Web servers, Computational servers, Supercomputers • Interact with other computers to “solve a problem” or “provide services” • Dozens to thousands of CPUs (#1, Sequoia: 1,572,864 CPUs, 16.3
petaflops (16.3×1015 FP operations/second vs. 35×109 for PC) • Gigabytes to terabytes memory (Sequoia: 1,572,864GB [1.6 PB]) • Petabytes (1015 bytes) of storage • Interconnected working together • Power hungry but efficient (#2, K computer: 12.66 Megawatt, 4x better
Mflops/watt over competition, Three Mile Island ~802 MW output, 1.5%)
7
CS/CoE0447: Computer Organization and Assembly Language University of Pittsburgh
Servers
CS/CoE0447: Computer Organization and Assembly Language University of Pittsburgh
Computer systems
§ Why do we call a computer a computer? § What makes a computer a computer?
§ “Desktop computers” § “Servers” § “Embedded computers”
• Hidden inside something not computer • Applications that run on these computers are specific • Interact with the “real world” • Multiple different processors for different functions • Kilobytes (103 bytes) to gigabytes of memory • Kilobytes to gigabytes of storage • Slow speed to fast speed • Widest range of design!
Embedded Processing Market (2010)
$14B Microcontroller $4B DSP
8
CS/CoE0447: Computer Organization and Assembly Language University of Pittsburgh
Embedded computers
Am I a computer?
Am I a computer?
Am I a computer?
CS/CoE0447: Computer Organization and Assembly Language University of Pittsburgh
Computers I Encountered Today
9
CS/CoE0447: Computer Organization and Assembly Language University of Pittsburgh
Common factors
§ There may be different forms of “computation” • Example: digital TV tuner that converts a compressed digital motion picture
format into something that we can view
§ Programmable computing machine or a processor • Executes a given list of instructions • Includes input, output, storage/memory, computation • We can change its functionality based on what programs are used!
§ What about our examples? • Desktop computers • Servers • Embedded computers
§ What are the common factors that make a computer a computer?
CS/CoE0447: Computer Organization and Assembly Language University of Pittsburgh
Five classic components
We study this part in this course! Study this part in CS1541!
I am like a control tower
I am like a conveyor belt + service stations
I am like a pack of file folders
I exchange information with outside world
10
CS/CoE0447: Computer Organization and Assembly Language University of Pittsburgh
In CS/CoE0447
§ We study • Computer architecture
" MIPS as the example architecture • Basic concepts of system software such as assembler, linker, compiler • Basic computer arithmetic
" Binary numbers " Operations (add, sub, …)
• Basic logic design • Basic processor performance analysis • Processor organization
" Datapath " Control
§ We do • Assembly language programming (using MARS simulator) • MARS (written by a Pitt graduate!) http://www.cs.missouristate.edu/MARS/ • Logisim logic design (implement our own processor!)
CS/CoE0447: Computer Organization and Assembly Language University of Pittsburgh
Computer architecture?
§ It’s not about doing “architecture” with a computer
§ It’s about designing a computer system (esp. hardware)
11
CS/CoE0447: Computer Organization and Assembly Language University of Pittsburgh
Computer architecture?
§ We are interested in principles of designing computer hardware in this course and programming it at the lowest level
§ Computer systems • Underlying hardware • Software running on it
§ Computer architecture • The hardware/software interface seen by the user (as a programmer) • Instruction set architecture (ISA)
§ Processor microarchitecture • Implementation of a given architecture • May or may not be visible to the user
CS/CoE0447: Computer Organization and Assembly Language University of Pittsburgh
Layers or views
§ Our view of a computer system in this course is centered around the interface between the lowest level in software and the hardware
§ We will talk a lot about assembly or machine instructions
§ We will also learn about logic design and how to implement our own processor!