Hlavní menu
Hlavní stránka
Kontakt
Distributoři
Přehled produktů
Galerie
Reference
Pozorování
Download
Astronomické kamery
Software
Obchod

Hlavní stránkaPřehled produktůSoftware

Nové verze 2.3.3 programu SPIS je k dispozici v 32 bitové i 64 bitové variantě
 64 bitová verze 2.3.3 programu SIPS (Scientific Image Processing System) byla několik měsíců testována a nyní je uvolněna k volnému stažení. Varianta SIPS podporující 64 bitové adresy (tedy bez omezení na 4GB paměti) ale není jediná nová vlastnost. Tato verze také přidává podporu pro nový hardware, dovoluje výrazně lepší ovládání připojených dalekohledů, rozšiřuje kompatibilitu s FITS standardem atd. Také je opět vylepšena podpora pro obrazovky s vysokým rozlišením (HI-DPI).

64 bit computing

„64 bitů“ je nové marketingové heslo mezi mobilními telefony a tablety, ale ve světě PC je už docela běžné. Přestože 64 bitové systémy používáme už řadu let, všeobecné porozumění co to vlastně znamená je kupodivu na velice nízké úrovni. Dovolíme si proto nejprve vysvětlit několik pojmů než přejdeme k 64 bitové verzi programu SIPS.

64 bitový procesor je centrální jednotka počítače s interními registry, které dokáží uchovat a zpracovat jednotlivé údaje (celá čísla, adresy v paměti, ...) až do délky 64 bitů. První mikroprocesor vůbec byl 4 bitový (Intel 4004), ale brzy byl nahrazen 8 bitovou verzí (Intel 8008). 8 bitové procesory se staly velice populární. Objevila se řada modelů (Intel 8080, Zilog Z80, Motorola 6800, MOS Technology 6502, ...), pohánějící první skutečně osobní počítače. V honbě za stále větším výpočetním výkonem a schopností pracovat s větší pamětí se objevily 16 bitové a později 32 bitové procesory, některé vytvořené jako rozšíření stávajících architektur, jiné navržené zcela nově přímo jako 16 nebo dokonce 32 bitové.

Neustále rostoucí potřeba paměti, přesahující limit 4 GB 32 bitových procesorů (2^32 = 4G), vedla k návrhu 64 bitových procesorů. A obdobně některé z nich vznikly jako přirozené rozšíření existujících 32 bitových architektur, jiné byly nově navrženy přímo jako 64 bitové.

Ale procesorové architektury mají těžký život. Buď rychle uspějí a stanou se široce populární nebo brzy zahynou. Dnes dominují pouze dvě architektury (Intel x86-64 a ARM v7/v8) a obě jsou k dispozici v 64 bitové variantě. A obě vznikly evolucí předcházející 32 bitové verze, takže obě mohou spouštět 32 bitové i 64 bitové programy.

Poznámka:

Architektura Intel x86 se nejprve vyvinula z 16 bitové do 32 bitové podoby a teprve později byla rozšířena na 64 bitů. Stojí za zmínku, že 64 bitová verze historické architektury x86 nebyla zavedena firmou Intel, svého času příliš zaměstnanou propagací nyní mrtvých procesorů Intel Itanium, zcela nekompatibilních se standardem x86. Na místo toho další výrobce x86 procesorů, firma AMD, přišla s 64 bitovým rozšířením architektury x86-64 a až když ji začala široce podporovat firma Microsoft, dokonce i Intel byl nucen tento standard akceptovat. Hlavní vlastností 64 bitových x86 CPU je schopnost spouštět veškerý existující 32 bitový software. Zprvu byly používány jen 32 bitové systémy (operační systémy, aplikace) a pouze postupně přicházely 64 bitové verze operačních systémů, schopných spouštět 32 bitové i 64 bitové aplikace.

64 bitové x86 CPU byly označeny x86-64, což se později zredukovalo na pouhé x64. Tedy „x86“ znamená 32 bitová architektura Intel, zatímco „x64“ znamená 64 bitová architektura Intel (vytvořená firmou AMD :).

