Multi-Core ßeta Computer Christopher Celio & Matt Long 6.111 Spring 2007.

Slides:



Advertisements
Similar presentations
Final Presentation Part-A
Advertisements

Sumitha Ajith Saicharan Bandarupalli Mahesh Borgaonkar.
ICS103 Programming in C Lecture 1: Overview of Computers & Programming
Lecture 1: Overview of Computers & Programming
Night Vision James Stacy Brian Herre Maurio Grando Eric Faller Chris Bawiec James Team Bender.
 Computer hardware components are the physical pieces of the computer.  The major hardware components of a computer are: – The central processing.
Memory Chapter 3. Slide 2 of 14Chapter 1 Objectives  Explain the types of memory  Explain the types of RAM  Explain the working of the RAM  List the.
Lecture 1: History of Operating System
1 Lecture 2: Review of Computer Organization Operating System Spring 2007.
1 School of Computing Science Simon Fraser University CMPT 300: Operating Systems I Dr. Mohamed Hefeeda.
RISC By Don Nichols. Contents Introduction History Problems with CISC RISC Philosophy Early RISC Modern RISC.
Computer System Overview
1/28/2004CSCI 315 Operating Systems Design1 Operating System Structures & Processes Notice: The slides for this lecture have been largely based on those.
Chapter 1 and 2 Computer System and Operating System Overview
Figure 1.1 Interaction between applications and the operating system.
Chapter 1 and 2 Computer System and Operating System Overview
Practical session 8 Assignment 3. Game of life A zero-player game. Simulates Evolution, of an infinite two-dimensional matrix’s cells. Each cell can be.
CSCE 313: Embedded Systems Multiprocessor Systems
COMPUTER ORGANIZATIONS CSNB123 May 2014Systems and Networking1.
Chapter 3.1:Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access.
TPB Models Development Status Report Presentation to the Travel Forecasting Subcommittee Ron Milone National Capital Region Transportation Planning Board.
Topics Introduction Hardware and Software How Computers Store Data
The Computer Systems By : Prabir Nandi Computer Instructor KV Lumding.
LOGO OPERATING SYSTEM Dalia AL-Dabbagh
 What is an operating system? What is an operating system?  Where does the OS fit in? Where does the OS fit in?  Services provided by an OS Services.
Operating System Review September 10, 2012Introduction to Computer Security ©2004 Matt Bishop Slide #1-1.
General Computer Science for Engineers CISC 106 Lecture 02 Dr. John Cavazos Computer and Information Sciences 09/03/2010.
 Design model for a computer  Named after John von Neuman  Instructions that tell the computer what to do are stored in memory  Stored program Memory.
CISC105 General Computer Science Class 1 – 6/5/2006.
Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley C H A P T E R 1 Introduction to Computers and Programming.
Composition and Evolution of Operating Systems Introduction to Operating Systems: Module 2.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Principles of I/0 hardware.
What have mr aldred’s dirty clothes got to do with the cpu
Chapter 2 Parallel Architecture. Moore’s Law The number of transistors on a chip doubles every years. – Has been valid for over 40 years – Can’t.
32-bit Pipelined RISC Processor Group 1 aka “Go Us” Alice Wang Ann Ho Jason Fong CS m152b TA: Young Cho Lab section 1.
Panzer Division bit Central Processing Unit.
32-bit Pipelined RISC Processor Group 1 aka “Go Us” Alice Wang Ann Ho Jason Fong CS m152b TA: Young Cho Lab section 1.
COMPUTER ORGANIZATIONS CSNB123. COMPUTER ORGANIZATIONS CSNB123 Why do you need to study computer organization and architecture? Computer science and IT.
Guide to Programming with Python Chapter One Getting Started: The Game Over Program.
Computer Organization and Architecture Tutorial 1 Kenneth Lee.
1 Computer Science of Graphics and Games MONT 105S, Spring 2009 Session 1 Simple Python Programs Using Print, Variables, Input.
Operating System Principles And Multitasking
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.
Modeling Big Data Execution speed limited by: –Model complexity –Software Efficiency –Spatial and temporal extent and resolution –Data size & access speed.
Computer Software Types Three layers of software Operation.
12/13/ _01 1 Computer Organization EEC-213 Computer Organization Electrical and Computer Engineering.
Figure 10.1 Color CRT and Phosphor Dots on Face of Display.
MULTICORE PROCESSOR TECHNOLOGY.  Introduction  history  Why multi-core ?  What do you mean by multicore?  Multi core architecture  Comparison of.
Lecture 1: Review of Computer Organization
COMPUTER ORGANIZATIONS CSNB123 NSMS2013 Ver.1Systems and Networking1.
Interrupt driven I/O Computer Organization and Assembly Language: Module 12.
Session 4 Teaching Computing to GCSE Level with Python.
1. COMPUTERS AND PROGRAMS Rocky K. C. Chang September 6, 2015 (Adapted from John Zelle’s slides)
CISC. What is it?  CISC - Complex Instruction Set Computer  CISC is a design philosophy that:  1) uses microcode instruction sets  2) uses larger.
©2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. Introduction to Computers and Computing.
Chapter 11 System Performance Enhancement. Basic Operation of a Computer l Program is loaded into memory l Instruction is fetched from memory l Operands.
CHAPTER 3 Router CLI Command Line Interface. Router User Interface User and privileged modes User mode --Typical tasks include those that check the router.
Software Design and Development Computer Architecture Computing Science.
Multi-Core CPUs Matt Kuehn. Roadmap ► Intel vs AMD ► Early multi-core processors ► Threads vs Physical Cores ► Multithreading and Multi-core processing.
Homework Reading Machine Projects Labs
Modeling Big Data Execution speed limited by: Model complexity
Applied Operating System Concepts
Topics Introduction Hardware and Software How Computers Store Data
Edexcel GCSE Computer Science Topic 15 - The Processor (CPU)
Computer Organisation
ICS103 Programming in C Lecture 1: Overview of Computers & Programming
Section 1: Introduction to Simics
Topics Introduction Hardware and Software How Computers Store Data
Morgan Kaufmann Publishers Computer Performance
Java Programming Introduction
Presentation transcript:

