CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Principles of Computers 14 th Lecture Pavel Ježek, Ph.D.

Slides:



Advertisements
Similar presentations
Parts of a Computer.
Advertisements

Exceptional Control Flow Processes Today. Control Flow Processors do only one thing: From startup to shutdown, a CPU simply reads and executes (interprets)
CS-334: Computer Architecture
Basic Input Output System
19-1 Programming… The Pencil and Paper Computer The Pencil & Paper Instruction Set: (table on p148) The Operand specifies a memory location.
Engineering Problem Solving With C++ An Object Based Approach Fundamental Concepts Chapter 1 Engineering Problem Solving.
1 Engineering Problem Solving With C++ An Object Based Approach Fundamental Concepts Chapter 1 Engineering Problem Solving.
CS2422 Assembly Language & System Programming November 2, 2006.
Computer Hardware.
1 Interrupts INPUT/OUTPUT ORGANIZATION: Interrupts CS 147 JOKO SUTOMO.
Introduction to Interrupts
Introduction to Computer Engineering by Richard E. Haskell Interrupts Module M17.3 Sections 11.3, 14.1.
Practical Session No. 10 Input &Output (I/O). I/O Devices Input/output (I/O) devices provide the means to interact with the “outside world”. An I/O device.
Review 5 Chapters 13, 14. What is software? Set of instructions to control computer operation.
1 COSC 3P92 Cosc 3P92 Week 11 Lecture slides Violence is the last refuge of the incompetent. Isaac Asimov, Salvor Hardin in "Foundation"
1 CSC 2405: Computer Systems II Spring 2012 Dr. Tom Way.
Input/Output. Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower.
1 CS503: Operating Systems Part 1: OS Interface Dongyan Xu Department of Computer Science Purdue University.
Configuration.
The CPU The Central Presentation Unit Main Memory and Addresses Address bus and Address Space Data Bus Control Bus The Instructions set Mnemonics Opcodes.
ECE291 Computer Engineering II Lecture 9 Josh Potts University of Illinois at Urbana- Champaign.
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
Major Computer Parts.
GCSE Computing#BristolMet Session Objectives#11 MUST identify what program instructions consist of SHOULD describe how instructions are coded as bit patterns.
Dr Mohamed Menacer College of Computer Science and Engineering Taibah University CE-321: Computer.
Practical Session 11 Computer Architecture and Assembly Language Input &Output (I/O)
General Concepts of Computer Organization Overview of Microcomputer.
Lecture 14 Today’s topics MARIE Architecture Registers Buses
CS 111 – Sept. 15 Chapter 2 – Manipulating data by performing instructions “What is going on in the CPU?” Commitment: –Please read through section 2.3.
CSNB374: Microprocessor Systems Chapter 5: Procedures and Interrupts.
CMSC 150 PROGRAM EXECUTION CS 150: Wed 1 Feb 2012.
Exceptional Control Flow Topics Exceptions except1.ppt CS 105 “Tour of the Black Holes of Computing”
Software Interrupt Instruction ‘int’ A ‘int’ instruction is like a special kind of subroutine call. Will discuss details later ‘int’ stands for INTERRUPT.
© GCSE Computing Candidates should be able to:  describe the characteristics of an assembler Slide 1.
EE 345 Class Notes EE345 Midterm Review Dr. Jane Dong.
An Example Architecture. A Paper Computer - Woody Woody's characteristics Word size – 8 bits One word.
Feb/18/2014 Mazen Alzyoud Early Term Exam Review.
Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower than CPU.
Input Output Techniques Programmed Interrupt driven Direct Memory Access (DMA)
CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Principles of Computers 11 th Lecture Pavel Ježek, Ph.D.
1 Types of Programming Language (1) Three types of programming languages 1.Machine languages Strings of numbers giving machine specific instructions Example:
CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Principles of Computers 12 th Lecture Pavel Ježek, Ph.D.
Chapter 8 Input/Output An Hong 2015 Fall School of Computer Science and Technology Lecture on Introduction to.
Practical Session 11 Computer Architecture and Assembly Language Input &Output (I/O)
Computer Science 210 Computer Organization
Chapter 8 I/O.
Engineering Problem Solving With C An Object Based Approach
Microprocessor and Assembly Language
Exceptional Control Flow
Microprocessor Systems Design I
Computer Science 210 Computer Organization
CS703 - Advanced Operating Systems
Chapter 8 I/O.
Principles of Computers 18th Lecture
Principles of Computers 16th Lecture
Computer Architecture
CS 301 Fall 2001 – Chapter 3 Slides by Prof. Hartman, following “IBM PC Assembly Language Programming” by Peter Abel 9/17/2018.
Chapter 8 I/O.
הכרת המחשב האישי PC - Personal Computer
Memory organization On- chip memory Off-chip memory
Processing Computer Components.
Principles of Computers 20th Lecture
Exceptions Control Flow
Computer Architecture and Assembly Language
Chapter 1 Introduction.
CNET 315 Microprocessor & Assembly Language
Computer Electronic device Accepts data - input
Principles of Computers 14th Lecture
Presentation transcript:

CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Principles of Computers 14 th Lecture Pavel Ježek, Ph.D.

Software Interrupts CPU arch.Interrupts supported by CPU ISASoftware interrupt instruction in assembler In machine code Instruction behavior vector (16 bit address of handler) at $FFFE - $FFFF

Software Interrupts CPU arch.Interrupts supported by CPU ISASoftware interrupt instruction in assembler In machine code Instruction behavior vector (16 bit address of handler) at $FFFE - $FFFF BRK$00

Software Interrupts CPU arch.Interrupts supported by CPU ISASoftware interrupt instruction in assembler In machine code Instruction behavior vector (16 bit address of handler) at $FFFE - $FFFF BRK$00JSR ($FFFE)

Software Interrupts CPU arch.Interrupts supported by CPU ISASoftware interrupt instruction in assembler In machine code Instruction behavior vector (16 bit address of handler) at $FFFE - $FFFF BRK$00JSR ($FFFE) 8086/88256 vectors with fixed base address: $0000:$0000 (1 vector = bits = segment:offset)

Software Interrupts CPU arch.Interrupts supported by CPU ISASoftware interrupt instruction in assembler In machine code Instruction behavior vector (16 bit address of handler) at $FFFE - $FFFF BRK$00JSR ($FFFE) 8086/88256 vectors with fixed base address: $0000:$0000 (1 vector = bits = segment:offset) INT $xx (x = 0 … 255) $CD $xx

Software Interrupts CPU arch.Interrupts supported by CPU ISASoftware interrupt instruction in assembler In machine code Instruction behavior vector (16 bit address of handler) at $FFFE - $FFFF BRK$00JSR ($FFFE) 8086/88256 vectors with fixed base address: $0000:$0000 (1 vector = bits = segment:offset) INT $xx (x = 0 … 255) $CD $xxCALL [xx * 4]

Software Interrupts CPU arch.Interrupts supported by CPU ISASoftware interrupt instruction in assembler In machine code Instruction behavior vector (16 bit address of handler) at $FFFE - $FFFF BRK$00JSR ($FFFE) 8086/88256 vectors with fixed base address: $0000:$0000 (1 vector = bits = segment:offset) INT $xx (x = 0 … 255) $CD $xxCALL [xx * 4] >= vectors: base address given by IDTR register INT $xx (x = 0 … 255) $CD $xx

Software Interrupts CPU arch.Interrupts supported by CPU ISASoftware interrupt instruction in assembler In machine code Instruction behavior vector (16 bit address of handler) at $FFFE - $FFFF BRK$00JSR ($FFFE) 8086/88256 vectors with fixed base address: $0000:$0000 (1 vector = bits = segment:offset) INT $xx (x = 0 … 255) $CD $xxCALL [xx * 4] >= vectors: base address given by IDTR register INT $xx (x = 0 … 255) $CD $xxCALL [IDTR + xx * 4]

Example of Firmware ABI via Software Interrupts BIOS API functions/proceduresInterrupt vector (arguments passed in registers) Disk access – e.g. read sector$13 Screen output – e.g. print text to screen$10 Keyboard input – e.g. read last key pressed$16 Get total amount of RAM installed$12 Get memory map$15

Selected Faults/Traps/Exceptions of x86 ISA CPU ExceptionInterrupt vector (all push IP of faulting instruction) Invalid opcode6 Divide by zero (DIV0)0 Alignment check17 ($11) BIOS API functions/proceduresInterrupt vector (arguments passed in registers) Disk access – e.g. read sector$13 Screen output – e.g. print text to screen$10 Keyboard input – e.g. read last key pressed$16 Get total amount of RAM installed$12 Get memory map$15