커뮤니티
스포츠
토론장


HOME > 커뮤니티 > 밀리터리 게시판
 
작성일 : 20-03-13 12:26
[사진] F-35에 들어가는 ICP 컴퓨터
 글쓴이 : 노닉
조회 : 3,447  


F-35의 머리라고 할수있는 중앙제어 컴퓨터는 한국에는 무전기 잘만드는 업체로 알려진 L3사의 ICP가 들어감. 이 컴퓨터의 시스템 프로세서는 2900DMIPS, 디스플레이 프로세서는 2200DMIPS 의 프로세싱 능력을 지니고 있고 F-35의 최대장점인 광범위한 센서/정보 융합에 맞게 각각의 체계마다 따로 프로세서가 있는 기존 방식과 달리 하나의 중앙 프로세서가 전자전수트 제어와 광학센서, 레이더, RWR등을 통해 얻은 데이터등을 포괄적으로 처리함.


참고로 F-22에 달린 CIP의 시스템 프로세서가 대충 700MIPS 정도의 프로세싱 성능이 나옴. 물론 DMIPS랑 MIPS를 단순하게 수평비교하는건 넌센스니 주의.






출처 : 해외 네티즌 반응 - 가생이닷컴https://www.gasengi.com


가생이닷컴 운영원칙
알림:공격적인 댓글이나 욕설, 인종차별적인 글, 무분별한 특정국가 비난글등 절대 삼가 바랍니다.
TTTTTTT 20-03-13 12:53
   
뭐 한마디로 안타까운 상황이지요. F-35 항전 아키텍쳐가 워낙 오래되어서 소프트웨어 이식성이 없으니 아직도 PowerPC에 묶여서 구닥다리 아이폰6보다도 성능이 안나오는 하드웨어에 돌아가는 상황.

그나마 록히드가 KF-16 업글에 팔아먹으려는 MIPS거보다난 쪼금 나은 상황

에구.
     
크루즈777 20-03-13 13:19
   
"F-35 항전 아키텍쳐가 워낙 오래되어서 소프트웨어 이식성이 없으니"
--> 무슨 얘기인지 모르겠군요. 설명을 자세히 해주시길..

참고로, 수 년전 미국이 개발한 "알파"라는 AI 전투기 프로그램은
35달러 짜리 교육용 소형 컴퓨터에서도 구동 가능하다고 합니다.
          
TTTTTTT 20-03-13 13:55
   
ㄴ F-35 항전 소프트웨어는 그린힐 소프트웨어에서 제공하는 비공개OS인 Integrity라는 OS상에서 돌아가고, C, ADA, C++로 프로그램을 개발했습니다.

Integrity OS는 소스코드 비공개OS이고 군사용이랍시고 Documentation도 비공개이기 때문에 여기에 접근할수 있는 사람들이 많지 않습니다.

거기다 요즘 쓰는 Node.js, Java나 C#와 달리 C, ADA, C++는 특정 하드웨어/OS에 매여진 API와 라이브러리를 통해 하드웨어에 접근하기 때문에 이렇게 개발된 프로그램은 타OS/CPU에 이식성이 없습니다.

따라서 이런류의 소프트웨어 플랫폼용으로 개발되는 소프트웨어는 개발속도가 매우 느리고, 더 빠른 하드웨어로 이식이 매우 어렵습니다.

그래서 2020년 F-35 항전 소프트웨어가 아이폰6보다도 성능이 떨어지는 20년된 구조의 하드웨어 상에서 돌아가는 것이고요.
               
크루즈777 20-03-13 14:02
   
설명 감사합니다.

아마 "소스코드 비공개 OS를 사용하고 Documentation도 비공개"였기에
중국이 했다는 해킹에도 항전 소프트웨어는 안전하지 않았을까 생각되는군요.

군사용 소프트웨어는 개발속도를 조금 희생하더라도
보안성을 강화하는 것이 더 중요하지 않을까 생각됩니다.
               
알짜지라 20-03-13 14:45
   
누가 군사용 그것도 비행기 S/W 얘기하는데 node js 나 java 를 들이대요 ㅋㅋㅋ
비행기에 들어가는 하드웨어가 용산에서 주문해다 조립해서 윈도우 깔아서 만드는 것도 아니고 프로그램도 당연히 비공개지요. 누가 그런걸 공개해요
                    
TTTTTTT 20-03-13 21:55
   
ㄴ "비행기 S/W 얘기하는데 node js 나 java 를 들이대요 ㅋㅋㅋ" <= T-50 국산항전이 Java로 개발되었다는 사실을 모르는 1인의 주절.

