Other Processors.

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

MIPS assembly. Review  Lat lecture, we learnt  addi,  and, andi, or, ori, xor, xori, nor,  beq, j, bne  An array is stored sequentially in the memory.
Computer Organization and Assembly Languages Yung-Yu Chuang
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.
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.
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.
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.
ARM processors Adam Hoover. ARM processors Family of 32-bit microcontroller processors ARM has changed their name several times: What is it? Who makes.
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
Intel Pentium II Processor Brent Perry Pat Reagan Brian Davis Umesh Vemuri.
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.
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.
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.
Precept 7: Introduction to IA-32 Assembly Language Programming
Chapter Overview General Concepts IA-32 Processor Architecture
Stack Operations Dr. Hadi AL Saadi.
Instruction Set Architectures
Homework Reading Lab with your assigned section starts next week
Assembly language.
IA32 Processors Evolutionary Design
x86 Processor Architecture
Aaron Miller David Cohen Spring 2011
Computer skills CPU Jakub Yaghob.
Basic Microprocessor Architecture
Assembly IA-32.
Homework Reading Continue work on mp1
Assembly Language for x86 Processors
COAL Chapter 1,2,3.
Instructions for Making Decisions
Introduction to Assembly Language
Introduction to Intel IA-32 and IA-64 Instruction Set Architectures
CS 301 Fall 2002 Computer Organization
Machine-Level Programming 2 Control Flow
MIPS Procedure Calls CSE 378 – Section 3.
The Microprocessor & Its Architecture
Week 2: Buffer Overflow Part 1.
Assembly Language (CSW 353)
Computer Architecture CST 250
MIPS assembly.
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

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 }

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

Basic Program Execution Registers 6/26/2018 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/2007 11:23:31 PM week06-3.ppt CDA3100 week06-3.ppt

General Purpose and Segment Registers 6/26/2018 General Purpose and Segment Registers 9/27/2007 11:23:32 PM week06-3.ppt CDA3100 week06-3.ppt

General Purpose Registers 6/26/2018 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) CDA3100 week06-3.ppt

Alternative General Purpose Register Names 6/26/2018 Alternative General Purpose Register Names CDA3100 week06-3.ppt

6/26/2018 Segment Registers CDA3100 week06-3.ppt

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 16 64-bit registers The 128-bit packed single-precision floating-point data type, which allows four single-precision operations to be performed simultaneously 10/7/2007 9:37:48 PM week07-1.ppt

GCC Inline Assembly GCC inline assembly allows us to insert inline functions written in assembly http://www.ibiblio.org/gferg/ldp/GCC-Inline-Assembly-HOWTO.html GCC provides the utility to specify input and output operands as C variables Basic inline Extended inline assembly 10/7/2007 10:01:43 PM week07-1.ppt

GCC Inline Assembly A simple example: 10/7/2007 10:03:01 PM week07-1.ppt

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 http://www.ing.unibs.it/~openfwwf/