Permalänk
Medlem
Skrivet av mikwes912:

Om man förenklar det hela så är det ju bara ström som skickas.

Två LED kan ju parallellkopplas för att få två ljus.

Har du några elementära kunskaper i microprocessorarkitektur överhuvudtaget?

Hur skall två processorer kunna samsas på samma databus (konstruerad för en processor)?
Hur skulle de bl.a. samordna anrop, adresseringar och allokeringar till enheter (typ internminnet, chipset m.m.)?

Det kommer inte att fungera, det är bara så...

Analogi: Varför kan man inte låta två förare köra samma bil?

Permalänk
Medlem
Skrivet av tvelander:

Det kommer aldrig fungera lol omg haha, sorry men för roligt asså.

Givande kommentar. Man förstår varför vissa blir bättre problemlösare än andra. Vissa ger upp innan de försökt.

Permalänk
Skrivet av Bruum:

Jag gillar hur folk slänger ur sig kommentarer utan att ha en blekaste aning om vad som borde hända..

När du parallelkopplar 2 saker så måste du öka strömmen(i detta fallet till det dubbla då du har 2 identiska processorer) för att du ska få ut samma effekt. Detta kommer resultera i att du antingen bränner moderkortet av för höga strömmar eller ev. så kommer strömmen delas med 2 till processorerna och de kommer med största sannolikhet att räkna fel och gå sönder.

Men säg att du kan skapa ett moderkort som klarar detta:

Processorns pins är ett antal input/output, och givet 2 identiska processorer med identisk input till processorn så borde de räkna ut exakt samma output, dvs att du räknar samma sak 2 ggr och vinner ingen prestanda. så att det är en no-go.

Vill du ha ut mer prestanda så måste du som ovan nämn ha ett moderkort som stöder flera processorer. Det som då händer att att processorerna beräknar olika saker och slår samman resultaten.

Hoppas detta ger lite mer än alla tidigare svar från folk som bara slänger ur sig första bästa tanke.

Har har vi ett svar med stort "S". Tack så mycket för att du la ner tid på att förklara

Visa signatur

***Datorn du försöker lägga upp i signaturen är för dålig för att få synas***

Permalänk
Skrivet av Cybertsen:

Har du några elementära kunskaper i microprocessorarkitektur överhuvudtaget?

Hur skall två processorer kunna samsas på samma databus (konstruerad för en processor)?
Hur skulle de bl.a. samordna anrop, adresseringar och allokeringar till enheter (typ internminnet, chipset m.m.)?

Det kommer inte att fungera, det är bara så...

EDIT
Analogi: Varför kan man inte låta två förare köra samma bil?

Jag har ingen kunskap alls i microprocessorarkitektur, därför jag frågade.

Att få ett svar där det bara står: "Kommer inte fungera" säger ingenting om varför. När du däremot förlänger svaret som du gjorde nu så får man mer kött på benen. Tackar

Visa signatur

***Datorn du försöker lägga upp i signaturen är för dålig för att få synas***

Permalänk

Den som frågar får svar brukar det kallas. Tack allihop för era insatser!

Visa signatur

***Datorn du försöker lägga upp i signaturen är för dålig för att få synas***

Permalänk
Skrivet av Cybertsen:

Har du några elementära kunskaper i microprocessorarkitektur överhuvudtaget?

Hur skall två processorer kunna samsas på samma databus (konstruerad för en processor)?
Hur skulle de bl.a. samordna anrop, adresseringar och allokeringar till enheter (typ internminnet, chipset m.m.)?

Det kommer inte att fungera, det är bara så...

Analogi: Varför kan man inte låta två förare köra samma bil?

Av dom alternativen han uppgav så handlade inte alla om att samsas på bussen. Om det väl fungerar kommer samma instruktioner räknas två gånger. Det är verkligen inte så att processorerna kommer ses som två kärnor.

Två förare kan styra samma bil: en gasar, en styr. En styr fram, en styr bak. En gasar, en bromsar. Min mor fungerar som en andra-chaufför ibland också.

Visa signatur

Citera, tack!
Har du läst tråden om strandhögtalare och andra musiklådor?

Permalänk
Medlem

Som övriga säger så fungerar det inte, tänk tex på att 2lika cpuer fortfarande har olika serie nr osv som då hade krockat, men om man i teorin skulle haft 2 identiska processorer, så hade moderkortet förmodligen känt av det som 1. Men fortfarande så hade det nog blivit fuckat med olika långa kablar osv osv som andra säger(om man ens hade lyckats/orkat lödda ihop det).

Kan faktiskt avslöja att jag var nyfiken på samma sak för en sisådär 10år sedan.
Hade då 2st Intel pentium mmx, där jag satte en i sockeln och spände den andra ovanpå den första
Eftersom dessa cpuer har genomgående pins (googla Pentium mmx) så blev dom på så sätt parallell kopplade.
Kan avslöja att ingenting hände :O. Skärmen var bara svart, det gick endast att köra dom 1 och 1.
Moderkort med stöd för 2 cpuer fungerar på ett helt annat sätt.

