The Architecture of Konrad Zuse’s Early Computers Raúl Rojas Freie Universität Berlin.

Slides:



Advertisements
Similar presentations
Machine cycle.
Advertisements

ADDER, HALF ADDER & FULL ADDER
Stored Program Architecture
PIPELINE AND VECTOR PROCESSING
REGISTER TRANSFER LANGUAGE (RTL)
Machine Instructions Operations
Chapter 2 Data Manipulation Dr. Farzana Rahman Assistant Professor Department of Computer Science James Madison University 1 Some sldes are adapted from.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Introduction Part 2: Data types and addressing modes dr.ir. A.C. Verschueren.
Computer Organization CS224 Fall 2012 Lesson 19. Floating-Point Example  What number is represented by the single-precision float …00 
CHAPTER 4 COMPUTER SYSTEM – Von Neumann Model
The Logic Machine We looked at programming at the high level and at the low level. The question now is: How can a physical computer be built to run a program?
Midterm Wednesday Chapter 1-3: Number /character representation and conversion Number arithmetic Combinational logic elements and design (DeMorgan’s Law)
By Tien Phung CS 147 Dr. Sin-Min Lee. High-level Languages Assembly Languages Machine Languages.
COE 308: Computer Architecture (T032) Dr. Marwan Abu-Amara Integer & Floating-Point Arithmetic (cont.) (Appendix A, Computer Architecture: A Quantitative.
Recap – Our First Computer WR System Bus 8 ALU Carry output A B S C OUT F 8 8 To registers’ input/output and clock inputs Sequence of control signal combinations.
Choice for the rest of the semester New Plan –assembler and machine language –Operating systems Process scheduling Memory management File system Optimization.
Review CPSC 321 Andreas Klappenecker. Administrative Issues Midterm is on October 12 Allen Parish’s help session Friday 10:15-12:15.
COE 308: Computer Architecture (T041) Dr. Marwan Abu-Amara Integer & Floating-Point Arithmetic (Appendix A, Computer Architecture: A Quantitative Approach,
Computers Central Processor Unit. Basic Computer System MAIN MEMORY ALUCNTL..... BUS CONTROLLER Processor I/O moduleInterconnections BUS Memory.
Assembly & Machine Languages
5-Stage Pipelining Fetch Instruction (FI) Fetch Operand (FO) Decode Instruction (DI) Write Operand (WO) Execution Instruction (EI) S3S3 S4S4 S1S1 S2S2.
Computer Architecture Lecture 3: Logical circuits, computer arithmetics Piotr Bilski.
Computer Fundamentals Northern College Diploma Philip Bird.
Machine Instruction Characteristics
Eng.Samra Essalaimeh Philadelphia University 2013/ nd Semester PIC Microcontrollers.
Computer Systems Organization CS 1428 Foundations of Computer Science.
Floating Point. Agenda  History  Basic Terms  General representation of floating point  Constructing a simple floating point representation  Floating.
CPS3340 COMPUTER ARCHITECTURE Fall Semester, /14/2013 Lecture 16: Floating Point Instructor: Ashraf Yaseen DEPARTMENT OF MATH & COMPUTER SCIENCE.
CSC 3210 Computer Organization and Programming Chapter 1 THE COMPUTER D.M. Rasanjalee Himali.
Pipeline Extensions prepared and Instructed by Shmuel Wimer Eng. Faculty, Bar-Ilan University MIPS Extensions1May 2015.
Computer Architecture And Organization UNIT-II General System Architecture.
Module : Algorithmic state machines. Machine language Machine language is built up from discrete statements or instructions. On the processing architecture,
Computer Architecture and Organization
Little Man Computer When your program gets “translated to machine code” all 0’s & 1’s The translator must know the language of the program (java) as well.
Principles of Linear Pipelining
I/O Memory Reg File ALU Program Counter Instruction Register Control Interconnect Control 1)PC contains mem address of Instruction, 2)From memory, instr.
A summary of TOY. 4 Main Components Data Processor Control Processor Memory Input/Output Device.
Computer Architecture EKT 422
© GCSE Computing Candidates should be able to:  describe the characteristics of an assembler Slide 1.
Represents different voltage levels High: 5 Volts Low: 0 Volts At this raw level a digital computer is instructed to carry out instructions.
Dale & Lewis Chapter 5 Computing components
Von Neumann Model Computer Organization I 1 September 2009 © McQuain, Feng & Ribbens The Stored Program Computer 1945: John von Neumann –
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
What is a program? A sequence of steps
Data Representation. How is data stored on a computer? Registers, main memory, etc. consists of grids of transistors Transistors are in one of two states,
27 October 2015 Birkbeck College, U. London1 Introduction to Computer Systems Lecturer: Steve Maybank Department of Computer Science and Information Systems.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
Recap – Our First Computer WR System Bus 8 ALU Carry output A B S C OUT F 8 8 To registers’ read/write and clock inputs Sequence of control signal combinations.
Computer Architecture & Operations I
Programming in Machine Language
Chapter 4 The Von Neumann Model
Chapter 4 The Von Neumann Model
Lecture 10: Floating Point, Digital Design
Chapter 4 The Von Neumann Model
Instructor: Alexander Stoytchev
CSCE 350 Computer Architecture
EEL 3705 / 3705L Digital Logic Design
Programming Problem solving Debugging
CS149D Elements of Computer Science
Arithmetic Logical Unit
Instruction encoding We’ve already seen some important aspects of processor design. A datapath contains an ALU, registers and memory. Programmers and compilers.
Topic 5: Processor Architecture
Computer Architecture
MARIE: An Introduction to a Simple Computer
Instructions in Machine Language
The Stored Program Computer
COMPUTER ARCHITECTURES FOR PARALLEL ROCESSING
A Level Computer Science Topic 5: Computer Architecture and Assembly
Computer Organization and Assembly Language
Chapter 4 The Von Neumann Model
Presentation transcript:

