회원 및 비회원 모두 열람이 가능합니다. 최대 업로드 가능한 용량은 20MB 입니다.

 OpenCores라는 단체에서 ARM와 MIPS같은 사용료를 지불해야 하는 라이선스를 필요로하는 프로세서 코어에 위협이 될 수 있는 무료 32비트 프로세서 IP(지적 재산권) 코어를 공개했다. 


2월 말 전에 인터넷에서 OpenRISC1000 코어의 VHDL 설명서 파일과 문서를 무료로 다운로드 받을 수 있다고 한다. 이미 공개된 무료 C 언어 컴파일러를 다운로드 받으면 엔지니어들은 이 코어를 가지고 변경해서 FPGA나 ASIC에 적용할 수 있다고 하며 이로부터 완전한 제품의 생산도 추가적인 비용 없이 가능하다고 한다.

하지만 공개 코어인 만큼 엔지니어들은 이에 대한 기술적인 지원을 받을 수 없으며 스스로 모든 것을 해결해야 한다. 이러한 단점에도 불구하고 분석가들은 이러한 제안이 리눅스가 운영체제에 불고 온 바람처럼 반도체에 새로운 형세를 불러올 수 있을 것이라고 전망하고 있다.

이러한 움직임은 현재 프로세서 코어를 라이선스하는 업체들에게 위협적인 존재로 자리잡을 수도 있다고 하며 이 OpenRISC1000코어를 발표한 OpenCores에 의하면 이미 ARM으로부터 자사의 프로세서 코어와 조금이라도 비슷한 클론을 만들면 안될 것이라고 경고했었다고 한다. 그럼에도 불구하고 Opencores는 현재 ARM의 가장 큰 라이벌인 MIPS의 MIPS-I 명령어를 실행할 수 있는 OpenRISC 버전을 개발중이라고 전해왔다.

OpenRISC 1000은 다른 코어의 클론은 아니며 고유의 명령어 셋을 가지고 있다고 하며 OpenCores의 웹사이트에 곧 공개될 것이라고 한다. 이 사이트는 순수히 취미와 학술적으로 비상업적인 용도로 개설된 것이며 하드웨어 IP 코어가 완전히 무료라고 한다. 이와 비슷한 사이트로는 OpneIP와 Free-IP 프로젝트가 있다.

이와 같은 접근 방법은 소프트웨어 유틸리티와 게임을 인터넷상으로 무료로 제공하는 아마추어 프로그래머와 비슷한 방법이다. Opencores의 웹사이트에 의하면 OpenRISC1000 CPU 코어의 VHDL 소스 코드와 MMU, 캐쉬가 이번달 내로 제공될 것이라고 한다.

슬로베니아의 Ljubljana 대학의 22살의 컴퓨터 공학을 전공하는 Damjan Lampret은 이 OpenCores의 주요 핵심 멤버의 한명으로서 OpenRISC 아키텍쳐의 설계에 참여한 사람이기도 하다. 그는 이 모임이 FSF(Free Software Foundation)을 모델링하고 있으며 비슷한 길을 걷게 될것이라고 전했다.

이 조직은 법적으로 정식으로 구성된 조직같은 것은 아니며 다만 취미로 하는 클럽같은 것이라고 전하고 사람들이 같이 작업하기 시작했으며 이미 몇몇 설계자들은 자신의 작업을 마친 상태라고 전해왔다.

각 설계 요소는 학생, 취미를 가지고 있는 사람들, 전문적인 엔지니어들이 동참한 것이며 이들은 전자 메일과 인스탄스 메세징을 통해서 의견을 전달하고 있으며 이들이 어떤 나라 사람들이며 어디에 살고 무슨일을 하는지도 서로 잘 모른다고 한다. 이들에게 중요한 것은 전자메일 주소와 ICQ 번호일 뿐이며 공동으로 참여하는 사람들이 어디에 사는지는 중요하지 않다고 전해왔다.

지난 1999년 말 2달 동안에 Lampret과 그의 직장 동료들이 OpenRISC1000, OR1K으로 명명된 32비트 마이크로프로세서 아키텍쳐를 설계했다고 한다. Lampret은 또한 GNU C 컴파일러를 OpenRISC 아키텍쳐로 포팅했다고 하며 이 둘다 곧 인터넷에서 공개된다고 한다. OpenRISC의 프로토타입 보드는 Xilinx FPGA와 Xilinx 프로그래머블 로직 디바이스로 구성되어 있다고 한다.

