ARM의 Cortex-A9 프로세서.

[wp]ARM[/wp]에서 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에 따라 바뀌는 것이므로, 아주 강력한 프로세서를 개발해야 할 필요성도 있는 것이지요)


뭔가 흥미 진진해질 것 같아요.

초심으로 돌아갑니다.

요즘 바쁜 일들이 겹치다보니 블로그에 소흘한 면이 있었는데요.. 그래도 그렇지, 용인으로 이사 온 이후에는 post된 글이 10개 정도밖에 안되네요.


글이 줄어드는 가장 큰 이유는 저의 게으름이겠고.. 두 번째는 바쁘다는 핑계거리가 생겼다는 것이겠고(음.. 즐기기 위해서 글을 쓴다고 하지 않았나? 근데 왠 핑계?), 마지막으로는 글의 주제가 약간 딱딱했다는 점이겠지요.


사실, 이 블로그를 처음 열때는 반쯤은 일기 쓰듯, 반쯤은 본 정보를 잊지않기 위해서 였습니다. 뭔가 깊이 있는 글을 쓰겠다는 생각이 별로 없었지요. 그런데, 일기에 가까운 가벼운, 그리고 사회적인 성향의 글을 따로 두는 블로그를 운영하면서 이 블로그에 글이 줄어들기 시작한 것 같습니다. (물론, 개인적인 블로그의 글도 엄청나게 정체되어 있습니다. ^^;) 또 한가지는 뭔가 도움이 되는 글을 써야겠다는 약간의 책임감이 작용하기도 한 결과겠지요. 그러다보니, 글을 잘 안쓰게 된 듯한 느낌입니다.


오히려 이게 더 도움이 안 될 것 같아요. 처음처럼 news clipping과 간단한 comment, 검증 기법에 대한 이야기, 그리고, 제가 좋아하는 음악과 영화 이야기를 하는 블로그로 회귀하겠습니다. (뭐, 그러나 저러나 별 차이가 없겠습니다만, 남북 공동 선언처럼 선언적인 측면이 강하겠지요. ^^;)

Cygwin에서의 printer port 제어

별 다른 내용은 아닙니다만, 기억해두기 위해서 적습니다.

JTAG을 이용한 디버거를 만들고, PC상에서 테스트 하는데 소프트웨어 팀에서 만든 비주얼 스튜디오 기반의 프로그램은 제가 고칠수가 없어서(VS 라이센스가 한정되어 있다보니..), cygwin상에서 간단하게 제어하는 프로그램을 만들게 되었습니다.

제가 알기로는 linux의 경우 /port/prn 을 이용해서 간단하게 printer port를 제어할 수 있었던 것으로 기억합니다만(물론, permio같은 것을 써야 겠습니다만..), cygwin에서는 이 방법은 안되더군요.

그래서, 어쩔수 없이 giveio라는 범용 device driver를 하나 올리고, 이걸 통해서 cygwin에서 제어하는 방법을 사용했습니다. 항상 그렇지만, 중요한 부분(말하자면, 제가 기억하고 있어야 하는 부분 ^^)은 cygwin에서 windows 라이브러리(windows API)를 포함시켜서, 다른 것에서와 거의 동일하게 windows용 device driver를 연결하면 된다는 것이지요..  그 부분은 아래와 같습니다.