Principles of Computers 16th Lecture

Slides:



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

Introduction to Microprocessors and Microcomputers.
Chapter 1 An Introduction To Microprocessor And Computer
Princess Sumaya Univ. Computer Engineering Dept. د. بســام كحـالــه Dr. Bassam Kahhaleh.
The Evolution of RISC A Three Party Rivalry By Jenny Mitchell CS147 Fall 2003 Dr. Lee.
Princess Sumaya University
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.
CE6105 Linux 作業系統 Linux Operating System 許 富 皓. Chapter 2 Memory Addressing.
CS2422 Assembly Language & System Programming September 22, 2005.
©UCB CS 161 Ch 7: Memory Hierarchy LECTURE 24 Instructor: L.N. Bhuyan
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.
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.
1 Linux Operating System 許 富 皓. 2 Memory Addressing.
PC hardware and x86 programming Lec 2 Jinyang Li.
Oct. 25, 2000Systems Architecture I1 Systems Architecture I (CS ) Lecture 9: Alternative Instruction Sets * Jeremy R. Johnson Wed. Oct. 25, 2000.
Small constants are used quite frequently (50% of operands) e.g., A = A + 5; B = B + 1; C = C - 18; Solutions? Why not? put 'typical constants' in memory.
Architecture of Microprocessor
CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Principles of Computers 14 th Lecture Pavel Ježek, Ph.D.
Evolução dos Microprocessadores Afonso Ferreira Miguel.
CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Principles of Computers 11 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.
Computer Operation. Binary Codes CPU operates in binary codes Representation of values in binary codes Instructions to CPU in binary codes Addresses in.
1 x86 Programming Model Microprocessor Computer Architectures Lab Components of any Computer System Control – logic that controls fetching/execution of.
8.1 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Example: The Intel 32 and 64-bit Architectures Dominant industry chips.
1 Instructions and Addressing Course website:
Differences of 8086,80386,i7.
Memory The programmer’s model .text, .data .ktext, .kdata
Big-Endians Little-Endians and Bi-Endians
Lecture on Real Mode Memory Addressing
ECE232: Hardware Organization and Design
Memory The programmer’s model .text, .data .ktext, .kdata
Memory Parts of a computer
Virtual Memory Use main memory as a “cache” for secondary (disk) storage Managed jointly by CPU hardware and the operating system (OS) Programs share main.
Address Translation Mechanism of 80386
Lecture on Microcomputer
QuickPath interconnect GB/s GB/s total To I/O
An example of multiplying two numbers A = A * B;
Basic Computer Organization
12-Dec-11 SYSTEM BUS.
Principles of Computers 18th Lecture
Flow Path Model of Superscalars
عمارة الحاسب.
ECE/CS 552: Instruction Sets – MIPS
Pentium Microprocessor
Intel
Intel Microprocessor.
Operating Modes UQ: State and explain the operating modes of X86 family of processors. Show the mode transition diagram highlighting important features.(10.
Paging Lecture November 2018.
Some Real Machines Intel® M80C186 CHMOS High Integration 16-bit Microprocessor Intel® Itanium™ 64-bit Microprocessor (IA-64)
1 Overview of Microprocessors A. Parveen. 2 Lecture overview Introduction to microprocessors Instruction set architecture Typical commercial microprocessors.
Little Endian vs. Big Endian (Intel vs. Motorola)
Today’s agenda Hardware architecture and runtime system
What is Computer Architecture?
Computer Concept and Practice
CS334: MIPS language _Mars simulator Lab 2_1
Virtual Memory Use main memory as a “cache” for secondary (disk) storage Managed jointly by CPU hardware and the operating system (OS) Programs share main.
Lecture 3 (Microprocessor)
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:

Principles of Computers 16th Lecture Pavel Ježek, Ph.D. pavel.jezek@d3s.mff.cuni.cz

Examples of CPU Architectures CPU name Data width Logical address width Current instruction register(s) Physical address width Special mode 8-bit 6502 MOS 6502 8-bit data 16-bit PC (64 kB) x86-16 x86 Intel 8088 16 + 16 bit CS:IP 20-bit (1 MB) Intel 8086 16-bit data Intel 80286 24-bit (16 MB) protected 16 (+ real) mode 32-bit IA-32 INTEL32 Intel 80386 32-bit data EIP (4 GB) protected 32 mode Intel Pentium Pro 64-bit data 36-bit (64 GB) PAE 64-bit x64 x86-64 AMD64 INTEL64 EM64T AMD Opteron (Intel Pentium 4) RIP 40-bit (1 TB) long mode 2015 current (e.g. Core i7) AMD: 48b → 256 TB Intel: 46b → 64 TB 32-bit ARM 64-bit ARM 32b MIPS MIPS64 PowerPC (PPC) 32b Motorola 68000 (68k)

Aligned and Misaligned Accesses 16b word 16b word 16b word 16b word 16b word 16b word 1 2 3 4 5 addr. space of “16-bit memory” translation: WordAddr := ByteAddr div 2 1 2 3 4 5 6 7 8 9 A B CPU addr. space (always byte addr) byte translation: WordAddr := ByteAddr div 4 1 2 addr. space of “32-bit memory” 32b word 32b word 32b word translation: WordAddr := ByteAddr div 8 1 “64-bit mem” 64b word 64b word

Aligning a 2 Byte Value 1 2 3 4 5 1 2 3 4 5 6 7 8 9 A B 1 2 1 16b word 16b word 16b word 16b word 16b word 16b word 1 2 3 4 5 addr. space of “16-bit memory” translation: WordAddr := ByteAddr div 2 1 2 3 4 5 6 7 8 9 A B CPU addr. space (always byte addr) byte translation: WordAddr := ByteAddr div 4 1 2 addr. space of “32-bit memory” 32b word 32b word 32b word translation: WordAddr := ByteAddr div 8 1 “64-bit mem” 64b word 64b word

Aligning a 2 Byte Value 1 2 3 4 5 1 2 3 4 5 6 7 8 9 A B 1 2 1 16b word 16b word 16b word 16b word 16b word 16b word 1 2 3 4 5 addr. space of “16-bit memory” valid alignments for 2 byte access on memory bus with 2 byte (16 bit) data bus ↓ operation size = data bus size valid alignments = alignment on 2 byte boundary translation: WordAddr := ByteAddr div 2 1 2 3 4 5 6 7 8 9 A B CPU addr. space (always byte addr) byte translation: WordAddr := ByteAddr div 4 1 2 addr. space of “32-bit memory” 32b word 32b word 32b word translation: WordAddr := ByteAddr div 8 1 “64-bit mem” 64b word 64b word

Aligning a 4 Byte Value 1 2 3 4 5 1 2 3 4 5 6 7 8 9 A B 1 2 1 16b word 16b word 16b word 16b word 16b word 16b word 1 2 3 4 5 addr. space of “16-bit memory” translation: WordAddr := ByteAddr div 2 1 2 3 4 5 6 7 8 9 A B CPU addr. space (always byte addr) byte translation: WordAddr := ByteAddr div 4 1 2 addr. space of “32-bit memory” 32b word 32b word 32b word translation: WordAddr := ByteAddr div 8 1 “64-bit mem” 64b word 64b word

Aligning a 4 Byte Value 1 2 3 4 5 1 2 3 4 5 6 7 8 9 A B 1 2 1 16b word 16b word 16b word 16b word 16b word 16b word 1 2 3 4 5 addr. space of “16-bit memory” translation: WordAddr := ByteAddr div 2 1 2 3 4 5 6 7 8 9 A B CPU addr. space (always byte addr) byte valid alignments for 4 byte access on memory bus with 4 byte (32 bit) data bus ↓ operation size = data bus size valid alignments = alignment on 4 byte boundary translation: WordAddr := ByteAddr div 4 1 2 addr. space of “32-bit memory” 32b word 32b word 32b word translation: WordAddr := ByteAddr div 8 1 “64-bit mem” 64b word 64b word