Visa signatur

New. I7 11800h undervolt, RTX3070max-P, 1080p 300hz, 16GB Samsung 3200@3500cl20, 1+1TB nvme.
-
Old. I7 8750h undervolt, gtx1070 undervolt, 1440p 144hz, 16GB Corsair 2666, 1TB MP510 nvme.
-
Older. Intel I7 3610qm, Amd7970m, 8GB Kingston HyperX 1600mhz, 500GB Samsung 850 ssd.

Permalänk
Medlem
Skrivet av Cybertsen:

Har du några elementära kunskaper i microprocessorarkitektur överhuvudtaget?

Skulle kunna tänka mig att han inte hade frågat annars...

Permalänk
Medlem
Skrivet av blomqvist:

Av dom alternativen han uppgav så handlade inte alla om att samsas på bussen. Om det väl fungerar kommer samma instruktioner räknas två gånger. Det är verkligen inte så att processorerna kommer ses som två kärnor.

Två förare kan styra samma bil: en gasar, en styr. En styr fram, en styr bak. En gasar, en bromsar. Min mor fungerar som en andra-chaufför ibland också.

Kommer inte ses alls eftersom de kommer dela samma bussar och skicka olika data till dom. Även om man har samma processor så skickar den olika ID till moderkortets BIOS.

Data skulle bara bli korrupt och en till processor skulle inte alls ge något eftersom moderkortet och styrkretsarna samt BIOS/OS inte alls kommer kunna urskilja dom två.

Visa signatur

Arch - Makepkg, not war -||- Gigabyte X570 Aorus Master -||- GSkill 64GiB DDR4 14-14-15-35-1T 3600Mhz -||- AMD 5900x-||- Gigabyte RX6900XT -||- 2x Adata XPG sx8200 Pro 1TB -||- EVGA G2 750W -||- Corsair 570x -||- O2+ODAC-||- Sennheiser HD-650 -|| Boycott EA,2K,Activision,Ubisoft,WB,EGS
Arch Linux, one hell of a distribution.

Permalänk
Medlem
Skrivet av blomqvist:

Av dom alternativen han uppgav så handlade inte alla om att samsas på bussen...

Om man skulle parallellkoppla två processorer så kommer de sitta (samsas) på samma bus, annars är de inte ihopkopplade...

Permalänk

Chansen att få något sådant att fungera med en modern processor skulle vara lika med noll då de inte är identiska. En del identitetsinformation skickas till moderkort som är unikt per processor.
Det enda jag vet har gått att parallellkoppla på det sättet du pratar om var minneskretsar på Atari 520, med några kondensatorer och motstånd extra/utbytta så gick det att dubblera minnet så att den hade samma minnesmängd som en 1040 och betedde sig även som en sådan. Jag tror inte ens att det skulle gå att göra något liknande i dagsläget då 20 års utveckling även gjort dessa kretsar mycket mer komplexa.

Visa signatur

Jag kan ha fel, men jag tror att jag har rätt.

Permalänk

Dummaste jag hört på länge. Trodde faktiskt inte att man kunde ha så lite kunskap om datorer. Det var som min farmor som trodde att man bara kunde ta kort på en rubiks-cube och föra över bilden till datorn så fick man ett spel rubiks-cube spel på datorn.

Farmor, är det du som skapat tråden?

Permalänk
Medlem

Även OM man skulle få allt att klaffa, så hade du inte fått någon prestandaökning.
Man skulle ju kunna köra 2 st Sandy-Bridge med T-sufix (35w, moderkortet pallar en 2500k på 95w), men det skulle krocka då moderkortet får två olika ID från CPUerna.
Även om man skulle lösa detta så hade dem jobbat parallelt med samma uppgifter, dem räknar ut samma fråga med samma svar. Dem kommer bara ropa i kör med samma uträkning.
Det är iaf min teori.

Permalänk
Entusiast

EDIT: Jag rekommenderar er att läsa hela inlägget, innan ni hoppar på Citera-knappen, så förstår ni vart jag vill komma.
Detta inlägg är skrivet för att tillföra intressant information till er som är intresserade. Inte för att klanka ner på någon individ.

Till er andra som svarat inkorrekt (att parallell-koppling är omöjligt) i tråden:
Tänk efter lite nu, hur hanterar ett moderkort för flera fysiska processorer adress och databussen? Ja, dessa parallell-kopplas.
Det är upp till mjukvara att hålla rätt på hårdvaran, det är det adressbussen är till för.
Dock så har de flesta multiprocessor-lösningar en så kallad Master-CPU (IRQ 0 ) och alla andra processorer blir därmed påhäng (Slav-CPUer)