http://bemil.chosun.com/nbrd/bbs/view.html?b_bbs_id=10040&num=58748
                         
bluered 20-03-14 00:00
   
C/C++ 을 쓰는 이유는 다 그만한 이유가 있는 것이고, garbage collector를 가지는 JVM기반의 소프트웨어는 리얼타임 시스템에 부적합하다는 것도 이미 알려진 사실임.

T-50의 항전시스템에 자바가 사용되었다는 것은 그 부분이 리얼타임에 비교적 덜 민감한 부분이라는 뜻임.

Garbage collector를 가진 프로그램 언어중 real time에 적합한 언어는 Erlang 밖에 없음.

이식성의 한계가 있음에도 C/C++을 쓰는 것은 그만한 이유가 있는 것임.
                         
totos 20-03-14 05:51
   
JAVA는 리얼-타임 레이턴시 확보에 취약합니다.
코드 사이클이 C가 1~2사이클에 처리되면 JAVA는 4~8 사이클 가까이 소비됩니다.
JAVA로 짜는 코드들은 낮은 위험도를 가진 제어 환경이고, 크로스 플랫폼을 고려하고 만든 개발환경이라 단점 감안하고 쓰는거죠.
F-35처럼 워크로드가 집중되고 리얼타임 제어가 많은 환경에서는 C로 짤 수 밖에 없어요.

소프트웨어 이식성이 없다고 적었으나 실상은 F-35의 초기 개발환경은 인텔 I960MX였고.
공급 계약이 끝나면서 칩 생산 중단으로 단종.
차기 플랫폼으로 PPC를 선택.  이식해서 개발한게 오늘날 F-35 ICP 컴퓨터가 된거죠.
당시에 PPC를 선택한건 PPC가 가장 빠른 임베디드 플랫폼이니깐 옮겨간겁니다.


재미있는 글을 쓰셨는데.
<PowerPC에 묶여서 구닥다리 아이폰6보다도 성능이 안나오는 하드웨어에 돌아가는>

PPC는 오픈소스 아키텍처로 풀려있고, 자일링스 FPGA에서도 논리 에뮬레이션으로 돌아가는 아키텍처입니다.
PPC는 최대 1.7GHz까지 동작하는 NXP의 MCP7448이 존재하고, 자일링스 FGPA에선 1GHz로 동작 가능합니다.
지금 F-35에 쓰고 있는것도 MCP7448인거 같던데 (무려 2005년 발표)

PPC 1.7GHz의 임베디드 CPU를 내 놓을때, ARM 800MHz가 최고 성능이던 시절입니다.
절대 성능에서도 PPC는 ARM을 2~3배 이상 초과하는 성능을 가지고 있었구요.
ARM 개발환경조차 최근에서야 Cortex-A72@2GHz가 겨우 시장에 나온 형편이지요.
북미, 유럽에선 PPC 임베디드 플랫폼 많이 씁니다.

스마트폰에 사용하는 고성능 AP는 공급 주기도 짧구요.
오랫동안 공급 가능한 칩들은 고성능 제품군이 생각보다 없습니다.
여전히 PPC는 임베디드 시장에서는 고성능입니다.
임베디드는 시장에서 최소 15년 이상 생산/공급을 보증해줘야 쓰는겁니다.
스마트폰에 들어가는 AP를 군납용으로 제공 못되는 이유죠.  20년 생산/공급 계약인데.
스펙은 만능이 아닙니다.
               
totos 20-03-14 08:14
   
Integrity RTOS는 군용 특화 OS가 아니라 민항기, 군용기에서도 널리 쓰이는 RTOS 입니다.
기종별로 사용되는 OS 개발사도 다르고, 품종별로도 다릅니다.
수많은 RTOS에서 목적에 맞는 OS를 채택하는거지요.
플랫폼에 따라서 자동차, 산업장비, IT 분야에서도 널리 사용하구요.
Integrity OS는 ARM , Blackfin (AD DSP) , ColdFire (NXP 68K) , MIPS , PowerPC (NXP) , XScale (ARM 인텔 변종), x86 (인텔/AMD/VIA) 등등을 지원하는 멀티 플랫폼 OS 입니다.
기업 대상으로 거래하는 회사이니깐 자격이 없으면 Documentation 열람은 비공개이고, 모든 기업들이 소비자 대상이 아닌 기업 대상은 마찬가지입니다.

