PPC-turbon CPU päivitys

Saku-foorumi » Classic Amiga » Yleinen keskustelu » Viestit 2009 » Viestit 06/2009 asti » PPC-turbon CPU päivitys « Edellinen Seuraava »

Kirjoittaja Viesti
 

Jani Kuituniemi
Sunnuntaina, 1. maaliskuuta, 2009 - klo 15.41:   
Onko kukaan tullut kokeilleeksi vaihtaa noihin PPC-turboihin prosessoria tehokkaampaan? Esim. G3 (750) on täysin pinni-yhteensopiva 603/604 prosessoiden kanssa. Tuleeko kenellekään mieleen miksi se ei voisi toimia?

 

SID
Maanantaina, 2. maaliskuuta, 2009 - klo 0.33:   
Ainakaan Mäkki puolella (josta tunnen jotain asiaan liittyen)
homma ei ole niin yksikertainen - edellytetään joko toista rommia
ja/tai ajureita/käyttislaajennosta koneeseen, jotta se tunnistaa
nopeamman prosessorin.

 

Jani Kuituniemi
Maanantaina, 2. maaliskuuta, 2009 - klo 0.57:   
No, sehän on puhtaasti koodaus-homma, eikä siten mitenkään
ylitsepääsemätön este. Tiedätkö mitä nuo muutokset
tarkkaanottaen ovat? Jotain prosessorin initialisointiin liittyviä
flageja tms?

 

Thematic
Tiistaina, 3. maaliskuuta, 2009 - klo 12.38:   
Ei taida lähdekoodia kuitenkaan olla kovin laajalti saatavilla?

 

Jani Kuituniemi
Tiistaina, 3. maaliskuuta, 2009 - klo 14.49:   
Tuosta firmwarestahan on epävirallisia päivityksiä olemassa. Jollakin ne lähdekoodit on siis. En usko sillä kuitenkaan olevan kovin suurta merkitystä, koska eihän itse prosessoria tarvitse "tunnistaa" sinällään, että se toimii. Toki, varmasti toimisi paremmin esimerkiksi jos noissa on oletuksena esim. cachet pois päältä jne. Varmaan noin muuten PPC softat ehkä näyttäisivät ko. prosessorin jonain 'unknown' tyylisenä, mutta ei se taida toimintaa tai softien ajamista sinällään estää?

 

kimmok
Tiistaina, 3. maaliskuuta, 2009 - klo 20.33:   
T%aas tämmöinen extreme ehdotus extreme harrastajille.

Natami porukka tekee 68k prossua FPGA:lla.

Ehkäpä joku muu vois tehdä PPC prossun FPGA:lla.
Kait nykytekniikalla voisi aikaansaada muutamien satojen megahertsien taajuudella pörräävän PPC kloonin oheistarpeineen...


mjaa.... tais mennä mun ehdotus extremestä hetkellisen hulluuden puolelle


ketjun aiheesta lähemmin:
Nähdäkseni järkevintä olisi kysäistä apuja MOS tiimin ja Hyperionin suunnalta. Jos vaikka joku vois nakata epävirallisemman puukkoversion tarvitsemastasi G3:a tukevasta kernelistä klassikoille. Esim. MOS 1.4.x pohjaisen "Puukon" en näkisi haittaavan ketään, kunhan se ei ole pois MOS2.xkehityksestä.

 

Boogie
Tiistaina, 3. maaliskuuta, 2009 - klo 21.00:   
Kyllä A1200:lle G3:t ja Joe-Card olisivat tulleet jos se olisi ollut helppoa. Eli olisiko noissa 60x- ja 750-sarjalaisissa sen verran eroa ettei sitä pelkällä ohjelmoinnilla ohita! Joaannaaaah?!

 

Jani Kuituniemi
Tiistaina, 3. maaliskuuta, 2009 - klo 22.14:   
Taitaa olla ihan joku muu kuin hardwaren "helppous" syy siihen miksei noita koskaan tullut.

 

Joanna
Tiistaina, 3. maaliskuuta, 2009 - klo 22.45:   
Boogie: Kiitos kysymästä.. En omaa riittävästi tuon tason tietoa eri PPC varianteista että uskaltaisin sanoa oikein mitään. Sinällään mielenkiintoinen aihe, mutta uskoisin myöskin että jos noin paljon parempi piiri heittämällä siihen paikalle menisi joku olisi sen jo aikaa sitten tehnyt.

