Section outline

    • 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