EPOKA UNIVERSITY
FACULTY OF ARCHITECTURE AND ENGINEERING
DEPARTMENT OF COMPUTER ENGINEERING
COURSE SYLLABUS
COURSE INFORMATIONCourse Title: COMPUTER ORGANIZATION |
Code | Course Type | Regular Semester | Theory | Practice | Lab | Credits | ECTS |
---|---|---|---|---|---|---|---|
CEN 385 | B | 3 | 3 | 0 | 2 | 4 | 5 |
Academic staff member responsible for the design of the course syllabus (name, surname, academic title/scientific degree, email address and signature) | NA |
Lecturer (name, surname, academic title/scientific degree, email address and signature) and Office Hours: | Florenc Skuka |
Second Lecturer(s) (name, surname, academic title/scientific degree, email address and signature) and Office Hours: | NA |
Teaching Assistant(s) and Office Hours: | NA |
Language: | English |
Compulsory/Elective: | Compulsory |
Classroom and Meeting Time: | Thursday, 09:45 - 15-30 |
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. |
COURSE OUTLINE
|
Week | Topics |
1 | Introduction: Digital computer generation, computer types and classifications, functional units and their interconnections, buses, bus architecture,The Digital Abstraction |
2 | Number Systems and Number Representations, the basic operations in ALU |
3 | Combinational Logic Design |
4 | Combinational Logic Design in detail and Principles of Sequential Logic Design |
5 | Hardware Description Languages |
6 | Digital Building Blocks, Arithmetic Circuits, Memory and Logic Arrays |
7 | Computer Architecture, Assembly Language, Machine Language programming, Addressing Modes |
8 | Midterm Exam. |
9 | Microarchitecture and Performance Evaluation, introduction to Pipelining |
10 | Memory and I/O Systems, Memory System Performance Analysis, Virtual Memory |
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 programming knowledge is required. |
Textbook: | The Essentials of Computer Organization and Architecture, 3. Edition, 2011, Linda Null and Julia Lobur, Jones and Bartlett Publishers. |
Other References: | 1. Patterson, Computer Organisation and Design, Elsevier Pub. 2009 2. Vravice,Hamacher & Zaky, “Computer Organization”, TMH 3. Mano,” Computer System Architecture”, PHI 4. John P Hays, “ Computer Organization”, McGraw Hill 5. Tannenbaum,” Structured Computer Organization’, PHI 6. P Pal chaudhry, ‘ Computer Organization & Design’, PHI |
Laboratory Work: | |
Computer Usage: | Yes |
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 understand low level Assembler language prporamming |
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 |
10 | to understand performance Evaluation Issues |
COURSE CONTRIBUTION TO... PROGRAM COMPETENCIES
(Blank : no contribution, 1: least contribution ... 5: highest contribution) |
No | Program Competencies | Cont. |
Bachelor in Business Informatics (3 years) Program | ||
1 | Identify activities, tasks, and skills in management, marketing, accounting, finance, and economics. | 4 |
2 | Apply key theories to practical problems within the global business context. | 5 |
3 | Demonstrate ethical, social, and legal responsibilities in organizations. | 4 |
4 | Develop an open minded-attitude through continuous learning and team-work. | 5 |
5 | Integrate different skills and approaches to be used in decision making and data management. | 5 |
6 | Combine computer skills with managerial skills, in the analysis of large amounts of data. | 5 |
7 | Provide solutions to complex information technology problems. | 5 |
8 | Recognize, analyze, and suggest various types of information-communication systems/services that are encountered in everyday life and in the business world. | 5 |
COURSE EVALUATION METHOD
|
Method | Quantity | Percentage |
Midterm Exam(s) |
1
|
40
|
Quiz |
1
|
10
|
Final Exam |
1
|
50
|
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 | 2 | 32 |
Mid-terms | 1 | 10 | 10 |
Assignments | 1 | 10 | 10 |
Final examination | 1 | 15 | 15 |
Other | 1 | 10 | 10 |
Total Work Load:
|
125 | ||
Total Work Load/25(h):
|
5 | ||
ECTS Credit of the Course:
|
5 |