게임 갤러리에서 들고온 글인데, 그 내용이 심히 굉장하다. 우주선에 사용되는 컴퓨터의 성능이 상용 컴퓨터들보다 구리다는 글인데, 과연 이건 맞는 말일까?
정답은? 그렇다이다.
예를 들어보자. 우주왕복선에서 사용하는 컴퓨터는 IBM System/AP-101 버젼이다.
AP-101는 32비트에 초당 480만개의 명령어를 처리할 수 있었고 무려 1메가바이트의 RAM을 탑재했다.
참고로 위에서 말했듯 AP-101의 처리속도가 초당 480만개, 0.48MIPS 가량 되는데 플레이스테이션 1이 30MIPS, 33.86 MHz 가량이다.
즉, 우주왕복선은 플레이스테이션 1의 약 1%밖에 안되는 처리속도의 컴퓨터를 가지고 우주에 갔다가 복귀하는 셈이다.
참고로 IBM System/4 Pi 시리즈를 사용하는 다른 기체로는 F-15 전투기, E-3 아왁스, 하푼 미사일, 스카이랩 우주정거장, 미 공군 유인 궤도 연구 프로그램 등이 있었다.
그렇다면 왜 우주선에 사용되는 컴퓨터는 구식에 저성능의 컴퓨터들일까?
가장 쉬운 설명은 시간과 예산 때문이라고 할 수 있다.
최신 프로세서들을 사와서 일일히 우주선 발사시의 진동, 우주선 조사시 오작동이나 회로파손 유무, 가동중 에러발생시간 등의 다양한 테스트를 진행하기에는 시간적, 예산적으로 쪼들릴 수 밖에 없다.
안그래도 우주 개발에는 그 어떤 국가들이라도 인색하기 마련이므로, 굳이 검증되지 않은 최신 프로세서들을 도입해 시간적, 예산적 리스크를 지기 보다는 오래되었으나 검증된 프로세서를 사용하는 것이 더 합리적이다.
어거지로 최신 프로세서들을 도입하다가 그 프로세서가 우주선용으로는 적합하지 않다고 검증되게 되면 더 많은 시간과 예산을 대체 프로세서를 찾는데 소모해야하고 그 기간동안 우주선 개발이 지체되며 이는 우주 프로그램 비용의 증가로 이어지니까.
가끔은 이 모든 과정을 거친 뒤에 최신 프로세서를 우주선에 탑재했는데, 우주 프로그램이란게 최소 5년 이상은 걸리는 장기 프로젝트다보니 의도치 않게 구식화가 되는 경우도 있다.
이 경우 굳이 돈을 들여서 멀쩡하게 작동되는 프로세서를 단순히 낡았다고 새로운 프로세서로 교체하지 않고 정상 작동하는 한 그대로 사용한다.
예를들어 1973년 개발완료된 소련의 아르곤-16 컴퓨터는 소유즈, 프로그레스, 살류트, 미르 등 수많은 소련 기반 우주선/우주정거장에 끊임없이 사용되었으며 무려 2010년이 되어서야 소유즈 TMA-M 개량으로 TsVM-101 디지털 프로세서로 교체된 사례가 있다.
개발 당시에는 최신 컴퓨터였으나 거의 35년 이상 사용된 현재로서는 고작 6kb짜리 램에 초당 200kb의 처리속도를 보이는 충격적으로 구식인 컴퓨터가 된 셈이다.
두번째로는 딱히 성능이 필요 없기 때문이란 점을 들 수 있겠다.
방금 전 언급한 얘기이기도 한데, 당장 벽돌에 날개 붙인거라는 악담을 들을 정도로 기괴하고 복잡한게 우주왕복선이다.
그리고 이 우주선이 플레이스테이션 1의 1%밖에 안되는 연산력을 가지고 다음과 같은 기동을 해낸다.
먼저 멀쩡히 날아가는 우주선을 180도로 돌린 다음 역분사를 해서 속도를 줄인 다음, 다시 180도로 돌려서 재진입을 하고, 우주선의 고도와 속도를 줄이면서 셔틀 착륙 시설에 정확하게 안착하기 위해 온몸 비틀면서 비행을 하다가, 자유 낙하 속도로 활주로로 떨어진 다음 533.3km/h의 속도로 내리꽂듯 활주로에 착지한다.
말이 쉽지 실제로 보면 도대체 이게 어떻게 날아다닐 수 있는거지? 라는 의문이 저절로 드는 기체조차 고작 플레이스테이션 1의 1%밖에 안되는 연산력으로 커버가 된다는 이야기다.
우주선이야 그렇다고 쳐도 탐사선은 어떨까? 탐사선들 역시 의외로 성능이 그다지 높을 필요가 없다. 탐사선에 탑재된 수많은 과학 장비들이 뽑아내는 수많은 데이터들을 어떻게든 최대한 압축해서 지구로 보내면 지구의 과학자들이 전파망원경과 심우주 통신망을 통해 데이터들을 수집해, 그 어떤 컴퓨터들보다 더 강력한 컴퓨터들을 이용해 데이터들을 분석할 수 있으니까.
그렇기 때문에 탐사선들의 컴퓨터 성능을 높이는 것 보다 오히려 심우주 통신망의 성능을 높이는 것이 더 중요하다. 짤은 골드스톤 심우주 통신 시스템이다. 무려 태양계 밖으로 빠져나가려고 하는 보이저들 때문에 70미터짜리 전파 망원경을 만든 것으로 유명하다.
세번째로, 우주 항해에는 성능보다 안전성이 더 중요하기 때문이다.
윗 짤은 슈퍼마리오 64를 최단시간으로 플레이하던 한 플레이어가 경험한 기묘한 사건에 대한 이야기인데, 스피드런으로 게임을 진행하던 중 뜬금없이 버그가 발생. 마리오가 하늘 높이 텔레포트한 사건이다.
https://www.youtube.com/watch?v=bhBf5crp0i8
당연히 이 버그를 사용하면 스피드런 기록을 엄청나게 단축할 수 있게 되기에 수많은 사람들이 무엇이 버그를 일으킨건지 알아내기 위해 영상 재현에 나섰고, 일부는 애뮬레이터를 이용해서 프레임 단위로 위치를 맞추기까지 했지만, 아무도 이 버그의 발생 원인을 알아내지 못했고 1천달러의 현상금까지 걸었지만 결국 성과는 없었다.
그런데 이 버그의 발생 원인이 우주선 (宇宙線), 즉 우주 방사선 때문에 DOTA_Teabag의 바이트가 11000101에서 11000100으로 변화했으며 이 때문에 높이가 C5837800에서 C4837800으로 바뀌는 버그가 발생했다는 흥미진진한 분석이 나왔다. 물론 이 우주선 이론이 맞는지 여부는 확실하지도 않고 증명되지도 않았으나, 우주 방사선이 컴퓨터에 영향을 끼칠 수 있으며 이로 인해 버그가 발생할 수 있다는 것은 확실하다.
일반적으로 지표면은 두터운 지구 대기와 지구 자기장이라는 두가지 보호막에 의해 우주선의 영향을 크게 받지는 않으나 비행기나 우주선의 경우 이러한 보호의 영향권에서 벗어나기 때문에 방사선의 영향을 더 많이 받을 수밖에 없다.
그리고 반도체들은 방사선에 매우 취약하다. 방사선이 일으키는 전리효과는 꺼진 회로에 전류를 발생시키기도 하고, 절연막에 전하를 축적시켜 불량이나 에러를 일으키기도 하며, 심지어 고에너지를 가진 우주선으로 인해 물리적으로 회로를 망가뜨리기도 한다.
심지어 RAM 이 발명된 이후부터 여러 컴퓨터 개발사들은 자기들이 만든 RAM이 한달당 한번 꼴로 에러를 일으키는 것을 보고 에러의 이유가 무엇인지 찾아내느라 머리를 쥐어짜야 했는데, 알고보니 그것이 우주선에 의한 것이었다는 것을 발견하기도 했다. 우주선 중 하나인 중성자 입자들이 RAM 칩의 원자핵에 의해 포획되고 이 과정에서 핵반응이 일어나며 소프트 에러를 일으킨 것이다.
한 실험에서는 DRAM 하나가 10억시간 중 5950번 오류를 일으켰는데, 동일한 칩을 15미터 지하의 방공호에 넣어둔 뒤 다시 가동시켰을 때 전혀 오류가 일어나지 안ㄶ았다고 보고한 사례가 있을 정도로 우주 방사선은 생각보다 컴퓨터에 더 많은 영향을 일으킨다.
이로인해 항공우주용 컴퓨터들은 성능보다 신뢰성이 더더욱 중요하며, 그 때문에 개발된지 오래되었더라도 확실하게 신뢰할 수 있는 컴퓨터와 CPU를 채택하는 것이다.
예를들어 우주왕복선은 항공전자 컴퓨터를 (이제 듣기도 지겨울거란거 알겠지만 조금만 참자) 무려 5대나 탑재한 것으로 유명하다.
정확히 말하자면, 4대를 주로 사용하고 1대는 예비용으로 두며, 4대를 동기화시켜 단 한대의 컴퓨터라도 오류를 발생시키면 백업 시스템으로 갈아치우는 방식으로 운영할 정도로 강박적인 안전성을 추구했으며, 그 결과 몇번의 컴퓨터 에러가 일어났음에도 불구하고 정상적인 운용을 할 수 있었다.
댓글 영역
획득법
① NFT 발행
작성한 게시물을 NFT로 발행하면 일주일 동안 사용할 수 있습니다. (최초 1회)
② NFT 구매
다른 이용자의 NFT를 구매하면 한 달 동안 사용할 수 있습니다. (구매 시마다 갱신)
사용법
디시콘에서지갑연결시 바로 사용 가능합니다.