Lampret에 의하면 OR1K는 작고 매우 빠르다고 하며 이것은 가장 작은 Xilinx Virtex 게이트 어레이의 70%를 차지하고 있으며 이것은 약 5만개의 게이트를 의?僿構?이것들이 100MHz의 속도에서 동작한다고 한다.

이 설계로 컴파일된 C 코드를 지난 12월31일에 프로토타입 모드에서 실행했다고 하며 이 당시 흥분되었었던 상황을 전했다. 새 천년의 자정 바로전에 OR1K가 첫 번째 명령어, 실은 수백만개의 명령어를 실행시켰다고 전해왔다.

Lampret은 애초에는 1999년내로 코어를 공개하는 것이였고 리눅스를 이로 포팅하는 것이 목표였었는데 그의 대학 시험 때문에 이 스케쥴이 늦춰졌다고 하며 문서화 작업 때문에 OpenRISC 설계가 늦어졌다고 한다.

현재 설계는 완성된 단계이지만 현재 그는 더욱 일반적인 설계가 되게 하기 위해서 작업중이라고 하며 현재 Virtex에 의존하는 몇몇 설계 사항을 대체할 것을 찾아야 한다고 그는 전해왔다.

현재 작업의 일차적인 목표는 사이클당 1개의 명령어를 수행할 수 있는 최소한의 RISC를 적용하는 것이며 이것이 엠베디드 어플리케이션에 상당히 도움이 될것이라고 한다.

그는 이 설계를 위해서 현존하는 대부분의 RISC 아키텍쳐를 공부했다고 하며 이중에서 가장 공통적이며 쓸모있는 명령어의 리스트를 작성했다고 한다. 이것은 초기 MIPS의 DLX와 비슷했다고 하며 현재로서는 아주 기초적인 저장/불러내기의 32비트 RISC라고 하며 당장은 부동 소수 연산은 지원하지 않는다고 한다. Lampret은 그가 16비트와 32비트 명령어가 섞인 포맷을 선택했다고 하며 그는 16비트 포맷의 명령어나 혹은 16비트 to 32비트 명령어 번역기 (이것은 ARM의 Thumb에 사용되는 것으로 코드의 밀도를 높일 수 있기 때문에 엠베디드 어플리케이션에 유리하다고 한다.)를 사용하지 않으려 했다고 전하고 있고 하지만 Lampret은 OpenRISC 코드가 아직 다른 프로세서에 비하면 적은 크기의 코어라고 전하고 있다.

그에 의하면 OR1K와 같은 코드를 컴파일한 x86, Sparc, Mips와 알파에서 OR1K가 가장 작은 크기의 컴파일된 코드를 보였다고 한다. 레지스터 파일 아키텍쳐는 Spac의 것과 비슷하다고 그는 또한 전했다. Lampret은 현재로서는 32개의 32비트 레지스터를 가지고 있다고 하며 다른 적용사항에 따라 변경될 수도 있다고 전했다.

Lampret은 아직 하드웨어 벤치마크 결과는 없지만 Dhyrstone 벤치마크에 의하면 OpenRisc1000이 100MHz에서 1000 Mips를 보였다고 한다.

이와 같은 오픈 아키텍쳐에서 가장 중요한 것은 개발 버전을 컨트롤하는 것이라고 가트너 그룹은 전해왔다. Lampret은 어떠한 형태로 이 코드를 공개할 것인지 아직 결정하지 않은 상태라고 한다. Lampret과 OpenCores의 철학은 누구에게나 무료로 제공되는 것이라고 하며 리눅스와 같은 커뮤티니 라이선스와 비슷한 형태를 취할 것이라고 한다. 이들은 GPL 라이선스를 사용할 수도 있다고 전해왔다.

