Top Banner
Multi-Core Multi-Core ß ß eta eta Computer Computer Christopher Celio & Matt Christopher Celio & Matt Long Long 6.111 Spring 2007 6.111 Spring 2007
13

Multi-Core ß eta Computer

Jan 23, 2016

Download

Documents

oliana

Multi-Core ß eta Computer. Christopher Celio & Matt Long 6.111 Spring 2007. Project Goals. Building a functional multi-core computer around the Beta processor (think 6.004 Labs on steroids) Visually demonstrate the benefits of multiple cores with “The Game of Life” - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Multi-Core  ß eta Computer

Multi-Core Multi-Core ßßeta eta ComputerComputer

Christopher Celio & Matt Christopher Celio & Matt LongLong

6.111 Spring 20076.111 Spring 2007

Page 2: Multi-Core  ß eta Computer

Project GoalsProject Goals

Building a functional multi-core Building a functional multi-core computer around the Beta processor computer around the Beta processor (think 6.004 Labs on steroids)(think 6.004 Labs on steroids)

Visually demonstrate the benefits of Visually demonstrate the benefits of multiple cores with “The Game of multiple cores with “The Game of Life”Life”

Managing access to memory Managing access to memory amongst many Beta processors via a amongst many Beta processors via a Memory Manager and possibly data Memory Manager and possibly data caches.caches.

Page 3: Multi-Core  ß eta Computer

The Game of LifeThe Game of Life A ‘zero-player’ game, user sets A ‘zero-player’ game, user sets

initial state, then observes initial state, then observes cellular evolutioncellular evolution

For each generation, a cell is For each generation, a cell is either either live live or or deaddead based on its based on its number of direct neighbors in number of direct neighbors in the previous generationthe previous generation

Cells evolve indefinitely on an Cells evolve indefinitely on an infinite (in our case 240 x 240) infinite (in our case 240 x 240) gridgrid

Image courtesy of Wikipedia

Page 4: Multi-Core  ß eta Computer

System Architecture

Page 5: Multi-Core  ß eta Computer

The 2-Stage RISC Harvard Beta The 2-Stage RISC Harvard Beta ProcessorProcessor

Page 6: Multi-Core  ß eta Computer

The OS & SoftwareThe OS & Software

Using the 6.004 mini OS Using the 6.004 mini OS as a starting pointas a starting point

Software written in Software written in Assembly and compiled Assembly and compiled by BSIMby BSIM

Python script creates Python script creates software.v file, which software.v file, which instantiates BRAM and instantiates BRAM and initializes the memory to initializes the memory to the Beta machine codethe Beta machine code

Page 7: Multi-Core  ß eta Computer

How will the multi-cores How will the multi-cores communicate? communicate?

Short-answer: softwareShort-answer: software

Each CPU knows its ID Each CPU knows its ID and total_CPU_Countand total_CPU_Count

Game of Life:Game of Life:4 steps per round4 steps per round

- Compute all cells (all cpus read static image in - Compute all cells (all cpus read static image in Memory)Memory)- Wait (for all to finish)- Wait (for all to finish)- Update all cells- Update all cells (refresh the static image)(refresh the static image)- Wait- Wait

Image courtesy of Wikipedia

Page 8: Multi-Core  ß eta Computer

Display ControllerDisplay Controller

80 x 40Character RAM

DisplayController

(VGA)

128 CharacterROM

char_code char_data

char_code

position To Monitor

Game Of LifeState

Data from memory manager

cell_state

cell_num

Page 9: Multi-Core  ß eta Computer

Two Display ModesTwo Display Modes

Console Mode:Console Mode: Textual: 80 x 40 character display with promptTextual: 80 x 40 character display with prompt Interact with the Operating SystemInteract with the Operating System Launch The Game of LifeLaunch The Game of Life

Game Mode:Game Mode: The Game of Life The Game of Life cellular gridcellular grid System performance statisticsSystem performance statistics

generations/secondgenerations/second instructions/secondinstructions/second processor usageprocessor usage

Page 10: Multi-Core  ß eta Computer

VGA Controller ModuleVGA Controller Module

Driven by a clock with twice the Driven by a clock with twice the frequency of the VGA pixel clockfrequency of the VGA pixel clock

Allows memory access and data processing Allows memory access and data processing to occur within each cycle of the pixel clockto occur within each cycle of the pixel clock

Reads display data from character Reads display data from character and/or game state RAMsand/or game state RAMs

128 Character ROM128 Character ROM

Page 11: Multi-Core  ß eta Computer

ConclusionConclusion

Page 12: Multi-Core  ß eta Computer

Questions?Questions?

Page 13: Multi-Core  ß eta Computer

Why The Game of Life?Why The Game of Life? Simple, yet computationally intenseSimple, yet computationally intense: :

Continually calculate the number of Continually calculate the number of neighbors for each of 50,000+ cells to neighbors for each of 50,000+ cells to determine next generationdetermine next generation

Well suited for a multi-core systemWell suited for a multi-core system: Time : Time needed to compute each generation needed to compute each generation decreases linearly as more processors are decreases linearly as more processors are addedadded

Fun and interesting way to visually observe Fun and interesting way to visually observe the benefits of multiple processorsthe benefits of multiple processors