Notes
Slide Show
Outline
1
581305-6
Tietokoneen toiminta
(Computer Organization I)
  • Teemu Kerola
  • Helsingin yliopisto
  • Tietojenkäsittelytieteen laitos



  • Spring 2007
2
Computer Organization I
  • Course area and goals
  • Course learning methods
    • Study circle course
    • Web course
  • Ttk-91 example computer
    • Titokone simulator
    • TitoTrainer environment
  • Computer Organization I vs. II
3
Learning Goals
  • To understand basic features of a computer system, from the point of view of the executing program
  • To understand, how a computer systems executes the program given to it
  • To understand the storage methods and locations of the program code and data
  • To understand the execution time program presentation
  • To understand the role and basic functionalities of the operating system
  • The goal is learning, not credit units, or passing
    • start preparations for the course exam now!
4
What good is it for?
  • Program execution speed is based on machine instructions executed by the processor  (CPU), and not in the program presentation in high level language (C, Pascal, Java)
  • Understanding higher level topics is easier, once one first understands what happens at lower levels of the system
5
Topic Dependencies
6
Dependencies Between Courses
7
CO-I (4 op), Credit options
  • Web course based on study circles
    • starting lecture, summary lecture
    • Web lectures, text books, practice problems
    • Titokone, Titotrainer
    • In study circles
      • homeworks, discussion problems, projects
      • Group meetings (with instructors and others),
      • Web discussions, chats (peer students, instructors)
    • Course exam
  • Final exam
    • Text books [Stal06 ja Tane06]
    • Programming with ttk-91 symbolic assembly language
      • Titokone, TitoTrainer
8
Study circles
  • Group work, team work
    • It is better to study in a team than alone
    • Peer student support
    • Study circles formed in the first group meeting
  • Student centred learning
    • The student has responsibility on learning
    • Instructor facilitate learning
    • Instructors give good environment for learning
  • Four types of team work
    • Solving homework problems independently and then discussing them in study circles
    • Discussions problems in web discussion groups
    • Projects
    • Any other co-operative work for this course
9
Creation of Study Circles
  • Possibly the largest problem in study circle courses
    • ”Jack promised, but did not do and he was not accessible. And then Mary did most of it. This is not right! Boohoo!”
  • Study circles are formed in the 1st group meeting
    • Goals should be similar
      • easy in real life: ”you will finish it or …”
    • Think about your goals before the 1st group meeting
      • do i want to make the extra project?
      • do i want to learn a lot, or just pass the course?
    • Discuss and agree on common goals before agreeing on forming a study circle
      • finally, sign the ”Study Circle Contract”
  • Keep up with your agreement
    • inform the study circle immediately, if you will not continue
    • get quickly rid of students who do not work as agreed on
10
Web course
  • Significant part of the course is in web
    • Web lectures, practice problems, TitoTrainer problems
    • Discussion rooms, chats (peer students, instructors)
    • Information, slide copies, problems, results
  • Web course ≠ distance learning
    • Starting lecture and final lecture in lecture hall
    • Weekly group meetings at the CS dept
    • Other study circle meetings at the CS dept
    • Some learning modules can be done remotely via web
11
Web lectures
  • Self study material in web, just for learning
    • Like a lecture, but own pace
    • Like a book, but with sound and animations
    • No bookkeeping on material use
    • No direct credit for course grade
  • Material production
    • Teemu Kerola 2004-2005
    • Macromedia Authorware software
  • Use
    • Browser plug-in in Windows
      • CS dept, home
    • Windows-server in Linux environments at CS dept
12
Practice Problems
  • Practice problems
    • Self evaluation
      • Do it only after youthink you know the material
      • Do I understand it now?
      • Check only some part of the material, no quarantees!
    • Use of it does not directly affect your grade
      • No bookkeeping on material use
      • No credit toward course grade
13
Homework problems
  • Just like normal homework problems
  • Learning happens when you solve the problems and discuss them
    • Study topic area first before trying out the problems
    • Work on th eproblems independently before discussing them
    • Reading a complete solution or giving one to peer student is wasting a good problem!
  • Homework problems are discussed at
    • Study circle own meetings before group meetings
    • Group meetings with the instructor
      • As much as needed
      • Study circles present the solutions to other study circles
  • Affect your grade
    • You get homework points (hwp) for completed problems
    • Only for those present in group meetings
14
Ttk-91 Example Computer
  • Auvo Häkkinen, 1991
    • Tietokoneen toiminta –kurssi 1991
  • Simple computer architecture
    • Level just perfect for this course
  • Simple (symbolic) assembly language
    • Easy to learn, not too many machine instructions
    • Good for the course goals
  • Goals
    • Understand, what type of code the processor uses
    • Understand, how the system executes programs
15
Titokone
  • Java program, that simulates the ttk-91 computer and its operating system
    • Works the same way as a real hardware implementation of a ttk-91 architecture and its operating system
    • Original design and implementation
      • Software development project Koski, Spring 2004
  • Contains
    • ttk-91 symbolic assembly language assembler
    • ttk-91 emulator, that can execute assembled ttk-91 programs
    • Software debugger buil-in
    • Animator that visualizes ttk-91 instruction execution
    • Graphical user interface
16
TitoTrainer
  • Software built  “on top” of Titokone
  • Implement ttk-91 programs or parts of them
    • Same programs run also directly in Titokone
  • Program correctness is checked automatically
  • Affects your grade
    • You get points toward your grade for completed problems
17
Discussion problems
  • Like normal homework problems, but they are discussed in the web discussion room internal to this study circle
  • Goal is learning, achieved by discussion
    • Learning occurs when considering and writing down own text, and when reading other student’s text
  • Implemented in CSMoodlen study circle discussion rooms
    • Discussion have a deadline
    • Discussion are stored and they stay visible during the course
  • Affect the grade
    • Instructor will evaluate the discussion and give points for it
    • The discussion is evaluated individually by student basis, with homework points
18
Projects
  • Projects requiring more team work
    • Come up with a new practice problem
    • Write software, or write an article
  • Goal is deeper understanding on some topics
    • Other course components may be needed as background knowledge
      • Web lectures, text books, homeworks, discussion problems
  • Affect your grade
    • Instructor evaluates the report
    • You get project points (pp) in three parts
      • Basic points (3 pp) for just completing the project (for 8 pp project)
      • Grade (1-5 pp) depending on the quality of work
      • Participation points (max ±2 pp) based on you participation
        • Study circle determines this part!

19
Extra project
  • Fullfils learning goals for exam feedback
    • Exam feedback events have had small turnout,
      and exams have not been used as learning methods
  • Evaluate and reflect (what did you do, observe, and feel)
    • Course exam
    • The whole course
  • Affects your grade
    • Same way as other projects
    • Points (pp) are completely extra, you can get excellent grade also without this project
20
Completing a web course based on study circles
  • Study weekly topics
    • Self study with web lectures
      • Learn the basics well from lectures
    • Read the text book the same topics, with different approach
  • Check your learning with self evaluation
    • Do practice problems, homeworks, TitoTrainer problems
  • Participate in study circle
    • Discuss homeworks
    • Discussion problems in web
    • Weekly group meeting
    • Continue projects
    • Study circle meet face-to-face or in the web
  • Take course exam
    • Do extra project with your study circle
21
Evaluation
  • Self evaluation
    • Practice problem after each topic
      • Do not affect your grade
    • Homeworks, discussion and TitoTrainer problems every week
      • Do I understand or not?
      • What is there still to learn and how do I do it??
      • Affect your grade
  • Course exam
    • Give a fixed time goal for learning
    • Covers all topics given in course description
      • Topics learned in independent study as well as in study circle work using various learning methods
    • Evaluates learning
      • Most of the grade based on this
      • Must reach certain level (50%) to pass the course
22
Grading
  • Good work is awarded
  • Diligence and knowledge is awarded
  • Course component maximum grade points
23
Learning material
  • Lectures 0 ja 12 (lecture notes pdf’s in web)
  • Web lectures 1-11 in Finnish and 1-3 in English (in web)
  • Text books
    • Stallings: Computer Organization and Architecture, 7th Ed., 2006
    • Tanenbaum: Structured Computer Organization, 5th Ed, 2006
  • Practice problems (in web)
  • Titokone simulator & TitoTrainer (in web)
  • Homeworks (in web)
  • Discussion problems (in web)
  • Projects (in web)
  • Schedule page and study circle instructions
  • CSMoodle
    • Discussion rooms, chat rooms, project turn-ins
  • Course exam (results in web)
24
WWW Information
  • Course home page     http://www.cs.helsinki.fi/Teemu.Kerola/tito/
  • Course schedule    .../tito/k2007/aikatauluE.html
    • Everything is found linked to here
  • CSMoodle                                   http://moodle.cs.helsinki.fi/
    • Everything is found also linked to here
    • Everyone needs CSMoodle id’s
  • Part of material is in CS departmental Intranet
    • Web lectures (Authorware)
    • Practice problems
    • Course statistics (hwp, pp, exam points)
    • Everyone need CS dept id’s
      • Those minoring in CS must first have the UNIX-id (so called cc-id) from the University IT department, obtained from your own department
25
Course contents
  • Lecture 0:   Course contents, structure, and organization
  • Weblecture 1: System structure
  • Weblecture 2: Ttk-91 and the simulator for it
  • Weblecture 3: Assembly language programming
  • Weblecture 4: Assembly language subroutine implementation
  • Weblecture 5: CPU and bus
  • Weblecture 6: Data presentation
  • Weblecture 7: Error recovery and internal memory
  • Weblecture 8: Program implementation in the system
  • Weblecture 9: External memory, I/O
  • Weblecture 10: Compilation, linking and loading
  • Weblecture 11: Interpretation and emulation
  • Lecture 12: Summary
26
 
27
Processor implementation hierarchy (2)
  • Machine lang architecture
    • ADD  R1, R2
  • Modules
    • adder, register, ALU
  • Logical gates
    • and, or
  • Circuit design
    • Power consumption,
      timing, wiring
  • Implementation device
    • tubes, transistors,
      mikrocircuits
28
Program execution level
29
Motto
  • “It is not good exercise, if you do not sweat”
  • This is not a marathon!
  • Altogether some 12 h / week (?) +
    exam preparation + exam
    • Total some  80 h / 2 sw course (2 work weeks)
    • Total some 107 t / 4 cu course