Lampret과 Opencore는 ARM 리스크 오어의 클론을 설계할 것을 고려하였는데 , 이는 ARM 코어가 실행하는 명령어 리스트를 사용하게 되며 이는 컴파일된 ARM 코드를 사용할 수 있는 머신의 제작이 가능함을 의미하는 것이다. 이들은 ARM에 이에 대해서 가능성을 타진해 보았지만 "그렇게 하지 않는 것이 좋을것"이라는 답변을 받았다고 한다.

Lampret은 아직 OpenRISC를 정비하고 있는 중이며 속도에 최적화된 코어의 수퍼 스케일러 버전인 OpenRISC1002에 작업중이라고 한다. 단일 명령어 처리가 아닌 듀얼 명령어의 OpenRISC인 이 코어는 Xilinx XCV-E FPGA에서 170MHz에서 동작하며 약 250MIPS의 성능을 보인다고 한다.

또한 그는 "lite" 버전인 OpenRISC 1001을 가지고 있으며 이것은 Xilinx Virtex XCV50에서 80MHz로 동작하는 게이트수를 최소로 줄인 버전이라고 하며 약 80Mips의 성능을 보인다고 하며 이 코어는 MIPS-I 코드를 실행할 수 있다고 한다.

OR1K의 디코딩 모듈과 몇몇 작은 부분을 수정함으로서 MIPS-I 명령어를 실행할 수 있다고 Lampret은 전해왔으며 이에 대해서 MIPS가 어떠한 반응을 보일지는 아직 알 수 없지만 ARM과 비슷한 행동을 취할 것으로 생각하고 있다고 한다.

MIPS는 이에 대해서 언급을 하지 않고 있으며 이 무료 프로세서 코어에 대해서 아는 바가 거의 없다고 전해왔다.

과연 Lampret이 하드웨어 업계의 Linus Torvalds가 될 것인가? 그리고 언젠가 인텔이나 Sun이 이 OpenCores를 현재 MS가 리눅스를 두려워하듯이 견제할 것인지는 아직 더 두고 보아야 할 것이다. 


[출처] 무료 32bit 프로세서 코어 공개되다|작성자 baeya7


P.S : 22살때 저걸 해내다니 대단한 것 같아요. 흑... 22살에 CPU 설계라니... ㅡㅡ;;;

profile

인생은 연극이고 세상은 무대이다!

이솝 임베디드 포럼 운영 및 비즈니스와 관련된 것 이외에 E-Mail이나 메신저 및 휴대폰 등을 통한 개인적인 질문 및 답변은 받지 않습니다. 문의 사항은 이솝 임베디드 포럼 게시판을 이용해 주시면 감사하겠습니다.

엮인글 :
http://www.aesop.or.kr/index.php?mid=Board_Community_News&document_srl=14399&act=trackback&key=990

김광준

2009.09.08 17:38:05
*.94.41.89

제가 처음 CPU 설계했을 때 나이와 비슷하군요.

87년도에는 설계하기에 환경이 많이 열악했었지요.

시뮬레이터도 없고 그냥 TTL로 설계했었는데...

최근에는 환경이 많이 좋아져서 150$짜리 FPGA개발보드에 8bit core를 20개나 올릴 수 있습니다.

특허청이 후원하는 국산 CPU도 같은 FPGA보드에 올라가더군요.

세상이 많이 발전하고 있습니다. 이러한 것들이 아직도 실무에서 손을 못놓게 하는가 싶네요. ^^;


고현철

2009.09.08 20:02:44
*.32.117.22

22살때 게임에 빠져서 살았던.........이 무지한 중생은.......ㅠ.ㅠ

이승열

2009.09.15 10:26:00
*.97.190.25

보통, 전자공학이나 컴퓨터 공학을 전공하는 사람이라면, 학부 3-4년때쯤 CPU 설계를 합니다.

 

저는 4학년때 CPU 설계를 했었죠. 제가 해본 것은 ISA(Instruction Set Architecture) 설계, CPU simulator 구현,

assembler 정도 만들었던 것 같네요. 얼마나 재미있었던지. 책을 달달 외웠던 기억이. A+는 못받고 A0 받았습니다.

그리고, 대학원 석사 진학을 해서, 학부 3학년 "디지털 시스템 설계"라는 과목 조교를 했는데,

배우지도 않은 8-bit CPU 설계(Control Logic 부분만 VHDL로 구현, 나머지는 schematic 설계)를 term project로 시켰는데,