64 bitový operační systém potřebuje k běhu 64 bitový CPU. Jistě je možné vytvořit čistě 64 bitový operační systém, provozující čistě 64 bitové aplikace, ale zřejmě je zhola nemožné s takovým systémem uspět na trhu. Lidé potřebují spouštět existující 32 bitové aplikace, takže zachování zpětné kompatibility je klíčové.

Aby byla zachována zpětná kompatibilita, musí ji podporovat hardware (CPU) a také software (operační systém). A všichni hlavní hráči tak činí (x64 a ARM, Windows a Android).

  • 64 bitový procesor může spouštět 32 bitový i 64 bitový operační systém a aplikace. Pokud pracuje 32 bitový OS, celý systém pracuje čistě 32 bitově, včetně limitů adresování paměti. Není možné použít jedinou 64 bitovou část kódu, 64 bitové aplikace nepracují.

  • Pokud na 64 bitovém procesoru pracuje 64 bitový operační systém, je možné spouštět 32 bitové i 64 bitové aplikace.

    Poznámka:

    Zde je původ zmatení mnoha uživatelů. Mají 64 bitový počítač a 64 bitovou verzi Windows, takže se domnívají, že vše co pracuje je 64 bitové. Ve skutečnosti pouze několik aplikací je skutečně 64 bitových, naprostá většina je stále pouze ve 32 bitové verzi (2014/2015). A protože nepotřebují více jak 4 GB pamětí a normálně pracují, neexistuje tlak na přechod k 64 bitové verzi.

    Takže 64 bitové verze Windows dovoluje spouštět 32 bitovou i 64 bitovou verzi SIPS bez jakýchkoliv problémů.

  • Ale je zde jedno důležité omezení. Není možné míchat 32 bitový a 64 bitový kód v rámci jednoho procesu. Každý proces je buď kompletně 32 bitový nebo kompletně 64 bitový, včetně všech DLL, ovladačů a dalších komponent. To samé platí pro jádro operačního systému — pokud je 64 bitové, všechny systémové ovladače musí být také 64 bitové.

    Poznámka:

    Z tohoto důvodu jsou všechny systémové ovladače kamer Gx k dispozici jako 32 bitové i 64 bitové už po řadu let. Je nezbytné používat 64 bitovou verzi systémového ovladače na 64 bitovém OS, i když uživatelská aplikace ovládající kameru je pouze 32 bitová.

    Podobně ovladače v uživatelské aplikaci musí být 32 bitové pokud je aplikace 32 bitová (připomínáme — většina aplikací je stále 32 bitová), i pokud aplikace pracuje na 64 bit procesoru a operačním systému.

Skutečnost, že 32 bitový a 64 bitový kód nemůže být smíchán a 64 bitový program je vždy nově přeložen (a upraven), dovoluje provést změny v instrukční sadě procesorů. Obě firmy (AMD s x86-64 i ARM s v8) této možnosti využily a v novém 64 bitovém módu dané architektury rozšířily. x64 poněkud přeorganizovala sadu registrů, aby byla symetričtější, a především zdvojnásobila jejich počet (z 8 na 16). ARM podobně odstranil podmíněné vykonávání všech instrukcí a ušetřené místo v instrukčním slově využil k adresování dvojnásobného počtu registrů (32 namísto 16). Bez nadsázky tak lze říci, že 64 bitová ARM v8 je zcela nová architektura vzdáleně připomínající 32 bitovou ARM v7 (podobně jako 16 bitový Intel 8086 vzdáleně připomínal 8 bitový Intel 8080).

Poznámka:

Toto je také zdrojem zmatení dokonce mezi odbornými novináři zaměřenými na IT — 64 bitový kód nepřináší pouze větší přístupnou paměť. Díky změnám v architektuře mohou programy pracovat rychleji i když je používáno méně než 4 GB paměti.

64 bitový SIPS

64 bitová verze programu SIPS je v jádru identická s 32 bitovou verzí. Přirozeně může používat mnohem více paměti, což se může hodit zejména když SIPS používá množiny obrazů se stovkami prvků a PC je vybaven více jak 4 GB paměti. A samozřejmě jsou zapotřebí 64 bitové verze všech ovladačů zařízení, ale všechny podporované ovladače jsou dodávány spolu s programem, takže to nepředstavuje problém.

