Přemapované násobiče

Vrtá vám hlavou, proč se v BIOSech socket 370 motherboardů vyskytuje volba násobiče maximálně 8x, přitom většina nových Celeronů používá násobiče vyšší? Nebo proč u socketu A se stejná situace opakuje s násobičem 12,5x...

Co je násobič

Jednoduše řečeno, násobič je koeficient, kterým se v procesoru vynásobí frekvence Front-Side Bus (FSB) a výsledkem je frekvence jádra mikroprocesoru.

násobič * frekvence_FSB = frekvence_jádra

Takže např. procesor s násobičem 3x a frekvencí FSB 66,66 MHz má výslednou frekvenci jádra 3x 66,66 = 200 MHz.

Samotné násobení frekvence se děje uvnitř procesoru, nezávisle na okolních komponentech. Procesor využije frekvence FSB jako reference a pak jednoduše rozdělí jednotlivé pulsy na více pulsů. Při násobení 3x se tak z každého pulsu FSB stanou tři pulsy pro jádro mikroprocesoru.

Procesor se tímto stává závislým na frekvenci FSB (čehož se pak využívá při přetaktování), ale zároveň se tím zajišťuje dobrá synchronizace s FSB. Pokud se budeme opět bavit o násobení 3x, tak při každém třetím cyklu mikroprocesoru začíná cyklus FSB. Tohoto efektu se využívá při přístupu k FSB.

Ovlivňování násobiče zvenčí

Násobiče byly zavedeny do mikroprocesorů instrukční sady x86 počínaje procesorem Intel 80486 DX2. V dřívějších procesorech se frekvence čipu rovnala frekvenci FSB. Jak ale frekvence čipů stoupala, stoupala i frekvence FSB a ostatních zařízení. To s sebou přinášelo nemalé problémy s kompatibilitou (ostřílení veteráni si jistě vzpomenou na VL Bus).

Procesor DX2 byl prvním, který násobení využil. Konkrétně se jednalo o násobení 2x. Frekvence FSB byla 25 nebo 33MHz, frekvence čipu pak dvojnásobná. Jak frekvence čipů rostly, objevovaly se i jiné násobiče jako např. 1,5x (Pentium 75MHz) nebo 2,5x (Pentium 166MHz).

Protože byly procesory Pentium vyráběny "na běžícím pásu" a jejich výsledná frekvence (= frekvence jádra) se určovala až po zatěžkávacích zkouškách, měly tyto procesory otevřený násobič. Co to znamená? Jednoduše to, že všechny procesory byly úplně stejné a jejich operační frekvence se určovala zvnějšku, externě. Když jste si tedy koupili Pentium 133, nastavili jste na motherboardu frekvenci FSB 66MHz a násobič 2x. Podobným způsobem se u Pentia 166 nastavilo 2,5x 66 MHz. Z toho jasně plyne, že samotné násobení probíhalo uvnitř mikroprocesoru, avšak konkrétní násobič se určoval pomocí signálů z motherboardu (skrz několik pinů).

V praxi to znamená, že takové Pentium 100 mohlo být nastaveno jako 1,5x 66MHz nebo jako 2x 50MHz. Stejně tak Pentium 166 jako 2,5x 66MHz nebo 3x 55MHz. Možnosti nastavit libovolný násobič využívali někteří uživatelé k přetaktování - z 2,5x 66MHz se snadno vytvořilo 3x 66MHz (tj. 200MHz) a hned jste měli za cenu Pentia 166 "dvoustovku".

Zamčený násobič

Tyto praktiky a především podvody s prodejem přetaktovaných procesorů vedly společnost Intel k uzamčení násobiče. Zhruba od uvedení Celeronu jsou všechny procesory společnosti Intel určené k prodeji s napevno stanoveným násobičem, který nelze zvenčí ovlivnit.

Výroba těchto procesorů probíhá tak, že po zatěžkávacích zkouškách a určení frekvence jádra je násobič napevno nastaven a jsou zablokovány elektrické spoje k pinům, přes které se dá násobič ovlivnit. Přestože mnoho motherboardů umí u Celeronu změnit násobič, tato změna nikdy nenabyde efektu. Na jednotlivé piny, přes které je možné násobič změnit, je posláno napětí (= signál), ten však nikdy do samotného jádra nedorazí. Proto u těchto procesorů není možné násobič změnit.

Výjimku tvoří procesory označené jako Intel Confidental - Engineering Sample (vývojářský prototyp), u kterých spojení jádra s piny přerušeno není, proto je u nich možné násobič měnit dle libosti. Tyto procesory jsou dodávány pouze pro testovací účely, např. k nám do PCtuningu.

