CENG 311 COMPUTER ARCHITECTURE
2018-2019 Fall Semester |
A.1. Homepage: http://www.iyte.edu.tr/~tolgaayav/courses/ceng311
A.2. Lecture: Wednesday 9:45 - 12:30 (Course), Thursday 8:45 - 10:15 (Lab)
A.3. Credits: 3+2
A.4. Instructor: Assoc. Prof. Tolga AYAV, Ph.D. (Telephone: 750 7878)
A.5. Syllabus
A.6. Lab Assistants: Didem Genē, Orhan Bayraktar |
B.1. Objective of the Course:
Basic computer organization and design. MIPS architecture. Microprocessor design and implementation using FPGAs. VHDL. Assembly. Pipelining and other performance issues. |
B.2. Prerequisites:
CENG214 Logic Design. |
C.1. Course Contents:
- Introduction to Computer Architecture and Basic Computer Organization (Lab: Introduction)
- Arithmetic for Computers (Lab: Fundamentals of VHDL language)
- MIPS architecture and Assembly (Lab: VHDL programming and simulation)
- Design of Dedicated and General-Purpose Datapath (Lab: Datapath implementation and simulation with Modelsim - I )
- VHDL, Introduction to FPGA (Lab: Datapath implementation and simulation with Modelsim - II )
- Design of a very simple microprocessor: µ311 (week 1) (Lab: Implementation and integration of µ311 units)
- Design of a very simple microprocessor: µ311 (week 2) (Lab: Testing µ311 microprocessor)
- Design and Connection of I/O units, Interrupt Mechanism (Lab: Application of interrupt mechanism with µ311)
- Pipelining, µ311 Assembly (Lab: Development of assembler and linker for µ311)
- 8086 Based Computer Design (Lab: 8086 Assembly Programming - I )
- 8086 Assembly Programming - I (Lab: 8086 Assembly Programming - II )
- 8086 Assembly Programming - II (Lab: 8086 Assembly Programming - III )
- Segmentation and Paging, Real and Protected modes, Memory Organization (Lab: Fundamentals of Kernel Design)
- Multitasking (Lab: µOSx311 Micro-Kernel Design)
|
C.2. Course Schedule:
3/10: Lecture 1 - Introduction
10/10:
Lecture 2 - VHDL Programming Language
17/10: Lecture 3 - MIPS architecture and Assembly
24/10: Lecture 4 - Data Path Design
31/10: Design of µ311 microprocessor-1
7/11: Design of µ311 microprocessor-2
14/11: Control Unit Design
21/11: µ311 I/O communication
28/11: µ311 Interrupt mechanism
5/12: 80x86 Architecture
12/12: Assembly Programming in 80x86/Linux - 1
19/12: Assembly Programming in 80x86/Linux - 2
26/12: Kernel Development for 80x86
2/1/2019: Preliminaries of kernel µOSx311
|
D. Lecture Notes:
Lecture -1 Introduction
Lecture -2 Intro to VHDL
Lecture -3 Datapath Design
Lecture -6 I/O Communication
Design Notes of Microprocessor µ311
Assembler for µ311
Executable: as311 (for Linux 64 bit) Source: as311.c
80x86 architecture (by Suresh.P, MEA Engineering College)
Lecture - 8-9-10 80x86 Assembly Programming on Linux
Kernel Development for 80x86
|
E. Grading:
Written Midterm Exam I: %30
Written Final Exam: %45
Laboratory work: %25
Old exam questions: 2013, 2014 , 2015Final
, 2013 Final with answers
Midterm Results (New)
|
F. Books:
David A. Patterson, John L. Hennessy. Computer Organization and Design . 3rd Ed. 2005. Morgan Kaufmann Pub |
G. Laboratory:
| Date |
Work |
Presentation to instructor |
| 4/10 |
Presentation of the lab environment and tools. Read the feuille. |
|
| 11/10 |
Implementation of the fundamental parts: Full adder, 8 bit FA |
|
| 18/10 |
ALU Design. Read the feuille.
|
|
| 25/10 |
DataPath Design (RF,register,buffers,addsub,etc.) Read the feuille. |
|
| 1/11 |
Simulation |
Datapath simulation |
| 8/11 |
Control Unit |
|
| 15/11 |
Midterm I
|
|
| 22/11 |
Assembling datapath and control unit design |
|
| 29/11 |
Completing the processor with datapath and control unit (upabs3.vhd=dp.vhd+cu.vhd).
Setting up a test bench with upabs3, clock circuit and 1k ROM (testbench.vhd=clock.vhd+upabs3.vhd+ROM.vhd). |
Simulation of the processor. Put this simple program into the ROM:
movi a, 82H
mov b, a
Demonstrate that your microprocessor executes the above program. |
| 6/12 |
Adding a RAM to the configuration (testbench.vhd=clock.vhd+upabs3.vhd+ROM.vhd+RAM.vhd). |
|
| 13/12 |
Interrupt mechanism. (Connect a ROM as a program memory and a 1k RAM for ISRs and stack. You can use partial address decoding) |
|
| 20/12 |
Demonstrate your project with the assembly program provided by the lab instructor during the lab session. |
Simulation and Testing of your microprocessor.
|
| 27/12 |
Assembly Programming - Linking C and Assembly files . (Read the feuille.) |
Demonstrate your program |
03/01/2019 |
OSx311. Download the initial kernel. Read Lab work here. |
|
| |
| |
|
H. Bibliography:
Brey, B.B. (1991). The Intel Microprocessors. 3rd Ed. New York and Toronto : Macmillan.
Mano, M. (1988). Computer Engineering: Hardware Design. Englewood Cliffs, NJ: Prentice-Hall .
Tanenbaum, A.S. (1999). Structured Computer Organization. 4th Ed. Englewood Cliffs, NJ: Prentice- Hall.
Herman Lam, John O'Malley, Fundamentals of Computer Engineering: Logic Design and Microprocessors, Wiley.
Enoch O. Hwang, Digital Logic and Microprocessor Design with VHDL. |
I. Materials and Useful Links
There might be some other materials in password protected area . Please ask the instructor for the username and password of this course. |