Multi-Core ßeta Computer Christopher Celio & Matt Long Spring 2007

Project Goals Building a functional multi-core computer around the Beta processor (think Labs on steroids) Building a functional multi-core computer around the Beta processor (think Labs on steroids) Visually demonstrate the benefits of multiple cores with “The Game of Life” Visually demonstrate the benefits of multiple cores with “The Game of Life” Managing access to memory amongst many Beta processors via a Memory Manager and possibly data caches. Managing access to memory amongst many Beta processors via a Memory Manager and possibly data caches.

The Game of Life A ‘zero-player’ game, user sets initial state, then observes cellular evolution A ‘zero-player’ game, user sets initial state, then observes cellular evolution For each generation, a cell is either live or dead based on its number of direct neighbors in the previous generation For each generation, a cell is either live or dead based on its number of direct neighbors in the previous generation Cells evolve indefinitely on an infinite (in our case 240 x 240) grid Cells evolve indefinitely on an infinite (in our case 240 x 240) grid Image courtesy of Wikipedia

System Architecture

The 2-Stage RISC Harvard Beta Processor

The OS & Software Using the mini OS as a starting point Using the mini OS as a starting point Software written in Assembly and compiled by BSIM Software written in Assembly and compiled by BSIM Python script creates software.v file, which instantiates BRAM and initializes the memory to the Beta machine code Python script creates software.v file, which instantiates BRAM and initializes the memory to the Beta machine code

How will the multi-cores communicate? Short-answer: software Short-answer: software Each CPU knows its ID Each CPU knows its ID and total_CPU_Count Game of Life: Game of Life: 4 steps per round - Compute all cells (all cpus read static image in Memory) - Wait (for all to finish) - Update all cells(refresh the static image) - Wait Image courtesy of Wikipedia

Display Controller

Two Display Modes Console Mode: Textual: 80 x 40 character display with prompt Textual: 80 x 40 character display with prompt Interact with the Operating System Interact with the Operating System Launch The Game of Life Launch The Game of Life Game Mode: The Game of Life cellular grid The Game of Life cellular grid System performance statistics System performance statistics generations/second generations/second instructions/second instructions/second processor usage processor usage

VGA Controller Module Driven by a clock with twice the frequency of the VGA pixel clock Driven by a clock with twice the frequency of the VGA pixel clock Allows memory access and data processing to occur within each cycle of the pixel clock Allows memory access and data processing to occur within each cycle of the pixel clock Reads display data from character and/or game state RAMs Reads display data from character and/or game state RAMs 128 Character ROM 128 Character ROM

Conclusion

Questions?

Why The Game of Life? Simple, yet computationally intense: Continually calculate the number of neighbors for each of 50,000+ cells to determine next generation Simple, yet computationally intense: Continually calculate the number of neighbors for each of 50,000+ cells to determine next generation Well suited for a multi-core system: Time needed to compute each generation decreases linearly as more processors are added Well suited for a multi-core system: Time needed to compute each generation decreases linearly as more processors are added Fun and interesting way to visually observe the benefits of multiple processors Fun and interesting way to visually observe the benefits of multiple processors