Lecture Slides: Overview of Abstraction - LOGIC AND COMPUTER ARCHITECTURE

Summary

These lecture slides provide an overview of abstraction in computer architecture. They cover fundamental concepts such as boolean logic, logic circuits, and binary representations of data. The slides also discuss the computer level hierarchy and its different layers of abstraction.

Full Transcript

DR EDWARD ANSTEAD LOGIC AND COMPUTER ARCHITECTURE Module Introduction “ANY SUFFICIENTLY ADVANCED TECHNOLOGY IS INDISTINGUISHABLE FROM MAGIC.” ARTHUR C CLARKE (MUCH OVERUSED!) MODULE OVERVIEW - In this module we are going to look critically at what a computer is and break the magic spell...

DR EDWARD ANSTEAD LOGIC AND COMPUTER ARCHITECTURE Module Introduction “ANY SUFFICIENTLY ADVANCED TECHNOLOGY IS INDISTINGUISHABLE FROM MAGIC.” ARTHUR C CLARKE (MUCH OVERUSED!) MODULE OVERVIEW - In this module we are going to look critically at what a computer is and break the magic spell - Abstraction - Boolean logic - Logic circuits - Binary arithmetic - Binary representations of data - Machine code - Input and output systems LEARNING OBJECTIVES - Understand and apply the fundamental mathematical techniques underlying data representation and computer hardware, particularly binary arithmetic and computational logic - Explain the architecture of standard computer hardware and how it is used to represent and calculate with data - Explain the methods used to represent a wide variety of types of data on a computer - Select appropriate data representations, software architectures and mathematical techniques for addressing particular computing problems MODULE SESSIONS -Lectures 2 hours a week - Thursday 9am Professor Stuart Hall Building LG02 -Lab 1 hour a week either - Friday 12pm RHB 304 - Friday 2pm RHB 304 - Friday 3pm RHB 304 -Private study approx 10 hours a week ASSIGNMENTS - Coursework 50% - Set: 22nd November - Due: 13 December - Exam 50% - Early January 2025 WHY UNDERSTAND UNDER THE HOOD - It will make us better software engineers - We’ll be able optimise our systems - Understand why our programmes work in certain ways - Understand why our programmes break - Appreciation for the ways a computer can and can’t be used A VOLUNTEER? ABSTRACTION WHAT IS ABSTRACTION? Abstraction can take multiple forms, for example: - Compression - Distillation of objects into categories (i.e. our house drawing) - Materialisation - physical manifestation of an abstract concept (e.g. money, time) - Simpli cation - reducing complex ideas into more manageable and understandable units. - This concept is really important for us in this module. fi WHAT IS ABSTRACTION? We are going to see di erent forms of abstract representations of data and logic in this module. 1001000 1100101 1101100 1101100 1101111 ff COMPUTER CODE IS ABSTRACT COMPUTER CODE IS ABSTRACT COMPUTER CODE IS ABSTRACT 1S AND 0S ARE ABSTRACT 1 0 T F 😀 😫 on o high low ff 1S AND 0S ARE ABSTRACT 1 0 T F 😀 😫 on o high low ff QUIZ: A COMPUTER OR NOT A COMPUTER HTTPS://APP.WOOCLAP.COM/YEYAEN?FROM=EVENT-PAGE WHAT IS A COMPUTER ANYWAY? - There are di erent ways we could de ne what is and isn’t a computer. - We have preconceived ideas based on our experience and intuition - Is there a more formal way to describe one??? ff fi WHAT IS A COMPUTER ANYWAY? - A computer is a machine that can be programmed to solve all computable problems - The set of computable problems is the same as the set of Turing computable problems - Modelled by a Universal Turing Machine UNIVERSAL TURING MACHINE CONTROL UNIT UNIVERSAL TURING MACHINE T’S IT ! A CONTROL H UNIT READ & WRITE HEAD T ENDLESS TAPE UNIVERSAL TURING MACHINE - The machine begins in the start state possibly with data on the tape - The computation of a Turing machine is carried out by a series of steps by the control unit CONTROL UNIT - At each step machine could be in any of a series of states speci c to the computation - Observe the current value at the cell on the tape --Write a value to that cell move to another cell - -update the state Continue until the end state is reached fi NOT ALL PROBLEMS ARE COMPUTABLE - Not all problems are computable though! - For example the halting problem - Trying to predict in advance whether a program will terminate. - There is No generic program that can be determine if any given program will end. LAYERS OF ABSTRACTION - Each virtual machine layer is an abstraction of the level below it. - The machines at each level execute their own particular instructions, calling upon machines at lower levels to perform tasks as required. - Computer circuits ultimately carry out the work. LAYERS OF ABSTRACTION - Each virtual machine layer is an abstraction of the level below it. - The machines at each level execute their own particular instructions, calling upon INTRO INTRO TO TO PROGRAMMING PROGRAMMING // UX UX machines at lower levels to perform AND tasks AND THE THE WEB WEB as required. - Computer circuits ultimately carry out the work. THIS COURSE THIS COURSE THIS COURSE THIS COURSE THE COMPUTER LEVEL HIERARCHY - Level 6: The User Level - Program execution and user interface level - The level with which we are most familiar - Level 5: High-Level Language Level - The level with which we interact when we write programs in languages such as C, Pascal, Lisp, and Java. THE COMPUTER LEVEL HIERARCHY - Level 4: Assembly Language Level - Acts upon assembly language produced from Level 5, as well as instructions programmed directly at this level. - Level 3: System Software Level - Controls executing processes on the system. - Protects system resources. - Assembly language instructions often pass through Level 3 without modi cation. fi THE COMPUTER LEVEL HIERARCHY --Level 2: Machine Level Also known as the Instruction Set Architecture (ISA) Level. - Consists of instructions that are particular to the architecture of the machine. - Programs written in machine language need no compilers, interpreters, or assemblers. THE COMPUTER LEVEL HIERARCHY - Level 1: Control Level -A control unit decodes and executes instructions and moves data through the system. -Control units can be microprogrammed or hardwired. -A microprogram is a program written in a low-level language that is implemented by the hardware. -Hardwired control units consist of hardware that directly executes machine instructions. THE COMPUTER LEVEL HIERARCHY --Level 0: Digital Logic Level This level is where we nd digital circuits (the chips). -- Digital circuits consist of gates and wires. These components implement the mathematical logic of all other levels. fi NEXT WEEK - Boolean logic - Your rst lab STARTING NEXT WEEK fi

Use Quizgecko on...
Browser
Browser