DOP - A CPU CORE FOR TEACHING BASICS OF COMPUTER ARCHITECTURE Miloš Bečvář, Alois Pluháček and Jiří Daněček Department of Computer Science and Engineering.

Slides:



Advertisements
Similar presentations
Syllabus Instructor: Dr. Wesam Ashour
Advertisements

Chapter 8: Central Processing Unit
Faculty of Electrical Engineering Czech Technical University in Prague
RISC / CISC Architecture By: Ramtin Raji Kermani Ramtin Raji Kermani Rayan Arasteh Rayan Arasteh An Introduction to Professor: Mr. Khayami Mr. Khayami.
Computer Organization and Architecture
Lab Assignment 2: MIPS single-cycle implementation
Spring 2008, Jan. 14 ELEC / Lecture 2 1 ELEC / Computer Architecture and Design Spring 2007 Introduction Vishwani D. Agrawal.
Term Project Overview Yong Wang. Introduction Goal –familiarize with the design and implementation of a simple pipelined RISC processor What to do –Build.
Instruction Level Parallelism (ILP) Colin Stevens.
Aug. 24, 2007ELEC 5200/6200 Project1 Computer Design Project ELEC 5200/6200-Computer Architecture and Design Fall 2007 Vishwani D. Agrawal James J.Danaher.
Project Testing; Processor Examples. Project Testing --thorough, efficient, hierarchical --done by “independent tester” --well-documented, repeatable.
Chapter XI Reduced Instruction Set Computing (RISC) CS 147 Li-Chuan Fang.
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
©UCB CS 162 Computer Architecture Lecture 1 Instructor: L.N. Bhuyan
Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are.
State Machines Timing Computer Bus Computer Performance Instruction Set Architectures RISC / CISC Machines.
PSU CS 106 Computing Fundamentals II Introduction HM 1/3/2009.
Reconfigurable Computing in the Undergraduate Curriculum Jason D. Bakos Dept. of Computer Science and Engineering University of South Carolina.
ECE Lecture 1 1 ECE 3561 Advanced Digital Design Department of Electrical and Computer Engineering The Ohio State University.
ECE 232 L1 Intro.1 Adapted from Patterson 97 ©UCBCopyright 1998 Morgan Kaufmann Publishers ECE 232 Hardware Organization and Design Lecture 1 Introduction.
COM181 Computer Hardware Ian McCrumRoom 5B18,
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Dept. of Computer Science Engineering Islamic Azad University of Mashhad 1 Computer System Architecture Dept. of Computer Science Engineering Islamic Azad.
CSCE 430/830 Course Project Guidelines By Dongyuan Zhan Feb. 4, 2010.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
Microprocessors Systems: Solutions manual to selected exercises Mile Stojcev, Tatjana Stankovic.
Introduction ENGIN 341 – Advanced Digital Design
IT253: Computer Organization Lecture 4: Instruction Set Architecture Tonga Institute of Higher Education.
Fall 2015, Aug 17 ELEC / Lecture 1 1 ELEC / Computer Architecture and Design Fall 2015 Introduction Vishwani D. Agrawal.
1 4.2 MARIE This is the MARIE architecture shown graphically.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use ECE/CS 352: Digital Systems.
COMPUTER ORGANIZATIONS CSNB123. COMPUTER ORGANIZATIONS CSNB123 Why do you need to study computer organization and architecture? Computer science and IT.
CS1104 – Computer Organization PART 2: Computer Architecture Lecture 12 Overview and Concluding Remarks.
Central Processing Unit. MAJOR COMPONENTS OF CPU.
1 Instruction Set Architecture (ISA) Alexander Titov 10/20/2012.
Computer Science 516 Week 4 Lecture Notes. Addresses Related to C++ pointers Not consistently covered in CS575 Essential to Computer Architecture.
CPE 626 Advanced VLSI Design Lecture 2 Aleksandar Milenkovic
1 Control Unit Operation and Microprogramming Chap 16 & 17 of CO&A Dr. Farag.
Introduction Computer System “An electronic device, operating under the control of instructions stored in its own memory unit, that can accept data (input),
MARIE: An Introduction to a Simple Computer. 2 MARIE Our model computer, the Machine Architecture that is Really Intuitive and Easy, MARIE, was designed.
Computer Systems Organization and Architecture.  This course covers the following topics: Introduction to computer evolution, technology trends, system.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Computer Architecture Souad MEDDEB
Lecture 0. Course Introduction Prof. Taeweon Suh Computer Science Education Korea University COM609 Topics in Embedded Systems.
Lecture 7: Overview Microprocessors / microcontrollers.
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO CS 219 Computer Organization.
Spring 2016, Jan 13 ELEC / Lecture 1 1 ELEC / Computer Architecture and Design Spring 2016 Introduction Vishwani D. Agrawal.
CISC. What is it?  CISC - Complex Instruction Set Computer  CISC is a design philosophy that:  1) uses microcode instruction sets  2) uses larger.
Computer Operation. Binary Codes CPU operates in binary codes Representation of values in binary codes Instructions to CPU in binary codes Addresses in.
Lecture 1: Introduction CprE 585 Advanced Computer Architecture, Fall 2004 Zhao Zhang.
Microprocessors CSE- 341 Dr. Jia Uddin Assistant Professor, CSE, BRAC University.
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 251 Introduction to Computer Organization.
Computer Organization and Architecture + Networks
Control Unit Lecture 6.
Advanced Topic: Alternative Architectures Chapter 9 Objectives
Morgan Kaufmann Publishers
Overview Introduction General Register Organization Stack Organization
Overview Instruction Codes Computer Registers Computer Instructions
T Computer Architecture, Autumn 2005
Morgan Kaufmann Publishers The Processor
Topic 5: Processor Architecture Implementation Methodology
Topic 5: Processor Architecture
COMP541 Datapaths I Montek Singh Mar 18, 2010.
Introduction to Microprocessor Programming
Overview Prof. Eric Rotenberg
Computer Architecture
Course Outline for Computer Architecture
Dept. of Computer & Information Sciences (Course Introduction)
A Level Computer Science Topic 5: Computer Architecture and Assembly
ELEC / Computer Architecture and Design Fall 2014 Introduction
Presentation transcript:

