Het heeft vooral te maken met de lengte van de onderlinge verbindingen en de vertragingen in de voortplanting door de poorten. Als we een CPU terugbrengen tot zijn essentie, is het een feedbackmachine. Een stel combinatorische logische circuits berekent enkele booleaanse functies over de huidige toestand van de machine, en die functies bepalen de nieuwe toestand, die wordt vergrendeld door opeenvolgende schakelingen wanneer een nieuwe klokflank arriveert. De combinatorische circuits hebben allemaal vertragingen. De klokperiode kan niet korter zijn dan de tijd die nodig is voor het langzaamste pad door deze poorten om een stabiel resultaat te produceren, omdat een enkele onjuiste bit de show stopt.
Verder heeft de sequentiële logica timingvereisten. Voordat de klokflank arriveert, is er een minimale insteltijd dat de ingangen stabiel moeten zijn en daarna moeten ze een tijdje stabiel blijven. Als deze worden geschonden, wordt de toestand rotzooi.
De voortplantingsvertragingen worden veroorzaakt door zaken als hoe snel parasitaire capaciteiten kunnen opladen, hoe snel stroom kan worden opgebouwd in aanwezigheid van een inductantie en hoe snel siliciumapparaten kunnen schakelen . Een bipolaire transistor met een kleinere basis kan bijvoorbeeld sneller schakelen dan een transistor met een grotere basis, dus een kleine transistor op een chip is sneller dan een discrete.
In een eerder antwoord dat ik heb verwijderd, schreef ik over transmissielijneffecten. Maar ik dacht niet dat deze effecten niet eens in beeld komen bij de snelheden waar we het over hebben, want bijvoorbeeld bij 10 Mhz is de golflengte nog steeds ongeveer 30 meter. Dus op de schaal van een printplaat van normaal formaat, bereiken pulsen op de tijdschaal van een paar megahertz nog steeds alle delen van een kopernetwerk tegelijkertijd.
Dus als je een CPU maakt van discrete componenten, De kleine componenten worden eenvoudigweg niet bereikt met snelle schakeltijden en dezelfde nabijheid die strooicapaciteiten en inductanties minimaliseert.
Desalniettemin werkten oude machines met discrete componenten in de jaren '60 een stuk sneller dan deze homebrew-machines. Het kostte wat tijd en sluwheid om daar te komen. De IBM 360 Model 44 (1964) liep bijvoorbeeld op 4 Mhz. Dat mag dan nog steeds "homebrew speed" zijn, maar de CDC 7600 die een paar jaar later in 1969 werd uitgebracht, overtrof de 36 Mhz. Het Wikipedia-artikel http://en.wikipedia.org/wiki/CDC_7600 geeft een hint naar enkele van de trucs die werden getrokken, bijvoorbeeld:
"As altijd was Cray's ontwerp ook gericht op de verpakking om de afmetingen te verkleinen, signaalpaden te verkorten en daardoor de werkfrequentie te verhogen. transistors. De zes kaarten werden gestapeld en vervolgens langs hun randen met elkaar verbonden, waardoor een zeer compacte, maar in wezen niet te repareren module ontstond. "
Dus de zelfgebouwde CPU's zijn niet noodzakelijkerwijs gebouwd naar hun ware potentieel vanwege enkele verwarrende effecten die te maken hebben met de bouwkwaliteit en lay-out. Toch moet iedereen die een CPU bouwt uit individuele geïntegreerde schakelingen en discrete componenten die op verschillende megahertz draait, worden toegejuicht.