Podobným směrem se vydalo i AMD, které přerušuje spojení piny-jádro přepálením můstků L1. Tím se zabraňuje hromadnému přetaktování procesorů a jejich následnému prodeji jako výkonnější modely.

Přemapované násobiče

Jelikož je možné externě ovlivňovat násobič (ať už u prodejních nebo ES procesorů), je předem nutné definovat, přes které piny bude možné násobič změnit a jednotlivé kombinace signálů. U platformy socket A se používají čtyři piny označené jako FID[0], FID[1], FID[2] a FID[3]:

Nastavení pinů u socket A

Z této tabulky je vidět kombinace signálů na jednotlivých pinech. Jednička znamená HI (napětí), nula znamená LO (uzemnění). Protože se jedná o čtyři piny, je výsledný počet možných kombinací 24 = 16. Jednotlivé kombinace jsou jádrem interpretovány jako v tabulce vpravo uvedené hodnoty a podle toho se násobí.

Procesory socket A jsou vlastně hybridním případem - defaultní (standardní) násobič je určen pomocí můstků na mikroprocesoru, ty je ale možné "přetlačit" nastavením z motherboardu (za předpokladu nepřerušených L1). Naproti tomu procesory Pentium standardní násobič určený nemají a procesory Celeron (vyjma ES) zase nelze z motherboardu ovlivnit.

Jednotlivé hodnoty násobičů jsou určeny při vývoji platformy. Co však dělat, když výrobce potřebuje násobič vyšší než je ten definovaný ve specifikaci? Konkrétně z výše uvedené tabulky ve vidět, že maximální násobič je u socketu A 12,5x. Jak je tedy možné, že se prodávají procesory Athlon 1300 a 1400 MHz s frekvencí FSB 100MHz? Jedná se přeci o násobiče 13 a 14x.

Odpověď na tuto otázku je jednoduchá - využije se přemapovaného násobiče. O co jde? Jak jsem již říkal, samotné násobení (dělení frekvence FSB) probíhá uvnitř mikroprocesoru, bez vnějších činitelů. Není nic jednoduššího než "obětovat" některý z nižších násobičů a vytvořit z něj násobič vyšší. Mírně se upraví design mikroprocesoru a to tak, že některý z násobičů bude procesor chápat jako jiný násobič. Typickým příkladem nechť je procesor K6-2+ (klasická K6-2 s integrovanou full-speed L2 cache). Tento procesor se chová zcela standardně podle definice socketu super 7 až do okamžiku, kdy je na motherboardu nastaveno násobení 2x. V tomto případě se totiž narozdíl od klasické K6-2 nenásobí frekvence FSB 2x, ale 6x. Tím se obejde nejvyšší násobič socketu super 7, který je 5,5x.

Athlony, Durony

Stejným případem jsou i Athlony 1300 a 1400. Ty jsou také upraveny, aby reagovaly na jeden z násobičů (bohužel nevím který) jinak, než je tomu v definici socketu A. S tímto chováním mohou mít některé motherboardy problémy. Konkrétně se jedná o případ, kdy je při spojení můstku L1 násobič ovlivňován z motherboardu. Motherboard s neupdatovaným BIOSem neví, který násobič "byl obětován" a sám není schopen nastavit násobič vyšší než 12,5x. Frekvenci 1300MHz nastavit v BIOSu nemůžete a přitom násobič je ovlivňován z motherboardu. Celé to může dopadnout tak, že motherboard mění násobič na řekněme 12,5x, přičemž by měl nastavit 5x, protože 5x je interpretováno jako 13x (opakuji, že o který konkrétní násobič se jedná, nevím). Proto se např. při updatu BIOSu u desky Abit KT7 dočtete, že podporuje Athlony 1400 s přerušeným můstkem L1, ale jakmile bude tento můstek spojený, procesor podporován není!

Celerony, Pentia II / III / 4

S podobnými problémy se u platformy Intel nesetkáte. Čistě z toho důvodu, že procesoru je úplně fuk, jaký násobič si nastavíte. Vaše požadavky na násobení ho vzhledem k přerušenému spojení jádra s piny vůbec nezajímají. Jediný problém zde může nastat v případě, kdy motherboard z nějakého důvodu není schopen přemapovaný násobič strávit (vyřeší se obvykle updatem BIOSu) nebo máte ES procesor, který lze z vnějšku ovlivnit.

Eagle

Diskuze (14) Další článek: Palm zavírá portál MyPalm

Témata článku: , , , , , , , , , , , , , ,