La Macchina ridotta (la CEP prima della CEP)

Documenti analoghi
Programmazione su un calcolatore anni 50 (la Macchina Ridotta)

Un giro (simulato) sulla Macchina Ridotta

La Macchina Ridotta un progetto ben studiato

Hackerando la macchina ridotta

Hackerando la Macchina Ridotta

Vecchi calcolatori per incuriosire e insegnare

Architettura dell elaboratore

Architettura dell elaboratore

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007

Hackerando la Macchina Ridotta

Architettura dei calcolatori e sistemi operativi. Architettura MIPS e set istruzioni Capitolo 2 P&H

Sala Laboratori Didattici HMR

INFORMATICA GENERALE

Informatica al Museo dalle elementari in su, senza mai banalizzare

La storia dell informatica per capire l informatica

Architettura di von Neumann

Istruzioni e linguaggio macchina

Architettura del calcolatore (Seconda parte)

Memoria centrale (RAM) Registri della CPU. Definizioni. Architettura considerata in CPUSim. Programma in linguaggio macchina

Architettura dell elaboratore

Architettura del Calcolatore

Corso di Calcolatori Elettronici I

Fondamenti di Informatica A. A / 1 9

memoria PSW R1 R2 CPU Struttura logica dell elaboratore unità di controllo ALU unità di ingresso unità organo coordinatore clock di uscita

Architettura del Calcolatore

Le istruzioni del linguaggio gg macchina corrispondono ad operazioni elementari di elaborazione operazioni aritmetiche

M 2 M 1. Architettura. Architettura dei calcolatori. Paolo Bison. struttura e funzionalità di un calcolatore hardware software

Architettura. Neumann rivista

Paolo Bison. Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09

Prima della CEP: la macchina ridotta

Architettura degli Elaboratori

Macchina di Von Neumann

Programmazione per BioInformatica Introduzione. Docente. Programma del corso. Nicola Drago

Istruzioni e linguaggio macchina

Cenni storici. Abaco 3000 B.C. in Babilonia. Paolo Bison. Fondamenti di Informatica 1 A.A. 2004/05 Università di Padova

Informatica teorica Lez. n 10 Macchine a registri. Macchine a registri. Prof. Giorgio Ausiello Università di Roma La Sapienza

Dal sistema operativo all' hardware

Abilità Informa/che. capitolo 3. Prof. Fabio Calefato a.a Giurisprudenza

Fondamenti: Informatica, Computer, Hardware e Software

Architettura degli Elaboratori

La macchina di Von Neumann. UNIVERSITÀ DEGLI STUDI DEL SANNIO Benevento DING DIPARTIMENTO DI INGEGNERIA CORSO DI "PROGRAMMAZIONE I"

Architettura di Von Neumann

Architettura del. Calcolatori (1) Calcolatori (2) L architettura di Von Neumann. CPU RAM Memoria I/O. secondaria. bus

Linguaggio macchina. 3 tipi di istruzioni macchina. Istruzioni per trasferimento dati. Istruzioni logico/aritmetiche

Architettura di Von Neumann. Architettura di Von Neumann. Architettura di Von Neumann INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Architettura del set di istruzioni (ISA)

Programma svolto informatica a.s. 2017/2018. Classe 1D

Il modello di Von Neumann

Fetch Decode Execute Program Counter controllare esegue prossima

CPUSim. Laboratorio 30/11/2016

Architettura del calcolatore (Prima parte)

Lezione 1. Linux avanzato. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata. 8 marzo 2013

Cognome:, Nome: Matricola:

Architettura del calcolatore. Prima parte

Cognome:, Nome: Matricola:

Sistemi di Elaborazione delle Informazioni 6 CFU. Il software di sistema

Hackerando la Macchina Ridotta

Prima della CEP: la macchina ridotta 50 anni fa, a Pisa

ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE

Rappresentazione dell informazione

Corso di Informatica

A.A. 2018/2019. CPU e Linguaggio Macchina FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante

Introduzione al linguaggio macchina. Istruzione l/m

Informatica di base 4 crediti 32 ore!!

