BogoMips - BogoMips

BogoMips ("soxta" dan va MIPS ) ning o'lchovidir CPU tezligi tomonidan qilingan Linux yadrosi ichki sozlamalarni sozlash uchun yuklashda band-loop.[1] Terimning tez-tez keltirilgan ta'rifi "protsessorning soniyasiga million marta soni hech narsa qila olmaydi".[2][3]

BogoMips - bu ko'rib chiqilayotgan protsessor shu kabi protsessorlarning tegishli diapazonida yoki yo'qligini tekshirish uchun ishlatilishi mumkin bo'lgan qiymat, ya'ni BogoMips protsessorning soat chastotasini va potentsial mavjudligini anglatadi. CPU keshi. Turli xil protsessorlar o'rtasida ishlashni taqqoslash uchun foydalanilmaydi.[4]

Tarix

1993 yilda Lars Virzenius a Usenet xabar[5] comp.os.linux da Linux yadrosiga kiritilish sabablarini tushuntirib bering:

[...]
MIPS soniyasiga millionlab ko'rsatmalar uchun qisqartirilgan. Bu protsessorning hisoblash tezligi o'lchovidir. Bunday choralarning aksariyati singari, uni to'g'ri ishlatishdan ko'ra ko'proq suiiste'mol qilishadi (MIPSni har xil kompyuterlar uchun adolatli taqqoslash juda qiyin).
BogoMips Linus o'z ixtirosi. Linux yadrosi 0.99.11 versiyasi (1993 yil 11-iyuldagi) uchun vaqt tsikli kerak edi (vaqt juda qisqa va / yoki kutishning band bo'lmagan usuli uchun juda aniq bo'lishi kerak), bu protsessorga sozlanishi kerak mashinaning tezligi. Demak, yadro yuklash vaqtida kompyuterda qandaydir band tsiklning qanchalik tez ishlashini o'lchaydi. "Bogo" "soxta", ya'ni soxta narsadan keladi. Demak, BogoMips qiymati protsessorning tezligini ko'rsatib beradi, ammo BogoMips-dan boshqa narsa deb atash juda ilmiy emas.
Yuklash paytida bosib chiqarilishining sabablari (ikkitasi bor) a) bu disk raskadrovka va kompyuterning keshlari va turbo tugmachalarining ishlashini tekshirish uchun ozgina foydalidir va b) Linus ko'rganida kulishni yaxshi ko'radi odamlar yangiliklardan chalg'ib qolishdi.
[...]

BogoMips-ning to'g'ri reytinglari

BogoMips-ni taxminiy qo'llanma sifatida quyidagi jadval bo'yicha oldindan hisoblash mumkin. Berilgan reyting bunga xosdir Markaziy protsessor keyin joriy va amaldagi bilan Linux versiyasi. Indeks - bu taqqoslash maqsadida har qanday protsessor uchun "soat tezligi bo'yicha BogoMips" ning Intel 386DX protsessori uchun nisbati.[6][7]

TizimReytingIndeks
Intel 8088soat × 0,0040.02
Intel / AMD 386SXsoat × 0,140.8
Intel / AMD 386DXsoat × 0,181 (ta'rif)
Motorola 68030soat × 0,251.4
Cyrix /IBM 486soat × 0,341.8
Intel Pentiumsoat × 0,402.2
Intel 486soat × 0,502.8
AMD 5x86soat × 0,502.8
MIPS R4000 / R4400soat × 0,502.8
ARM9soat × 0,502.8
Motorola 68040soat × 0,673.7
PowerPC 603soat × 0,673.7
Intel StrongARMsoat × 0,663.7
NexGen Nx586soat × 0,754.2
PowerPC 601soat × 0,844.7
Alpha 21064 / 21064Asoat × 0,995.5
Alfa 21066 / 21066Asoat × 0,995.5
Alfa 21164 / 21164Asoat × 0,995.5
Intel Pentium Prosoat × 0,995.5
Cyrix 5x86 /6x86soat × 1,005.6
Intel Pentium II /IIIsoat × 1,005.6
AMD K7 / Athlonsoat × 1,005.6
Intel Celeronsoat × 1,005.6
Intel Itaniumsoat × 1,005.6
R4600soat × 1,005.6
Xitachi SH-4soat × 1,005.6
Raspberry Pi (Model B)soat × 1,005.6
Intel Itanium 2soat × 1,498.3
Alfa 21264soat × 1,9911.1
Centaur VIAsoat × 1,9911.1
AMD K5 / K6 / K6-2 / K6-IIIsoat × 2,0011.1
AMD Duron /Athlon XPsoat × 2,0011.1
AMD Sempronsoat × 2,0011.1
UltraSparc IIsoat × 2,0011.1
Intel Pentium MMXsoat × 2,0011.1
Intel Pentium 4soat × 2,0011.1
Intel Pentium Msoat × 2,0011.1
Intel Asosiy Duosoat × 2,0011.1
Intel Core 2 Duosoat × 2,0011.1
Intel Atom N455soat × 2,0011.1
Centaur C6-2soat × 2,0011.1
PowerPC 604 / 604e / 750soat × 2,0011.1
Intel Pentium III missoat × 2,0011.1
Intel Pentium III Xeonsoat × 2,0011.1
Motorola 68060soat × 2,0011.1
Intel Xeon MP (32-bit) (giper iplar )soat × 3.9722.1
IBM S390ma'lumotlar etarli emas (hali)
ARMma'lumotlar etarli emas (hali)

2.2.14 Linux yadrosi bilan, a keshlash protsessor holatini sozlash BogoMips hisoblashidan oldin orqaga o'tkazildi. BogoMips algoritmining o'zi o'zgartirilmagan bo'lsa ham, ushbu yadrodan boshlab hozirgi Pentium protsessorlari uchun BogoMips reytingi o'zgarishdan oldin reytingdan ikki baravar yuqori edi. BogoMips-ning o'zgartirilgan natijasi protsessorning haqiqiy ishlashiga ta'sir ko'rsatmadi.[iqtibos kerak ]

Linux-da BogoMips-ni osongina qidirish orqali olish mumkin cpuinfo fayl:[7]

$ grep -i bogomips / proc / cpuinfo

BogoMIPSni hisoblash

2.6.x yadrosi bilan BogoMIPS /usr/src/linux/init/calibrate.c yadro manbai fayli. Linux yadrosi vaqtini belgilash parametrini hisoblab chiqadi loops_per_jiffy (qarang jiffy ) qiymati. Manba kodidan tushuntirish:

  / * * Kabi * oddiy tsikl (jiffies 

loops_per_jiffy amalga oshirish uchun ishlatiladi udelay (mikrosaniyadagi kechikish) va ndelay (nanosaniyadagi kechikish) funktsiyalari. Ushbu funktsiyalar ba'zi drayverlarga qo'shimcha qurilmani kutish uchun kerak. E'tibor bering a kutish bilan band texnikasi ishlatiladi, shuning uchun yadro bajarilganda samarali bloklanadi ndelay/udelay funktsiyalari. I386 arxitekturasi uchun kechiktirmoq amalga oshiriladi /usr/src/linux/arch/i386/lib/delay.c kabi:

/ * oddiy tsiklga asoslangan kechikish: * /statik bekor kechiktirmoq(imzosiz uzoq ko'chadan){  int d0;  nigora nilufar__(    " tjmp 1f n"    ". 16-qator n"    "1: tjmp 2f n"    ". 16-qator n"    "2: tdecl% 0 n  tjns 2b "    :"= & a" (d0)    :"0" (ko'chadan));}

