Manchester Mark I and Atlas: A Historical PerspectiveIntroductionIntroduction (cont’d)Mark I: ObjectivesMark I: TechnologyMark I: ArchitectureMark I: Architecture (cont’d)Slide 8Mark I: System SoftwareMark I: EvaluationAtlas: ObjectivesAtlas: TechnologyAtlas: ArchitectureAtlas: Architecture (contn’d)Atlas: Architecture (cont’d)Atlas: System SoftwareAtlas: EvaluationAtlas: Evaluation (cont’d)CONCLUSIONSREFERENCESManchester Mark I and Atlas: A Historical PerspectivePresented by: Aurel CamiCDA5106 - Advanced Computer Architecture IInstructor: Prof. Euripides MontagneIntroduction1946-1976: Five computer systems at Manchester University. We focus on 2 of them: Mark I and Atlas.University Project Industrial DerivativeManchester Mark I: 1946-1949 – hardware dev. June 1948 – first prototype 1949 – enhancementsFerranti Mark I: 1951 – first installation 1957 – last one deliveredManchester Atlas: 1956-1962 – hardware dev. 1962 – first installationFerranti Atlas: 1962 – first installation1965 – last one deliveredIntroduction (cont’d)Continuous advancement from Mark I to Atlas in:Instruction formatOperand address generationMemory managementUse of high-level programming languagesFocus of this talk (for each computer):Objectives of the projectTechnology, Architecture, System softwareEvaluationMark I: ObjectivesOriginal objective: Testing evironment for William Tubes storagePrototype Mark I:Operational in June, 1948 First GP stored-program computer (Baby)Objective after the first prototype: Enough memory and computing power to solve number-theory problemsMark I: TechnologyLogic: EF50 & EF55 pentodesEA50 vacuum tube diodesFast Storage: Registers (William Tubes)RAM (William Tubes)Backing Storage: Drum - 30 msec revolution timeI/O devices:Input: 5-track paper tape readerOutput: tape and printerMark I: ArchitectureSerial-ALU, single-address computerHardware: add, subtract, multiply and logicWord length: 32 bits ( in 1949 – 40 bits )Accumulator register: 80 bits ( 2 words )2 B-lines (index registers): 20 bits eachInstruction length: 20 bits ( 2 instructions per word)Instruction Set: 26 op codes (in 1949)RAM: 128 wordsDrum Memory: 1024 wordsMark I: Architecture (cont’d)10 3 1 6Instruction Format: Address ( 10 bits )B-line ( 3 bits )Function (op-code) ( 6 bits )Operands: 40 bit words Transfer to/from drum & peripheral devices through control words of two kinds: a) Drum transfers control wordb) I/O transfers control word ADDRESS B FUNCTIONMark I: Architecture (cont’d)Paging: RAM – 8 pages ( on 8 William Tubes )Single/Double page transfersTrack address stored with each page on drumWhen page became resident in main store an extra 20 bit on each Williams tube held page track-addressMark I: System SoftwareIn 1949 – no system software for Mark IProgramming – using 5-bit teleprinter code (one character – 5 bits)1954 – Autocode, scientific PL for Mark I:Arithmetic on floating-point variables v1,v2,…Integers n1,n2,… used as indices/countersSimple conventions for control transfers, I/O, intrinsic functions etc.,Simulated one-level store: programmer did not have to organize his own drum transfersMark I: EvaluationPerformance:Drum transfers – 16% of the timeMultiplication – 28% of the timeOther arithmetic ops. – 56% of the timeMultiplication = 2.16 msecOther accumulator instr. = 1.2 msecLong-term significance:Proved viability of digital storage via William tubesInspired British government to support Ferranti Ltd.Focused on linking fast RAM with slower sequential access rotating memory (drum)Autocode allowed users to program in a virtual (“drum”) address spaceAtlas: ObjectivesGoal: build a high-performance machine to stay in competitionHigher computing speed (1 microsec/instruction)More memory (RAM size = 100K words)Ability to attach more I/O devicesEfficient and economic utilization of the system (intended to be sold in open market)Atlas: TechnologyLogic circuits:OC170 germanium junction transistor – INVERTERDiodes – GATINGParallel adder: Special symmetrical transistor (SB240) 80,000 transistors mounted on printed-circuit boardsStorage:Main store (16K-48K): core memory, 4-way interleavedBackup store: 4 drums each 24KHigh speed ROM (“fixed store”): 8KOS working storage: 1-4KBulk storage: tapes, disks I/O devices:17 I/O devices attachedInterrupt mechanism allowed up to 512 peripheral unitsAtlas: ArchitectureParallel computer:2 independent ALUs ( A and B)Pipelined:Overlap 3 A instructionsAny B instruction in parallel with A48-bit wordOne-address instruction. Format:FUNCTION Ba Bm ADDRESS10 7 7 24Atlas: Architecture (contn’d)Two types of instructions:Normal instructionsExtracode (implemented in software routines stored in “fixed store”, e.g: sqrt, log, cosine)Three types of normal instructions:Accumulator instructionsIndex register instructionsTest-and-count instructionsPeripheral devices incorporated into the total address space (through peripheral device registers – part of V-Store )Atlas: Architecture (cont’d)Paging:512 word pagesIntroduced “page address register” (32 of them)Address translation time – 40% of total OF timePages for several programs could be in core memory concurrently (managed through “locking”)Programmer treated the drum and core as a One-Level store ( 576Kb)Atlas: System SoftwareOS: “Atlas Supervisor”Multiprogramming (up to 16 jobs)On-line spooling of I/OJob scheduling (based on priority, volume etc.,)Compilers:First: Atlas Autocode:Block-structured languageSimilar to Algol 60Later compilers for Algol, Cobol, FortranAtlas: EvaluationPerformance:Fixed-point B-addition: 1.59 microsecFloating-point add: 1.61 microsecFloating-point multiply: 4.97 microsecFloating-point divide: 10.66 microsecThroughput:1 Atlas = 4 IBM 7094s1967 benchmark comparisonAtlass | Univac | CDC 6600 1 : 2.1 : 5.9Atlas: Evaluation (cont’d)Long-term significance:Pipeline techniquesPaging and virtual memoryOS features: multiprogramming, job schedulingOne of the first computers to
View Full Document