Jak bylo zmíněno v předchozí kapitole, 64 bitové aplikace uchovávají ukazatele do paměti (adresy dat v paměti) ve dvojnásobně dlouhých registrech ve srovnání s 32 bitovými programy. Tedy přirozeně 64 bitové programy jsou poněkud delší a manipulují s větším objemem dat i pokud nepoužívají více jak 4 GB paměti. To přináší určitou režii — delší kód znamená více čtení a zápisů do paměti a efektivně zmenšuje velikost rychlých vyrovnávacích pamětí. Ale na druhé straně 64 bitový kód má k dispozici dvakrát více registrů (u x64) k uchování potřebných informací a nepotřebuje tak často přistupovat k paměti, což režii zase omezuje. Takže otázka je — je 64 bitový kód rychlejší nebo pomalejší ve srovnání s 32 bitovým kódem? Ve skutečnosti může být někdy rychlejší a někdy pomalejší v závislosti na prováděném algoritmu:

  • Pokud je algoritmus velmi jednoduchý a převážně jen přenáší data v paměti, 32 bitový kód je typicky rychlejší. Procesory x86 mají dostatek registrů pro jednoduché algoritmy a pracovat pouze s ukazateli dlouhými 32 bitů spotřebuje méně zdrojů ve srovnání s 64 bitovými ukazateli.

    Typický příklad je mediánový filtr, který prochází velké množství pixelů, ale nejsložitější operace je jednoduché porovnání dvou hodnot pixelů. 32 bitová verze SIPS je v tomto případě rychlejší než 64 bitová verze.

    Test mediánový filtr na 16 bitovém a 32 bitovém FITS souboru ukazuje zpomalení 64 bitového kódu (x64) ve srovnání s 32 bitovým protějškem

    Test mediánový filtr na 16 bitovém a 32 bitovém FITS souboru ukazuje zpomalení 64 bitového kódu (x64) ve srovnání s 32 bitovým protějškem

  • Komplexnější algoritmy, které využijí všech 16 registrů, které jsou k dispozici v 64 bitovém módu procesoru, na druhé straně pracují výrazně rychleji v porovnání s 32 bitovou verzí.

    Takový komplexní algoritmus je např. vyhledávání hvězd v obraze. Je zapotřebí provést řadu testů k určení jestli je daný pixel součástí obrazu hvězdy nebo jen osamocený hotpixel apod. Také je prováděna řada výpočtů v plovoucí řádové čárce (výpočet směrodatné odchylky v ploše clonky apod.). 64 bitový kód je zde výrazně rychlejší oproti 32 bitovému kódu a dokonce procesor střední třídy Core i5, zpracovávající 64 bitový kód, překoná „hi-end“ Core i7 pracující s 32 bitovou verzí.

    Algoritmus hledání hvězd pracující na jednom jádru (vlevo) a na všech jádrech (vpravo), 64 bitová verze (x64) je významně rychlejší

    Algoritmus hledání hvězd pracující na jednom jádru (vlevo) a na všech jádrech (vpravo), 64 bitová verze (x64) je významně rychlejší

Přirozeně celočíselné výpočty používající celých 64 bitových čísel jsou na x64 procesoru výrazně rychlejší. Zatímco x86 procesor může samozřejmě také provádět takové výpočty, ve 32 bitovém módu je zapotřebí několika instrukcí k provedení jediné 64 bitové operace. 64 bitový procesor potřebuje pouze jedinou instrukci. Naneštěstí SIPS tak velké celočíselné operace nepotřebuje, takže toto potenciální urychlení nedokáže využít.

Podpora obrazovek s vysokým rozlišením (Hi-DPI display)

