COURSE INFORMATION
Course Title: COMPUTER ORGANIZATION
Code Course Type Regular Semester Theory Practice Lab Credits ECTS
CEN 219 C 3 2 2 0 3 6
Academic staff member responsible for the design of the course syllabus (name, surname, academic title/scientific degree, email address and signature) Dr. Florenc Skuka fskuka@epoka.edu.al
Main Course Lecturer (name, surname, academic title/scientific degree, email address and signature) and Office Hours: Dr. Florenc Skuka fskuka@epoka.edu.al
Second Course Lecturer(s) (name, surname, academic title/scientific degree, email address and signature) and Office Hours: M.Sc. Erdjana Dida edida@epoka.edu.al
Language: English
Compulsory/Elective: Compulsory
Study program: (the study for which this course is offered) Bachelor in Software Engineering (3 years)
Classroom and Meeting Time:
Teaching Assistant(s) and Office Hours: NA
Code of Ethics: Code of Ethics of EPOKA University
Regulation of EPOKA University "On Student Discipline"
Attendance Requirement:
Course Description: Understanding of the inner-workings of modern computer systems and tradeoffs present at the hardware-software interface: Instruction set design and addressing modes, register transfer, internal CPU bus structure, ALU (microprogramming and hardwired control), computer arithmetic, memory system, input-output system and survey of real computers and microprocessors.
Course Objectives: The main objective of the course is to introduce students to the computer organisation from hardware and programming . This course teaches students fundamental knowledge in computer architecture and microarchitecture. The course covers the basic organizations of computer systems including instruction-set architecture, execution pipeline, memory hierarchy, and I/O subsystem. It also addresses advanced processor microarchitecture issues such as dynamic instruction scheduling, branch prediction, lock-up free caches, instruction-level parallelism, multiple instruction fetch/issuing, speculative execution, etc. to improve computer processor performance. Shared-memory multiprocessor systems with coherent caches to reduce memory access latency are also covered. Finally, it outlines the verification issues of today's microprocessors.
BASIC CONCEPTS OF THE COURSE
1 Data Representation
2 Digital Logic
3 Memory Organization
4 ISA
5 Cache and Virtual Memory
6 Papline
COURSE OUTLINE
Week Topics
1 Introduction: Digital computer generation, computer types and classifications, functional units and their interconnections, buses, bus architecture, types of buses and bus arbitration. Register, bus and memory transfer.
2 Central Processing Unit: Addition and subtraction of signed numbers, look ahead carry adders. Multiplication: Signed operand multiplication, Booths algorithm and array multiplier. Division and logic operations. Floating point arithmetic operation Processor organization, general register organization, stack organization.
3 Combinational Logic Design in detail and Principles of Sequential Logic Design
4 Addressing modes. Assembler language.
5 Control Unit: Instruction types, formats, instruction cycles and subcycles ( fetch and execute etc) , micro-operations, execution of a complete instruction.
6 Hardware and microprogrammed control: microprogramme sequencing, wide branch addressing, microinstruction with next address field, pre-fetching microinstructions
7 Memory: Basic concept and hierarchy, semiconductor RAM memories, 2D & 2D memory organization. ROM memories.
8 Midterm Exam.
9 Cache memories: concept and design issues, performance, address mapping and replacement.
10 Virtual memory: concept implementation. Auxiliary memories: magnetic disk, magnetic tape and optical disks.
11 Input / Output: Peripheral devices, I/O interface, I/O ports, Interrupts: interrupt hardware, types of interrupts and exceptions.
12 Modes of Data Transfer: Programmed I/O, interrupt initiated I/O and Direct Memory Access., I/O channels and processors. Serial Communication: Synchronous & asynchronous communication, standard communication interfaces.
13 Pipelining: Basic and Intermediate Concepts. Instruction-Level Parallelism and Its Exploitation
14 Modern Multicore Architecture, Multiprocessors and Thread-Level Parallelism
Prerequisite(s): Introduction in Computer Engineering, Data Structures and Algorithms and programming knowledge is required.
Textbook(s): 1. Computer Organization and Design MIPS Edition: The Hardware/Software Interface (The Morgan Kaufmann Series in Computer Architecture and Design) 5th Edition 2. The Essentials of Computer Organization and Architecture, 3. Edition, 2011, Linda Null and Julia Lobur, Jones and Bartlett Publishers.
Additional Literature: 1. Carl Hamacher, Zvonko Vranesic, Safwat Zaky and Naraig Manjikian, “Computer Organization and Embedded Systems”, Sixth Edition, McGraw, Hill, 2012. 2. William Stallings, “Computer Organization and Architecture – Designing for Performance”, Sixth Edition, Pearson Education, 2003. 3. Mano,” Computer System Architecture”, PHI 4. John P Hays, “ Computer Organization”, McGraw Hill 5. Tannenbaum,” Structured Computer Organization’, PHI
Laboratory Work:
Computer Usage:
Others: No
COURSE LEARNING OUTCOMES
1 Knowledge of digital computer generation, computer types and classifications, functional units and their interconnections, buses, bus architecture, types of buses and bus arbitration. Register, bus and memory transfer.
2 Knowledge on Central Processing Unit: Addition and subtraction of signed numbers, look ahead carry adders. Multiplication: Signed operand multiplication, Booths algorithm and array multiplier. Division and logic operations. Floating point arithmetic operation Processor organization, general register organization, stack organization and addressing modes.
3 Ability to use on low level Assembler language.
4 Knowledge on Control Unit: Instruction types, formats, instruction cycles and subcycles ( fetch and execute etc) , micro-operations, execution of a complete instruction. Hardware and microprogrammed control: microprogramme sequencing, wide branch addressing, microinstruction with next address field, pre-fetching microinstructions, concept of horizontal and vertical microprogramming.
5 Knowledge on Memory: Basic concept and hierarchy, semiconductor RAM memories, memory organization. ROM memories. Cache memories: concept and design issues, performance, address mapping and replacement) Auxiliary memories: magnetic disk, magnetic tape. Virtual memory: concept implementation.
6 Knowledge about Input / Output: Peripheral devices, I/O interface, I/O ports, Interrupts: interrupt hardware, types of interrupts and exceptions. Modes of Data Transfer: Programme I/O, interrupt initiated I/O and Direct Memory Access., I/O channels and processors.
7 Knowledge about Communication protocols: Serial Communication: Synchronous & asynchronous communication, standard communication interfaces.
8 Knowledge about Pipelining: Basic and Intermediate Concepts. Instruction-Level Parallelism and its Exploitation.
9 Knowledge about modern multicore architecture, Multiprocessors and Thread-Level Parallelism
COURSE CONTRIBUTION TO... PROGRAM COMPETENCIES
(Blank : no contribution, 1: least contribution ... 5: highest contribution)
No Program Competencies Cont.
Bachelor in Software Engineering (3 years) Program
1 Engineering graduates with sufficient theoretical and practical background for a successful profession and with application skills of fundamental scientific knowledge in the engineering practice. 5
2 Engineering graduates with skills and professional background in describing, formulating, modeling and analyzing the engineering problem, with a consideration for appropriate analytical solutions in all necessary situations 5
3 Engineering graduates with the necessary technical, academic and practical knowledge and application confidence in the design and assessment of machines or mechanical systems or industrial processes with considerations of productivity, feasibility and environmental and social aspects. 5
4 Engineering graduates with the practice of selecting and using appropriate technical and engineering tools in engineering problems, and ability of effective usage of information science technologies. 5
5 Ability of designing and conducting experiments, conduction data acquisition and analysis and making conclusions. 5
6 Ability of identifying the potential resources for information or knowledge regarding a given engineering issue. 4
7 The abilities and performance to participate multi-disciplinary groups together with the effective oral and official communication skills and personal confidence. 3
8 Ability for effective oral and official communication skills in foreign language. 4
9 Engineering graduates with motivation to life-long learning and having known significance of continuous education beyond undergraduate studies for science and technology. 4
10 Engineering graduates with well-structured responsibilities in profession and ethics. 5
11 Engineering graduates who are aware of the importance of safety and healthiness in the project management, workshop environment as well as related legal issues. 4
12 Consciousness for the results and effects of engineering solutions on the society and universe, awareness for the developmental considerations with contemporary problems of humanity. 4
COURSE EVALUATION METHOD
Method Quantity Percentage
Homework
1
15
Midterm Exam(s)
1
40
Final Exam
1
45
Total Percent: 100%
ECTS (ALLOCATED BASED ON STUDENT WORKLOAD)
Activities Quantity Duration(Hours) Total Workload(Hours)
Course Duration (Including the exam week: 16x Total course hours) 16 3 48
Hours for off-the-classroom study (Pre-study, practice) 16 3 48
Mid-terms 1 14 14
Assignments 1 10 10
Final examination 1 20 20
Other 1 10 10
Total Work Load:
150
Total Work Load/25(h):
6
ECTS Credit of the Course:
6
CONCLUDING REMARKS BY THE COURSE LECTURER