Låt oss leka med tanken, och låtsas att TS har löst dem två knepigaste problemen: Kylningen och praktisk placering.
I teorin kan man ansluta processorer parallellt. Det är så multiprocessor-moderkort är kopplade.
Data och adressbussarna parallell-kopplas mellan processorerna, dock via speciella terminerings-kretsar.
Varje processor måste även ha sin egen uppsättning stödkretsar och individuell spänningsreglering.
IRQ-signaler kan inte parallell-kopplas och måste hanteras på ett vettigt sätt mellan processorerna. Det innebär ytterligare kretsar att hålla rätt på.

Som grädde på moset, kan en processors ledningar inte förlängs mer än några enstaka centimeter/millimeter. Allt därutöver introducerar störningar och varje individuell ledning måste skärmas av. Med tanke på att en processor har tusentals ledningar, blir det genast mycket besvärligare.

Redan nu inser man hur opraktiskt det är att utföra den här typen av modifiering på egen hand, även som "extremt elektronik-intresserad".

Mitt svar:
I teorin fungerar det, om alla extra signaler som inte kan parallell-kopplas, hanteras individuellt.
Men det är inte praktiskt nog att kunna genomföras på grund av en hel hög med fysiska begränsningar.

Så nu till lite onödiga fakta, för er som är intresserade:

Onödigt vetande 1: Operativsystemen och slav-processorer.
När ett operativsystems kärna, t.ex. Linux, initierar, används bara en processor (Master CPU).
Tidigt i initieringen skannas hela adressrymden igenom för att hitta expansionsenheter med lågnivå-mjukvara och annan "lågnivå-hårdvara". Där kommer ytterligare processorer att hittas och väckas upp.

Sett från master-processorns vy, är alla extra processorer utöver master-processorn "extra hårdvara" som anslutits till adress och databussen precis som all annan hårdvara. Processorerna är bara en annan typ av hårdvara som sitter på bussen tillsammans med all annan hårdvara. Det är upp till mjukvaran (Operativsystemet/EFI) att hantera saken.

Kör man äldre operativsystem (T.ex. DOS), som inte är anpassade för multipla processorer, kommer alla extra processorerna och/eller kärnor att förbli inaktiverade. Endast Master-processorn/kärnan kommer att jobba.
Extra processorer kommer i det här fallet ses som okänd hårdvara som saknar drivrutiner.

Onödigt vetande 2: Hur gjorde man förr?
Tidigt i datorns barndom, anslöts ytterligare processorer till samma buss som övriga komponenter. Dåvarande ISA-bussen.
Därtill var man tvungen att köra speciellt anpassad mjukvara för att kunna använda de extra processorerna.
Man hade alltså processorerna sittandes på speciellt designade ISA-kort.

Senare i tiden hade processorn blivit så snabb, att den vuxit ur ISA-bussens kapacitet, och flyttade således ner på moderkortet, som var lättare att anpassa för de nya och modernare processorerna. ISA-bussen blev ett påhäng, istället för tvärtom. Det är så vi känner igen datorn idag. (Fast ISA-bussen har ersatts av ett antal andre efterföljande bussar över tid, men principen är densamma)

Dagens processorer kan även dem anslutas parallellt, om man har kretskort designade för detta. Dock så existerar inga lösningar för detta, fast det i teorin är möjligt.
Det är helt enkelt för opraktiskt.
Vad som däremot existerar, är så kallade bladservrar, som i sig är kompletta datorer i ett kompakt insticks-format.

Retro:
Ett 80286 CPU-kort, som i teorin kan anslutas flera parallellt, utan alltför stora modifieringar.
Mjukvaran är dock ett annat problem som kan lösas. Men det går vi inte in på här.

Länk-tips till ämnet i ära:
SMP (Symmetric MultiProcessing) är den vanligaste idag lösningen för flera processorer för konsument-bruk:
http://en.wikipedia.org/wiki/Symmetric_multiprocessing
Gammalt 8086-system där man kunde ansluta flera processorer parallellt: http://www.vintage-computer.com/compupro816.shtml
Piggyback CPUs (Ansluta ytterligare processor ovanpå en befintlig) http://www.cpushack.com/2011/03/06/cpu-of-the-day-ns87p50r-6-...
Amiga 600 RAM Piggyback MOD: http://eab.abime.net/showthread.php?t=40569

Visa signatur

Bästa programmen till Linux - v2.0
Linux-guide: Val av grafisk miljö. (Att välja distribution).
-
Everyone should have a SGoC in their systems (SGoC: SysGhost on a Chip)

Permalänk
Skrivet av SysGhost:

Upp till bevis!

Permalänk
Entusiast
Skrivet av Balls Of Steel:

Upp till bevis!

Behöver inte bevisa något.
Läs inlägget igen, och hitta dessa stycken:

-"Låt oss leka med tanken, och låtsas att TS har löst dem två knepigaste problemen: Kylningen och praktisk placering.
I teorin kan man ansluta processorer parallellt. "

