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

Slides:



Advertisements
Similar presentations
Presented By Dr. Shazzad Hosain Asst. Prof. EECS, NSU
Advertisements

Princess Sumaya Univ. Computer Engineering Dept. د. بســام كحـالــه Dr. Bassam Kahhaleh.
Princess Sumaya University
Nov COMP60621 Concurrent Programming for Numerical Applications Lecture 6 Chronos – a Dell Multicore Computer Len Freeman, Graham Riley Centre for.
Pentium 4 and IA-32 ISA ELEC 5200/6200 Computer Architecture and Design, Fall 2006 Lectured by Dr. V. Agrawal Lectured by Dr. V. Agrawal Kyungseok Kim.
The Structure of the CPU
CS2422 Assembly Language & System Programming September 22, 2005.
CHAPTER3: Processor Types and Specifications PART1
Princess Sumaya Univ. Computer Engineering Dept. Chapter 2:
Computer Organization and Assembly language
9/22/2010Lecture 1 - Introduction1 ECE 5465 Advanced Microcomputers.
Computer Organization & Assembly Language
Lecture 8 Presented By Dr. Shazzad Hosain Asst. Prof. EECS, NSU.
1  2004 Morgan Kaufmann Publishers Instructions: bne $t4,$t5,Label Next instruction is at Label if $t4≠$t5 beq $t4,$t5,Label Next instruction is at Label.
1 CS503: Operating Systems Spring 2014 Dongyan Xu Department of Computer Science Purdue University.
The Intel Microprocessors. Real Mode Memory Addressing Real mode, also called real address mode, is an operating mode of and later x86-compatible.
Processor Development The following slides track three developments in microprocessors since Clock Speed – the speed at which the processor can carry.
University of Washington Roadmap 1 car *c = malloc(sizeof(car)); c->miles = 100; c->gals = 17; float mpg = get_mpg(c); free(c); Car c = new Car(); c.setMiles(100);
Upgrading and Repairing PCs
Paging Example What is the data corresponding to the logical address below:
Central Processing Unit. MAJOR COMPONENTS OF CPU.
PC hardware and x86 programming Lec 2 Jinyang Li.
Differences in ISA Instruction length
EKT303 PRINCIPLES OF COMPUTER ARCHITECTURE Mini Project Design and Implementation of Two Concurrent 8-bit CPUs Using Structural VHDL code for better Workload.
Architecture of Microprocessor
UConn CSE CSE241: Instruction Level Architecture Base CPU/Memory Architecture Registers Fetch-Execute Cycle Instructions Addressing Modes.
EEL5708/Bölöni Lec 8.1 9/19/03 September, 2003 Lotzi Bölöni Fall 2003 EEL 5708 High Performance Computer Architecture Lecture 5 Intel 80x86.
Principles of Computers 9th Lecture
CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Principles of Computers 14 th Lecture Pavel Ježek, Ph.D.
X86 Assembly Language We will be using the nasm assembler (other assemblers: MASM, as, gas)
Evolução dos Microprocessadores Afonso Ferreira Miguel.
Engr. Muhammad Zakir Shaikh Visiting Faculty IBT LUMHS. 1.
CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Principles of Computers 19 th Lecture Pavel Ježek, Ph.D.
The Evolution of the Intel 80x86 Architecture Chad Derrenbacker Chris Garvey Manpreet Hundal Tom Opfer CS 350 December 9, 1998.
Moore’s Law Electronics 19 April Moore’s Original Data Gordon Moore Electronics 19 April 1965.
Computer Performance. Hard Drive - HDD Stores your files, programs, and information. If it gets full, you can’t save any more. Measured in bytes (KB,
CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Principles of Computers 12 th Lecture Pavel Ježek, Ph.D.
Lecture 3 Dr. Muhammad Ayaz Computer Organization and Assembly Language. (CSC-210)
Lecture 2. General-Purpose Computer Systems Prof. Taeweon Suh Computer Science Education Korea University ECM586 Special Topics in Embedded Systems.
8.1 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Example: The Intel 32 and 64-bit Architectures Dominant industry chips.
EEL 4709C Prof. Watson Herman Group 4 Ali Alshamma, Derek Montgomery, David Ortiz 11/11/2008.
Brief introduction about “Grid at LNS”
Lecture on Real Mode Memory Addressing
ECE232: Hardware Organization and Design
Computer Speeds The cost of Computing One Numerical Operation
Is 64 bit computing ready for the desktop?
Visit for more Learning Resources
Roadmap C: Java: Assembly language: OS: Machine code: Computer system:
Memory Parts of a computer
Lecture on Microcomputer
QuickPath interconnect GB/s GB/s total To I/O
Principles of Computers 18th Lecture
Principles of Computers 16th Lecture
عمارة الحاسب.
Intel
Intel Microprocessor.
64 BIT COMPUTING By: Kapil Kaushik VIII Sesmester(IT)
Some Real Machines Intel® M80C186 CHMOS High Integration 16-bit Microprocessor Intel® Itanium™ 64-bit Microprocessor (IA-64)
5.6 Real-World Examples of ISAs
ADDRESSING MODES AND INSTRUCTION SET
Little Endian vs. Big Endian (Intel vs. Motorola)
Today’s agenda Hardware architecture and runtime system
Oracle Memory Configuration on Windows Server
CS-401 Assembly Language Programming
Lecture 3 (Microprocessor)
Principles of Computers 17th Lecture
AKT211 – CAO 05 – x86 Architecture: Intel 8088 (2)
Principles of Computers 16th Lecture
Principles of Computers 14th Lecture
Principles of Computers 15th Lecture
Presentation transcript:

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

CPU arch. CPU nameData widthLogical address width Current instruction register(s) Physical address width Special mode 8-bit 6502 MOS bit data16-bitPC16-bit (64 kB) Examples of CPU Architectures

CPU arch. CPU nameData widthLogical address width Current instruction register(s) Physical address width Special mode 8-bit 6502 MOS bit data16-bitPC16-bit (64 kB) 16-bit x86-16 x86 Intel bit data bitCS:IP20-bit (1 MB) Intel bit data Examples of CPU Architectures

CPU arch. CPU nameData widthLogical address width Current instruction register(s) Physical address width Special mode 8-bit 6502 MOS bit data16-bitPC16-bit (64 kB) 16-bit x86-16 x86 Intel bit data bitCS:IP20-bit (1 MB) Intel bit data Intel bit data bitCS:IP24-bit (16 MB) protected 16 (+ real) mode Examples of CPU Architectures

CPU arch. CPU nameData widthLogical address width Current instruction register(s) Physical address width Special mode 8-bit 6502 MOS bit data16-bitPC16-bit (64 kB) 16-bit x86-16 x86 Intel bit data bitCS:IP20-bit (1 MB) Intel bit data Intel bit data bitCS:IP24-bit (16 MB) protected 16 (+ real) mode 32-bit x86 IA-32 INTEL32 Intel bit data32-bitEIP32-bit (4 GB) protected 32 mode Examples of CPU Architectures

CPU arch. CPU nameData widthLogical address width Current instruction register(s) Physical address width Special mode 8-bit 6502 MOS bit data16-bitPC16-bit (64 kB) 16-bit x86-16 x86 Intel bit data bitCS:IP20-bit (1 MB) Intel bit data Intel bit data bitCS:IP24-bit (16 MB) protected 16 (+ real) mode 32-bit x86 IA-32 INTEL32 Intel bit data32-bitEIP32-bit (4 GB) protected 32 mode Intel Pentium Pro64-bit data32-bitEIP36-bit (64 GB) PAE Examples of CPU Architectures

CPU arch. CPU nameData widthLogical address width Current instruction register(s) Physical address width Special mode 8-bit 6502 MOS bit data16-bitPC16-bit (64 kB) 16-bit x86-16 x86 Intel bit data bitCS:IP20-bit (1 MB) Intel bit data Intel bit data bitCS:IP24-bit (16 MB) protected 16 (+ real) mode 32-bit x86 IA-32 INTEL32 Intel bit data32-bitEIP32-bit (4 GB) protected 32 mode Intel Pentium Pro64-bit data32-bitEIP36-bit (64 GB) PAE 64-bit x64 x86-64 AMD64 INTEL64 EM64T AMD Opteron (Intel Pentium 4) 64-bit data64-bitRIP40-bit (1 TB) long mode Examples of CPU Architectures

CPU arch. CPU nameData widthLogical address width Current instruction register(s) Physical address width Special mode 8-bit 6502 MOS bit data16-bitPC16-bit (64 kB) 16-bit x86-16 x86 Intel bit data bitCS:IP20-bit (1 MB) Intel bit data Intel bit data bitCS:IP24-bit (16 MB) protected 16 (+ real) mode 32-bit x86 IA-32 INTEL32 Intel bit data32-bitEIP32-bit (4 GB) protected 32 mode Intel Pentium Pro64-bit data32-bitEIP36-bit (64 GB) PAE 64-bit x64 x86-64 AMD64 INTEL64 EM64T AMD Opteron (Intel Pentium 4) 64-bit data64-bitRIP40-bit (1 TB) long mode 2015 current (e.g. Core i7) 64-bit data64-bitRIPAMD: 48b → 256 TB Intel: 46b → 64 TB Examples of CPU Architectures

CPU arch. CPU nameData widthLogical address width Current instruction register(s) Physical address width Special mode 8-bit 6502 MOS bit data16-bitPC16-bit (64 kB) 16-bit x86-16 x86 Intel bit data bitCS:IP20-bit (1 MB) Intel bit data Intel bit data bitCS:IP24-bit (16 MB) protected 16 (+ real) mode 32-bit x86 IA-32 INTEL32 Intel bit data32-bitEIP32-bit (4 GB) protected 32 mode Intel Pentium Pro64-bit data32-bitEIP36-bit (64 GB) PAE 64-bit x64 x86-64 AMD64 INTEL64 EM64T AMD Opteron (Intel Pentium 4) 64-bit data64-bitRIP40-bit (1 TB) long mode 2015 current (e.g. Core i7) 64-bit data64-bitRIPAMD: 48b → 256 TB Intel: 46b → 64 TB Examples of CPU Architectures 32-bit ARM64-bit ARM32b MIPSMIPS64PowerPC (PPC)32b Motorola (68k)

program PascalProgram; type PProc = procedure; procedure P1; begin α end; procedure P2; begin β end; var i : word; ptr : PProc; j : word; begin γ 1 ptr ptr; P2; γ 2 end.

program PascalProgram; type PProc = procedure; procedure P1; begin α end; jmp back procedure P2; begin β end; jmp back var i : word; ptr : PProc; j : word; begin γ 1 ptr ptr; indirect jump P2; direct jump γ 2 end. A B C1 C2

... $00007A00 B... $ A... $ C2 ?? JMPE9$ ?? JMP indir 25 FF$ C1... $ procedure P2 procedure P1 main program program PascalProgram; type PProc = procedure; procedure P1; begin α end; jmp back procedure P2; begin β end; jmp back var i : word; ptr : PProc; j : word; begin γ 1 ptr ptr; P2; γ 2 end. A B C1 C2

$00007A08 00 (00) 00 (20) 00 (00)$00007A04 00 $00007A02 00 $00007A00 B... $ A... $ C2 ?? JMPE9$ ?? JMP indir 25 FF$ C1... $ variable j variable ptr padding variable i procedure P2 procedure P1 main program program PascalProgram; type PProc = procedure; procedure P1; begin α end; jmp back procedure P2; begin β end; jmp back var i : word; ptr : PProc; j : word; begin γ 1 ptr ptr; P2; γ 2 end. A B C1 C2

$00007A08 00 (00) 00 (20) 00 (00)$00007A04 00 $00007A02 00 $00007A00 B... $ A... $ C JMPE9$ A 04 JMP indir 25 FF$ C1... $ variable j variable ptr padding variable i procedure P2 procedure P1 main program program PascalProgram; type PProc = procedure; procedure P1; begin α end; jmp back procedure P2; begin β end; jmp back var i : word; ptr : PProc; j : word; begin γ 1 ptr ptr; P2; γ 2 end. A B C1 C2 $ $00007A04

$00007A08 00 (00) 00 (20) 00 (00)$00007A04 00 $00007A02 00 $00007A00 B... $ A... $ C JMPE9$ A 04 JMP indir 25 FF$ C1... $ variable j variable ptr padding variable i procedure P2 procedure P1 main program program PascalProgram; type PProc = procedure; procedure P1; begin α end; jmp back procedure P2; begin β end; jmp back var i : word; ptr : PProc; j : word; begin γ 1 ptr ptr; P2; γ 2 end. A B C1 C2 $ ← $ – ($ ) E9 = relative jump $00007A04

$00007A08 00 (00) 00 (20) 00 (00)$00007A04 00 $00007A02 00 $00007A00 B... $ A... $ C2 00 0D F5 JMPE9$ A 04 JMP indir 25 FF$ C1... $ variable j variable ptr padding variable i procedure P2 procedure P1 main program program PascalProgram; type PProc = procedure; procedure P1; begin α end; jmp back procedure P2; begin β end; jmp back var i : word; ptr : PProc; j : word; begin γ 1 ptr ptr; P2; γ 2 end. A B C1 C2 $ ← $ – ($ ) = $ – $ B = $00000DF5 E9 = relative jump $00007A04