레지스터나 I/O맵에 직접 접근하는 로우-레벨 코드보다 RTOS에서는 개발 속도 엄청 빠릅니다.
CPU 구조 알 필요 없이 코드 짜면 RTOS가 다 알아서 제어하니까요.
일반적인 응용 프로그램 개발한다고 생각하면 되고, 개발 속도가 느린것은 더더욱 아니죠.
신뢰성 테스트 해서 인증 받는게 느린거지요.
더 빠른 속도를 가진 플랫폼으로 이동하면 하드웨어와 일부 코드가 바뀌어야 하는데 개발사는 인증을 다시 받아야 하고, 개발은 민간 군수 업체들이 하고 군에서 인증 받고 채택되는겁니다.

프로그램 코드 짠다고 완성되는게 아니라 테스트 해서 얻은 값을 프로그램에 넣는겁니다.
프로그램 개발 기간이 길어진다고 설마 프로그래밍 난이도 때문에 늦었다고 생각하지 않길 바랍니다.
소프트웨어 설정값과 하드웨어 테스트가 병행되서 늦는거에요.
이게 제어의 영역입니다.

임베디드 플랫폼은 산업용이라 원래 20년 이상 생산/공급 가능한 CPU에서 선택합니다.
2005년에 나온 임베디드 PPC가 현존하는 임베디드 ARM들보다 더 빠릅니다.
임베디드 환경에서 PPC보다 빠른 ARM CPU가 몇종류 안 됩니다.
그나마 최근에 나온 것들이 PPC보다 빠른겁니다.

2005년에 발매된 1.7GHz의 NXP MCP7448에서는 아주 충분하게 돌아갑니다.
라즈베리파이3에 코드 최적화 해서 돌린다고 생각하시면 이해가 빠를거에요.
리눅스보다 가벼운 RTOS에 오직 수학연산과 실시간 제어를 위한 코드만 돌아가는데, 님이 흔히 생각하는 PC 환경으로 보면 안되는다는거죠.

군용, 자동차에 사용할 고신뢰성 ARM 프로세서는 Cortex-R 넘버를 가지고 이제 막 나왔습니다.
오랜기간 사용해서 검증된 PPC와 이제 막 사용되기 시작한 ARM을 놓고 비교하는건 오직 스펙과 수치로만 비교하는 것과 같은겁니다.
신뢰성 규격 인증도 통과 못한 ARM을 놓고 비교하는건 무리가 있다는거죠.
                    
수염차 20-03-15 22:40
   
정독햇으나....세부내용은 읽으면서 까먹는중......
수염차 20-03-13 13:01
   
천억짜리 전투기에 장착할 프로세서는 100퍼센트 검증된 제품만 사용가능....
인공위성에 장착되는 메모리가 DDR2/DDR3라는건 널리 알려진 사실....
첨단성능만보고 무작정 장착햇다가 단한번의 오류라도 발생하면 천문학적인 금액이 사라짐.....
totos 20-03-13 13:21
   
개발 당시 년도를 생각하면 당시에 2900DMIPS는 엄청 빠른 프로세서를 쓴겁니다.
요즘으로 비교하자면 ARM Cortex-A15@1GHz 정도의 성능이죠.
이걸 흔히 보이는 최근 제품으로 비교한다면 라즈베리파이3 정도의 성능입니다.

고성능 MCU라고 분류하는 Cortex-M7@400MHz보다 3배는 빨라요.
     
TTTTTTT 20-03-13 13:40
   
ㄴ지금 현 ICP는 2세대 제품입니다.

1세대 제품은 듀얼 PowerPC 603 썼습니다. 1997년 애플 파워맥G3와 유사한 성능이였지요.

2006년경 Xbox 360과 PS3가 PowerPC 신규 아키텍쳐 마지막 개발품이였습니다. 그 이후 PowerPC 신형 아키텍쳐 개발은 중단되었고, 현 PowerPC 제품들은 기존 제품의 Shrink 한겁니다.
          
sonicyouth 20-03-13 14:43
   
또 지랄한다. 가만보면 1%지식에 99% 뇌내망상으로 떠들어대면서... 좀 닥치고 니네나라로 좀 꺼져
          
totos 20-03-14 06:03
   
PPC는 opne power라는 오픈소스 아키텍처로 전환 되었고, FPGA에도 에뮬레이션 되어서 대학교, 학부, 오픈소스 단체들이 PPC를 개량하고 있지요.
NXP에서 PPC를 단종시켜도 다양한 벤더사들이 칩을 제작하거나 FPGA에서 논리적으로 개량될겁니다.
완전 무료로 풀린 아키텍처가 RISC-V와 PPC 뿐이니까요.
totos 20-03-14 08:57
   