Fondamenti di informatica: un po di storia

Pag. 1. Informatica Facoltà di Medicina Veterinaria a.a. 2012/13 prof. Stefano Cagnoni. Architettura del calcolatore (parte II)

ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE)

Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni

Componenti e connessioni. Capitolo 3

informatica di base per le discipline umanistiche

Introduzione al linguaggio macchina

Corso di Laboratorio di Informatica

Linguaggio assembler e linguaggio macchina (caso di studio: processore MIPS)

Corso di Laurea in Informatica Architetture degli Elaboratori

Cenni storici sui sistemi di elaborazione

Architettura dei calcolatori e Software di sistema

Informatica A.A. 2006/2007. Università degli Studi di Catania. Giuseppe Nicosia

LABORATORIO DI INFORMATICA

A.S. 2017/2018 PIANO DI LAVORO PREVENTIVO CLASSE 4Be

Componenti principali

Architettura di Von Neumann. Memoria centrale. Memoria centrale (o RAM)

CPU. ALU e Registri della CPU. Elementi della CPU. CPU e programmazione (Parte 1) Central Processing Unit, processore

Calcolatore: sottosistemi

Macchina di Von Neumann

Linguaggio Assembly e linguaggio macchina

informatica di base per le discipline umanistiche

Architettura dei calcolatori

Macchine Astratte. Luca Abeni. February 22, 2017

Le Calcolatrici Elettroniche Pisane: proprio qui!

Linguaggi di alto livello, compilatori e interpreti

Informazioni. Organizzazione del corso. Materiale utile. Esame. Sommario degli argomenti di lezione

PARTE III MACCHINE A REGISTRI

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

ELEMENTI DI INFORMATICA E PROGRAMMAZIONE

Informatica. Mario Pavone - Dept. Mathematics & Computer Science - University of Catania. Trasferimento. Ambiente esterno.

Transcript:

La Macchina ridotta (la CEP prima della CEP) Happy Hour della Scienza e della Tecnica ITIS G. Marconi, Pontedera 9 maggio 2014 1/24

Due parole, sul progetto e sul museo 2/24

Hackerando la Macchina Ridotta Dal 2006 Partecipanti Dal 2008, come attività pubblica Dal 2010, al Museo degli Strumenti per il Calcolo Dipartimento di Informatica Dipartimento di Ingegneria Informatica INFN, sezione di Pisa Attività Ricerca, la MR, la CEP, gli Olivetti, le meccaniche... Diffusione, allestimenti/attività al Museo, Pagina Q... Dintorni, Caruso, cultura popolare, caratteri... 3/24

Museo degli Strumenti per il Calcolo Dal 2003, commissione ministeriale Collezione Riduzione progressiva dei finanziamenti 2010, ricerca, ricostruzioni, apertura continauta Riduzione degli spazi espositivi Ottima copertura sul digitale, cimeli unici 5% esposto Caratteristiche Diffusione della cultura scientifica, niente mode Didattica universitaria, rigore storico e tecnologico Tecniche (simulazione) e metodi sperimentali 4/24

Prossimamente 5/24

L informatica degli anni 50 6/24

Come si arriva al calcolatore 1936, i risultati di Church e Turing Vari precursori: 1937-42 ABC Atanasoff-Berry 1940 CNC ai Bell Labs 1943 Zuse Z3 1943-44 Colossus a Bletchley Park 1944 Harvard/IBM Mk1/ASSC 1945 ENIAC 1945-46 Rapporti di Von Neumann e di Turing 1948 SSEM (Baby) a Manchester 7/24

La Baby di Manchester 8/24

Primi strumenti di programazione 1949, EDSAC, caricatore (in ROM) 1950, UNIVAC, A-0 A-2, Arith-Matic... 1951-55, IBM 701, proto assembler 650, Symbolic Optimal Assembly Program 1952, MIT Whirlwind, George 1957, IBM 704, FORTRAN 1959, CoDaSyL, COBOL 9/24

I primi programmi 10/24