-"Men det är inte praktiskt nog att kunna genomföras på grund av en hel hög med fysiska begränsningar."

Jag försöker inte bevisa något med inlägget.
Jag försöker tillföra mer information.

Är man villig nog, har en duktig hög med pengar, och massor av fritid, så är det säkerligen genomförbart. Jag tror inte det är omöjligt.
Bara väldigt otympligt och opraktiskt.

Om jag har fel, är du mer än välkommen att motbevisa mina teorier med detaljer och bevisa varför multiprocessor-lösningar är omöjliga.

Visa signatur

Bästa programmen till Linux - v2.0
Linux-guide: Val av grafisk miljö. (Att välja distribution).
-
Everyone should have a SGoC in their systems (SGoC: SysGhost on a Chip)

Permalänk
Medlem
Skrivet av SysGhost:

Wall of text

Bilden du presenterar har väl egentligen inget att göra hur ett multiprocessorsystem fungerar, utan hur processorer delar på internminnet..eller hur?

Men i sak håller jag med dig hur ett multiprocessorsystem fungerar - att de parallellkopplad, men upplever att du teoretiserar det lite väl långt och kan därför inte dela din slutstats att det i teorin skulle fungera.

Detta då TS sannolikt avsåg ett moderkort som enbart var konstruerat för en fysisk processor (som i sin tur givetvis kan ha flera kärnor), d.v.s. en sockel.

Att då i sockel försöka parallellkopplad ihop två processorer är inte samma sak som att de kan kommunicera med varandra. Sockeln är inte ansluten till en buss som kan koppla ihop olika processorer, utan i ett "äldre" system anslutet till nordbryggan och i ett lite nyare system istället till sydbryggan.

Så ja, ett multiprocessorsystem är processorerna anslutna parallellt. Men att försöka parallellkopplad två processorer i samma sockel är inte samma sak som att koppla ihop dem på samma buss...

Jag kan ha gjort en tankevurpa så här på kvällskvisten och tar i så fall ödmjukt emot eventuella korrigeringar.

Permalänk
Permalänk
Skrivet av Cybertsen:

Så ja, ett multiprocessorsystem är processorerna anslutna parallellt. Men att försöka parallellkopplad två processorer i samma sockel är inte samma sak som att koppla ihop dem på samma buss...

Om man skulle testa så skulle man hur som helst behöva skriva ett BIOS som stöder två processorer DVS 16 kärnor med två st L3-cachar om man kör AMD-prollar.

Har man fritid så har man.

Visa signatur

Insert funny joke here

Permalänk
Entusiast
Skrivet av Cybertsen:

Bilden du presenterar har väl egentligen inget att göra hur ett multiprocessorsystem fungerar, utan hur processorer delar på internminnet..eller hur?

Men i sak håller jag med dig hur ett multiprocessorsystem fungerar - att de parallellkopplad, men upplever att du teoretiserar det lite väl långt och kan därför inte dela din slutstats att det i teorin skulle fungera.

Detta då TS sannolikt avsåg ett moderkort som enbart var konstruerat för en fysisk processor (som i sin tur givetvis kan ha flera kärnor), d.v.s. en sockel.

Att då i sockel försöka parallellkopplad ihop två processorer är inte samma sak som att de kan kommunicera med varandra. Sockeln är inte ansluten till en buss som kan koppla ihop olika processorer, utan i ett "äldre" system anslutet till nordbryggan och i ett lite nyare system istället till sydbryggan.

Så ja, ett multiprocessorsystem är processorerna anslutna parallellt. Men att försöka parallellkopplad två processorer i samma sockel är inte samma sak som att koppla ihop dem på samma buss...

Jag kan ha gjort en tankevurpa så här på kvällskvisten och tar i så fall ödmjukt emot eventuella korrigeringar.

Processorsockeln är i sig ingenting mer än en bunt ihopbuntade kontakter/stift som förenar moderkortets ledningar (bland annat data- och adress- bussen) med processorn.
Visst, det finns en bunt hjälpkretsar och spänningsregulatorer till varje processor på ett moderkort med flera processor-socklar, och det nämner jag också i mitt inlägg att en del av processorn signaler kan inte bara parallell-kopplas hur som helst.

Läser du mitt inlägg vidare, så ser du att jag inte har påstått att det är enkelt att utföra en "parallell-koppling" av flera CPUer
Och ja. Det ÄR mycket billigare och extremt mycket enklare att bara köpa ett moderkort som har två eller fler CPU-socklar med tillhörande support och hjälpkretsar. Jag har inte påstått något annat.

Jag skrev inlägget för mer information för de som är intresserade, men det verkar som de flesta bara läser första stycket och struntar i att läsa och förstå innebörden i resten av inlägget.

Visa signatur

Bästa programmen till Linux - v2.0
Linux-guide: Val av grafisk miljö. (Att välja distribution).
-
Everyone should have a SGoC in their systems (SGoC: SysGhost on a Chip)

