Presentazione scientifica - Benchmark tra Playstation 1 e Playstation 2

Transcript

Presentazione scientifica - Benchmark tra Playstation 1 e Playstation 2
Benchmark Playstation 1 /Playstation 2
Progetto di Architettura degli Elaboratori – Prof. Leonardo Pasini
Corso di Laurea in Informatica – Scuola di Scienze e Tecnologie – Università di Camerino
Anno Accademico: 2011/2012
Fabio Pagnotta, Stefano Traini , Alessandro Di Carlo
Definizione di benchmark

Che cos'è un benchmark?
“ Con il termine benchmark si intende un insieme di test software volti
a fornire una misura delle prestazioni di un computer per quanto
riguarda diverse operazioni.”
(Citazione Wikipedia).
✔
✔
✔
Vi sono due tipi di benchmark :
Sintetico : Programmi che misurano le prestazioni di specif
iche operazioni di un determinato sistema.(Esempio caricamento istruzioni in
una CPU ec..)
Applicativo : Programmi che misurano le prestazioni di un test in un certo
sistema , il quale test riproduce una reale situazione (vedi rendering 3D,
compilazione di un programma ec..)
Fabio Pagnotta, Stefano Traini , Alessandro Di Carlo
Vantaggi e Svantaggi
Sintetico
Applicativo
Ordine di grandezza
del tempo:
Non accettabile.
Accettabile
Utilità :
Programmatore
Utente
I test che ho costruito sulla playstation 1 / playstation 2 sono applicativi anche se
alcuni hanno una valenza sintetica.
La mia scelta è ricaduta sui test applicativi in quanto sono misurabili e sono
soprattutto più vicini all' utilizzo che l' utente fa della piattaforma.
Fabio Pagnotta, Stefano Traini , Alessandro Di Carlo
Scelta del tipo di test di benchmark
Test
La scelta tra i due tipi di benchmark è stata influenzata anche dal tipo di pubblico e dalle
SDK che il programma utilizza.
Essendo il pubblico in questione , un popolo di gamer la scelta più raccomandata è
quella relativa al Benchmark applicativo.
A dare il colpo di grazia al benchmark sintetico , è stata l' impossibilità di cronometrare
benchmark sintetici attraverso l' uso del contatore che vedremo tra qualche slide.
Nonostante questo abbiamo deciso di inserire un test sintetico che svolge
esclusivamente operazioni a livello di cpu .
Un ulteriore precisazione....

Il benchmark che andremo ad effettuare è tra le piattaforme :
Playstation 1 e Playstation 2 .
Il software che abbiamo sviluppato funziona con la Playstation 1 e ne
sfrutta tutta le caratteristiche hardware , ma con la Playstation 2 il
discorso è diverso.
L' applicativo nella Playstation 2 non sfrutta tutte le capacità hardware
in quanto lavora in modalità retrocompatibile.
In questa modalità possiamo utilizzare un lettore CD-ROM che
permette velocità maggiori di lettura , una GPU e una SPU, ma al
contempo si utilizza per questioni di retrocompatibilità la cpu della
Playstation 1 e la sua relativa memoria da 2MB.
Creazione del programma di benchmarking
Per poter programmare abbiamo usato un compilatore GNU C per la
Playstation 1 con tanto di psxsdk(un set di librerie per la Playstation 1 ).
Per ottenere il file bin/cue che verrà poi masterizzato si effettuano le
seguenti fasi:
1. Compilazione e linkaggio con conseguente output di un file elf.
2. Conversione del file elf in un file exe.
3. Spostamento del file exe nella cartella del cd.
4. Creazione del file systemcnf .
5. Creazione del file iso con filesystem ISO9660 .
6. Conversione del file iso in un file bin.
7. Creazione del file cue.
La playstation 1 deve essere modificata per leggere il programma .
Fabio Pagnotta, Stefano Traini , Alessandro Di Carlo
Dalla compilazione alla masterizzazione
Fabio Pagnotta, Stefano Traini , Alessandro Di Carlo
Legalità
E' doveroso citare i seguenti articoli della legge sul diritto d’autore (l. 633/41):
1) art. 171, comma 1: "È punito, se il fatto è commesso per uso non personale, con la
reclusione da sei mesi a tre anni e con la multa da euro 2.582 a euro 15.493, chiunque
a fini di lucro: […]
f-bis) […] vende […] pubblicizza per la vendita o il noleggio, o detiene per scopi
commerciali, attrezzature, prodotti o componenti ovvero presta servizi che
abbiano la prevalente finalità o l'uso commerciale di eludere efficaci misure
tecnologiche di cui all'art. 102-quater ovvero siano principalmente progettati,
prodotti, adattati o realizzati con la finalità di rendere possibile o facilitare
l'elusione di predette misure […]";
2) art. 102-quater: "1. I titolari di diritti d'autore e di diritti connessi nonché del diritto di
cui all'art. 102-bis, comma 3, possono apporre sulle opere o sui materiali protetti misure
tecnologiche di protezione efficaci che comprendono tutte le tecnologie, i dispositivi o i
componenti che, nel normale corso del loro funzionamento, sono destinati a impedire o
limitare atti non autorizzati dai titolari dei diritti […]"
Fonte : http://www.tomshw.it/cont/articolo/modificare-le-console-e-legale/27709/1.html
Fabio Pagnotta, Stefano Traini , Alessandro Di Carlo
Calcolo del tempo computazionale dell' algoritmo

Per poter calcolare il tempo di esecuzione di un algoritmo abbiamo preso simulato il funzionamento di
un “cronometro” .
Per cronometrare abbiamo sfruttato una funzione data dalle librerie psxsdk che ci permette ogni 50/60
volte al secondo (0,02 secondi in pal mode e 0,017 secondi in Ntsc mode) di chiamare un altra nostra
funzione che incrementerà un contatore.
Quando il programma cronometrerà l' algoritmo resetta il contatore , dopodichè eseguira l' algoritmo e
appena finito l' algoritmo il programma prenderà il contatore e lo dividerà per 50 o 60 .
Fabio Pagnotta, Stefano Traini , Alessandro Di Carlo

Test 1 :Crittografia & Decrittografia
Come algoritmo di criptazione /decriptazione abbiamo usato un algoritmo
TEA (Tiny Encryption Algorithm).
Pregi:
1. Nessun brevetto su questo algoritmo .
2. Facilità di implementazione .
3. Utilizzo con macchine che non hanno molte risorse.
4. rete di Feistel ( invertibilità).
5. utilizzo di operazioni basi (benchmark sintentico).
Difetti:
L' algoritmo è facilmente attaccabile da un attacco correlato alla chiave .
Crittografia
Decrittografia
PS1
PS2
PS1
PS2
5,4649995
4,9866665
5,5199995
5,0416665
Fabio Pagnotta, Stefano Traini , Alessandro Di Carlo
Test 2 : Lettura dati dal cd.
Sappiamo che il cd della playstation 1 ha un file system CDfs (Compact
Disc file system) , di conseguenza sappiamo che in un settore vi è una
parte di un file .
Grazie a questa considerazione possiamo sapere quanti settori occupa
un file e automaticamente calcolarci il tempo di lettura della parte dati di
un settore .
Lettura di 997336 byte
Lettura di un settore
PS1
PS2
PS1
PS2
4,190833034
3,70499987
0,00852982
0,00760757
Kilobyte letti al secondo.
PS1
PS2
232,4677
264,7636067
Fabio Pagnotta, Stefano Traini , Alessandro Di Carlo
Test 3 : Caricamento di un immagine
Grazie a questo test possiamo valutare il tempo di decodifica di un immagine
e il tempo di caricamento sulla Gpu .
Le fasi di caricamento di un immagine sono :
Caricamento di un immagine
PS1
PS2
0,087499145
0,073333165
Fabio Pagnotta, Stefano Traini , Alessandro Di Carlo
Test 4 : Caricamento di un file audio sul buffer della
Spu e sua riproduzione.
Questo tipo di test serve a conoscere il tempo che ci mette a caricare
un file audio dalla Ram al buffer della Spu.
In molti giochi viene sfruttata questa capacità in maniera massiccia (basti
pensare alla serie di crash che è stata creata per la playstation 1).
Caricamento di un file audio
Riproduzione di un file audio.
PS1
PS2
PS1
PS2
2,31833297
2,025000665
0,00000128
0,000000665
Byte al secondo letti.
PS1
PS2
154946
178725
Fabio Pagnotta, Stefano Traini , Alessandro Di Carlo
Test 5: Scrittura e lettura sulla memoria RAM.
Questo tipo di test serve a vedere il tempo di lettura e il tempo di scrittura della Ram.
Ricordo che la Ram è un memoria di 2Mb in questo caso.
Quest'ultimo è molto importante a livello software in quanto tutti i software usano la
memoria per motivi vari.
Scrittura di 1 Megabyte
Lettura di un 1Megabyte.
PS1
PS2
PS1
PS2
1,336666917
1,228333665
0,81833321
0,751666665
Byte scritti in un secondo.
Byte letti in un secondo.
PS1
PS2
PS1
PS2
784476
860771
1281361
1406626
Fabio Pagnotta, Stefano Traini , Alessandro Di Carlo
Risultati Playstation 1 /Playstation 2 e conclusioni.
Totale:
12,6
Test 5-Lettura-2
9,78
Test 5-Lettura-1
8,87
Test 5-Scrittura-2
9,73
Test 5-Scrittura-1
8,82
Test 4-3
15,35
Test 4-2
19,25
Test 4-1
14,49
Test 3-1(Immagine)
19,32
Test 2-3(Cd-rom)
13,89
Test 2-2(Cd-rom)
12,12
Test 2-1(Cd-rom)
13,11
Test 1-2(decript.)
9,49
Test 1-1(cript.)
9,59
0
2
4
6
8
10
12
14
Fabio Pagnotta, Stefano Traini , Alessandro Di Carlo
16
18
20
Rapporto Ps1/Ps2
Calcolo dell' indice di confronto tra le due console
Per calcolare l' indice del test abbiamo usato la seguente formula:
IndiceTest (Vmax , Vmin)=(
Vmax
−1)∗100 ;
Vmin
La media di questi indici ci permette di dare un indice di confronto delle
prestazione delle due console .
n
∑ IndiceTest (Vmax i , Vmini )
Media=
i=1
n
=12,60
Questo indice ci permette di dire che la Playstation 2 (con la cpu R3000A) è più
perfomante rispetto alla Playstation 1 del 12,60%.
Fabio Pagnotta, Stefano Traini , Alessandro Di Carlo
Ringraziamenti



Sviluppatori di Bps:
1- Fabio Pagnotta
2- Stefano Traini
3- Alessandro Di Carlo
Ulteriori ringraziamenti:
-Giuseppe Gatta (1° informatica all'università di Fisciano
(Salerno) , creatore delle Psxsdk
http://code.google.com/p/psxsdk/ )
- Jacopo De Berardinis (creatore del suono per il test
audio).
-Nicola Paoletti : coordinatore del progetto
Link del materiale :http://www.benchps.altervista.org/
Fabio Pagnotta, Stefano Traini , Alessandro Di Carlo