Il tema caldo Sottoprogrammi... Librerie di nastri, letteralmente Codice auto modificante Wheeler jump, sottoprogrammi auto modificanti Salto con indirezione, per il ritorno Celle parametriche Poi, finalmente lo stack 11/24

La Macchina Ridotta 12/24

Il progetto 1954, il sincrotrone mancato, la manovra Fermi 1955, il Centro Studi Calcolatrici Elettroniche 1956, entra, ufficialmente, Olivetti 1957, la Macchina Ridotta 1958, le prime applicazioni (servizi!) 1959, la crisi, fondi, transistor e separazioni 1961, la CEP, in ritardo, ma in gran pompa 1962, il CNR e la ripresa 13/24

I primi calcolatori italiani Primi acquisti 1954, CRC 102A, ottobre, Milano 1955, Ferranti Mk1*, primavera, Roma Prime costruzioni 1957, 1958, 1959, 1959, 1960, 1960, 1961, Macchina Ridotta, luglio Macchina Zero (Elea 9001V), primavera la macchina di Padova, ELEA 9002, novembre ELEA 9003, primavera ELEA 6001, novembre Calcolatrice Elettronica Pisana, primavera 14/24

La Macchina Ridotta 15/24

Hardware Macchina parallela (con il significato del tempo) 1024 parole da 18 bit, nuclei di ferrite 4/8 μsec di clock, ~70 istruzioni al sec 32 istruzioni Controllo microprogrammato 1 microistruzione di fetch, 1 di execute I/O su registri, 2 in, 1 out registri di ingresso, pilotante o pilotato telescriventi e lettori/perforatori di nastro 16/24

Input, Output, memoria di massa Nastri perforati, standard telegrafico Pratici Legati alla codifica Baudot Introdotti ai primi del 1900 (Murray) Uniformati negli anni 30, CCITT ITA2 Periferiche disponibili che parlano a pacchetti di bit Si leggono e si scrivono Si tagliano e si incollano Anche a mano Alternativi alle schede perforate (USA vs UK) 17/24

Programmazione In linguaggio macchina Supporto ai sottoprogrammi Si penserà al Fortran solo con la CEP Assemblato e rilocato a mano (anche minutato?) Manca il Wheeler jump, nessuno è perfetto Modifica del sottoprogramma da parte del chiamante Caricamento di programmi Mnemonico e operando decimale (EDSAC) Previsto nella MR56, sparisce dopo Caricamento di immagini binarie 18/24

Il linguaggio macchina della MR Formato fisso per le istruzioni Codici mnemonici 3 bit (17-15), codice di breakpoint 5 bit (14-10), codice operazione 10 bit (0-9), argomento, indirizzo di memoria Operando, operazione, destinazione L altro operando è la cella indirizzata dall argomento Esempi AM x, M[x] = A; B B x, B = B M[x] Z x, N = x; Z A x, if A<0 then N = x 19/24

Programmi della MR 20/24

Un esempio 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 n+a AM n+a Vs Vs Vs Vs Vs Vs Vs A+A A+A 100 AM n+b LpB 001 BM Z 103 012345 014798 119 117 117 117 118 117 117 120 121 102 strt loop 100 001 x c seed mask v n+a seed AM x n+a x Vs Vs Vs Vs Vs Vs Vs A+A x A+A c AM x n+b x LpB mask BM v Z loop 103 012345 014798 load seed in A copy seed in x to init seq. load x in A multiply 2 multiply 4 multiply 8 multiply 16 multiply 32 multiply 64 multiply 128 multiply 129 add increment store x+1 load x in B light off some bits store to visualize go to generate next number generated pseudo random value increment seed 01110 01110 01110 visualized value 21/24

Interfaccia utente 22/24

Il simulatore 23/24

Perché un simulatore Modellazione Simulazione Per capire la macchina mentre la si riscopre Per tramandarla in un linguaggio moderno Per confrontarla con altre macchine Un modo di provare il modello Documentazione incompleta o incomprensibile Per completare/verificare il puzzle si va per ipotesi Per provare/ricostruire/verificare il software Strumento dimostrativo/educativo (al Museo) 24/24