KimmoK; Tästä PPCn toteutuksesta Fpgalla on ollut puhetta aiemminkin.

Lyhyesti: PPC:tä ei tarvitse tehdä FPGA:lla koska Xilinxilta on FPGA-piirejä joissa on PPC ytimiä sisäänrakennettuna ohjelmoitavan logiikan rinnalle. Ensimmäinen malli (PPC405 ytimellä) oli muistaakseni joku Virtex II tai II pro joskus viisi vuotta sitten.. Nykyisellään Virtex 5 VFX sarjassa on mallisa riippuen 1 tai 2 kppl PPC440 ytimiä (max 550MHz)
http://www.xilinx.com/support/documentation/data_sheets/ds100.pdf

 

Jani Kuituniemi
Keskiviikkona, 4. maaliskuuta, 2009 - klo 10.51:   
Jaa-a, käyttävät kuitenkin samaa 60x väylää 601->G4 asti. Macceihin näyttisi olevan kaikki CPU upgrade kortit PB/NUBUS/PCI ratkaisuja noihin vanhempiin. Täytynee kaivella, sen verran kiinnostava aihe kuitenkin. Jos ei muuta niin luetaan sitten datasheettejä :)

 

Joanna
Keskiviikkona, 4. maaliskuuta, 2009 - klo 13.03:   
Jani: js jaksat etsiä ja vaikka linkittää tähän ketjuun niin voin lukaista kanssa sopivassa välissä. Tällä hetkellä ei ole kauheasti motivaatiota kahlata datalehtiä, mutta mistä sitä tietää jos vaikka innostuisi :)

 

Juha Kouri
Keskiviikkona, 4. maaliskuuta, 2009 - klo 13.08:   
Suunnilleen kaikki PPC 60x - 7xxx:ään saakka käyttävät eri taajuista 60x/MPX väylää. Jokainen niistä tarvitsee siis siltapiirin kaverikseen. 106/107:n tai sitten FPGA/ASICin. Sen sijaan 8xxx sarjassa on integroitu muistikontrolleri. Amiga piirit voisi lykätä "helposti" localbussille.

 

kimmok
Keskiviikkona, 4. maaliskuuta, 2009 - klo 13.48:   
"Sen sijaan 8xxx sarjassa on integroitu muistikontrolleri. Amiga piirit voisi lykätä "helposti" localbussille."

Vielä tulee se päivä kun joku propellihattu tekee klassikoille uuden PPC turbon. Olkoonkin se taloudellisesti kannattamatonta harrastusta.
Tuon sulautetun muistikontrollerin ansiosta homma nähdäkseni yksinkertaistuu paljonkin.

Tuen lisääminen MOSiin tai AOS4:n tuskin olisi kummoinen ponnistus JOS joku OS kehittäjä viitsii osallistua harjoitukseen.

 

Jani Kuituniemi
Torstaina, 5. maaliskuuta, 2009 - klo 13.13:   
Juha: Tässä kuitenkin on keskusteltu lähinnä noiden PPC turbojen 603/604e vaihtamisesta johonkin tehokkaampaan. Noissahan on jo se kaikki väylä-protokollien kanssa kikkailu jo hanskattu valmiiksi.

Tuolta lukaistuani jonnin verran noita Macci-juttuja, siellä on todettu, että vaikka 750 on specsattu 60x-väylää käytettäessä korkeammalle taajuudelle (olikohan se 66-100MHz) kuin 60x prosessoreissa, niin testatusti ne suostuvat kyllä toimimaan alemmillakin nopeuksilla. Toki, PPC turboissa, ainakin CSPPC:ssä, on kyllä erillinen kide tuolle PPC:lle, joten sinällään tämä ongelma ei varmaankaan tule vastaan. Kertoimiakin saa 5:1 asti, joten riittänee siihen, ettei tuota tarvitsisi ihan mateluvauhdeilla ajella.

7xxx-sarjassahan tuo MPX-väylä tuli optionaalisena, mutta se osaa toimia myös 60x-väylässä (joka muuten on johdettu Motorolan 88x00-sarjasta).

 

Piru
Torstaina, 5. maaliskuuta, 2009 - klo 16.15:   
@Jani Kuituniemi

Quote:

Tuosta firmwarestahan on epävirallisia päivityksiä olemassa. Jollakin ne lähdekoodit on siis.



