The Blitz-64 Home Page - LOGO

The Blitz-64 Computer System

“Rethinking Systems Architecture”

THIS VERSION IS OBSOLETE Link to Current Version

Emulator document added - 23 May 2021
ISA Quick Reference added - 31 May 2021
Minor ISA changes - 3 June 2021
Thread Scheduling document added - 30 August 2021


Overview

Blitz-64 is a complete computer design, including machine architecture, software tools, programming language, operating system, and hardware design files, as well as documentation and additional support material.

Features
  • Instruction Set Architecture (64-bit, floating point, memory mapping, exception handling, etc.)
  • KPL: Kernel Programming Langauge
  • Machine Code Emulator / Virtual Machine
  • Verilog Code for Hardware Implementations
  • Assembler, Linker, KPL Compiler, Emulator (implemented in C/C++)
  • Assembler, Linker, KPL Compiler (implemented in KPL)
  • Operating System: BlitzOS (including shell and command-line tools)
  • Documentation: Reference Manuals, Overviews, Examples
  • Videos
  • KPL and Assembly Code Examples
  • Open Source Licensing
Project Specifications
Project Status
ISA Quick Reference


This is Version 1.0, dated 3 June 2021

What's new? click here (Last updated 25 February 2021.)
Access to the previous version: Version 0.0


Documentation

  • Blitz-64: Summary of the Machine Architecture (18 pages)
    This document introduces the Instruction Set Architecture (ISA) of the Blitz-64 processor core. pdf

  • Blitz-64: Instruction Set Architecture - Reference Manual (295 pages)
    This document describes the Instruction Set Architecture (ISA) for the Blitz-64 processor core. It documents all the machine instructions as well as the assembly code notation for these instructions. pdf

  • Blitz-64: Assembler, Linker, and Object File Format (281 pages)
    This document describes the Assembler and Linker. It also describes tools "dumpobj" and "createlib" and well as the format of object, library, and executable files. pdf

  • KPL: A Kernel Programming Language (204 pages)
    This document describes the KPL programming language, which is an integral part of the Blitz-64 Computer System. KPL has many of the features in Java, C, and C++. pdf

  • KPL Syntax (18 pages)
    This document specifies the syntax of the programming language of the Blitz-64 Computer System. pdf

  • Blitz-64: Software Reference Manual (217 pages)
    This document describes the existing Blitz-64 software, including all the commonly used KPL functions. pdf

  • Blitz-64: Emulator Reference Manual (146 pages)
    This document describes the Blitz-64 virtual machine emulator. It starts with an example debugging session to illustrate the built-in debugging functionality. It also includes detailed descriptions of the commands. pdf

  • Blitz-64: Guide to Adding New Instructions (43 pages)
    This document reviews the steps required in order to add a new instruction to the Blitz-64 ISA. pdf

  • The Goals of the Blitz-64 Project (15 pages)
    The size and complexity of modern computing systems is terrifying. A single human mind can no longer understand the machines upon which our population, economy, and future depend. Is reliance on the legacy software monoculture sustainable in the current hostile cyber environment or is speculative innovation crucial for growth and evolution? Is efficiency always the ultimate objective or, for mission-critical applications, is it wiser to emphasize simplicity, reliability, and debugging support? Blitz-64 is a radical challenge to traditional design choices, an experimental foray into unexplored regions of hardware and software design space. pdf

Additional Documentation

  • Thread Scheduling Data Structures: An Empirical Study (50 pages)
    OS kernels employ a number of algorithms to schedule threads using different data structures, such as FIFO lists, sorted linked lists, red-black trees, and multiple run queues with one per scheduling priority. What are the relative costs associated with these different approaches? A number of empirical tests were performed and the results and conclusions are reported here. pdf

  • An Overview of Unicode including ASCII and UTF-8 (21 pages)
    Unicode is introduced and explained. The ASCII character set is listed. The UTF-8 encoding is introduced and explained. pdf

  • An Overview of Floating Point Numbers (64 pages)
    description pdf

Videos

  • An Overview of the ISA (16 mins)
  • Motivation and Philosophy (6 mins)
  • Blitz-64 Architecture (2 hours)

Code

Information
Files


About the Author

Harry H. Porter III, Ph.D.
Computer Science Department
Portland State University

Short Bio: click here
Website: web.cecs.pdx.edu/~harry/
Email: HHPorter3@gmail.com