Autor Beitrag
avoid
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 230
Erhaltene Danke: 4

MSDos, WinXP32, Win764, Win10, Android, Debian
msl (mIRC edit), html & php & Java (DreamweaverMX), Basic (picaxe PE6), C (Arduino IDE), C# (vs2010,2015,2017,2019,Unity,Android Studio)
BeitragVerfasst: Fr 23.08.13 19:37 
ich hab mir die tage mal die Geschichte mit der angeblich unabhängigen Internet Währung "Bitcoin" angesehen.
nun frage ich mich warum CPUs mittlerweile zu langsam für die Berechnungen sein sollen und auch GPUs kaum noch kostendeckend arbeiten bzw. was an den FPGAs und ASICs so viel anders sein soll und warum die Effektiver arbeiten.

evtl. kennt sich von euch ja einer in der Materie gut genug aus um mir mal zu erklären was beim Bitcoin Mining berechnet wird und wie so eine Berechnung abläuft.

wenn mir dann noch wer klar machen kann warum eine Quadcore CPU diese Berechnungen nicht so schnell macht wie ein ASIC USB Stick, dann ist mir fürs erste geholfen.

bitte postet nur links wenn diese in deutsch sind,
andernfalls tut mir den gefallen und beschreibt es doch einfach mit eigenen worten.

---nachtrag---

ich hab schon einige dieser ASIC Mining Sticks und cgminer mit einem RaspberryPi-B laufen.
mir geht es nicht um das drum herum sondern um die Technik die dahinter steckt.

_________________
Gute Fragen sind wie ein wissenschaftliches Experiment. Sie setzen eine Menge Wissen bereits voraus.
bitcoin:1J5dgQQp8eUy8wkUxyztBUVCkCpo5MQEQs?label=Danke
jfheins
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 918
Erhaltene Danke: 158

Win 10
VS 2013, VS2015
BeitragVerfasst: Fr 23.08.13 20:06 
Deine CPU ist ja ein Allrounder. Es gibt also eine add-Anweisung usw. und daraus kann man sich dann alles zusammen basteln.

Als Beispeil nehme ich hier mal die FFT: de.wikipedia.org/wik...8Cooley_und_Tukey.29
In der Formel gibt es soweit nur Addition, Multiplikation, Division und EXP. Das alles kann deine CPU. Sie kann aber nur einen Befehl pro Taktzyklus erledigen. So eine FFT benötigt also ziemlich viele Zyklen.

Möchte man das jetzt viel schneller haben, kann man die Formel "in Silizium ätzen". Statt also einen Befehl pro Takt zu machen und die Ergebnisse dann im nächsten Takt weiter zu benutzen, werden die Ergebnisse direkt mit Leiterbahnen an die nachfolgende Operation geleitet. Man legt quasi am einen Ende des Chips Spannung an, wartet kurz und hat das Endergebnis.
Damit ist ein Takt vielleicht nicht mehr die 0,3ns wie in ner CPU, aber der Befehl ist dann "Berechne FFT". So was in die Richtung nennt sich dann übrigens DSP ;-)

Das Stück Silizium kann dann aber auch nichts anderes mehr...

Vereinfacht gesagt legst du am einen Ende Spannung an, wartest dann bis das Signal (ungefähr mit 0.5*c) deine Schaltung durchquert hat, und liest das Ergebnis ab. Das andere Mal musst du für jeden einzelnen Befehl min. einen Takt warten.

Für diesen Beitrag haben gedankt: avoid
FinnO
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1331
Erhaltene Danke: 123

Mac OSX, Arch
TypeScript (Webstorm), Kotlin, Clojure (IDEA), Golang (VSCode)
BeitragVerfasst: Fr 23.08.13 20:15 
Wobei der technische Unterschied zwischen ASICs und FPGAs im wesentlichen ist, dass man letztere auch explizit "programmieren" kann, das heißt, die IC-Internen Verschaltungen der einzelnen Logikgatter von außen ändern kann, während ein ASIC halt wirklich nur für eine einzige Aufgabe verwendet werden kann.

Für diesen Beitrag haben gedankt: avoid
avoid Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 230
Erhaltene Danke: 4

MSDos, WinXP32, Win764, Win10, Android, Debian
msl (mIRC edit), html & php & Java (DreamweaverMX), Basic (picaxe PE6), C (Arduino IDE), C# (vs2010,2015,2017,2019,Unity,Android Studio)
BeitragVerfasst: Fr 23.08.13 21:45 
danke euch beiden, super erklärt.

da ich schon mit Logikgattern zu tun hatte und auch Mikrocontroller programmiere kann ich mir die Sache jetzt auch bildlich vorstellen.

was die Berechnungen an geht habe ich hier noch mehr Infos gefunden.
www.dev-eth0.de/bitc...rstellung-neuer-btc/

----------

wie aufwendig es wohl ist so eine zweifache SHA256 Funktion (SHA256(SHA256(text)) mit handelsüblichen Logikbausteinen nach zu bauen? :D
jetzt mal ohne den nutzen im Auge zu haben.

könnte ein spaßiger Zeitfresser werden,
denn ein CPU-Kern ist ja auch machbar. ;)

_________________
Gute Fragen sind wie ein wissenschaftliches Experiment. Sie setzen eine Menge Wissen bereits voraus.
bitcoin:1J5dgQQp8eUy8wkUxyztBUVCkCpo5MQEQs?label=Danke
FinnO
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1331
Erhaltene Danke: 123

Mac OSX, Arch
TypeScript (Webstorm), Kotlin, Clojure (IDEA), Golang (VSCode)
BeitragVerfasst: Fr 23.08.13 22:36 
Na ja. Nimm halt VHDL und hau rein ;)
avoid Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 230
Erhaltene Danke: 4

MSDos, WinXP32, Win764, Win10, Android, Debian
msl (mIRC edit), html & php & Java (DreamweaverMX), Basic (picaxe PE6), C (Arduino IDE), C# (vs2010,2015,2017,2019,Unity,Android Studio)
BeitragVerfasst: Sa 24.08.13 00:45 
VHDL war mir bisher kein Begriff.
Zitat:
Bei VHDL arbeitet man nicht mit einzelnen elektronischen Bauteilen, sondern beschreibt das gewünschte Verhalten einer Schaltung auf einer höheren Abstraktionsebene.

das ist also die (Quasi) Programmiersprache in der FPGAs beigebracht bekommen können welche Schaltung sie darstellen.
schade nur das die FPGAs so teuer sind gegenüber den ca. 30 Euro für einen 330 Mh/s ASIC USB-Stick.

_________________
Gute Fragen sind wie ein wissenschaftliches Experiment. Sie setzen eine Menge Wissen bereits voraus.
bitcoin:1J5dgQQp8eUy8wkUxyztBUVCkCpo5MQEQs?label=Danke