Other Processors. Having learnt MIPS, we can learn other major processors. Not going to be able to cover everything; will pick on the interesting aspects.

Slides:



Advertisements
Similar presentations
Chapter 2 (cont.) An Introduction to the 80x86 Microprocessor Family Objectives: The different addressing modes and instruction types available The usefulness.
Advertisements

Computer Organization and Assembly Languages Yung-Yu Chuang
Intel MP.
Chapter 1 Background System Software Chih-Shun Hsu
Lecture 11 – Code Generation Eran Yahav 1 Reference: Dragon 8. MCD
IA-32 Processor Architecture
© 2006 Pearson Education, Upper Saddle River, NJ All Rights Reserved.Brey: The Intel Microprocessors, 7e Chapter 2 The Microprocessor and its Architecture.
PC hardware and x86 3/3/08 Frans Kaashoek MIT
1 ICS 51 Introductory Computer Organization Fall 2006 updated: Oct. 2, 2006.
CS2422 Assembly Language & System Programming November 28, 2006.
IA-32 Architecture COE 205 Computer Organization and Assembly Language Dr. Aiman El-Maleh College of Computer Sciences and Engineering King Fahd University.
Assembly Language for Intel-Based Computers Chapter 2: IA-32 Processor Architecture Kip Irvine.
Assembly Language Basic Concepts IA-32 Processor Architecture.
Microprocessors Introduction to ia32 Architecture Jan 31st, 2002.
ICS312 Set 3 Pentium Registers. Intel 8086 Family of Microprocessors All of the Intel chips from the 8086 to the latest pentium, have similar architectures.
Microprocessor Systems Design I Instructor: Dr. Michael Geiger Spring 2014 Lecture 4: x86 memory.
Web siteWeb site ExamplesExamples Irvine, Kip R. Assembly Language for Intel-Based Computers, Stack Operations Runtime Stack PUSH Operation POP.
© 2006 Pearson Education, Upper Saddle River, NJ All Rights Reserved.Brey: The Intel Microprocessors, 7e Chapter 2 The Microprocessor and its Architecture.
The ISA Level The Instruction Set Architecture (ISA) is positioned between the microarchtecture level and the operating system level.  Historically, this.
ARM processors Adam Hoover. ARM processors Family of 32-bit microcontroller processors ARM has changed their name several times: What is it? Who makes.
High-Level Language Interface Chapter 17 S. Dandamudi.
CEG 320/520: Computer Organization and Assembly Language ProgrammingIntel Assembly 1 Intel IA-32 vs Motorola
Assembly Language for Intel-Based Computers, 4 th Edition Chapter 2: IA-32 Processor Architecture (c) Pearson Education, All rights reserved. You.
6.828: PC hardware and x86 Frans Kaashoek
The Pentium Processor.
The Pentium Processor Chapter 3 S. Dandamudi To be used with S. Dandamudi, “Introduction to Assembly Language Programming,” Second Edition, Springer,
The Pentium Processor Chapter 3 S. Dandamudi.
Intel Pentium II Processor Brent Perry Pat Reagan Brian Davis Umesh Vemuri.
1 GCC Inline Assembly (asm) Example 1 : assignment System oriented Programming, B. Hirsbrunner, diuf.unifr.ch/pai/spSession 14 – 26 May 2015 Ref: B. Hirsbrunner:
Fall 2012 Chapter 2: x86 Processor Architecture. Irvine, Kip R. Assembly Language for x86 Processors 6/e, Chapter Overview General Concepts IA-32.
The ISA Level The Instruction Set Architecture (ISA) is positioned between the microarchtecture level and the operating system level.  Historically, this.
The x86 Architecture Lecture 15 Fri, Mar 4, 2005.
IA32 (Pentium) Processor Architecture. Processor modes: 1.Protected (mode we will study) – 32-bit mode – 32-bit (4GB) address space 2.Virtual 8086 modes.
1 ICS 51 Introductory Computer Organization Fall 2009.
Overview of Processor Techniques A brief look at CDA 3101 and CDA 5155.
26-Nov-15 (1) CSC Computer Organization Lecture 6: Pentium IA-32.
Oct. 25, 2000Systems Architecture I1 Systems Architecture I (CS ) Lecture 9: Alternative Instruction Sets * Jeremy R. Johnson Wed. Oct. 25, 2000.
Chapter 2 Parts of a Computer System. 2.1 PC Hardware: Memory.
Introduction to Assembly II Abed Asi Extended System Programming Laboratory (ESPL) CS BGU Fall 2013/2014.
Computers organization & Assembly Language Chapter 1 THE 80x86 MICROPROCESSOR.
Sahar Mosleh California State University San MarcosPage 1 Intel IA-32 Architecture This lecture describes the architecture of the Intel IA-32 processor.
X86 Assembly Language We will be using the nasm assembler (other assemblers: MASM, as, gas)
Introduction to Intel IA-32 and IA-64 Instruction Set Architectures.
What is a processor ? A “Processor," is a small chip that resides in computers and other electronic devices. It also called “Brain ” of a computer. It.
Week 6 Dr. Muhammad Ayaz Intro. to Assembly Language.
BITS Pilani Pilani Campus Pawan Sharma Lecture / ES C263 INSTR/CS/EEE F241 Microprocessor Programming and Interfacing.
The Microprocessor & Its Architecture A Course in Microprocessor Electrical Engineering Department Universitas 17 Agustus 1945 Jakarta.
Assembly Language Addressing Modes. Introduction CISC processors usually supports more addressing modes than RISC processors. –RISC processors use the.
Chapter Overview General Concepts IA-32 Processor Architecture
Instruction Set Architectures
Homework Reading Lab with your assigned section starts next week
Assembly language.
x86 Processor Architecture
Other Processors.
Aaron Miller David Cohen Spring 2011
Basic Microprocessor Architecture
Assembly IA-32.
Homework Reading Continue work on mp1
COAL Chapter 1,2,3.
Instructions for Making Decisions
Introduction to Intel IA-32 and IA-64 Instruction Set Architectures
CS 301 Fall 2002 Computer Organization
MIPS Procedure Calls CSE 378 – Section 3.
The Microprocessor & Its Architecture
Week 2: Buffer Overflow Part 1.
Computer Architecture CST 250
Other Processors Having learnt MIPS, we can learn other major processors. Not going to be able to cover everything; will pick on the interesting aspects.
CSC 497/583 Advanced Topics in Computer Security
Computer Architecture and System Programming Laboratory
MIPS instructions.
Presentation transcript:

