Section outline

    • Course Literature:

      There are two main books recommended:

      1. Computer Architecture: A Quantitative Approach. John L. Hennessy, David A. Patterson (any edition, in principle).
      2. Practical Aspects of Embedded System Design using Microcontrollers. 2008 Spinger. 
      3. Computer System Architecture, M. Morris Mano.

      In principle, any other text book about computer architectures will cover the main topics.

    • Learning Objectives:

      By finishing this course you will be able to:

      1. Understand the design and architecture of the CPU as well as the functionalities of the different CPU components.
      2. Understand the design decisions of creating an ISA.
      3. Differentiate between kernel and user modes and understand their properties.
      4. Understand the different components of the Operating System as well as differentiate between the different OSs used today.
      5. Understand the computer memory hierarchy and the different design decisions and management methods and techniques.
      6. Understand how processes and jobs are managed and executed.
      7. Understand how computers execute arithmetic operations and how these operations are implemented in hardware.
      8. Understand how the processer can execute many operations at the same time using Very Long Instruction Words (VLIWs)

      Students are expected to obtain the basic principles and design decisions of computer architecture.

    • This forum is used for questions. It is meant for students to post their questions and get answers from their peers/lecturer. Once a question is posted, there is no need to send any emails to the lecturer. 

      Participating in this forum, whether asking or answering questions (questions and answers of substance) will count as class participation and will be rewarded with extra points.

    • This week we will have an introduction to the course and the lecturer. 

      We will recap on the basics of computer logic, logic gates, and logical expressions. We will discuss some integrated circuits.

    • This quiz will help you understand what preliminary knowledge you have regarding the course material.

      Please keep the following in mind:

      • This quiz is only 15 minutes, so if you do not know the answer to a question, skip it and move on to the next question.
      • You are allowed only one attempt.
      • It will be opened the day the first session starts and will be open for a week.

    • Welcome to IAS0430!

      This course aims to give general knowledge about the working principles and applications of microprocessor design, to introduce the basics of computer and microprocessor architecture, to understand how microprocessors interact with peripherals, to understand the structure and management of memory hierarchies, and how data is propagated through a microprocessor system, and to learn how processes are executed and managed.
      In this course, we will explore the basic theoretical knowledge of Computer Architecture focusing on the design of Microprocessors. We will explore the building blocks of the CPU, the design and implementation of the Instruction Set Architecture (ISA), and the computer memory hierarchy. Topics will also include computer architecture design decisions that are related to the CPU kernel/user modes, an overview of Operating Systems design, process and job management, and computer arithmetic.
      Students are expected to know the basics of Logical Expressions and Logical Gates. Students are expected to have some knowledge of combinational and sequential circuits, their functions and uses.

      • The topics in this course are as follows:

      1. A quick recap on logic expressions and logic gates.
      2. The design and components of the CPU.
      3. Design of Instruction Set Architecture.
      4. Kernel and User Modes.
      5. Operating Systems.
      6. Memory Hierarchy and Management.
      7. Process and Job Management.
      8. Computer Arithmetic and arithmetic in hardware.
      The (preliminary) topic schedule is as follows:
       Week Date  Lecture Labs Assignments
       1  Sept. 6
       Introduction  
       2  Sept. 13
       CPU
       Quiz
       3  Sept. 20
       ISA  L1 - ALU
       HomeTask1 - Logic gates  (deadline Sept. 30)
       4  Sept. 27
       MIPS  L1 - ALU
       
       5  Oct. 4
       Pipeline
       L1 - ALU
      LabAssignment1- Logic gates  (deadline Oct. 14)
       6  Oct. 11
       Kernel/User Modes  [catching up]
      HomeTask2 - Dummy CPU (deadline Oct. 30)
       7  Oct. 18  OS
       L2 - CPU & ISA LabAssignment2 - ISA (deadline Nov. 25)
       8  Oct. 25
       Memory Hierarchy (I)
       L2 - CPU & ISA
       HomeTask3 - Dummy RISC & CISC (deadline Dec. 1)
       9  Oct. 26
       Memory Hierarchy (II)  L2 - CPU & ISA
      LabAssignment 3 - Memory & cache (deadline Dec. 15)
       10  Nov. 1
       Memory Hierarchy (II)  [catching up L2]
       Midterm on Oct. 25
       11  Nov. 8
       Memory Management (I)  [catching up L2] / L3 - Memory 
      LabAssignment4-  Processes & Arithmetic (deadline Jan. 6) 
       12  Nov. 15
       Memory Management (II)  L3 - Memory
       13  Nov. 22
       Process Scheduling
       L3 - Memory
       14  Nov. 29
       Computer Arithmetic
       L3 - Memory / L4 - Processes & Arithmetic 
       15  Dec. 6
       Arithmetic in Hardware
       L4 - Processes &Arithmetic
       16  Dec. 13
       Backup time
       L4 - Processes &Arithmetic


      • Grading:
      The following criteria will be used for producing the final grade:
      - Home Tasks (1, 2, 3) will count for 15%.
      - Lab assignments (1,2,3,4) will count for 40% of the final grade.
      - The Midterm Exam will count for 15%.
      - The Final Exam will count for 30% of the final grade as well as the possibility of gaining an extra 10% to the final grade.
      - Optional Extra points will be granted to students for in-class participation and independent work.
      - New update on 9 of January 2023: To pass the course the total score should be higher than 60. It mean add of midterm, final, lab assignments and home tasks should be higher than 60.

      • In the classroom:

      1. At the beginning of the class, there will be a small re-cap/quiz in order to make sure that everyone is on the same page and that students are finishing their tasks on time. This will also include presentations when required. Tasks from the previous week are handed in at the beginning of the class. In case the task requires submission to Moodle, the deadline for each submission is the beginning of that class. 
      2. After the recap, we will discuss the topic at hand. Students are expected to participate in the discussion and answer questions during the lecture. Students are also expected to pay attention to the class.
      3. At the end of the lecture, weekly tasks will be assigned. Tasks must be finished individually unless otherwise stated.
      4. Attending the course in person is very much recommended. 

      • In the laboratory:
        • Laboratory assignments count for a big portion of the student's final grade. 
        • They are all compulsory and must be completed in order for a student to pass the course. 
        • These assignments will be announced and added to Moodle before each lab. 
        • The deadlines for submission is one day before the next Lab task will start. Being late will result in point loss (1 point per day).
        • You are encouraged to participate in person in the course but if you would like to do it offline, all your credit will be preserved. Just be careful to be present for the midterm and final exams, provide the homeworks and lab assignments on time, otherwise you will lose the credits.
        • Every activity you complete in the course earns you a positive point. For instance, correctly answering the questions. You won't lose any points if you answer incorrectly. Please understand that this is merely for motivation purposes, not to demotivate you from participating in the course. : )
        • As part of the course activities, you may be asked to work in groups of three or four and take a mini quiz. This will earn you a point.

      Laboratory assignments-dates will be decided as the semester progresses.


      • Communication:

      Students are encouraged and expected to approach lecturer(s) for any matter regarding the class material or laboratory assignments at the end of the class. Decisions will be taken into consideration depending on the circumstances. If students want to reach the lecturer by email, in case the matter is too urgent to wait until class time, the title of the email must include the course code [IAS0430]. Emails regarding the course that do not contain the course code may not be read on time. 

      For any immediate health emergencies, please include [EMERGENCY] alongside the course code in the email title (do not use this unless you absolutely have to). If no response was given to these emails by the lecturer, please proceed with what is best for your health, your health is of most importance. Further action will be decided when the student can resume classes. DO NOT TAKE THIS LIGHTLY.


    • In this class we will put forth the basics of the Central Processing Unit. We will discuss the different components and parts needed to create a functioning CPU. We will define the instruction as well as introduce a working 8-bit CPU (called the Dummy CPU)and its Instruction Set Architecture.

    • Watch this video that explains the basic functions of the CPU.
    • Watch this video that explains the difference between latches and Flip-Flops
    • Watch this video that explains SR latch
    • Watch this video that explains D latch
    • Watch this video that explains D Flip-Flop
    • Watch this video that explains JK Flip-Flop
    • >|

      Extra stuff on this week material:

      If you are interested, you can take a look at the Simple As Possible (SAP-1) architecture. This was the architecture I was initially going to use in this course. However, due to a few differences and limitations, I decided to make a Frankenstein-CPU made up of parts from SAP-1 and the W65C02S microprocessor. I ended up with a much inferior Dummy CPU, but it has more possibilities on a theoretical level.
      You can read on the SAP-1 here:
      https://study-for-exam.blogspot.com/2013/06/describe-sap-1-architecture.html
      You could also check the W65C02S microprocessor specification and datasheet here:
      https://www.mouser.co.uk/ds/2/436/w65c02s-2572.pdf
    • This week we will explore the properties and types of the Instruction Set Architecture. We will discuss what an ISA is and what it is used for. We will explore the key features that can be implemented when designing an ISA.

    • This week, we will explore some properties of the MIPS ISA.

    • You can download this VHDL model of a MINI MIPS processor and read the instruction manual. This will help you understand MIPS and the way it processes data.

    • This is a link to a YouYube Playlist that discusses in simplified details how MIPS work. Now be aware, these videos approach MIPS in a slightly different way that we approach the CPU. Furthermore, it discusses some features of MIPS that will not be discussed in class. 

    • This week, we will explore some properties of pipelines.

    • This week, we will talk about the Memory hierarchy.

    • The material of Memory Hierarchy 2 and Memory Hierarchy 3 will be explained the next week. 

      In Memory Hierarchy 2 we will discuss multi-level caching and how information is stored inside the cache system.

      You can check this amazing video on computer memory


    • This week, we will finish the Memory hierarchy. We will discuss RAM and HHDs. 

      This video is a good intro to how Hard Disk Drives work and what are the current technologies are used to fabricate and design them.


    • This week we will talk about hardware security more specifically cache attacks and cache mitigation. MATERIAL RELATED TO HARDWARE ATTACKS IS NOT IN YOUR FINAL EXAM.

  • Date and time for Final exam:

    To be announced.

    All materials in this course are included in the examSlides, Home Tasks, and lab assignments.

    This is a closed-book exam. The use of class material or any other aids is strictly prohibited. All you need is a pencil. The exam will be handwritten and answers must be done on the answer sheet provided.

    The questions on the exam will be in the same style as your midterm exam. Variations of the questions differ, but they will follow in a similar fashion. Materials on all topics which are taught during the course are in the final exam. 

    The exam will be during the 2-time slots which I announced here. 

    I will be mindful of which material to include and the difficulty of the questions will vary (some easy questions and others harder).

    Good luck