Už předchozí verze programu SIPS byly upraveny aby pracovaly na obrazovkách s vysokým rozlišením (high DPI), některé nástroje (Histogram and Stretch, záložka Cooling v nástroji Kamera, ...) zůstaly zafixovány pro 96 DPI monitory. Ale vysoká bodová hustota přirozeně poskytuje mnohem hezčí obraz a stává se čím dále běžnější i v případech levných notebooků a tabletů (2 in 1, convertibles).

Kromě přizpůsobení záložky Cooling monitorům s vysokým rozlišením byl rozšířen interval teplot až do -75C, protože nové EC (Enhanced Cooling) modely kamer Gx dokáží ochladit čip až o 60C pod okolní teplotu a minimální teplota -50C přestala dostačovat.

Další vylepšení

Nový SIPS konečně zavedl ovládání všech vlastností do rozhraní ovladačů dalekohledů (montáží) a uživatelských nástrojů. Kromě základních funkcí (souřadnice, goto, ...) je nyní možno ovládat:

  • Parkování a odparkování montáže, včetně nastavení pozice pro parkování.

  • Čtení a zápis geografické polohy (je možné ji nastavit podle GPS přijímače připojeného k PC).

  • Čtení a zápis módu pohybu montáže (tracking), tedy zapínání a vypínání a také volba rychlosti (sideral, solar, lunar).

  • Synchronizace času v montáži s časem v PC (opět je možné nastavit čas podle GPS přijímače připojeného k PC nebo v PC synchronizovat čas přes Internet s časovým serverem).

Vývoj nástroje Telescope od SIPS v2.0 (vlevo) po SIPS v2.3.3 (vpravo)

Nástroj New FITS Header dovoloval manuální, poloautomatické nebo plně automatické vyplňování některých hlaviček:

  • Manuálně vyplňované hlavičky jsou např. OBJECT nebo TELESCOP. Uživatel musí zaškrtnout volbu a vyplnit příslušný editační řádek. Pak se hlavička objeví ve FITS souboru.

  • Poloautomaticky vyplňované hlavičky jsou např. informace o geografické poloze (LONG-OBS, LAT--OBS a ELEV-OBS). Je možné je vyplnit ručně nebo kliknout na tlačítko Get Location from GPS a načíst je z připojeného přijímače GPS.

  • Plně automaticky vyplňované hlavičky nedovolují jakýkoliv zásah uživatele, např. EXPTIME, FILTER nebo IMAGETYP. Hodnoty těchto hlaviček jsou přiřazeny programem v okamžiku pořízení snímku.

Nová verze programu SIPS přináší rozšířený nástroj New FITS Header, který jasně rozlišuje mezi automatickým a manuálním vyplňováním hodnot patřičných hlaviček. Tyto hlavičky dovolují uživateli definovat jejich hodnotu v editačním řádku, ale také dovolují volbu automatického vyplňování v okamžiku pořízení snímku, samozřejmě pokud je požadovaná informace k dispozici.

Například vezměme nově zavedené hlavičky RA a DEC. Mají obsahovat rovníkové souřadnice středu snímku. Je možné je zadat manuálně, ale pokud je připojen ovladač dalekohledu, která poskytuje souřadnice, je možné zaškrtnout volbu R.A./Dec. from telescope, aby se tyto hlavičky vyplnily automaticky vždy při stažení snímku z kamery.

Nástroj New FITS Header dovoluje automatické vyplňování hodnot některých hlaviček

Nástroj New FITS Header dovoluje automatické vyplňování hodnot některých hlaviček

Nástroj Kamera nyní podporuje pointaci nejen přes „AutoGuider“ port pointační kamery, ale také přes ovladač dalekohledu, pokud poskytuje rozhraní PulseGuide.

SIPS nyní korektně zpracovává řádky v hlavičkách FITS souborů s tzv. „prázdným komentářem“. Řádky nezačínající žádným klíčovým slovem (samými mezerami) jsou považovány za komentářové řádky a SIPS byl upraven aby správně pracoval s FITS soubory, které tuto vlastnost využívají.

SIPS je volně ke stažení ze sekce Download tohoto www serveru.

 
 | Hlavní stránka | Přehled produktů | 
Moravské přístroje, a.s., Masarykova 1148, Zlín-Malenovice, 76302