X86 Architecture.

Slides:



Advertisements
Similar presentations
Slides created by: Professor Ian G. Harris Efficient C Code  Your C program is not exactly what is executed  Machine code is specific to each ucontroller.
Advertisements

EZ-COURSEWARE State-of-the-Art Teaching Tools From AMS Teaching Tomorrow’s Technology Today.
8. Code Generation. Generate executable code for a target machine that is a faithful representation of the semantics of the source code Depends not only.
Intel Computer Architecture Presented By Jessica Graziano.
Memory Image of Running Programs Executable file on disk, running program in memory, activation record, C-style and Pascal-style parameter passing.
1 ICS 51 Introductory Computer Organization Fall 2006 updated: Oct. 2, 2006.
Midterm Wednesday Chapter 1-3: Number /character representation and conversion Number arithmetic Combinational logic elements and design (DeMorgan’s Law)
Accessing parameters from the stack and calling functions.
Chapter 2.2 Machine Language.
RISC. Rational Behind RISC Few of the complex instructions were used –data movement – 45% –ALU ops – 25% –branching – 30% Cheaper memory VLSI technology.
X86 ISA Compiler Baojian Hua Front End source code abstract syntax tree lexical analyzer parser tokens IR semantic analyzer.
Assembly Language Lecture 0: Introduction. Outline What is Assembly Language? Why learn Assembly Language? Grade Text Book.
Lect 13-1 Lect 13: and Pentium. Lect Microprocessor Family  Microprocessor  Introduced in 1989  High Integration  On-chip 8K.
Cisc Complex Instruction Set Computing By Christopher Wong 1.
David Evans CS201j: Engineering Software University of Virginia Computer Science Lecture 18: 0xCAFEBABE (Java Byte Codes)
X86 Assembly Language Same Assembly Language for 8086,80286,80386,80486,Pentium I II and III Newer Processors add a few instructions but include all instructions.
Linked Lists in MIPS Let’s see how singly linked lists are implemented in MIPS on MP2, we have a special type of doubly linked list Each node consists.
Introduction CS 104: Applied C++ What is Programming? For some given problem: __________ a solution for it -- identify, organize & store the problem's.
CSC321 Making a Computer Binary number system → Boolean functions Boolean functions → Combinational circuits Combinational circuits → Sequential circuits.
Ch. 2 Data Manipulation 4 The central processing unit. 4 The stored-program concept. 4 Program execution. 4 Other architectures. 4 Arithmetic/logic instructions.
CS216: Program and Data Representation University of Virginia Computer Science Spring 2006 David Evans Lecture 22: Unconventional.
Chapter 2 Data Manipulation. © 2005 Pearson Addison-Wesley. All rights reserved 2-2 Chapter 2: Data Manipulation 2.1 Computer Architecture 2.2 Machine.
Lecture 7: 9/17/2002CS149D Fall CS149D Elements of Computer Science Ayman Abdel-Hamid Department of Computer Science Old Dominion University Lecture.
ELF binary # readelf -a foo.out ELF Header:
Differences in ISA Instruction length
Stack-based buffer overflows Yves Younan DistriNet, Department of Computer Science Katholieke Universiteit Leuven Belgium
A Look at Java. Categorize Java Which paradigm? Which paradigm? Scripting? Scripting? Declarative or procedural? Declarative or procedural? Which generation?
Introduction 1 (Read Chap. 1) What is Programming? For some given problem: design a solution for it -- identify, organize & store the problem's data --
COMPILERS CLASS 22/7,23/7. Introduction Compiler: A Compiler is a program that can read a program in one language (Source) and translate it into an equivalent.
Cs 147 Spring 2010 Meg Genoar. History Started to emerge in mid-1970s 1988 – RISC took over workstation market.
Stack Usage with MS Visual Studio Without Stack Protection.
Session 4: Atomic Language. Take Turing Machine Look back to 1 st session’s work on hardware, RISC and CISC register- based machines. Also look forward.
RISC / CISC Architecture by Derek Ng. Overview CISC Architecture RISC Architecture  Pipelining RISC vs CISC.
Computer Operation. Binary Codes CPU operates in binary codes Representation of values in binary codes Instructions to CPU in binary codes Addresses in.
Information Security - 2. CISC Vs RISC X86 is CISC while ARM is RISC CISC is Compiler’s heaven while RISC is Architecture’s heaven Orthogonal ISA in RISC.
ICS51 Introductory Computer Organization Accessing parameters from the stack and calling functions.
Instruction level parallelism And Superscalar processors By Kevin Morfin.
Multi-Core CPUs Matt Kuehn. Roadmap ► Intel vs AMD ► Early multi-core processors ► Threads vs Physical Cores ► Multithreading and Multi-core processing.
Topics to be covered Instruction Execution Characteristics
Assembly language.
Static and dynamic analysis of binaries
Computer Architecture and Assembly Language
ISA's, Compilers, and Assembly
Microprocessor and Assembly Language
Advanced Topic: Alternative Architectures Chapter 9 Objectives
Exploiting & Defense Day 2 Recap
An example of multiplying two numbers A = A * B;
Instruction Set Architectures
Computer Architecture and Assembly Language
Discussion Section – 11/3/2012
CISC AND RISC SYSTEM Based on instruction set, we broadly classify Computer/microprocessor/microcontroller into CISC and RISC. CISC SYSTEM: COMPLEX INSTRUCTION.
Introduction to Intel x86-64 Assembly, Architecture, Applications, & Alliteration Xeno Kovah – 2014 xkovah at gmail.
Lecture 2 Microprocessor Overview
مفاهیم بهره وري.
Computer Structure S.Abinash 11/29/ _02.
5.6 Real-World Examples of ISAs
Introduction to Intel x86-64 Assembly, Architecture, Applications, & Alliteration Xeno Kovah – 2014 xkovah at gmail.
Code::Block vs Visual C++
Chapter 2: Data Manipulation
Machine-Level Programming: Introduction
Chapter 2: Data Manipulation
Course Outline for Computer Architecture
Компьютерийн зохион байгуулалт, ассемблер хэл
Assignment due Write a program the generates a random integer expression, presents the two operands and the result to the user, and asks the user to tell.
CS334: MIPS language _Mars simulator Lab 2_1
ICS51 Introductory Computer Organization
Computer Architecture and System Programming Laboratory
Chapter 2: Data Manipulation
Computer Architecture and System Programming Laboratory
Computer Architecture and System Programming Laboratory
Presentation transcript:

X86 Architecture

Intel’s Dilemma All (most) software uses CISC code and needs a CISC ISA RISC is more efficient, CISC is cumbersome Pentium CISC Input machine code Translation CISC to RISC Execution as RISC

Pentium Architecture CISC RISC

Pentium Pipeline

// Test1.cpp : Defines the entry point for the console application. #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { int x,y,z; x = 3; 0041137E mov dword ptr [x],3 puts 3 into memory at address x y = 5; 00411385 mov dword ptr [y],5 puts 5 into memory at address y z = x + y; 0041138C mov eax,dword ptr [x] moves data at address x into eax 0041138F add eax,dword ptr [y] adds data at address y to eax 00411392 mov dword ptr [z],eax moves contents of eax to memory at y return 0; 00411395 xor eax,eax }