De bruker 4004, den første Intel-prosessoren, for å beregne tallet Pi

Intelsin første prosessor var en 4-bit prosessor som kjørte med 750KHz hastighet og bare tilgang til opptil 4KB RAM. Så spesifikasjonene er mikroskopiske sammenlignet med det som er tilgjengelig i dag, selv på den mest beskjedne PC-en. Vel, noen har tenkt på å beregne Pi-tallet med en Intel 4004. Hva har vært resultatene?

En måte å måle ytelsen til en prosessor på er gjennom en tilbakevendende oppgave med økende vanskelighetsgrad. Et eksempel er kryptografialgoritmer, men det finnes andre mer klassiske og velkjente, som for eksempel søket etter primtall eller de forskjellige desimalstedene til π. La oss huske at det er et tall som har et uendelig antall desimaler, og søket etter dem er derfor en liten utfordring for enhver prosessor. Men til nå hadde ingen vært i stand til å beregne tallet pí (π) på en Intel 4004.

De bruker 4004, den første Intel-prosessoren, for å beregne tallet Pi

For å få til dette har de montert veteranprosessoren på en STM32 som de har brukt for å simulere periferiutstyret og kunne programmere det. La oss ikke glemme at Intel 4004 er mer som en mikrokontroller i drift enn en PC-CPU. Ære som tilhører Intel 8080 som den første, da den brukes på den legendariske Altair 8800 fra MITS.

Hvor lang tid tar det for Intel 4004 å beregne tallet pi (π)?

Vel, svaret på spørsmålet er åpenbart, det tar samme tid som enhver annen prosessor, siden vi er et irrasjonelt antall uendelige desimaler. Så ytelsestesten eller benchmark består av å måle hastigheten det tar å vite verdien av neste desimal på den evige og endeløse listen.

Intel 4004

Utfordringen med å gjøre det med noe så enkelt som en Intel 4004 betyr at du må overvinne en rekke viktige begrensninger:

  • Det faktum at instruksjonssettet er svært begrenset.
  • Den har ikke en flytende kommaenhet, fordi den ikke har den, den har ikke engang muligheten til å multiplisere tall.
  • Programmene dine kan ikke være mer enn 4 KB på grunn av adressene på 4 KB, men du trenger en ekstern multiplekser for å gjøre det, ellers forblir den på 1280 byte.
  • Enheten som er ansvarlig for den matematiske beregningen bruker ikke de mest effektive logiske portene , noe som fører til at den går mye tregere.
  • Klokkehastigheten er 750 KHz , det vil si 750,000 XNUMX sykluser per sekund. En Intel Core eller en AMD Ryzen i dag?
  • Det er ikke en prosessor som støtter segmentert utførelse, så den utfører ikke flere stadier i forskjellige deler av den.

Selv om nøkkelspørsmålet er det vi har satt som tittel på denne delen, og svaret på det er: 3 timer med 31 minutter og 13 sekunder for å få de første 255 sifrene i tallet pi (π) med Intel 4004. Til dette har de brukt Dobbel-Stan-algoritme , som er basert på bruk av divisjon med heltall og unngår bruk av desimaler for å lette oppgaven til den ekstremt begrensede første Intel-prosessoren. Til sammenligning har samme person som har kjørt testen fått 25 millioner sifre på ett sekund med en Xeon.