Jaksan epäillä.

 

Jani Kuituniemi
Torstaina, 5. maaliskuuta, 2009 - klo 16.53:   
http://phase5.a1k.org/index.php?id=0

 

Piru
Torstaina, 5. maaliskuuta, 2009 - klo 17.38:   
@Jani Kuituniemi

Mitä epävirallista noissa on? Phase5 ei voinut julkasta mitään koska firma oli kuollu, ts firmiksien tekijä julkasi ite päivityksen. Paljon virallisempaa lähdettä on vaikea keksiä.. :-)

Laire ei kyllä luovuta noita lähdekoodeja kenellekään, sen tiedän. Päivityksiä lienee turha odottaa myöskään.

 

Jani Kuituniemi
Torstaina, 5. maaliskuuta, 2009 - klo 17.46:   
Plääh, a) en ole puhunut niiden luovuttamisesta yhtään mitään ja b) en jaksa uskoa niiden puukottamisella olevan fundamentaalista vaikutusta jonkun prosessorin toimivuuteen.

 

Piru
Torstaina, 5. maaliskuuta, 2009 - klo 20.55:   
@Jani Kuituniemi

Quote:

En usko sillä kuitenkaan olevan kovin suurta merkitystä, koska eihän itse prosessoria tarvitse "tunnistaa" sinällään, että se toimii. Toki, varmasti toimisi paremmin esimerkiksi jos noissa on oletuksena esim. cachet pois päältä jne. Varmaan noin muuten PPC softat ehkä näyttäisivät ko. prosessorin jonain 'unknown' tyylisenä, mutta ei se taida toimintaa tai softien ajamista sinällään estää?




Quote:

en jaksa uskoa niiden puukottamisella olevan fundamentaalista vaikutusta jonkun prosessorin toimivuuteen.



Valitettavasti asia ei ole todellakaan näin yksinkertainen. Käytännössä noissa raudoissa on erittäin alhaisen tarson inittejä jotka tekevät kullekin prosessorityypille vaadittavat kommervenkit. Esimerkiksi jo pelkästään prosessorien PLL-kertoimien käsittely (eli siis PLL-kerroinindeksin muuttaminen prosessorin kellotaajuuden ja väyläkellon suhdeluvuksi) on eri prosessoreilla erilainen.

Lisäksi esim käsittääkseni jo 603e ja 603p vaativat hieman erilaiset initit, jo pelkästään erilaisten ERRATA-workaroundien vuoksi.

 

Jani Kuituniemi
Perjantaina, 6. maaliskuuta, 2009 - klo 9.15:   
Piru, mutta nyt puhutkin jo softa-tason asioista, et rauta-tason asioista. Lisäksi; CSPPC ei käytä PLL:iä vaan väylänopeus on kiteellä ja kertoimet jumppereilla. Kyllä, varmasti joku tietyn kikka viitosen tekeminen saisi prosessorin toimimaan paljon paremmin, mutta uskon, että se toimii silti ilmankin moisia temppuja.

 

Piru
Perjantaina, 6. maaliskuuta, 2009 - klo 17.48:   
@Jani Kuituniemi

Quote:

Piru, mutta nyt puhutkin jo softa-tason asioista, et rauta-tason asioista.



Ilman näitä softatason juttuja koko rauta ei koskaan herää henkiin.

Quote:

Lisäksi; CSPPC ei käytä PLL:iä vaan väylänopeus on kiteellä ja kertoimet jumppereilla.



Kerroin ei ole jumppereilla, vaan tuo PLL-indeksi. Se millaisiin kertoimiin tuo ideksi johtaa on prosessorikohtaista. Väärä taulukko johtaa siihen ettei rauta pysty selvittämään väyläkellon taajuutta -> ajastukset ovat päin seiniä. Kuten näet erottelu puhtaisiin rauta- ja softaosioihin ei ole kovinkaan mielekästä.

Quote:

Kyllä, varmasti joku tietyn kikka viitosen tekeminen saisi prosessorin toimimaan paljon paremmin, mutta uskon, että se toimii silti ilmankin moisia temppuja.



Nopeampi 603 tai 604 toimii (mikäli revisio ei ole muuttunut niin että tarvittava PLL-indeksi on esimerkiksi tuntematon, tai supervisor-puoli muuttunut). Muuten voi kyllä prosessorinvaihdot unohtaa.