다들 잘 하더군요. 그 당시(1998년 봄) Xilinx University Program에 가입해서 공짜로 Xilinx FPGA 보드 받아서 사용했었는데. FPGA P&R 문제로 저도 고생하고 학생들도 고생한 것 같아 simulation까지만 고려하여 채점했던 기억이 나네요.

 

Opencores에는 많은 VHDL/verilog 소스 코드가 있는데, commercial하게 사용하기에는 상당히 부족합니다. 기본기능만 제공하는 경우가 많거든요. 학생들이 공부하기에는 좋은 소스지만, commercial하게 쓰기에는 약간 부족합니다. 한, 예로 opencores IP같은 경우 wishbone-bus interface를 가지고 있어서, ARM과 integration하기 위해서는 bus 부분 변경하여야 합니다.

 

요즘 추세는 CPU core 설계가 아니라, SoC(System-on-Chip)입니다. CPU core를 개발하기에는 상당히 많은 시간이 걸리므로, ARM이나 MIPS 등등의 CPU core를 사서, 특정 분야에 맞는 주변장치를 달아서 파는 SoC가 주류를 이루고 있습니다.

 

마지막으로, 국내에 CPU core를 만드는 회사가 있는데, EISC(CISC장점과 RISC장점을 혼합한 CPU core) core를 만드는

회사가 있습니다. 반도체랑 전혀 상관없는 모 통신기업에서 인수했다고 기사가 나왔는데, 그 다음날 바로 인수철회가 되었지요. 이 EISC core를 가지고 SoC를 만들어서, 그 SoC를 탑재한 보드를 사용해봤는데, PC 개발환경도 있고,

cygwin 개발환경도 있더군요. 쓸만하더군요. 제가 반도체 설계 분야를 떠나 임베디드 SW를 개발할 때, 처음 써본 보드라 가장 기억이 남네요.

List of Articles
번호 제목 글쓴이 날짜 조회 수
74 Mobile Firmware Engineers 채용 (연구소) file 민경오 2009-12-09 5990
73 소프트웨어개발자를 모십니다. file jake 2009-12-08 6384
72 모집공고(S/W) [2] 김형곤 2009-12-04 5698
71 임베디드 리눅스 포팅/Kernel 디버깅/Android/WinCE 포팅 경험자 [1] 관리자 2009-11-27 6912
70 [ 구인 ] LS전선에서 Embedded Linux S/W 개발자를 모집합니다. [1] 흰종이 2009-11-26 6743
69 삼성, 독자 모바일 플랫폼 '바다' 공개 장석원 2009-11-10 4981
68 [채용] Company100,Inc. - Software Engineer (상세모집요강 참조... file 박성민 2009-11-06 7616
67 [기사내용] 내비게이션 업계, 구글 쓰나미 - 안드로이드폰서 무료GP... [2] 장석원 2009-10-30 5620
66 [기술정보] FFMPEG 에서 사용한 코덱 알고리즘이 특허가 걸려있... 장석원 2009-10-28 6635
65 TI, OMAP4 출시 - Cortex-A9 Core 채택 [1] 장석원 2009-10-23 9424
64 안드로이드 유경험자를 모십니다. 정윤구 2009-10-20 6225
63 [개발의뢰_아르바이트]AIJI System OPENice-A1000 JTAG NAND 김진만 2009-10-20 9459
62 ARM, 2GHz 성능의 Cortex-A9 듀얼 코어 프로세서 구현 장석원 2009-10-20 5542
61 2009 추계 디지털방송기술 워크샵 안내 장석원 2009-10-05 5244
60 브로드컴, ARM Cortex-A9 멀티프로세서 기술 라이선스 취득 장석원 2009-10-05 6120
59 [구인] S/W 개발 신입 및 경력 박선종 2009-09-29 6603
58 [정보]채용 공고 [2] 김증일 2009-09-25 6426
57 pc용 프로그램 가능하신분 구합니다. 김종영 2009-09-25 5119
» 오픈소스 32비트 프로세서 OpenRISC의 개발 주역인 Lampret [3] 김재훈 2009-09-06 6703
55 Linux S/W개발자 구함 정형진 2009-08-14 5256

사용자 로그인