- 국내 S사를 비롯해서 많은 라이센스가 이 프로세서를 통하여 이루어졌습니다. [Back]
|
'EISC'에 해당되는 글 12건
[babyworm, 2009/06/24 00:07, 개인적인]
이번에 회사에서 CANTUS라는 저가 MCU가 공식적으로 론칭했고, 론칭하자마자 양산 오더가 들어와서 양산에 들어갔습니다. 이 MCU는 저희 팀이 개발한 AE32000C-Lucida 프로세서라는 것이 처음 적용된 상용화 칩이지요. 기존에 AE32000C 시리즈에서 가장 많이 사용된 AE32000C-Lucifer프로세서1를 기반으로 기반 성능을 10% 이상 높이고 면적은 줄이고, 에너지 효율도 높이고, 디버거 형태나 효율도 높이고.. 이런 형태로 개발된 것이 AE32000C-Lucida 프로세서지요. 사실 내부적으로 개발이 완료가 된 것은 몇년 되었고, 라이센스나 데모 칩등은 몇번 나왔는데, 이제야 첫번째 상용칩이 나왔으니 상용화라는 것이 참 시간이 많이 걸리는 작업이긴 합니다. 이번에 나온 CANTUS는 범용 MCU로 응용에 필요한 수준의 SRAM과 NOR flash가 내장되어 있기 떄문에 3.3V 전원과 크리스탈만 연결하면, 동작시키는데 문제가 없다는 장점이 있죠. 좋은 음질이 필요치 않다면 CODEC이 내장되어 있고, EISC를 위한 MP3 디코딩 프로그램이 제공되니까 간단한 MP3 플레이어를 만드는 건 아~주 간단하죠. (물론, 좋은 음질을 원한다면 audio codec을 붙이는 것이 깨끗하죠.. 이를 위한 인터페이스도 있고요) 여담입니다만, 저는 저희회사에서 이런 MCU를 많이 하는 것이 좋을 것이라 생각해요. 아키텍쳐를 보급하는데는 수량이 많지 않은 멀티미디어 부분 보다는, 수량을 많이 소화하는 MCU가 더 좋을 것이니까요. (AVR같은 것 봐도 그렇지요 ^^;)
[babyworm, 2009/04/13 19:13, 개인적인]
1. 그전에도 보안 카메라 쪽에서 나름 인지도가 있는 S 계열사의 Winner3, Winner4 시리즈에 EISC가 채택되었었는데, 이번에는 S사의 보안 카메라 부분의 A1이라는 칩에 채택되어 양산되었습니다. (http://www.dt.co.kr/contents.html?artic ··· 32718001) 이 제품들에 대한 라이센스가 몇 년전의 일인데, 이제야 성과물이 나오는군요. EISC 프로세서의 경우 그 동안 이것 이외에도 이쪽 저쪽에 라이센스가 좀 있는데, 작년부터 미미하지만 로열티 수입이 발생하기 시작한다는 점, 그보다 타사에서 상용화에 성공한 제품이 하나둘씩 나오고 있다는 점이 좋은 현상인 듯 합니다. 프로세서라는 것이 시장에서 받아들여지는데 참 오래걸리는 놈이라는 걸 다시 한번 깨닿고 있습니다. 2. COOLCHIPS를 보기 위하여 내일 출국합니다. Poster 섹션에 많은 한국분들이 있으시더군요. 기회되면 즐거운 시간을 :) 한가지.. 밤에 집에 가면 졸려도 참고 있다가 후다닥 달려와서 안기는 14개월된 우리 딸래미가 마음에 걸립니다.
[babyworm, 2008/10/22 17:28, 개인적인]
요즘 MPSoC쪽 버스 문제 때문에 GALS(Globally asynchronous Locally synchronous)를 다시 들여다보고 있는데, circuit design을 배제하고 verilog netlist 수준에서 기존의 합성 툴을 이용할 수 있도록 생각하다 보니 자꾸만 생각이 제한됩니다. 조막만한 아이디어가 있긴 한데, 이게 구현 가능한 것인지 생각해 보는 것 자체가 고역인걸 보니 그간 머리를 안 돌리긴 안 돌렸나봐요. 요즘 회사에서 superscalar microprocessor/SMT 쪽 강좌(?) 세미나(?) 뭐 이런걸 진행하고 있습니다. 컴퓨터 아키텍쳐란 과목에만 한정되는 이야기는 아닙니다만, 이런 종류의 과목이 비교적 편한 과목이지요. (동의하지 않을 분들도 많을 것이지만. ^^;) Android의 Dalvik VM[참고자료]이 공개되었습니다. (원래 되어 있던 건가요? 소스공개는 오늘 되었다네요.. 여하튼). 특징적인건 이 VM에서 사용하는 bytecode가 java와는 동떨어진 형태네요. register 기반의 bytecode니까 말이죠. 아주 좋아요. ^^; 단, 호환성 문제는 어쩔라고 그러는지(살펴보니 .class는 .dex로 바꿔야 한다네요.).. JavaME에서의 Sun license를 피하기 위한 방법이라는데, register 기반이기 때문에 전반적인 성능은 java보다 좋을 확률이 좀 있군요. SIMD/Vector machine에 관심이 없던 건 아닌데, 좀 의외에 상황에서 건드려야 하는 상황이 발생했습니다. 인력의 문제로 사실 할까 말까를 한 2달 동안 고민했는데, 그냥 고민하고 앉아있는 시간이면 요상한 형태의 SIMD machine은 벌써 하나 만들었겠다라는 생각이 들었어요. 이것 저것 처한 상황 때문에 빠르게 진행될 가능성은 없지만, 간단하게 하나 만들어 봐야겠습니다. 대충 틀만 잡고 누구한테 떠넘겨 버릴지도. ㅋㅋ 회사차원에서 open source진영에 대한 지원을 고려하여, EISC 프로세서 관련 사이트 하나를 개설할까 개인적으로 생각중입니다. EISC processor/system시뮬레이터는 그냥 open source로 공개할 생각이고요. 예전에 작업된 이런 저런 시뮬레이터나 환경, 벤치마크 등도 같이 open해 버릴까.. 하는 생각입니다. 감추어두고 죽느니, 열어두고 살리는 것이 좋겠지요. IDEC과 공동으로 작업하는 MPW 지원 프로그램도 거의 정식 release 직전이고.. 이런 저런 "잡일"로 바쁘네요.
[babyworm, 2007/10/05 13:32, SoC 설계 관련/마이크로 프로세서 이야기]
ARM에서 Cortex-A9을 발표하였다고 합니다 [ZDNet 기사]. 일단 저에게 있어서는 한숨 쉬어지는 일이고(ARM의 행보가 점차 빨라지니, 저희같은 업체가 따라잡을 수 있는 여지가 줄어들고 있는 것이 사실이니 말입니다.), 업계에 있어서는 환영할 만한 일이겠습니다. Cortex-A9의 경우 4개 까지 MP로 구성이 가능하다고 하니(MP 구성을 따지는 것으로 보아, cache snooping이 고려된 SMP겠지요..), 대단한 성능을 기대할 수 있겠습니다. 여기서 재미있는 것이 Intel의 대응인데요. 기존에 ARM 기반의 프로세서를 만들다가 해당 부분을 과감히 정리하였지요. 근데, EETimes에 의하면 Intel이 ARC의 프로세서를 라이센스했다고 합니다[EETimes 기사]. ARM 기반을 정리할 때는 x86기반의 embedded processor쪽으로 무게를 둔다고 생각했는데, 범용쪽은 x86기반, 저전력이 요구되는 application specific한 부분은 configurable processor인 ARC쪽에 무게를 두는 느낌입니다. 그래도, x86기반에서도 충분히 configurable하게 만드는데 어려움이 없을 것인데.. 저전력을 위해서 이런 결정을 내린 것이 아닌가 하는 생각입니다. 이러한 행보에 맞추어 저희 회사에서는 Heterogeneous MPSoC쪽에 무게를 두고, 여기에 적합한 lightweight/low power processor와 interconnection에 무게를 두고 있습니다[네이버]. 몇 가지 재미있는 아키텍처적인 시도를 구상하고 있는데, 보도 자료에는 좀 이상하게 나간 느낌이 있습니다. 물론, 마케팅적인 측면을 위해서 빠른 프로세서를 만들어야 겠다는 생각은 변함이 없습니다만.. 실제로 MPSoC에서 중요한 것은 적절한 성능의 작은 footprint를 지닌 low power 프로세서들이니까요. (적절한 성능이란 것이 task에 따라 바뀌는 것이므로, 아주 강력한 프로세서를 개발해야 할 필요성도 있는 것이지요) 뭔가 흥미 진진해질 것 같아요.
[babyworm, 2007/07/02 22:56, 개인적인]
음.. 원래 잉걸에는 손을 대지 않는 것이 정답이긴 한데.. 답답하긴 답답하네요.
몇번 쓴적이 있습니다만.. 개인적으로 프로세서를 만들어 봐야겠다는 생각에 이 일에 전념해 온지도 상당한 시간이 흘렀고, 어느 정도 가시적인 성과를 거둔 것도 있습니다. 아직은 마케팅력에 문제와 ARM의 거대함을 절감하고 있는 중이라는 것이 정답이겠지만.. 작은 회사에서 프로세서라는 하기 힘든 아이템을 가지고, 이만큼 버텨내면서 여기까지 온것이 자체도 대단하다고 생각하지요. 근데, 오늘 같은 일이 벌어지면, 제가 왜 프로세서를 했는지 참 의아합니다. 대중에게 잘 회자되지 않을 만한 무언가를 했다면 이슈화도 덜 되었을 것이고, 덜 힘들었을 것인데 말입니다. 예전에 회사에 좋지 않을 일이 있었을 때, 가장 먼저 나온 이야기가 "기술이 허깨비다"라는 말이지요. 그럼 제가 만든건 허깨비란 이야기지요 ^^; 뭐랄까요.. 많은 분들이 돈앞에서 이런 저런 이야기를 하는데, 그런 이야기를 보고 당시에 많은 엔지니어들이 회사를 떠났습니다. 자존심하나로 버티는 사람들이니까요. 이번에도 뭐 이런 저런 이야기 많습니다. 역시 또 나오는 이야기들 중의 하나가 "기술이 허깨비다"라는 이야기인데요.. 그 동안의 노력이 많은 분들의 말에 폄하되는 것이 참을 수 없군요. 여러 전문 위원들의 기술 평가 결과는 욕심 앞에서는 그냥 하나의 "글"일 뿐이고, 단지 뭔가 이유를 찾으려 하는 건 알고 있지만... 엔지니어로서 잘못이 있다면, ARM에 비하여 압도적인 performance를 내는 프로세서를 아직까지 만들지 못한 것이 잘못이겠지요. 이런 저런 말이 뭐가 필요하겠습니까.. ^^; 엔지니어는 기술로 자신을 나타내는 것이겠지요. Market 고려하지 않고 회사와 싸워서라도 제대로 하나 만들어야만 직성이 풀리겠습니다. 내년 9월 쯤을 기대해 주세요
[babyworm, 2007/06/11 23:45, SoC 설계 관련/검증이야기]
Automated Functional Verification 방법에는 여러 가지가 있지만, testvector 발생 유닛(보통 Directed Random방식을 사용하지요?)과 golden model을 이용한 checker model을 만들어서 DUV(Design Under Verification)의 결과와 비교하는 것이 가장 편한 방법 중에 하나임은 부정할 수 없습니다. (여담입니다만, 국내에서는 많은 경우 golden model없이 설계하는 경우가 많아서 검증을 위하여 작성한 golden model이 실제로 RTL보다도 정확성이 떨어지는 경우가 있다는 것이 문제가 종종 발생합니다. 여기서는 golden모델의 확보에 대한 이야기는 나중으로 미루죠.)보통 golden model은 C model을 이용하게 되는데, C 모델을 Verilog와 동시에 simulation하는 것은 그리 녹녹한 일이 아닙니다. 저는 프로세서를 대부분 다루기 때문에 C모델이라 함이 대부분 ISS simulator가 됩니다. 이후에 Simulator와 C모델은 그냥 섞어 쓸 가능성이 높은데, 보시는 분께서 편하신 대로 생각하시면 되겠습니다. 우선 Simulator를 만들 때 그 목적을 정확히 할 필요가 있습니다. 초기에 Simulator의 목적은 executable spec.의 의미가 가장 중요한 의미였을 것입니다. 그래서, 대부분 function level의 정확성을 가지지요. 프로세서의 경우 보통 이야기하는 ISS(Instruction Set Simulator)정도의 수준일 것입니다. 이때 고려하는 사항은 동작의 정확성, 빠른 동작 속도, 유연한 변경 가능성(design space exploration을 해야 하니까요)과 같은 것을 고려하게 됩니다. 그런데, 아시다시피 Verilog와 Simulation을 한다던지, Verilog Model대신 사용하려고 할 경우에는 ISS level뿐만 아니라, BFM 수준, 간혹은 Pin-level accuracy를 필요하게 됩니다. 통신이나 영상쪽의 모델은 뭐 Functional model이나 BFM이나 큰 어려움이 없습니다. Latency가 거의 정의되어 있기 때문이지요. 프로세서의 경우 약간 복잡해지는데, hazard의 발생, instruction issue rate의 변화, exception의 발생을 고려해야 하는데, 이 경우 bus function이 발생하는 Instruction Fetch와 Data Access stage의 동작을 모사하기 위해서는 대부분의 pipeline을 표현해내야 합니다. 예전에 pipeline 수준의 accuracy를 가지는 simulator를 만들고, pin-level interface를 붙여서 나름대로 쓸만한 PLI model을 만든 적이 있지요. 단지 문제는 pipeline수준의 accuracy를 가지다 보니, 너무 너무 느려져 버린거지요. 쉽게 쉽게 만들려면 functional model로 simulator를 만들고, Verilog Model(DUV)상에 하나의 명령이 retire되는 순간에 register들의 값을 비교하는 방법도 가능합니다. 하지만, 해당 model이 불필요한 hazard 발생은 없는지, Instruction Fetching에 불필요한 사항이 추가되지는 않았는지 확인 할 수는 없습니다. (당연하죠.. reference model이 functional model이니 timing spec.을 만족시켰는지는 알수 없는것이지요) 흠.. 많이 옆으로 샜는데요.. C Model과 Verilog와 붙이는 방법이 Verilog-PLI (Programming Language Interface)를 이용하는 겁니다. Simulator는 clock단위로 동작하므로, 느낌상 아래와 같이 동작시키면 될 것 같습니다. 이런 경우에 verilog에서 C function을 호출할 때 가장 많이 사용되는 건 calltf()를 이용하는 방법입니다. always @(posedge clk or negedge rst_x) begin $run_sim_calltf(xxxx); end 즉, run_sim()을 calltf()의 callback function으로 등록하는 겁니다. 그리고, 매 클럭 calltf()를 불러주는 것이지요. 근데, simualtor의 이전 상태를 계속적으로 보존해야 하는 경우에는 매 클럭 새롭게 호출되는 calltf()를 이용할 때 문제가 있을 수 있습니다. (사실 그리 어려운 일은 아닙니다만, 예를 들기 위하여 ^^ ) 그래서, 내용을 보존하고 싶을 때는 misctf()를 사용하는 것도 괜찮습니다. misctf()는 원래 verilog simulation의 이런 저런 정리 작업을 하는데 사용하는 목적으로 만드는 건데요. 아래와 같이도 사용할 수 있습니다. initial begin $run_sim_misctf(data, reason, paramvc); end 뭐 이런 느낌입니다. misctf()의 경우 시뮬레이터의 초기 시에 simulator에 연결된 이후에 simulator의 종료 시까지 계속 머무르면서 파라미터의 값이 변경 될 때 마다 제어권을 가집니다. 이 파라미터의 변화시마다 클럭이 변화되었는지 확인하고, 클럭이 변화하였을 때 값을 호출하면 되겠습니다. 아래는 한 4년 전에 만든 PLI 모델중의 misctf부분인데요.. 실제 구현은 없으니 공개해도 별 문제 없을 것입니다. ^^; 대략 이런 느낌으로 만드시면 됩니다. :) int misctf_proc(int data, int reason,int paramvc) { static int reset_called = FALSE; int POInt; switch (reason) { case reason_paramvc : { // 파라미터의 값 변화로 인한 호출의 경우 if (tf_getp(PIN_RST_X) == 0) { // reset state // 아래의 형태는 초기 조건에서의 리셋 호출을 위하여 사용된다. if (reset_called == FALSE || paramvc == PIN_RST_X) { io_printf("$AE32KB_RUN : CORE RESET CONDITION\n"); // 실제적인 reset을 수행한다. reset_called = TRUE; POInt = 0; if (tf_getp(PIN_OSIEN) == 1) { POInt = POInt | OSIEN; if (tf_getp(PIN_OSIROM) == 1) { POInt = POInt | OSIROM; } } ResetCore(POInt); } } else if ( paramvc == PIN_CLK ) { if (is_posedge(PIN_CLK,paramvc) == TRUE) { // 변경된 모든 입력 값을 받아서 반영한다. apply_input(); io_printf("%s : CLOCK POSEDGE\n", tf_strgettime()); EndClock(); // end_clock함수 StartClock(); // start clock 함수 // 변경된 데이터를 기반으로 핀과 레지스터를 변경시킨다. } } break; } // case default : break; } // apply outputs apply_output(); return 0; } 이제 EISC processor도 어느 정도 정비를 마치고, 빠른 미래에 좀 더 공격적인 마케팅을 시작할 예정입니다. ^^; 많이 기대를 해 주세요.. 특히 학생분들께 좋은 기회가 많이 돌아가도록 노력 중입니다.
[babyworm, 2006/11/10 17:26, SoC 설계 관련/초보자 코너]
요즘에 리퍼러 로그를 보니, 검색을 통하여 들어오시는 분들이 상당하시군요.. 이 포스팅은 리퍼러 로그에 남은 검색어를 통하여 살펴본, 제 블로그에 방문하시는 분들이 관심을 가지는 것에 대한 친절(?)한 답변들입니다. ^^; ESNUG내용보기 대안으로는 verilog나 vhdl이나 동일한 중간 포맷으로 해석해서 사용하는 툴을 쓰는 건데.. 이해 되시려나요?
[babyworm, 2006/11/07 23:15, SoC 설계 관련/마이크로 프로세서 이야기]
제가 설계한 건 아니고, 회사의 simple 32비트 EISC가 들어간 칩인데.. ETRI와 다목적 RFID/USN 과 같은 wireless sensor network의 node및 bridge용으로 만들고 있는 칩입니다.
뭐, 사실상 직접적인 target은 센서 노드쪽에서 가장 많이 사용되는 ATMEGA128L을 노리고 있는 칩이지요. 최종적으로는 RF 부분과 통합 설계가 될 예정인데, 그중에 1차 버젼입니다. 이거 담당하고 있는 분은 처음에 이 칩 나왔을때 테스트때문에서 회사에서 매일 매일 죽을려고 했었습니다. ^^; Digital과 analog가 섞이는 것도 섞이는 것이고, design house도 좀 말썽이고.. 여러가지 머리 아픈 부분이 있어서 말이죠.. 특히 이 칩같은 경우 저전력 하려고 클럭은 기본이고 파워마져 끊고, main die이외에 EEPROM die와 Flash die를 MCP해 놓아서 테스트가 어려워서 정말 고생했지요.. 그래도, 이제 동작하고 신문기사까지 나왔으니 고생한 보람이 있네요...^^; 차선임! 수고하셨소~ 기사보기
[babyworm, 2006/10/23 11:56, SoC 설계 관련/마이크로 프로세서 이야기]
오늘자 전자신문에 제가 개발하고 있는 EISC 프로세서 관련 기사가 전자신문에 나왔네요.. 기사보기..
[babyworm, 2006/09/04 18:03, SoC 설계 관련/마이크로 프로세서 이야기]
얼마전에 다나와라는 사이트에서 국산 마이크로 프로세서에 대한 이야기가 오고 간적이 있습니다. 사실상 데스크탑이나 서버용도의 프로세서에 있어서는 큰 격차가 있는 상태이므로 이를 따라 잡기는 쉽지 않을 것이라 생각됩니다. 게다가, 데스크탑과 서버 시장 모두 x86기반의 아키텍쳐가 거의 통일하고 있는 상태이므로, 다른 아키텍쳐가 나온다해도 이미 강력하게 구축된 소프트웨어 지원을 따라잡기는 어려울 것이라 생각됩니다. 기업체로 눈을 돌렸을때 역시 가장 상용수준에 근접했던 곳은 삼성전자 프로세서 연구실입니다. 삼성-알파라는 프로세서로 세계최초로 1GHz의 벽을 뛰어넘은 프로세서를 만든 곳이죠. 아쉬운 점은 알파라는 기존의 프로세서를 받아서(제가 알기로는 backend까지 끝난.. 즉, 거의 다 설계된 도면이라고 해야 겠지요..), 이를 삼성 공정에 circuit수준에서 최적화시키는 공정을 한것으로 알고 있습니다. 그렇다해도, 이 circuit 이하 수준의 최적화 기술이 매우 어려운 기술이므로 절대로 낮추어 볼만한 일은 아닙니다. 아쉽게 알파 프로세서가 사양길로 접어들면서, 삼성에서도 이 프로젝트를 접게 되었습니다. 이후에 리누스가 있는 것으로 유명한 트랜스메타의 칩에 대한 도입이 검토되었지만 무산되었으며, 서버/데스크탑 시장은 접게 됩니다. 그리고, 눈을 내장형 프로세서로 돌려서 ARM 프로세서 아키텍쳐를 받아서 역시 세계 최고속도의 ARM을 만들고 있습니다. (best cond.에서 1GHz를 넘고 있는 프로세서니 대단합니다.) 이제 국내 기술만으로 만들어진 자체 프로세서에 대한 이야기를 해봅시다. 우선, 잠시 프로세서에 대한 이야기를 하겠습니다. 프로세서라는 것은 프로세서 기술이라는 것이 한 20%정도 밖에 차지하지 않습니다. 광범위한 컴파일러 기술, OS 기술, 시스템 프로그래밍 기술.. 이런 것이 필요하죠.. 프로세서가 높은 성능을 발휘한다는 것은 이러한 모든 것이 집결되었을때 가능한 것입니다. 그런데, 아쉽게도 국내에는 컴파일러, OS, 시스템 프로그래밍이라는 분야가 아주 취약합니다. 삼성과 같이 능력있는 기업에서 자체 아키텍쳐를 개발한 적이 있으나, 이를 사장시키고 ARM 기반의 프로세서를 채택한 것도 바로 이미 구축되어 있는 ARM의 강력한 인프라를 사용할 수 있다는 장점때문입니다. 한마디로, 프로세서를 만드는 것보다 프로세서를 제대로 운용하는데 필요한 프로그램을 얻기가 더 어렵다.. 그래서, 되도록이면 기존의 것을 쓰려고 한다.. 이것입니다. 하지만, 이는 여러 소프트웨어의 강력한 지원이 필요한 시장에서의 이야기이고, 소프트웨어의 호환성이라던지 지원에 대한 의미가 약간 적은 내장형 프로세서 시장에서는 여러가지 의미 있는 시도들이 존재했는데..(아직도 존재합니다요..) 가장 큰 것이 System IC 2010과제(시스템 IC를 2010년까지 선진국 수준으로 끌어올리자는 대형 국책 프로젝트입니다.)에서 두개의 의미 있는 프로세서가 개발되었다는 점입니다. 첫번째는 삼성의 calmRISC입니다. 지금은 조용히 사장되었습니다만, 삼성 특유의 공격적인 투자로 좋은 출발을 했었습니다. 삼성 전자 공정 특유의 저전력 소모라던지.. 몇몇 연구실과 연계해서 캐쉬 구조나 컴파일러, OS모두 좋은 방향으로 가고 있었습니다만.. 너무 특색없는 RISC였던것이 문제였던것 같습니다. 개발환경도 너무 과하게 큰 BDM기반의 기술을 채택했구요.. 현재는 이름만 남아 있는듯 합니다만, 빨리 되살아나길 바랍니다. 두번째는 ADChips의 EISC 프로세서입니다. 현재 제가 만들고 있는 CPU이기도 합니다. RISC기반의 프로세서인데 CISC적인 요소가 많은 유별난 아키텍쳐를 가지고 있으며, 그래서 EISC라고 이름 붙여진 프로세서입니다. system IC 2010에서 삼성 calmRISC와 경쟁 과제로 선정되어 최종적으로 과제에서 더 높은 평점을 받으며 아주 좋은 출발을 했습니다. (아마도, 조금 더 큰 기업에서 공격적인 투자를 진행했다면 EISC의 현재 모습은 좀 더 다른 모습이 아닐까 생각됩니다.. 아쉽기는 하지만, 현재의 EISC의 모습이 이정도되는 것도 중소기업으로 하기 힘든 투자를 계속하고 있는 회사 결단의 산물이겠습니다.) 현재도 EISC 프로세서는 지속적으로 개발과정에 있고, 여러 대학과의 연계를 통해서 컴파일러도 재 정비되고 있습니다. uCLinux가 포팅되어 현재 사용가능하고, Linux포팅도 곧 될 예정이지요. 현재 SoC Robotwar(레이저를 탑재한 전차형 로봇간의 2:2 전투, 게임 시작 이후에는 참가자가 프로그래밍한 인공지능 프로그램에 의해서만 게임이 진행되며, 사용자가 조작할 수 없다는 점이 특징입니다. http://www.u-socrobot.org/)에서 메인 프로세서로 사용중입니다. (음 유비쿼터스 SoC 로봇워로 이름이 바뀌었군요..) 그 이외에 국내에서의 프로세서들중에서 눈길을 끄는 부분은 8051기반의 프로세서들이 아직도 잘 팔리고 있다는 점이고, 이를 이용해서 돈을 벌고 있는 회사가 있다는 점입니다. 개발자들은 아무래도 익숙한 것을 계속 고집하는 경향이 있지요.. 하지만, 그 이상으로 8051의 저력이 무섭습니다. 위에 이야기 한것 처럼 국산 프로세서가 전무한것은 아닙니다. 단, 외산 프로세서 아키텍쳐에 국산 기술을 입혀서 만들고 있는 경우가 대부분이라 잘 인식하지 못할 뿐이지요(ARM을 이용한 삼성-ARM, 8051기반의 프로세서들). 국산 기술만의 프로세서의 경우 아직 시장에서 크게 두각을 나타내지 못하고 있다는 점도 있구요 (EISC). 대학과 국책 연구실에서는 오늘도 수많은 시도가 있을것입니다. 아직 일반인의 눈에 보이지 않을뿐이지요. 제가 만들고 있는 EISC의 경우만 이야기하자면, EISC의 경우 그 개발 키트가 공개되어 있으니, 곧 공개 개발자들에서도 재미있는 시도들이 이루어지지 않을까 생각됩니다. 저희도 좀 공격적으로 알릴 필요가 있구요. (사실 회사에서는 인력 부족이라 공개 커뮤니티에 너무 알려지면 공개 커뮤니티를 지원할 인력 문제에 대한 고민도 없잖아 있습니다만...) EISC 뿐만 아니라 여러 국산 프로세서에 대한 관심을 계속 가져 주시기 바랍니다.
[babyworm, 2006/08/10 22:04, SoC 설계 관련]
ARM에서 기존의 시리즈 번호를 접고 새롭게 cortex시리즈를 시작한지도 일년정도 된것 같다.
저가, 저전력 컨트롤러 시장을 타겟으로하는 M시리즈와 고성능, 고속 내장형 마이크로 프로세서 시장을 타겟으로 하는 A시리즈에 이어, 메인 스트림 시장을 타겟으로 하는 R시리즈가 선보였다. 8단 파이프라인(실제적으로는 9단 파이프라고 생각된다.)으로 구성되어 있으며, 거의 ARM11의 파이프 구성과 유사하다. 하지만, synthsizable core로서 선보였으므로, cache SRAM에 더 많은 시간을 할당하기 위하여 파이프 구성을 새롭게 했다는 점이 다를것이다. 또한, 좀더 정밀해진 분기 예측기(global predictor를 사용한 건 의외이긴 하다.)를 내장하고 있으며, 벤치마크에 따라서는 95%까지 예측 성공율을 보여준다고 한다.(이 이야기는 그야말로 벤치마크에 따라서겠다.. 그동안 논문에서 보아온 global predictor의 성능으로 보았을때는 말이다..) 인텔의 Core 2 마이크로 아키텍쳐, AMD의 프로세서, ARM까지.. 이제는 더 깊은 파이프라인보다는 정교한 프로세서가 각광받는 시대가 된 것으로 보이고, 이것은 깊은 파이프라인에서 피할 수 없는 분기에 대한 문제, 그리고, 저전력에 대한 요구(클럭 주파수가 낮을수록 상대적으로 전력 소모가 적으니까..물론 다 그런건 아니지만..) area보다는 성능을 중요시하게 된 부분, 그리고 컴파일러의 발전 결과로 볼수 있겠다. 내장형 마이크로 프로세서에서도 이제 똑똑한 프로세서들간의 전쟁이 기대된다.
[babyworm, 2006/07/16 01:58, 개인적인]
EISC라는 프로세서를 접하고 시작한지 올해로 벌써 8년째다. 학교에서 있을때 대한민국에 변변한 프로세서가 없다는 것에, 그리고 아키텍쳐와 마이크로 아키텍쳐가 없다는 것에 낙담하고 있던차에 SystemIC2010사업으로 embedded microprocessor사업이 있다는 것도 알게 되고 그리고, 아시아 디자인(지금은 ADChips라는 이름으로 바뀌었다)이라는 회사에서 EISC라는 들어보지 못한 프로세서를 만든다는 말을 들었다.
|
||||||||||||||||||||||||||













