1 / 31

Smalltalk to teach Computer Architecture

Practical experiences and levels of teaching computer architecture using SmallTalk, simulators, and processors. Learn the basics, intermediate, and advanced concepts with user-friendly tools.

teresaortiz
Download Presentation

Smalltalk to teach Computer Architecture

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Smalltalk to teach Computer Architecture ESUG 2003 Meeting Bled, Slovenia. August 2003

  2. SmallTalk to teach Computer Architecture - ESUG 2003 Meeting - Bled, Slovenia. August 2003 Germán Fabregat Computer Architecture Group Departamento de Ingeniería y Ciencia de los Computadores University Jaume I Castellón, SPAIN

  3. SmallTalk to teach Computer Architecture - ESUG 2003 Meeting - Bled, Slovenia. August 2003 Practical experience

  4. SmallTalk to teach Computer Architecture - ESUG 2003 Meeting - Bled, Slovenia. August 2003 • I am a Computer Architect, not a Software Engineer • I was a C programmer, and sceptical about the use of Smalltalk except to play with

  5. SmallTalk to teach Computer Architecture - ESUG 2003 Meeting - Bled, Slovenia. August 2003 • I discovered Smalltalk during a stage at the UBO, some five years ago • I developed my last processor simulator during a week, and is used by more than 300 students per year

  6. SmallTalk to teach Computer Architecture - ESUG 2003 Meeting - Bled, Slovenia. August 2003 Using VisualWorks V5i.3 Smalltalk

  7. SmallTalk to teach Computer Architecture - ESUG 2003 Meeting - Bled, Slovenia. August 2003 Teaching Computer Architecture

  8. SmallTalk to teach Computer Architecture - ESUG 2003 Meeting - Bled, Slovenia. August 2003 Elementary level • Parts of a computer • Von Neumann and Harvard Architectures • Basics of the execution of programs

  9. SmallTalk to teach Computer Architecture - ESUG 2003 Meeting - Bled, Slovenia. August 2003 Intermediate level • Assembly programming • Input/output and exception management • Basics of the CPU internals

  10. SmallTalk to teach Computer Architecture - ESUG 2003 Meeting - Bled, Slovenia. August 2003 Advanced level • Control unit design • Instruction level parallelism • Superscalar and VLIW processors • Performance issues

  11. SmallTalk to teach Computer Architecture - ESUG 2003 Meeting - Bled, Slovenia. August 2003 The only affordable way to carry out practical -laboratory- work on the highlighted items is through simulation

  12. SmallTalk to teach Computer Architecture - ESUG 2003 Meeting - Bled, Slovenia. August 2003 The ideal laboratory environment • Homogeneous for all levels/simulators • Platform (OS) independent (more than 5 labs and 500 students) • Easy to modify, upgrade, customize, manipulate... • Complex things -VHDL- are not really required (nor desired)

  13. SmallTalk to teach Computer Architecture - ESUG 2003 Meeting - Bled, Slovenia. August 2003 The simulators

  14. SmallTalk to teach Computer Architecture - ESUG 2003 Meeting - Bled, Slovenia. August 2003 The First Development • General circuit simulator • Based on the classes • CPURegister • CPUCombinatorial

  15. SmallTalk to teach Computer Architecture - ESUG 2003 Meeting - Bled, Slovenia. August 2003 The First Development • Simulation engine based on value holders • Developed and tested in 2 months, with no previous Smalltalk programming experience

  16. SmallTalk to teach Computer Architecture - ESUG 2003 Meeting - Bled, Slovenia. August 2003

  17. SmallTalk to teach Computer Architecture - ESUG 2003 Meeting - Bled, Slovenia. August 2003 The Second Development • Second version of the previous simulator • Used to teach Control Unit design at the University of Bretagne Occidentale. Brest, France

  18. SmallTalk to teach Computer Architecture - ESUG 2003 Meeting - Bled, Slovenia. August 2003

  19. SmallTalk to teach Computer Architecture - ESUG 2003 Meeting - Bled, Slovenia. August 2003 The Last Development • Fully new simulator design • Used by more than 600 students during 2 academic years • Developed in a week (the basic version)

  20. SmallTalk to teach Computer Architecture - ESUG 2003 Meeting - Bled, Slovenia. August 2003 The Last Development • Basic Processor for the elementary level • The instruction set was not fully known during the development • Changes and upgrades were expected during the first weeks of use

  21. SmallTalk to teach Computer Architecture - ESUG 2003 Meeting - Bled, Slovenia. August 2003 The Last Development • The processor-like model was not suitable • Execution is responsibility of each instruction • Each instruction type is a subclass of the root class Instruction

  22. SmallTalk to teach Computer Architecture - ESUG 2003 Meeting - Bled, Slovenia. August 2003

  23. SmallTalk to teach Computer Architecture - ESUG 2003 Meeting - Bled, Slovenia. August 2003 The Last Development • New instructions were continuously added to fit the requirements of the teachers • The processor was easily upgraded to support interrupts and input/output • The executable image can be obtained at http:/mermaja.act.uji.es/otros/pb/pbintro.html

  24. SmallTalk to teach Computer Architecture - ESUG 2003 Meeting - Bled, Slovenia. August 2003

  25. SmallTalk to teach Computer Architecture - ESUG 2003 Meeting - Bled, Slovenia. August 2003 Why Smalltalk?

  26. SmallTalk to teach Computer Architecture - ESUG 2003 Meeting - Bled, Slovenia. August 2003 • Building rich user interfaces is fast and easy • All the simulators have the same look and feel • The applications are platform independent

  27. SmallTalk to teach Computer Architecture - ESUG 2003 Meeting - Bled, Slovenia. August 2003 • Simple systems are easy to build, upgrade and modify • Complex systems are easy to grow from simpler ones, adding components in a modular way

  28. SmallTalk to teach Computer Architecture - ESUG 2003 Meeting - Bled, Slovenia. August 2003 • Simulators can be built focusing on the important aspects, without worrying about data types, instruction coding... • Pre-built high level tools -parsers- can be added to allow user configurability • ...

  29. SmallTalk to teach Computer Architecture - ESUG 2003 Meeting - Bled, Slovenia. August 2003 The Future

  30. SmallTalk to teach Computer Architecture - ESUG 2003 Meeting - Bled, Slovenia. August 2003 • Smalltalk is well established in my research team • Other colleagues teaching Computer Architecture prefer using Java • While the new panacea for the teachers of programming is Python

  31. Smalltalk to teach Computer Architecture Germán Fabregat fabregat@icc.uji.es

More Related