DOP - A CPU CORE FOR TEACHING BASICS OF COMPUTER ARCHITECTURE Miloš Bečvář, Alois Pluháček and Jiří Daněček Department of Computer Science and Engineering FEE Czech Technical University in Prague

Presentation Outline Computer Architecture Course Flow at CTU Computer and Logic Design Course Overview of seminars based on DOP Basic features of DOP HW and SW tools available Homework assignments Current experience and future work Conclusions

Undergraduate CA Course Flow Machine – Oriented Languages (x86 asm) Computer and Logic Design Logic Systems Computer Architecture Computer NetworksPeripheral Devices 4 th sem. 5 th sem. 6 th sem. 7 th sem.

Undergraduate CA Courses Computer and Logic Design -introductory computer organization -component based approach (“bottom – up”) -computer arithmetic, datapath components -controller design (hardwired and microprogrammed) -basics of ISA -error check and correction codes Target : Explain basic computer components, sequential CPU datapath and controller.

Undergraduate CA Courses (cont.) Computer Architecture -Quantitative principles of CA (“top-down” approach) -ISA design => RISC -Instruction pipelining (DLX, MIPS) -Basics of ILP (only introduction to superscalar, VLIW, dynamic scheduling) -Memory hierarchy design -Multiprocessor systems (introduction) Some topics covered in specialized courses “Peripheral Devices”, “Computer Networks”

Computer and Logic Design (CLD) Format : units per week (each unit is 45 minutes) 90 minutes lecture + 90 minutes seminar per week 14 weeks per semester

Seminars of CLD Halve of semester is devoted to “educational processor” – currently the processor is DOP The goal is to illustrate the theory from lectures on “real” examples Topics covered by the educational processor - registers, ALU, datapath organization, controller, CPU – memory interaction, basic cycle, interrupt service

Structure of CLD Seminars 1.Explanation of DOP organization in classroom (4 weeks) – “simulation of CPU design” 2. Laboratory seminar with DOP simulator (1 week) 3. Homework – implementation of a new instruction enhancing DOP ISA (solved independently by each student within weeks) 4. Optional seminar with DOP HW emulator board (1 week)

DOP Basic Features 16-bit accumulator-oriented ISA Minimal number of programmer-visible registers : 16-bit W (accumulator), S (source), D (destination), SP (stack pointer), PC (program counter) 8-bit loop counter L, 5 flags (CF, SF, OF, ZF, AF) creates a flags register F, L + F = PSW HW and SW interrupt Variable length encoding (minimize the size of program)

DOP System overview

DOP Datapath

DOP ALU

DOP Microprogramed Controller

DOP Classroom Seminars Explanation of DOP in classroom is useful because it also illustrates : Design flow from ISA to datapath and controller Principles of synchronous design Registers, ALU (computer arithmetic) Datapath organization Alternatives for controller design BUT : They are less interactive, sometimes almost “lecture-like” seminars.

DOP SW and HW tools C compiler SW models and simulators 1. Functional instruction cycle accurate 2. Functional clock cycle accurate – simulates microprogrammed controller 3. RTL VHDL model 4. Post P&R VHDL model with timing HW emulator board - allows DOP implementation and verification

SIMDOP - a Functional Simulator

DOP HW emulator board

Homework Assignment Based on DOP Write a microprogram for DOP implementing some “new instruction” Typical complexity between 10 – 20 microinctructions (clock cycles) Verify your microprogram on SIMDOP Write a report describing the instruction implementation and your experience Optionally verify your homework on HW emulator board

Benefits of Homework Writing of microprograms is useful way how the students can interact with the CPU and computer components It enforces understanding of basic CPU and computer functionality It explains the basic relation between programs, instructions and clock cycles Students claim that they understood the CPU functionality once they did the homework. Are explanatory seminars in the classroom useful ?

Conclusions Microprogramming is used as a method to understand simple CPUs and computers DOP – 16bit accumulator oriented CPU core with microprogrammed controller is used because : - it is simple and easy to explain - it corresponds to introductory level of course - it presents a consistent design which can be used in some simple embedded applications - it can be used as a nice counterexample for pipelining (it is very difficult to pipeline)

Conclusions (cont’.) Several models and tools were developed for supporting DOP New possibilities offers the HW emulator board (design a new component of datapath) Students in advanced design courses can compare DOP with Picoblaze, 8051, AVR and similar FPGA cores DOP can be used as a simple target for writing compilers (for introductory comp. course) Java version of DOP tools is prepared and become available on the internet