PROKNET: An IP/ATM processor University of Ottawa Rami Abielmona Samer Abielmona Mohamed Abou-Gabal Wael Hermas Dr. Voicu Groza Dr. Emil Petriu School.

Slides:



Advertisements
Similar presentations
CSE 413: Computer Networks
Advertisements

The CPU The Central Presentation Unit What is the CPU?
Switching Techniques In large networks there might be multiple paths linking sender and receiver. Information may be switched as it travels through various.
Dr. Rabie A. Ramadan Al-Azhar University Lecture 3
Control path Recall that the control path is the physical entity in a processor which: fetches instructions, fetches operands, decodes instructions, schedules.
MICROPROCESSORS TWO TYPES OF MODELS ARE USED :  PROGRAMMER’S MODEL :- THIS MODEL SHOWS FEATURES, SUCH AS INTERNAL REGISTERS, ADDRESS,DATA & CONTROL BUSES.
CEN 226: Computer Organization & Assembly Language :CSC 225 (Lec#3) By Dr. Syed Noman.
Chapter 5 Link Layer slides are modified from J. Kurose & K. Ross CPE 400 / 600 Computer Communication Networks Lecture 20.
Configuration. Mirjana Stojanovic Process of loading bitstream of a design into the configuration memory. Bitstream is the transmission.
Point-to-Point Network Switching Computer Networks Computer Networks Spring 2012 Spring 2012.
Internetworking Fundamentals (Lecture #2) Andres Rengifo Copyright 2008.
Input/Output and Communication
Pipelining By Toan Nguyen.
Router Architectures An overview of router architectures.
Gursharan Singh Tatla Transport Layer 16-May
Switching Techniques Student: Blidaru Catalina Elena.
Data Communications and Networking
Module 10. Internet Protocol (IP) is the routed protocol of the Internet. IP addressing enables packets to be routed from source to destination using.
Introduction 1 Lecture 23 Link Layer (Error Detection/Correction) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science.
5: DataLink Layer5-1 Chapter 5 Link Layer and LANs Part 1: Overview of the Data Link layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose,
Midterm Review - Network Layers. Computer 1Computer 2 2.
Basic Microcomputer Design. Inside the CPU Registers – storage locations Control Unit (CU) – coordinates the sequencing of steps involved in executing.
Dr. Rabie A. Ramadan Al-Azhar University Lecture 6
Chapter 2 – X.25, Frame Relay & ATM. Switched Network Stations are not connected together necessarily by a single link Stations are typically far apart.
High Performance Computing & Communication Research Laboratory 12/11/1997 [1] Hyok Kim Performance Analysis of TCP/IP Data.
Connectivity Devices Hakim S. ADICHE, MSc
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Introduction Slide 1 A Communications Model Source: generates.
The Layered Protocol Wrappers 1 Florian Braun, Henry Fu The Layered Protocol Wrappers: A Solution to Streamline Networking Functions to Process ATM Cells,
Network Applications and Layered Architectures Protocols OSI Reference Model.
1 Data Link Layer Lecture 20 Imran Ahmed University of Management & Technology.
Data and Computer Communications Chapter 10 – Circuit Switching and Packet Switching (Wide Area Networks)
TELE202 Lecture 5 Packet switching in WAN 1 Lecturer Dr Z. Huang Overview ¥Last Lectures »C programming »Source: ¥This Lecture »Packet switching in Wide.
Switching Techniques Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF.
Switching breaks up large collision domains into smaller ones Collision domain is a network segment with two or more devices sharing the same Introduction.
Data and Computer Communications Circuit Switching and Packet Switching.
Computer Networks with Internet Technology William Stallings
Part 2: Packet Transmission Packets, frames Local area networks (LANs) Wide area networks (LANs) Hardware addresses Bridges and switches Routing and protocols.
Data and Computer Communications Chapter 11 – Asynchronous Transfer Mode.
Chap 7. Register Transfers and Datapaths. 7.1 Datapaths and Operations Two types of modules of digital systems –Datapath perform data-processing operations.
Parallel architecture Technique. Pipelining Processor Pipelining is a technique of decomposing a sequential process into sub-processes, with each sub-process.
Packet switching network Data is divided into packets. Transfer of information as payload in data packets Packets undergo random delays & possible loss.
William Stallings Data and Computer Communications
Performed by:Yulia Turovski Lior Bar Lev Instructor: Mony Orbach המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory הטכניון - מכון טכנולוגי.
4/19/20021 TCPSplitter: A Reconfigurable Hardware Based TCP Flow Monitor David V. Schuehler.
Chapter 5 Link Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Link Layer introduction,
Stores the OS/data currently in use and software currently in use Memory Unit 21.
Chapter 4 MARIE: An Introduction to a Simple Computer.
Hot Interconnects TCP-Splitter: A Reconfigurable Hardware Based TCP/IP Flow Monitor David V. Schuehler
Computer Hardware A computer is made of internal components Central Processor Unit Internal External and external components.
Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh.
Fundamentals of Programming Languages-II
Group 1 chapter 3 Alex Francisco Mario Palomino Mohammed Ur-Rehman Maria Lopez.
© N. Ganesan, Ph.D., All rights reserved. Chapter Formatting of Data for Transmission.
بسم الله الرحمن الرحيم MEMORY AND I/O.
1 Basic Processor Architecture. 2 Building Blocks of Processor Systems CPU.
Switching. Circuit switching Message switching Packet Switching – Datagrams – Virtual circuit – source routing Cell Switching – Cells, – Segmentation.
1 3 Computing System Fundamentals 3.2 Computer Architecture.
1 load [2], [9] Transfer contents of memory location 9 to memory location 2. Illegal instruction.
Dr. Michael Nasief Lecture 2
Switching Techniques In large networks there might be multiple paths linking sender and receiver. Information may be switched as it travels through various.
Switching Techniques In large networks there might be multiple paths linking sender and receiver. Information may be switched as it travels through various.
Network Core and QoS.
Layered Protocol Wrappers Design and Interface review
Switching Techniques.
Transport Layer 9/22/2019.
COE 342: Data & Computer Communications (T042) Dr. Marwan Abu-Amara
Network Core and QoS.
Switching.
Presentation transcript:

PROKNET: An IP/ATM processor University of Ottawa Rami Abielmona Samer Abielmona Mohamed Abou-Gabal Wael Hermas Dr. Voicu Groza Dr. Emil Petriu School of Information Technology Engineering

Presentation Outline (1) Introduction Objectives Self-imposed Q&A’s IP ATM IP over ATM System breakdown System operation

Presentation Outline (2) Module architecture/functionality TLL module ALU module Trailer module CRC module SAR module CU module Achievements Limitations / Future work Summary

Project introduction Proknet = processor + network Capable of receiving incoming variable- sized Internet Protocol (IP) packets, and outputting fixed-sized ATM cells Design is outlined, architecture is overviewed and final results are presented

Project objectives Main goal: “To provide an IP over ATM segmentation entity” Design goals: Forum compliance; Efficient implementation; Digital design adherence; Speed of execution and Network processor functionality

What is IP? A communication protocol that Utilizes connectionless-based datagrams that are routed using hop-by-hop routing algorithms to transfer them; Total length of packet is variable, ranging from 20 bytes to 64k bytes; Each packet is treated independently; No error control or reliability mechanisms; Routing of every single packet is required which consumes greater processing power

What is ATM? A communication protocol that Utilizes connection-based cells that are guided using a pre-planned path between nodes; Total length of cell is fixed at 53 bytes; Each cell traverses the dedicated route for the entire length of the data transmission; Error control and reliability mechanisms are provided on a connection basis rather than on a cell basis, which reduces the required processing power

What is IP/ATM? Combination allows for networks around the world to present a service that is as reliable and dedicated as ATM, while utilizing IP’s greater transmission capability and reduced overheads IP over ATM requires one to be able to segment the variable IP-packets into 48-byte cells at the transmitter (our focus)

System Breakdown (1) Proknet is made up of the following Total Length Logic (TLL) module; Arithmetic Logic Unit (ALU) module; Trailer module; Cyclic Redundancy Check (CRC) module; Segmentation and Reassembly (SAR) module; Control Unit (CU) module

System Breakdown (2) Figure 1

System Operation Figure 2

TLL TRAILER CRC 1 st IP Packet 2 nd IP Packet SAR 48 byte cells UUCPITotal LengthCRC Memory Adding Padding bits 8 bytes Trailer Appended 0000 A complete Padded IP Packet with valid CRC A complete Padded IP Packet with valid CRC Sequence 1

TLL (Total Length Logic) Counter 11 TL (1/2 ) TL (2/2 ) Extractor Extractor extracts the 8 byte Total Length from the packet and stores it into TLR register. TLR 11 Pad Algorithm TRAILER Module Outputs the Number of Pad bits Needed to make the packet divisible by 48. Incoming Packets 1 st byte 2nd byte 1 3rd byte 1 4 th byte Sequence 2

TLL Module Functionality Extract the total length field from the IP packet Perform preliminary setups for the downstream modules in the pipeline Calculate the number of padding bits needed and store that value in a register

ALU Module 16-bit adder-subtractor unit Aids in the instruction execution, by residing on the datapath of the main processor and feeds the accumulator Designed using combinatorial ALU design techniques

Trailer Module Architecture Figure 3

Trailer Module Functionality A byte is written and another is read simultaneously. Incoming byte 8 byte FIFO CU_EOP is low. 0 1 CU_EOP switches high which means it’s time to output the Trailer. 8 byte Trailer Sequence 3

Trailer Module 1. When a byte of a packet is received from the TLL module, the control unit wries into the 8-byte FIFO memory 2. On the next clock cycle, the byte that was written in step 1, gets read and at the same time another byte is written into the FIFO 3. Steps 1 and 2 are repeated until the CU_EOP (End of Packet) signal is asserted by the CU, which indicates to start sending the trailer 4. When the counter is done, a Done_Trailer signal is sent to CU

CRC Module Architecture Figure 4

CRC Module Functionality 2 nd Packet A byte is written and another is read simultaneously. 4 byte FIFO CU_C_EOP is low. 1 st Packet 0 1 CU_C_EOP switches high which means it’s time to output the 4 bytes of valid CRC. 4 bytes of valid CRC CRC32 Algorithm UUCPITL 4 bytes of valid CRC Sequence 4

CRC Module 1. The Trailer module sends the first byte of packet, thus the CU writes it to the 4-byte FIFO 2. On the next clock cycle, a second packet comes in, the CU will write it in to the FIFO, and at the same time it will read the first byte 3. Steps 1 and 2 are repeated until CU_Done_Trailer is asserted, which indicates to start sending the CRC 4. Once all 4 bytes are placed on the pipeline, Done_Crc is sent to the CU

Initial IP Packet Structure Post-trailer Packet Structure In-memory Packet Structure Figure 5 Figure 6 Figure 7

SAR Module Functionality SEGMENTATION Message Trailer PAD Each is 48 bytes. Sequence 5

Control Unit Module Microprocessor chosen was an 8-bit one All instruction opcodes were limited to 8 bits, while memory was addressed with a 12-bit address bus The clock period was defined to be 40 ns, thus the clock frequency was 25 MHz The memory is a ternary-port memory, needed to perform three distinct operations upon the memory, all in one cycle. The operations are: Fetching an instruction for execution Write-out to memory of a byte from CRC module Read-out from memory a byte to SAR module

Memory Interface Figure 8

Achievements Proknet was implemented using the Verilog hardware description language The project has successfully gone through: Functional simulation Synthesis Timing simulation Space and time restrictions do not allow us to present simulation results, but can be provided upon request

Limitations / Future Work Proknet cannot handle more than 2 packets on the pipeline The CRC calculation was done on the packet and the trailer, excluding the padding bytes Reassembly side will complete SAR functionality Proknet could benefit from a parallel architecture, where multiple pipelines could be executing on various packets Queuing and scheduling will aid in the management of the multiple queues

Summary Network processor design was completed successfully Work can be smoothly extended to other technologies merging together in order to perform the same functionalities, such as ARM over frame relay Contact information:

Questions / Comments ?