Yleisesti powerpc takaa vain jonkinasteisen user-levelin koodin yhteensopivuuden eri prosessoreiden välillä. Supervisor voi olla hyvinkin erilainen (esim muistaakseni joku 603-sarjalainen toteuttaa osan MMU:n toiminnallisuudesta softalla).

 

Jani Kuituniemi
Perjantaina, 6. maaliskuuta, 2009 - klo 19.30:   
Piru: Sorry, en osaa tommosia quoteja tässä softassa tehdä, mutta..

Kommentissa "Ilman näitä softatason juttuja koko rauta ei koskaan herää henkiin." ei ole kyllä niin minkään tason logiikkaa. Jos rauta ei herää eloon, niin milläs meinasit sitä softaa ensinnäkään edes ajaa?? Kyllä rauta pitää aina ensin saada eloon ennen kuin voit edes ajatella mitään inittien ajamista. Sen raudan henkiin herättäminen on puhtaasti rauta-tason juttu millä ei ole mitään tekemistä softan kanssa.

Kertoimista, olet siis sitä mieltä, että esim. tässä sivulla : Naps esitetyt asiat ovat väärin?

Jotenkin mulle tuleen nyt sellainen kuva, että sinun ja minun käsitys raudan hengissä olemiseen ovat ihan erit :)

 

Joanna
Perjantaina, 6. maaliskuuta, 2009 - klo 21.15:   
jani: se on kai miten kukin haluaa ymmärtää. Se että prosessori yleensä nousee resetistä ontumalla hakemaan boottikoodia on tietenkin hyvä alku ja olisi jo paljon enemmän kuin suurin osa näistä tee-se-itse Amiga-turbo -projekteista on ikinä kyennyt, mutta mielestäni vain sen vuoksi ei kannata edes aloittaa projektia edes ajatustasolla.

 

Piru
Perjantaina, 6. maaliskuuta, 2009 - klo 23.03:   
@Jani Kuituniemi

Quote:

Kertoimista, olet siis sitä mieltä, että esim. tässä sivulla : Naps esitetyt asiat ovat väärin?



En tietenkään.

Nuo kertoimet on hardkoodattu prosessoriin, ts. se minkä kertoimen noiden neljän jumpperin kombinaatio tuottaa on täysin prosessoririippuvainen. Jotta raudan firmis myös tietäisi oikean kertoimen pitää sen tukea kyseistä prosessoria (eli tietää millaista kerrointaulukkoa käytetään). Tuo on tärkeää koska prosessori ei mitenkään osaa suoraan kertoa väyläkellon ja prosessorin nopeuden suhdelukua.

Tässä 604e-prosessorin bittikombinaatiot ja niiden tuottamat kertoimet:

PLL_CFG[0–3]
1100 1.5
0100 2
0110 2.5
1000 3
1110 3.5
1010 4
1011 5
1101 6

 

Jani Kuituniemi
Lauantaina, 7. maaliskuuta, 2009 - klo 12.23:   
Joanna: Itse hain tässä takaa juuri edes sitä ontumalla pystyyn resetistä skenaatiota ja asioita, jotka voisivat sen estää. Eli toisinsanoen, rauta herää henkiin. Tottakai, se, että tuollaista voisi oikeasti hyödyntää jossain vaatisi varmasti muutoksia paitsi firmwareen niin myös PUP/WOS implementaatioihin jne mutta ne ovat taas puhtaasti softa-puolen juttuja ja paljon helpommin toteuttavissa.

Piru: Tottakai, olen samaa mieltä, ne on toki hardkoodattu, mutta miksi firmwaren pitäisi olla tietoinen noista suhdeluvuista? Nyt toki palataan takaisin taas softan maailmaan. Koska softat näyttävät tuon nopeuden tietävän, olettaisin, että ne laskevat väylänopeuden jonkin tiedetyn loopin viemän ajan perusteella ja kertoimet on ehkä löydettävissä jostakin rekisteristä tuolta itse kortin toteutuksesta, eikä CPU:lta itseltään. Toisaalta, tässä kohtaa nykäistään se lause specseistä, mikä sai minut kysymään tätä alunperinkin "full pin-compatibility with 604" eli rauta tuskin huomaa mitään eroa tuon kohdalla, kertoimetkin käynevät suoraan jne. Nuo Macibn G3 upgrade kortit tuntuvat sisältävän käytännössä vain L2 cachen sekä muutaman passiivi-komponentin. Kyllä, G3 ilman L2 cachea on varmasti niin hidas, ettei tuossa ole "mitään järkeä", mutta mitä sitten.