The Architecture of Konrad Zuse’s Early Computers Raúl Rojas Freie Universität Berlin

Konrad Zuse ( )

Topics Overview Arithmetic in the Z1 and Z3 The processor The datapath Highlights Were the Z1 and Z3 universal?

The chronology Z Z21939 Z S „Sondermaschine 1“ S „Sondermaschine 2“ Z

The Z1 and Z3 Z1 ( ) Z3 ( ) - mechanical design - programmable (punched tape) - basic arithmetic operations - completely binary - floating-point machine - built with relays - logically equivalent to the Z1

The original Z1 (Berlin 1938)

A mechanical computing machine...

The Z3 (1941): built out of relays Memory Processor

Light and shadow...

The punched tape reader

The block architecture Binary memory 64 words mantissa FP processor exponent Numeric keyboard Numeric display control unit punched tape

Decimal input = _ decimal exponent sign decimal mantissa

In the Z1 and Z3 IEEE Standard Floating-Point Coding exponent mantissa +, - exponent mantissa +, - 1 bit 6 bit 14 bit 1 bit 7 bit 24 bit

Normalized floating-point and rounding exponent 1 bit 6 bit 14 bit mantissa copy to register in processor 1. leading one two extra rounding digits

Numerical exceptions zero (lowest exponent) + infinite (highest exponent) - infinite 0 / 0 0 * infinite infinite - infinite Special coding for : The machine stops at :

The instruction set - Arithmetic AdditionLs SubtractionLs MultiplicationLm DivisionLi Square rootLw mnemonic 8-bit code

The instruction set - data handling Load Pr Store Ps Binary to decimal Ld Decimal to binary Lu mnemonic 8-bit code

Structure of the processor Register 1 exponent mantissa Register 2 R1 R2 Adders ( +, - )

A simple program (a+b)*c Luread decimal number to Register 1 Luread decimal number to Register 2 Ls1add Ps 10store result in address 10 Luread decimal number to Register 1 Pr 10read from address 10 to Register 2 Lmmultiply Ldshow the decimal result

The microsequencers conducting rod: advances one position per cycle step 1 step 2 step 3 step 4 step 5

Pipelining next instruction Instruction store Store operations run in “zero” cycles

Carry look-ahead Addition was performed in three steps: compute sum (XOR) compute all propagated carries produce final result With relays addition can be performed in constant time (not logarithmic time)

Shifting Shifting can be done using a shifting tree (in logarithmic time) With relays shifting can be done in constant time

Java simulation of the Z3

The mechanical relays

bit A bit B control bit C = 0 = 1 = 0 A mechanical relay ( B = A AND C ) = 0

bit A bit B control bit C A mechanical relay ( B = A and C ) = 0 = 1

bit A bit B control bit C A mechanical relay ( B = A and C ) = 0 = 1

A two-bit multiplexer bit A bit B bit C = A

A two-bit multiplexer bit A bit B bit C

A two-bit multiplexer bit A bit B bit C = B

The mechanical memory Zero prepare operation

The mechanical memory prepare operation move to “1”

The mechanical memory move to “1” store 1

The Z4 in Zurich

Question: Were the Z1 and Z3 universal? YES

A single arithmetical loop is universal we only need 6 instructions: LOAD STORE + - * /

Arithmetical operations a = b op c LOAD b LOAD c op STORE a Compiled code

Simulating branching section section section “execute section 3 = 011”

Transform all operations Compute at the beginning of each section t : t = 1 - [(b 1 - z 1 )(b 2 - z 2 )(b 3 - z 3 )] 2 t is only zero if we are in the desired section

Transform operations Transform a = b op c into a = a  t + (b op c) (1 - t) this means: only operations in the desired section modify the memory contents

The halting problem But how do we stop the loop? -compute 0/q in each iteration -the machine stops when q=0

Summary Z Z2 39 Z Z The logarithmic machine The „logical“ machine Theoretical machines Algebraic machines Special machines S1 42 S2 44

The S1 and S2 ( ): fixed point Z3‘s Binary memory (5-6 words) Numeric keyboard Numeric display control unit punched tape mantissa FP processor exponent mantissa processor (relays) Program

Die Rekonstruktion der Z3

Das Pipeline Dr. Frank Darius (FU Berlin) - Schaltungsentwurf Georg Heyne (Fritz-Haber-Institut) - Hardwareentwurf Wolfram Däumel (Fritz-Haber-Institut) - Layout Lothar Schönbein (Fritz-Haber-Institut) - Fertigung Torsten Vetter (Fritz-Haber-Institut) - Mikrokontroller Cüneyt Göktekin (FU Berlin) Programmierung Mit Beiträgen von: Alexander Thurm, Fabian Stehn, Georg Wittenburg (FU Berlin)