Компютрите на космическите совалки

Ако някой си мисли че горе хвърчи нещо от рода на двуядрени процесори и терабайтови хардове – жестоко се лъже 🙂 Совалките на НАСА са технология от преди 30 години (и по последни данни ще бъдат бракувани за скрап до 2010та година) и авиониката им е на съответното равнище.

The IBM AP-101 computers originally had about 424 kilobytes of magnetic core memory each. The CPU could process about 400,000 instructions per second. They have no hard disk drive, and load software from magnetic tape cartridges.

Процесора има 16 броя 32-битови регистри, а наборът му от инструкции се състои от 154 инструкции, които могат да се променят чрез смяна на микрокода. Интересното е че целия процесор е в TTL изпълнение (!!!) и има скромните размери от 15/25/45 см. Тежи 25 кг.
През 1990 г. компютърът е бил ъпгрейднат с новата версия – AP-101S. Този звяр е имал около 1МВ памет и три пъти по-бърз процесор (изпълнявал е около 1.2 млн инструкции в секунда). Паметта вече не използва магнитно ядро, а CMOS технология с батерийно захранване. Това са данните за ъпгрейднатите части:

The main memory of each GPC (General Purpose Computer) is non-volatile (the software is retained when power is interrupted). The memory capacity of each CPU is 81,920 words, and the memory capacity of each IOP is 24,576 words; thus, the CPU and IOP constitute a total of 106,496 words.

Сто хиляди думи програма. Софтуера на совалката може да се събере в паметта на микроконтролера, който ползвам за дипломната си работа.
В совалката е имало шест компютъра с общо предназначение (GPC-та). Пет от тях са правили едни и същи изчисления. Резултатите се сравняват и ако някой от компютрите даде различен резултат, останалите го приемат за грешка и го изключват от системата. На шестият компютър върви същата програма, но написана от съвсем независим източник. Той е последната възможност на астронавтите ако всички други компютри откажат.
Всеки от AP-101 компютрите използва по 600 вата мощност.

Интересни са прогнозите през годините за това колко памет ще иде за програмата на совалката.

Most estimates in the 1969 to 1971 period ranged around 28K words. Rockwell International settled on 32K in its bid and won the contract partially because of that estimate. NASA, trying to save itself from later difficulties, bought 64K of memory for each computer, hoping that doubling the estimate would be enough (despite memory increases in previous programs of several hundred percent). Unfortunately, the
software grew to over 700K, requiring not only more computer memory, but the addition of mass memory units to hold programs that would not fit into the extended core. Parten said after this, “I don’t know how
you ensure proper memory size ahead of time, unless you’re incredibly lucky”.

Програмите за излитане, за поддържане на орбита и за обратно навлизане в атмосферата са се съхранявали на отделни ленти, които астронавтите са зареждали в съответните случаи. След ъпгрейда с AP-101S, вече всички програми е можело да бъдат съхранявани в главната памет.
Интересен е бил бъгът в софтуера, който е рестартирал компютрите при всяка смяна на годината от 31 декември към 1 януари. За това совалките не са правели полети, които включват тези дати. Този бъг е бил оправен чак през 2003 г.
Компютрите са можели да бъдат препрограмирани в полет, ако се появи критична ситуация:

The memory can be altered in flight. The ground can uplink bursts of 64 16-bit halfwords at a time, which can replace data already in the specified addresses. The crew can also change up to six 32-bit words simultaneously by using their displays and keyboards. However, those changes must be hand keyed in hexadecimal.

Представяте ли си как астронавта за три секунди набира сто инструкции по машинни думи 🙂

Понеже видео обработката по онова време е била трудоемка работа, цял отделен компютър е бил посветен на обслужването на дисплеите, където се извеждала информацията от останалите компютри.

Displays placed on the CRTs are controlled by a special-purpose computer with a 16-bit word size and 8K of memory. This computer provides display control and can create circles, lines, intensity
changes (highlighting), and flashing messages.

Интересни неща могат да се намерят за компютрите в космоса 🙂
По материали от Wikipedia и изходящите й връзки.

Tags: ,

3 Responses to “Компютрите на космическите совалки”

  1. anrieff says:

    Доколкото знам, причината да се ползват толкова остарели технологии е не само в това, че просто са разработвани и вграждани отдавна. НАСА имат политика да ползват само “проверена” техника, ако ще и да е няколко стъпки назад спрямо bleeding edge-а на технологиите (нещо като Debian Stable vs Fedora се получава)
    Ето, Марсианските роувъри са екипирани с внушителните 8 (!) гигабайтови флашки… и записват всякакви научни данни на тях, снимки.. през това време на земята можеш да спечелиш подобен обем, като си купиш 4 бройки “Зрънчо”.
    Между другото, с тази ми ти флаш памет също имаше един интересен бъг, ако не си чел за него – ще ти е интересно: http://www.planetary.org/blog/article/00000702/

  2. ivanatora says:

    Прав си за проверената техника. Компютрите, които се ползват в авиацията и космонавтиката са толкова добре познати, че всичките им бъгове са известни. Знае се всяко състояние на процесора на всяка стъпка от програмата. При съвременните архитектури с паралелизъм, предсказване на преходи и разни други евристични алгоритми вградени това вече не е така и ако системата забие, следва доста дълъг процес на дебъг, който може да е фатален за машина в полет. Докато совалката може да се препрограмира ръчно на ниво машинна дума 🙂

  3. ivanatora says:

    Това за марсианския ровър и инструкцията SHUTDOWN_DMN_IT е добро 🙂 Историята на космическите изследвания е пълна с интересни бъгове, които за съжаление струват милиони долари. Като кривото огледало на Хъбъл, примерно.

Leave a Reply