Permalänk
Medlem
Skrivet av SysGhost:

...text...

Men du har påstått att: "I teorin fungerar det" (inlägg #44)
Då är jag lite inne på samma linje som Balls Of Steel: "Upp till bevis!"

Förklara hur kopplar man ihop två processorer i ett single-sockel system?
Och nu snackar vi praktik, inte lite svävande beskrivning om vad ett multiprocessorsystem är eller hur man löste det historiskt.

Eller är det som det som du skriver i ditt nästa inlägg (#46): "Jag tror inte det är omöjligt."
Först säger du alltså att det fungerar, sedan tror du att det inte är omöjligt...men vet du?
Så: "Upp till bevis!"

Skulle vara kul om det fungerade, men då måste du förklara för mig hur det är praktisk möjligt...

Permalänk
Medlem
Skrivet av SysGhost:

Läser du mitt inlägg vidare, så ser du att jag inte har påstått att det är enkelt att utföra en "parallell-koppling" av flera CPUer
Och ja. Det ÄR mycket billigare och extremt mycket enklare att bara köpa ett moderkort som har två eller fler CPU-socklar med tillhörande support och hjälpkretsar. Jag har inte påstått något annat.

Du modifierar problemet så det blir lösbart. Premissen var att ta två vanliga CPUer och sätta ihop deras pinnar (på något sätt) och sen sättas in i ett vanligt moderkort. Och om premissen INTE var det så är det ju relativt ointressant.
Sen är ju CPUerna i ditt diagram seriekopplade. man har gått över till seriekopplade bussar mer och mer (SAS/SATA/CPU-bussar) pga bla att timning vid höga hastigheter är svårare.

Permalänk
Entusiast
Skrivet av Cybertsen:

Men du har påstått att: "I teorin fungerar det" (inlägg #44)
Då är jag lite inne på samma linje som Balls Of Steel: "Upp till bevis!"

Förklara hur kopplar man ihop två processorer i ett single-sockel system?
Och nu snackar vi praktik, inte lite svävande beskrivning om vad ett multiprocessorsystem är eller hur man löste det historiskt.

Eller är det som det som du skriver i ditt nästa inlägg (#46): "Jag tror inte det är omöjligt."
Först säger du alltså att det fungerar, sedan tror du att det inte är omöjligt...men vet du?
Så: "Upp till bevis!"

Skulle vara kul om det fungerade, men då måste du förklara för mig hur det är praktisk möjligt...

Du har rätt. Det är inte praktiskt möjligt, men... det är inte omöjligt.
Jag ville med mitt första inlägg skilja på "omöjligt" och "praktiskt icke genomförbart". För mig är "Omöjligt" ett mycket starkt ord.

Så... till sak:
Försöker mig på en enkel förklaring, men tyvärr har jag inte resurser nog (Tid, Pengar, utrustning) att producera bevis.
En processor, har, enkelt sett:

  • Adressbuss.

  • Databuss.

  • Minnesbuss.

  • IRQ-signaler.

  • Strömförsörjning.

  • Konfigurations-stift.

Ledningar mellan processorerna som kan parallell-kopplas direkt:

  • Adressbuss.

  • Databuss.

Ledningar som bör/måste hanteras av separata stöd-kretsar:

  • IRQ-signaler.

  • Konfigurations-stift.

Ledningar som kopplas antigen separat eller parallellt, beroende på tillverkare, generation och andra faktorer.

  • Minnesbuss.

  • Strömförsörjning.

Data- och adress- bussar.
Först och främst, data och adressbussarna. Det enda sättet för processorer att kunna dela data med resten av systemet, och mellan varandra, är via adress och databussen. Kort och kott är dessa bussar enbart en bunt ledningar som parallell-kopplas mellan samtliga inblandade enheter i ett system. Inte bara processorerna.
Är systemet ett 32-bitars system, med 32 bitars adressering, är det 64 ledningar att parallell-koppla mellan samtliga enheter, inklusive processorer.
Till detta tillkommer avskärmningsledningar, termineringar och annat tillverkar-specifikt, men det går vi inte in på här.

IRQ
Sedan kommer ledningarna/signalerna som inte kan parallell-kopplas, och måste hanteras individuellt. IRQ är en av dessa signaler som måste hanteras separat. IRQ 0 är i regel kopplad till master-processorn. Därefter tillkommer en bunt ytterligare IRQ-signaler, alla via en egen ledning, som ansluts till individuellt hårdvara. (Förr i tiden var det jumprar som skötte IRQ-signalerna, och det var vanligt att orsaka så kallade IRQ-krockar om mer än en enhet var ansluten till samma IRQ-ledning. Ytterligare processorer har sina egna IRQ-signaler, och tilldelas de signaler som är lediga.
I moderna processorer, hanteras alla processorer av IRQ 0, och har ersatts av en mer diskret ID-hantering där master-CPUn bestämmer när andra processorer får svara på anrop (Operativsystemets kärna sköter det).

Strömförsörjning
Förr i tiden var processorer inte så kinkiga, utan drevs av en "råmatning" på 5 volt direkt från nätaggregatet. Det dög gott.
Idag är processorer så extremt kinkiga, and hundradels volt skillnad kan innebära felberäkningar. Därför försörjes varje processor av sin egen dedikerade spänningsregulator.
Hittar man, mot all förmodan, två eller fler processorer som har samma toleranser, kan man ansluta dessa till samma regulator, om regulatorn är stark nog för detta.

Minnesbussen
Nu kommer vill till det intressanta: RAM
Förr i tiden satt RAM-minnet på samma fysiska adress- och data- buss som resten av systemet, vilket gjorde att parallellkoppling av flera processorer var mycket enkelt.
Senare i tiden tillkom en separat stöd-krets för att kunna kommunicera med RAM-minnena, men denna krets var ansluten till den gemensamma data- och adress- bussen. (Samma ledningar, parallellt med resterande enheter).
Då bestod minnesbussen enbart av de korta ledningarna mellan RAM-kapslarna och minneskontrollern.
Idag har minneskontrollern integrerats med processorn, och det ställer till det med parallell-kopplingen av processorerna, då det har tillkommit en ytterligare buss: Minnesbussen.

Tyvärr är dagens minneskretsar inte designade att hantera multipla läsningar och skrivningar samtidigt, så då löser man det genom att ge varje processor sina egna minnes-kapslar. Därför måste ett moderkort som använder 4 fysiska processorer ha minst 4 stycken minneskapslar. En till varje processor.
Kommunikationen mellan varje processors minnesbank sker via den gemensamma data- och adress- bussen.
Det betyder alltså att varje processor då måste fråga en annan processors om informationen. Det slösar bort processortid om en applikation använder mer minne än det som finns tillgängligt hos en aktuella processorn.
För att slippa förslöande minnesförfrågningar mellan processorerna, designades ett speciellt läge som kallas "Memory Ganged Mode". Jag tänker inte gå i i detalj hur detta fungerar. Inlägget skulle bli ännu längre, och det berör inte det aktuella ämnet i alla fall.

Konfigurations-stiften till varje processor.
Varje processor och kärna har sina egna konfigurations-stift anslutna till nordbryggan.
Nordbryggan kommer vid initiering försöka läsa av processorernas serial-ID stift och ladda ner konfigurations-data, eller använda förinställda värden lagrade i CMOS-kretsen. Varje kärna/processor ställs därefter in, så att spänningsmatningen och frekvenser blir dem rätta för varje kärna/processor.
Kort därpå hämtas även minneskapslarnas data in via ytterligare separata ledningar. Detta är dock ett annat ämne vi inte går igenom här.

Uppdatering: I en del moderna system, saknas nordbryggan, då de flesta vitala funktioner från en nordbrygga har flyttat in i processorn.
Detaljer om hur det skulle gå till i dessa vall har jag inte, men generellt sett så måste processorn hämta in/uppdatera sin konfiguration via någon separat stöd-krets, som i sin tur hämtar data från CMOS/EFI.

Låt oss leka med tanken, och låtsas att TS är galen nog att genomföra projektet, har utrustning för SMD-lödning, "reflow"-ugn, och de rätta verktygen:
Denne behöver "bara" parallell-koppla data och adressbussen, ge processorn en egen spännings-regulator, kortsluta rätt konfigurations-stift och knöka in en minneskapsel till processorns minnesbuss.

Här skulle jag rekommendera att man bryter ut alla ledningarna från moderkortet som behövs genom att löda in en så kallad "breakout board" under moderkortet till processorsockelns löd-punkter. Dra så korta ledningar som möjligt.
Anslut den nya processorn till "breakout-kortet", löd in spänningsregulatorer och filterkretsar, anslut strömförsörjning, och anslut en logik-krets till konfigurations-stiften. Det finns även ett stift för seriell konfigurations-data. Denne ansluts till nordbryggan.

Nord-bryggan borde ha lediga konfigurations-ledningar för ytterligare processorer/kärnor.
I bästa fall behöver man bara konfigurera om nordbryggan, så att ytterligare processorer lämnar sina ID-koder och annan data som behövs för operativsystemet skall kunna detektera eventuella extra processorer.
I värsta fall måste nord-bryggan bytas ut mot en som är bättre anpassad för uppgiften i fråga.

Sedan löder TS dit en eller flera minnesslottar på breakout-kortet intill processorn, och drar dess ledningar till processorns minnes-buss.

Resterande...
Resten blir bara lite småpill, smärre anpassningar och trial'n'error.
Självfallet kommer det inte att fungera rakt av, såvida TS inte är en extremt tålmodig människa med "Super-Asian skills"

Slutsats:
Praktiskt genomförbart? Knappast!
Det skulle bli ett mastodont-projekt som skulle ta stora resurser och gräva en krater i ens plånbok.

Omöjligt? Nej.

Parallell-kopplat? Inte allt, men större delen av processorns signaler.

Jag gissar att ni aldrig kommer att läsa dessa rader, då de flesta normala människor har tröttnat en bra bit innan detta, men jag skriver dessa rader ändå:
Vad är syftet med att bevisa det jag beskrev ovan?, vad är det som skall bevisas? vad var det med mitt första inlägg ni missade?
TS fick ju redan svar på sin fråga: Inte praktiskt genomförbart. Det är billigare och enklare att köpa ett moderkort designat för ändamålet.

Jag säger det återigen:
Jag ville med mitt första inlägg skilja på "omöjligt" och "praktiskt icke genomförbart". För mig är "Omöjligt" ett mycket starkt ord.

Istället för att kalla TS "korkad", så som många andra gör, så ville jag med mitt första inlägg beskriva att de inte är omöjligt att parallell-koppla, och att TS delvist är inne på rätt spår, men...

EDIT:
Varför jag skrev det jag skrev, är för att jag uppfattade TS fråga som en teoretisk fråga, och jag gav ett teoretiskt svar.
Jag tror nog att TS själv fattar att det inte är praktiskt genomförbart.

Visa signatur

Bästa programmen till Linux - v2.0
Linux-guide: Val av grafisk miljö. (Att välja distribution).
-
Everyone should have a SGoC in their systems (SGoC: SysGhost on a Chip)

Permalänk

Till SysGhost post 53:

Mycket intressant läsning! Helt klart det i min mening det bästa svaret på TS fråga. Tycker det var en ganska intressant frågeställning från TS sida. Men att så många skulle kasta ur sig ogenomtänkta svar utan någon som helst eftertanke att svara på VARFÖR det inte går förvånar mig lite.

Än igen, hatten av för SysGhost som på ett exemplariskt sätt gav vettiga svar!

Permalänk
Medlem

Teoretiskt, om man har 2 CPUer och fixar strömmatning, eventuellt kylning och processorerna inte har unika ID nummer eller om detta kan avaktiveras/ignoreras. Så om man matar båda med samma indata så bör man få samma utdata från båda.
Alltså 2 processorer som gör samma arbete.
Är man duktig på elektronik så går det säkert att praktiskt göra något kretskort (får väl specialbeställa om de behöver ha mer än 2 lager) där man har 2st processorer där båda utför samma arbete. Jag tänker mig då att om man ska göra det praktiskt så gör man det mer som en proof of concept grej och istället för att använda de senaste Core i7 eller Athlon FX processorerna så använder man någon form av enklare mikroprocessor. Någon PIC eller motsvarande.

SysGhost: Är lite för trött för att lösa igenom inlägg #53 just nu...
Men...

Citat:

"Varje processor måste även ha sin egen uppsättning stödkretsar"
"I teorin fungerar det, om alla extra signaler som inte kan parallell-kopplas, hanteras individuellt."

IMO så ändrar du förutsättningarna med de uttalandena.
Det är lite som att:
Q: Kan man köra med en bil på vatten?
A: Om du skrotar bilen, men behåller ratten och skaffar en båt som du monterar ratten i så kan du köra på vatten med den.

Jag får det till att 2 likadana kretsar som får samma indata ska ge samma utdata. Så länge man inte använder sig av unika id nummer eller slumpfunktioner där man drar nytta att varje exemplar inte är absolut identiskt eller dylikt.

Permalänk
Entusiast
Skrivet av GuessWho:

SysGhost: Är lite för trött för att lösa igenom inlägg #53 just nu...
Men...

IMO så ändrar du förutsättningarna med de uttalandena.
Det är lite som att:
Q: Kan man köra med en bil på vatten?
A: Om du skrotar bilen, men behåller ratten och skaffar en båt som du monterar ratten i så kan du köra på vatten med den.

Jag får det till att 2 likadana kretsar som får samma indata ska ge samma utdata. Så länge man inte använder sig av unika id nummer eller slumpfunktioner där man drar nytta att varje exemplar inte är absolut identiskt eller dylikt.

http://en.wikipedia.org/wiki/System_bus

Låt mig simplifiera det hela:
Du har rätt. Alla enheter på samma databuss ser exakta samma data. Det är det databussen är till för, och är därför det heter "Buss".
För att lösa detta, används adressering och IRQ (Interrupt ReQuest).

Exempel:
Data som syns för alla enheter på databussen: 153.
Adress som efterfrågas: 5

Systemet har ett antal enheter kopplade parallellt till samma databuss, men varje enhet har en eller flera unika adresser 1, 2, 3, och så vidare.

Med data och adress inställda som ovan, innebär det att alla enheter ser data 153, men endast enhet som sitter på adress 5 kommer att läsa in dessa data. Alla andra enheter som inte har den adressen, kommer att ignorera 153.

Som grädde på moset, har vi även IRQ-signaler som mer övergripande ser till att data hamnar på rätt ställe, då många enheter i en typisk dator kan ha mer än ett område att skriva data till.

Processorer måste även dem följa samma regler som resterande hårdvara: Vänta på att databussen blir ledig innan data kan läsas eller skrivas. Det blir väldigt mycket väntande för alla inblandade parter i ett system som använder en enda gemensam databuss.

Turligt nog har processorerna eget internt cache-minne, som gör att processorerna inte behöver sitta och skrika "databussen upptagen" varje gång nya data behöver skrivas eller läsas.
Utan cache-minnet skulle resten av systemet aldrig få något gjort, och processorerna skulle slåss om den lilla bandbredd som databussen kan ge.

Hur skiljer operativsystemet processorerna åt?
Via instruktionsköer. Varje processor får sin egen instruktion-kö tilldelad av operativsystemet när processorn aktiveras. Detta medför att processorerna aldrig behöver en egen adress-rymd eller egen unik IRQ.
Operativsystemet ser till att fördela program och trådar mellan instruktions-köerna.

Visa signatur

Bästa programmen till Linux - v2.0
Linux-guide: Val av grafisk miljö. (Att välja distribution).
-
Everyone should have a SGoC in their systems (SGoC: SysGhost on a Chip)

Permalänk
Medlem
Skrivet av SysGhost:

The great wall of text #53

Tack för din utläggning, kanske till motsats till vad du tror som är det du beskriver inte helt okända kunskaper för mig.

Men Mika, blandar och ger du nu inte lite...kanske t.o.m. kör lite free-style?

T.ex. så skriver du att "minneskontrollern integrerats med processorn", vilket är korrekt för ett system där nordbryggan integrerats. Sedan fortsätter du "Nord-bryggan borde ha lediga konfigurations-ledningar för ytterligare processorer/kärnor".

Nu tappad du bort mig...
Först en (modernt) systemarkitektur med integrerad nordbrygga i kislet (t.ex. Sandy bridge) sedan säger du att nordbryggan borde ha lediga ledningsbanor? Men nordbryggan satt ju i processorn?

Jag tänker inte producera en "wall of text", men det känns lite som vi har problemet med Russells tekanna. Det verkar vara så att det vi "icke-troende" (de som inte tror på att det går att genomföra), snarare än de "troende" (de som hävdar att det går) som har "bevisbördan".

För det är väl inte så att det är den som kan producera mest text som därigenom blir den som är bäst insatt i ämnet och därigenom erhålla högst trovärdighet...

Att sedan i detta skede slänga in en "disclamer" att man skulle skilja på "omöjligt" och "praktiskt icke genomförbart" är...tja...
Det är inte mycket som är omöjligt så länge man håller sig inom fysikens råmärken...

Permalänk
Medlem
Skrivet av SysGhost:

Tack för trevlig information

Visa signatur

i5-12600KF | Noctua NH-D15S Chromax Black | MSI MAG B660M | 64 GB G.Skill Trident Z | 3 * WD Black SN750 | Asus TUF OC RTX 3080 | Fractal Design Torrent | Corsair RM750W | Samsung Odyssey G9 49" |

Permalänk
Medlem

Hade det funkat så hade det säkert redan funnits någon sorts adapter-platta som man trycker i sockeln, och på sin tur sätter 2 cpuer i.
Som jag tidigare sagt så provade jag detta för 10år sedan genom att lägga 2st mmx cpuer på varandra, och det fungerade helt enkelt inte(som förväntat)
Alltså rätt upp och ner så är det inte genomförbart, men som andra skriver så kanske det går om man bygger om halva moderkortet med diverse hårdvara, men detta är långt ifrån vad tråden handlade och lika långt ifrån vad man skulle klara att snickra ihop i vedboden.

Visa signatur

New. I7 11800h undervolt, RTX3070max-P, 1080p 300hz, 16GB Samsung 3200@3500cl20, 1+1TB nvme.
-
Old. I7 8750h undervolt, gtx1070 undervolt, 1440p 144hz, 16GB Corsair 2666, 1TB MP510 nvme.
-
Older. Intel I7 3610qm, Amd7970m, 8GB Kingston HyperX 1600mhz, 500GB Samsung 850 ssd.

Permalänk
Inaktiv
Skrivet av Cybertsen:

Har du några elementära kunskaper i microprocessorarkitektur överhuvudtaget?

Hur skall två processorer kunna samsas på samma databus (konstruerad för en processor)?
Hur skulle de bl.a. samordna anrop, adresseringar och allokeringar till enheter (typ internminnet, chipset m.m.)?

Det kommer inte att fungera, det är bara så...

Analogi: Varför kan man inte låta två förare köra samma bil?

Hehe... Sådana bilar finns.