Other Processors

Having learnt MIPS, we can learn other major processors. Not going to be able to cover everything; will pick on the interesting aspects.

ARM Advanced RISC Machine The major processor for mobile and embedded electronics, like iPad Simple, low power, low cost

ARM One of the most interesting features is the conditional execution. That is, an instruction will execute if some condition is true, otherwise it will not do anything (turned into a nop).

ARM A set of flags, showing the relation of two numbers : gt, equal, lt. – cmp Ri, Rj # set the flags depending on the values in Ri and Rj – subgt Ri, Ri, Rj # i = i – j if flag is gt – sublt Ri, Ri, Rj # i = i – j if flag is lt – bne Label # goto Label if flag is not equal

ARM How to implement while (i != j) { if (i > j) i -= j; else j -= i; }

ARM In MIPS, assume i is in $s0, j in $s1: Loop:beq $s0, $s1, Done slt $t0, $s0, $s1 beq $t0, $0, L1 sub $s0, $s0, $s1 j Loop L1:sub $s1, $s1, $s0 L2:j Loop

ARM In ARM, Loop: cmp Ri, Rj subgt Ri, Ri, Rj sublt Rj, Rj, Ri bne Loop

ARM Discussion: Given the MIPS hardware setup, can we support conditional execution? How? Will have to introduce the cmp instruction

Intel Processor

9/27/ :23:31 PMweek06-3.ppt11 Basic Program Execution Registers General purpose registers – There are eight registers (note that they are not quite general purpose as some instructions assume certain registers) Segment registers – They define up to six segment selectors EIP register – Effective instruction pointer EFLAGS – Program status and control register

9/27/ :23:32 PMweek06-3.ppt12 General Purpose and Segment Registers

13 General Purpose Registers EAX — Accumulator for operands and results data EBX — Pointer to data in the DS segment ECX — Counter for string and loop operations EDX — I/O pointer ESI — Pointer to data in the segment pointed to by the DS register; source pointer for string operations EDI — Pointer to data (or destination) in the segment pointed to by the ES register; destination pointer for string operations ESP — Stack pointer (in the SS segment) EBP — Pointer to data on the stack (in the SS segment)

14 Alternative General Purpose Register Names

15 Segment Registers

10/7/2007 9:37:48 PMweek07-1.ppt16 SIMD To improve performance, Intel adopted SIMD (single instruction multiple data) instructions. Streaming SIMD Extensions (SSE) introduced eight 128-bit data registers (called XMM registers) – In 64-bit modes, they are available as bit registers – The 128-bit packed single-precision floating-point data type, which allows four single-precision operations to be performed simultaneously

10/7/ :01:43 PMweek07-1.ppt17 GCC Inline Assembly GCC inline assembly allows us to insert inline functions written in assembly – – GCC provides the utility to specify input and output operands as C variables – Basic inline – Extended inline assembly

10/7/ :03:01 PMweek07-1.ppt18 GCC Inline Assembly A simple example:

Using SSE #define mulfvec4_SSE(a, b, c) \ { \ __asm__ __volatile__ ("movups %1, %xmm0 \n\t" \ "movups %2, %xmm1 \n\t" \ "mulps %xmm0, %xmm1 \n\t" \ "movups %xmm1, %0 \n\t" \ :"=m" (c) \ :"m" (a), \ "m" (b)); \ }

BCM4306 Wireless Card Processor

A Part of the Code from