*Minusta* tälläisiä asioita kannattaa pohtia jo ihan niiden mielenkiinnon vuoksi, katsoakseen mitä tapahtuu tai koska se on toteutettavissa. Jos aina jokaisen asian kohdalla pitäisi ajatella puhtaasti järkevyyttä, riittäisi yhden käden sormet varmasti viimeisen 10 vuoden ajalta sellaisia projekteja laskettaessa jos niitä sormia tarvitaan edes ollenkaan kun puhutaan Amiga projekteista. Ei kaikessa tarvitse olla järkeä kun ei puhuta mistään kaupallisista asioista.

 

Joanna
Lauantaina, 7. maaliskuuta, 2009 - klo 13.17:   
Et ole vielä laittanut linkkiä niiden prossutyyppien spekseihin joita ajattelit? (kysyin muutama päivä sitten asiaa)

En ole datoja llukenut, mutta mitä luultavimmin se G3 ei aktivoi edes L1 cachejaan automaattisesti resetistä, ja ulkoisen rommin accessi on oletuksena jotain luokkaa hemmetin hidas (ainakin muutamissa PPC-embeddedeissä mitä freescalella on)...

 

Piru
Lauantaina, 7. maaliskuuta, 2009 - klo 15.47:   
@Jani Kuituniemi

Quote:

Tottakai, olen samaa mieltä, ne on toki hardkoodattu, mutta miksi firmwaren pitäisi olla tietoinen noista suhdeluvuista?



Jotta powerpc-prossun timebasea voidaan käyttää ajastuksiin.


Quote:

Nyt toki palataan takaisin taas softan maailmaan. Koska softat näyttävät tuon nopeuden tietävän, olettaisin, että ne laskevat väylänopeuden jonkin tiedetyn loopin viemän ajan perusteella



Kyllä. Uudelleenkirjoitin tälläisen rutiinin PowerUP MorphOSiin kun ensimmäinen oli liian epätarkka. Käytännössä odotellaan CIA:lla tietty aika ja katsotaan kuinka paljon CPU timebase etenee tuossa ajassa.

Quote:

ja kertoimet on ehkä löydettävissä jostakin rekisteristä tuolta itse kortin toteutuksesta, eikä CPU:lta itseltään.



Vaan kun se kerroin ei ole löydettävissä mistään. Se katsotaan tuon PLL-indeksin mukaan kullekin prosessorille ominaisesta kerrointaulukosta.

Jos kerrointieto olisikin jossain itse kortilla niin sehän olisi taas ongelma: Kerroin olisi väärin kun prosessorin vaihtaa.


Quote:

Toisaalta, tässä kohtaa nykäistään se lause specseistä, mikä sai minut kysymään tätä alunperinkin "full pin-compatibility with 604" eli rauta tuskin huomaa mitään eroa tuon kohdalla, kertoimetkin käynevät suoraan jne.



Tuo tarkoittanee sitä että piiri käy suoraan toisen tilalle. Se ei sano mitään siitä että vaatiiko firmis tms. päivityksiä että koko kone enää herää henkiin. Perinteisesti noiden Mac-kiihottimien asennusohjeissa pyydetään ajamaan erilaisia flash- ja käyttöjärjestelmäpäivityksiä *ennen* kuin uusi kortti tungetaan koneeseen.

Koska näille PowerUP-laudoille (tai ppc.library:lle (PUP) ja powerpc.librarylle (WarpOS)) ei päivityksiä enää tule en oikein jaksa uskoa että tuollainen päivitys onnistuisi.

Ihmettelen asennettasi näihin softajuttuihin, ne eivät todellakaan ole mitään yksinkertaisia ongelmia. Ilman lähdekoodeja näiden reversoiminen ja tuen lisääminen uusille prosessoreille on hyvin hyvin vaikeaa, nykyisillä resursseilla väittäisin että jopa mahdotonta.

Lisää viestisi tähän
Viestisi:
Käyttäjätunnus: Postitus informaatiota:
Tämä on yksityinen keskustelupalsta. Vain rekisteröidyt käyttäjät ja moderaattorit voivat postittaa tänne.
Salasana:
valinnat: Aktivoi URL:t automaattisesti tässä viestissä
Toimenpide: