Sunteți pe pagina 1din 4

COURSE OUTLINE CENG222 COMPUTER ORGANIZATION Spring 2010

You can find useful information at http://academic.cankaya.edu.tr/~fst/ Reference manual for lab experiments: Instructor: Asst. Prof. Dr. Yuriy ALYEKSYEYENKOV Room A-329 Phone: 284 45 00 ext. 329 e-mail: yuriy@cankaya.edu.tr You can find useful information at http://academic.cankaya.edu.tr/~yuriy/ Research Assistant: Efe ifti Room A-316a Phone: 284 45 00 ext. 349 e-mail: efeciftci@cankaya.edu.tr Description: Computer organization (3 credits). Organization of a simple stored-program computer: CPU, busses and memory. Instruction sets, machine code, and assembly language. Conventions for assembly language generated by compilers. Floating-point number representation. Hardware organization of simple processors. Address translation and virtual memory. Very introductory examples of input/output devices, interrupt handling and multi-tasking systems. Course prerequisites: Logic Design CENG 122. Goals of the Course: Basic understanding of computer organization: roles of processors, main memory, and input/output devices. Understanding the concept of programs as sequences of machine instructions. Understanding the relationship between assembly language and machine language; development of skill in assembly language programming; understanding the relationship between high-level compiled languages and assembly language. Understanding arithmetic and logical operations with integer operands. Understanding floating-point number systems and operations. Understanding simple data path and control designs for processors. Understanding memory organization, including cache structures and virtual memory schemes. Course include basic machine architecture and design, digital logic circuits, digital components, central processing unit, machine representation of instructions and data, addressing techniques, memory organization, and execution of instructions at machine level. Course Outcomes: The specific course outcomes supporting the program outcomes are: Students should be able to solve basic binary math operations using the computer. Students should be able to demonstrate programming proficiency using the various addressing modes and data transfer instructions of the target computer.

Students should be able to program using the capabilities of the stack, the program counter, and the status register and show how these are used to execute a machine code program. Students should be able to apply knowledge of the processors internal registers and operations by use of a PC based microprocessor simulator. Students should be able to write assemble assembly language programs, assemble into machine a cross assembler utility and download and run their program on the training boards. Students should be able to design electrical circuitry to the processor I/O ports in order to interface the processor to external devices. Students should be able to write assembly language programs and download the machine code that will provide solutions real-world control problems. Suggested Texts: The following are suitable texts and/or references for this course: Computer Organization, 5-th edition, Carl Hamacher, Zvonko Vranesic, Safwat Zaki, McGraw Hill, 2002. Structured Computer Organization, 5-th edition, Andrew S. Tanenbaum, Prentice Hall, 2006. Computer Architecture and Organization, An Integrated Approach, Milles J. Murdocca, Vincent P. Heuring, John Wiley & Sons Inc., 2007. Computer Organization & Architecture, 7-th edition, William Stallings, Prentice Hall, 2006. Computer Systems, Architecture, Networks and Communications, Sebastian Coope, John Cowley and Neil Willis, McGraw Hills, 2002. Prerequisites by Topic: Students are expected to have the following topical knowledge upon entering this course: Satisfactory completion of basic digital electronics courses. Ability to analyze digital circuits on the base of logical elements. Ability to design simple logic circuits. Ability to use a computer to prepare written reports and to perform basic data reduction, graphing, and engineering data presentation. Course Topics: Coverage times shown in parentheses are suggestions only. Note - One hour as indicated here represents one 50-minute class. Week 1. The history of computers. Computer generations. Computer families and developments. (3 hours). Week 2. Numbers, arithmetic operations and characters. Addition and subtraction of integer signed numbers. Overflow in integer arithmetic. (3 hours). Week 3. Memory locations and addresses. Byte accessibility and alignment. (3 hours). Week 4. Instructions and instruction sequencing. Instructions execution. Input-output organization. Introduction into interfaces. (3 hours). Week 5. Interrupts. Interrupt hardware. Enabling and disabling interrupts. Priorities. Stack and Queues. Handling multiple device. Vectored interrupts. Interrupt nesting. Simultaneous requests. (3 hours). Week 6. Direct memory access. Controllers. Bus arbitration. Centralized and distributed arbitration. Synchronous and asynchronous buses. (3 hours). Week 7. Interface circuits. Parallel interface. Serial port. Standard input/output interfaces. (3 hours). Week 8. The memory system. Static and dynamic random access memories (RAM, DRAM). Synchronous and asynchronous DRAMs. Latency and bandwidth. (3 hours).

Week 9. Structure of the larger memories. Read only memories (ROM). Flash Memory. Cache Memories. Secondary memories (HDD, CD, DVD, Blu-Ray). (3 hours). Week 10. Arithmetic. Addition/subtraction logic. Designing of adders. . Carry look ahead addition. Multiplication of integer positive numbers. Integer division. Binary fractions. Floating-point format. (3 hours). Week 11. Central processing unit (CPU). Princeton and Harvard architecture. Analysis of CPU elements and their interaction. (3 hours). Week 12. Hardwired control. Microprogrammed control. (3 hours). Week 13. Pipelining. Pipeline performance. Data, control and structural hazards. (3 hours). Week 14. Superscalar operations. Large computer Systems. Multiprocessor systems. (3 hours). Computer use: Students are expected to use the computer to write and assemble assembly language programs and also run them by downloading them to the target microprocessor. Students will also use a microprocessor software simulator that runs on the personal computer. Students will also prepare lab reports and conduct out-of-class assignments using the computer. Laboratory Exercises: Laboratory investigations of the following topics would be appropriate for this course: Memory Chips & Systems Connecting of input/output devices. Introduction to Using the Processor Board Programming Using Various Addressing Modes Simple Input/Output Interfacing Loops and Decision Making Interrupts and Direct Memory access. Subroutines & Structured Programming Arithmetic and Logical Instruction Programming. Laboratory Experiments: Experiment 1. Analysis of internal microprocessors registers and addressing modes (2 hours). Experiment 2. Advanced usage of MOV in MASM (1 hour). Experiment 3. Analyses of flag register (2 hour). Experiment 4. Designing of simple program using NEG and NOT instructions (2 hours). Experiment 5. Designing of simple program using access to register and stack (2 hours). Experiment 6. Designing of simple program using branching instructions (2 hours). Experiment 7. Designing of simple subroutines (2 hours). Experiment 8. Using of interrupts (1 hour). Texts to laboratory experiments: 1. Assembly Language for Intel-based Computers, 5-th edition, Kip R. Irvine, Pearson Education, 2007. 2. Assembly Language. Programming for the IBM PC Family, 3-rd edition, William B. Jones, Scott/Jones Inc. Publishers, 2001. Course Grading: Quizzes Attendance Midterm Exam Laboratory 15% 5% 20% 25%

Final Exam

35%

Library Usage: Students should be encouraged to use library technical resources and/or internet sources in the preparation of laboratory and oral reports. Also, students should be encouraged to conduct research in alternate microprocessors not used in the course to enhance their understanding and sharpen their research skills. The results of this research can be presented either orally or by written report. Course Assessment: The following may be useful methods for assessing the success of this course in achieving the intended outcomes listed below: Outcome 1: Traditional exams, quizzes, and out-of-class problem assignments covering lecture materials generally can be used to assess this outcome. Outcome 2: Computer files of assembly language and compiled machine code programs included in formal laboratory reports and/or comprehensive research-based projects. These reports, both written and oral utilize available computer based applications are effective methods of demonstrating achievement of this outcome. Outcome 3: Team-based assignments (viz. in lab exercises) in which success (i.e., team-based rather than individually-based grades) requires are effective student interaction and effective workload sharing can be useful for assessing success with respect to this outcome.

Instructor, Asst. Prof., Dr. Yuriy ALYEKSYEYENKOV

Research Assistant, Faris Serdar TAEL

S-ar putea să vă placă și