KF-16의 MMC7000의 MIPS IV 아키텍처로 1.2GHz에 1800DMIPS 정도 예상되구요.
MMC7000A 이상급은 MIPS V 아키텍처로 업그레이드 (2012년 발표) 되었을 것으로 예상,  MMC7000AH는 최근 MIPS CPU가 나온걸 봤을 때 클럭은 2GHz, 듀얼코어일겁니다.
하이퍼쓰래드도 적용되어 있는데 RTOS가 지원하면 2코어 4쓰레드 동시 처리로 쓰겠지요.
MIPS가 구닥다리가 아니라 임베디드 및 소비자 시장 분야에서는 고성능 모뎀이나 스토리지에 쓰일만큼 ARM와 비견될만큼 제법 힘을 쓰고 있습니다.
MIPS VI는 작년에 발표되었고, 실제로 칩이 나오려면 올해말은 되어야 됩니다.
nigma 20-03-16 17:52
   
흠, 지나가다 보니 T...... 님읜 댓글들은 전에도 쓴 내용을 또 다신 것 같은데 비슷한 댓글이지만 또 달아봅니다.
위에 많은 관련 내용을 다른 분들이 다셔서 그냥 첨언하자면 탑재체의 운영환경과 요구성능에 따라 다라곘지만 군용항공기의 CPU, 특히 가혹한 환경(고도나 여러가지...)에서 쓸 것을 그냥 일반 범용의 것으로 하기는 어렵습니다.
PowerPC  를 쓴다고 하는 말이 그 설계를 가져다 쓴다는 것이지 그대로 상용의 칩 이미지나 생산품을 꼭 쓴다는 것이 아니고 용도에 맞가 수정하여 쓰는 겁니다.
예로 우리 일반 사람들이 타는 자동차의 경우 가끔씩 급발진 사고들이 일어나는데 이는 회로의 오류에 의한 것으로 온도나 전자기적 환경에 의해 그런 문제들이 발생합니다.
높은 고도의 경우 훨씬 더 빈번한데다 군용의 경우는 사소한 오류라도 치명적 오작동의 결과로 이어질 수 있기 때문에 정말 크리티컬한 용도라면 재질은 물론 회로도 그만한 보완 설계와 부가 회로들을 넣습니다.
예로 어떤 군용의 PowerPC 모델은 아예 내부 회로의 기능문제시 아예 대해할 같은 기능의 회로를 여벌로 갖고 있습니다. 즉, 레지스트리나 연산횔등의 고장에 대비 똑같은 대체제가 바로 대신 작동하도여 전체 칩의 기능수행에 아무 문제와 지연이 없도록 해초에 칩 단위에서 그런 조치가 있는 것입니다. 아예 회로 단계에서도 3개 이상의 복수가 동시에 작동해 그중에 1개가 고장나도 아무 지연없이 작동하도록 하는 설계도 있습니다.
재질도 일반 실리콘 쓰지 않습니다. 더 가혹한 전자기적 환경에서도 고장 없이 작동할 수 있는 내구성을 갖고 있습니다.
일반 민간 비행기는 덜하곘지만 군용기의 전투시 적의 재맹은 물론 핵전쟁시에도 작동하도록 해야하기 때문에 요구되는 무결성과 내구성의 수준이 전혀 다릅니다.
또 이런 하드웨어 칩 단계에서 부터 이런 조치를 하는 것은 실시간성을 항시 유지해야하고 일반 PC처럼 소프트웨어적으로 에러를 처리할 것이 아니라 잠시라도 문제해결을 위해 하는 일을 중단할 수 없는 것이기에 그런 설게를 하는 것입니다.
이런 하드웨어에 돌아가는 소프트웨어는 극도의 최적화된 전용의 것으로 부가적인 기능들 없이 컴팩트하고 딱 정해진 일만 하기 때문에 범용에 PC에서 CPU의 총 연산능력 안에서 이것저것 하는 그런 것들과 다릅니다.
클럭이 느린 이유도 위에 언급한 그런 안전성 때문에 그렇습니다.
물론 다닝ㄹ 군용기내의 컴퓨터 들도 그 역할이 여러가지로 그런부분에서 조건이 덜 까다로운 장치들은 상용의 것을 쓸 수 있겠지만(대규모 데이터 처리..??? 오류가 좀 섞여도 어쩌면 별 상관이 없을 수도 있는...)  중요한 기능적 판단과 수행을 하는 것은 그리 하기 어렵다고 생각합니다.