Apparao Kodavanti Srinivasa Guntupalli

Slides:



Advertisements
Similar presentations
CPU Structure and Function
Advertisements

More Intel machine language and one more look at other architectures.
1 Lecture 3: Instruction Set Architecture ISA types, register usage, memory addressing, endian and alignment, quantitative evaluation.
Princess Sumaya Univ. Computer Engineering Dept. Chapter 2: IT Students.
Chapter 12 CPU Structure and Function. CPU Sequence Fetch instructions Interpret instructions Fetch data Process data Write data.
©UCR CS 162 Computer Architecture Lecture 8: Introduction to Network Processors (II) Instructor: L.N. Bhuyan
IXP1200 Microengines Apparao Kodavanti Srinivasa Guntupalli.
Introduction to ARM Architecture, Programmer’s Model and Assembler Embedded Systems Programming.
Performance Analysis of the IXP1200 Network Processor Rajesh Krishna Balan and Urs Hengartner.
Alyssa Concha Microprocessors Final Project ADSP – SHARC Digital Signal Processor.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 Intel IXP1200 Network Processor q Lab 12, Introduction to the Intel IXA q Jonathan Gunner, Sruti.
RISC. Rational Behind RISC Few of the complex instructions were used –data movement – 45% –ALU ops – 25% –branching – 30% Cheaper memory VLSI technology.
ARM programmer’s model and assembler Embedded Systems Programming.
©UCB CS 162 Computer Architecture Lecture 2: Introduction & Pipelining Instructor: L.N. Bhuyan
ECE 526 – Network Processing Systems Design IXP XScale and Microengines Chapter 18 & 19: D. E. Comer.
Group 5 Alain J. Percial Paula A. Ortiz Francis X. Ruiz.
Lect 13-1 Lect 13: and Pentium. Lect Microprocessor Family  Microprocessor  Introduced in 1989  High Integration  On-chip 8K.
Paper Review Building a Robust Software-based Router Using Network Processors.
Instruction Sets and Pipelining Cover basics of instruction set types and fundamental ideas of pipelining Later in the course we will go into more depth.
Basic Microcomputer Design. Inside the CPU Registers – storage locations Control Unit (CU) – coordinates the sequencing of steps involved in executing.
CSE 58x: Networking Practicum Instructor: Wu-chang Feng TA: Francis Chang.
Computer architecture Lecture 11: Reduced Instruction Set Computers Piotr Bilski.
Chapter 2 Summary Classification of architectures Features that are relatively independent of instruction sets “Different” Processors –DSP and media processors.
Memory Memory 10/ INF5060: Multimedia data communication using network processors.
designKilla: The 32-bit pipelined processor Brought to you by: Victoria Farthing Dat Huynh Jerry Felker Tony Chen Supervisor: Young Cho.
Implementing Click IP Router Kernel on VLIW Architectures Kanyu Mark Cao and Xiaodong Jin Many thanks to Scott Weber and Kees Vissers for the help on this.
ARM for Wireless Applications ARM11 Microarchitecture On the ARMv6 Connie Wang.
What is µP? “An integrated circuit containing … a central processing unit (CPU) and a means to access external memory” -- (Ball 2000)
IXP Lab 2012: Part 1 Network Processor Brief. NCKU CSIE CIAL Lab2 Outline Network Processor Intel IXP2400 Processing Element Register Memory Interface.
RISC and CISC. What is CISC? CISC is an acronym for Complex Instruction Set Computer and are chips that are easy to program and which make efficient use.
Next Generation ISA Itanium / IA-64. Operating Environments IA-32 Protected Mode/Real Mode/Virtual Mode - if supported by the OS IA-64 Instruction Set.
CISC and RISC 12/25/ What is CISC? acronym for Complex Instruction Set Computer Chips that are easy to program and which make efficient use of memory.
Fundamentals of Programming Languages-II
ISA's, Compilers, and Assembly
ECE 526 – Network Processing Systems Design Microengine Programming Chapter 23: D. E. Comer.
RISC / CISC Architecture by Derek Ng. Overview CISC Architecture RISC Architecture  Pipelining RISC vs CISC.
1 Basic Processor Architecture. 2 Building Blocks of Processor Systems CPU.
Address alignment When a word (4-bytes) is loaded or stored the memory address must be a multiple of four. This is called an alignment restriction. Addresses.
ARM7 Architecture What We Have Learned up to Now.
Operating Systems A Biswas, Dept. of Information Technology.
CPU (Central Processing Unit). The CPU is the brain of the computer. Sometimes referred to simply as the processor or central processor, the CPU is where.
Chapter 3 Getting Started. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. Objectives To give an overview of the structure of a contemporary.
Topics to be covered Instruction Execution Characteristics
Nios II Processor: Memory Organization and Access
Protection in Virtual Mode
ARM Embedded Systems
Lecture 6: Assembly Programs
Chapter 1: A Tour of Computer Systems
Visit for more Learning Resources
Gunjeet Kaur Dronacharya Group of institutions
A Closer Look at Instruction Set Architectures
ELEN 468 Advanced Logic Design
Lecture on Microcomputer
MIPS Assembly.
Number Representations and Basic Processor Architecture
The TMS320C6x Family of DSPs
8086 Ahad.
Morgan Kaufmann Publishers Computer Organization and Assembly Language
Architectural Overview
Figure 2- 1: ARM Registers Data Size
* From AMD 1996 Publication #18522 Revision E
Computer Architecture
University of Gujrat Department of Computer Science
Introduction to Microprocessor Programming
The ARM Instruction Set
ARM ORGANISATION.
CPU Structure CPU must:
A Level Computer Science Topic 5: Computer Architecture and Assembly
System Programming By Prof.Naveed Zishan.
Author: Xianghui Hu, Xinan Tang, Bei Hua Lecturer: Bo Xu
Presentation transcript:

Apparao Kodavanti Srinivasa Guntupalli IXP1200 Microengines Apparao Kodavanti Srinivasa Guntupalli

Network Processor IXP 1200 is a network processor that is optimized for networking and communication applications Has one StrongARM Core micro processor and six independent microengines. All the processors are RISC based C compiler and Tornado IDE for programming the StrongARM processor Intel SDK which has a developers’ workbench for programming the microengines

Microengines - Architecture The six microengines each provide the following features Hardware multithreaded support for four contexts – context switching is non preemptive Can hold 1024 instructions in the instruction control store Five stage pipeline enables 1 clock cycle per instruction when fully loaded

Microengine - architecture 128 32-bit GPRs general purpose registers 128 32-bit transfer registers – used to transfer data from and to memory Separate registers allow multithreading

Memory Hierarchy 3 different memory interfaces Scratchpad 4k bytes 12-14 cycles latency SRAM 8MB 16-20 cycles SDRAM 256 MB 33-40 cycles Min addressable unit – 4 bytes for scratchpad and SRAM , 8 bytes for SDRAM

Microengine - Software Programming Language- Microcode assembler IXP1200 SDK has Developer’s workbench – consists of simulator, assembler , linker and debugger Software libraries called IXP Blocks – ex- the checksum for an IP header can be calculated by using a IXP block

Assembler instructions ALU , rotate and shift instructions Branch and Jump instructions Immediate and Load Reference instructions – memory and hardware interfaces Miscellaneous – hash, context switch and NOP

A Microcode example Perform an endian swap on a longword, reverse the order of bytes. Used to convert big endian network bytes to little endian bytes used by IXP

Example code alu_shf[rswap,0,B,rbuf, <<rot8] Byte1 byte2 byte3 byte0 ld_field[rswap,100,rbuf,<<rot24] Byte3 byte2 byte1 byte0