quyidagi assembler kodiga teng

; kirish: eax = d0; chiqish: eax = 0       jmp  boshlang.tizim 16boshlash: jmp  tanasi.tizim 16tanasi:  dekl eax       jns  tanasi

uni C-pseudocode-ga qayta yozish mumkin

statik bekor kechiktirmoq(uzoq ko'chadan){  uzoq d0 = ko'chadan;  qil {    --d0;  } esa (d0 >= 0);}

BogoMips haqida to'liq va to'liq ma'lumotlar va tafsilotlar va yuzlab ma'lumotnomalarni BogoMips mini-Howto (eskirgan) da topish mumkin.[4]

Taymerga asoslangan kechikishlar

2012 yilda, ARM yangi hissa qo'shdi udelay ko'p ARMv7 protsessorlariga o'rnatilgan tizim taymerini band-kutish davri o'rniga ishlatishga imkon beruvchi dastur. Ushbu dastur 3.6 versiyasida chop etilgan Linux yadrosi.[8] Taymerga asoslangan kechikishlar foydalanadigan tizimlarda yanada mustahkamroq chastota miqyosi kabi protsessor tezligini dinamik ravishda sozlash uchun loops_per_jiffies qiymatlar, albatta, chiziqli miqyosda bo'lmasligi mumkin. Bundan tashqari, taymer chastotasi oldindan ma'lum bo'lganligi sababli, yuklash vaqtida hech qanday kalibrlash kerak emas.

Ushbu o'zgarishlarning bir yon ta'siri shundaki, BogoMIPS qiymati protsessorning asosiy chastotasini emas, balki taymer chastotasini aks ettiradi. Odatda taymer chastotasi protsessorning maksimal chastotasidan ancha past bo'ladi va ba'zi foydalanuvchilar an'anaviy band-kutish ko'chadan foydalanadigan tizimlarga taqqoslaganda juda kam BogoMIPS qiymatini ko'rib hayron bo'lishlari mumkin.

Shuningdek qarang

Adabiyotlar

  1. ^ Van Dorst, Vim (1996 yil yanvar). "Quintessential Linux mezonlari". Linux jurnali. Olingan 2008-08-22.
  2. ^ Erik S Raymond va Geoff Mackenzie, da chop etilgan Internet 1990-yillarning boshlarida kelib chiqishi izsiz.
  3. ^ Raymond, Erik S. "Jargon fayli xakerlari".
  4. ^ a b Van Dorst, Vim (2006 yil 2 mart). "BogoMips Mini-Howto" (V38 tahr.). Olingan 2008-08-22.
  5. ^ Wirzenius, Lars. "Re: bosib chiqarish va BogoMips".
  6. ^ Bekman, Stas. "BogoMip nima?".
  7. ^ a b "BogoMips mini-Howto".
  8. ^ Deacon, Will. "ARM: 7452/1: kechikish: taymer asosida kechikishni amalga oshirishni tanlashga ruxsat berish".

Tashqi havolalar