2주만에 Social Security Number 받기

미국에 오면 아마도 제일 먼저 해야할 일이 사회보장번호(Social Security Number)를 받는 것일 것이다. SSN이 있어야 운전면허도 신청할 수 있고, 신용카드도 만들 수 있다. 은행계좌는 SSN이 없어도 만들수 있다.

SSN을 받으려면 가까운 Social Security Office(SSO)에 가서 신청하면 된다. 신청후 3~4주 후에 집으로 배달된다. 간단하다. 그런데, 3~4주라는 기간도 짧지 않은 시간인데 간혹 8주가 걸리는 사람도 있다고 한다. SSN이 없이는 신용카드도 못만들고 간혹 월급을 못받는 경우도 있기 때문에 기다리기가 곤란할 수 있다.

이렇게 기다리는 시간을 줄이는 방법은 다음과 같다.
1. 카드가 아니라 번호만 있어도 된다.
소셜시큐리티카드를 제시할 경우는 드물고 대부분의 경우 SSN번호만 알고 있으면 된다. 번호는 카드보다 먼저 나오기 때문에 미리 번호만 물어봐서 알아두면 된다.

2. 입국 10일 후에 신청한다.
만일 입국한지 10일이 채 지나지 않았다면 입국기록이 전산등록이 되어있지 않을 가능성이 높다. 그렇다고 해도 신청은 가능하지만 확인절차등이 추가 되어 훨씬 오래걸리게 된다.
공식적으로는 10일이 걸린다고 하지만 실제론 그보다 조금 빠를 수 있기 때문에,
필자는 입국 2주만에 SSN이 필요한 상황이라서 입국 8일 후에 SSO에 방문하여 전산등록이 되어있다면 신청하겠다고 하였다.

3. 전화로 번호 확인(?)
SSO의 직원은 신청 후 4~5일 후에 전화(1-800-772-1213)로 번호를 알 수 있다고 했고, 지인 중에도 전화로 번호를 확인한 경우가 있었으나, 막상전화를 해보니 불가능하다고 했다. 전화 연결에 시간이 오래걸리고 또 입력하라고하는 내용도 많아 불편하여 다시 SSO에 방문하여 SSN번호를 받았다. 신청후 5일후 였다.

4. 기타
가까운 SSO는 이곳에서 Zip code를 넣어 검색하면 된다.
SSO에 도착하면 번호표를 뽑고, 한켠에 비치 되어있는 SS-5 양식을 작성하면 된다.

필자는 제일 가까운 Mountain View SSO에 갔었는데, 처음엔 위치를 찾느라 조금 헤매였다.
쉘 주유소 바로 옆 Global Trust Bank건물 3층에 있었다.

재인 & 재희

재인이가 수술을 한지 3개월하고도 20일이 지났습니다. 2차수술을 한지도 한달이 됐구요.

제가 2주동안 미국에 다녀온 사이에 머리카락도 까맣게 자랐고 수술부위도 완전히 아물었습니다.
유합증이 있어서 납작했던 뒤통수도 점점 동그랗게되어 가네요.
반대편 뒤통수처럼 예쁘게 될 순 없겠지만 점점 더 많이 좋아질 것 같습니다.

재인이는 밥을 정말 너무 잘먹네요. 재희때는 상상도 할 수 없었던…
2주 안보는 사이에 몸무게도 1kg가까이 는 것 같습니다.
이유식 먹고나서 분유먹고 그리고 나서 치즈먹고 과자까지 먹어야하네요. 그래서 별명을 ‘식탐재인’으로 지었습니다. 재희 별명은 ‘독학재희’였죠.

이 사진은 밥먹는 중인데 밥 빨리빨리 안준다고 인상쓰는거 같네요. 이번에 짐보리에서 사온 우주복이 터질듯 빵빵하네요.

재희는 이번에 아빠가 사온 선물이 맘에 드나 봅니다. 엄청 큰 트럭을 사왔거든요. 내년에 미국갈때 쓰려고 이민가방을 빌려왔는데, 큰 가방을 빌린김에 큰 맘먹고 가방만한 선물을 질러버렸습니다.

집안에서 가지고 놀긴 너무 큰데, 날씨가 추워서 어쩔 수 없이 집에서 가지고 놀고 있습니다. 여기 저기 들이받고 난리가 났죠 ㅋ

재희는 얼마전부터 요리에 관심이 많아져서 요새는 장난감도 소꿉놀이용 칼, 도마를 가지고 놉니다.
엄마가 뭣좀 만들려고하면 옆에 착 들러붙어서 자기가 하겠다고 하고, 전자레인지 버튼 하나만 누르려고 해도 재희가 한다고 성화입니다. 재희엄마가 아주 성가셔 하고 있습니다.

마지막으로 재인이 동영상. 요새 ‘요하임’광고에 푹 빠져있습니다. ^^

Heavenly in Lake Tahoe

Heaven, I’m in heaven…

미국에 도착한지 일주일만에 보드타러 레이크타호에 다녀왔습니다.
보드 끊은지 4년만에 혼자서는 엄두도 못냈을 일인데… 같은 회사에 있는 준우와 자일링스에 있는 남훈이, 그리고 램버스에 계신 댄오박사님 덕분에 생각지 못한 즐거움을 느끼고 왔습니다.  

기막힌 타이밍. 때마침 내린 폭설…
일주일 전까지만 해도 맑은 날씨였다는데… 폭풍이 온다는 일기예보와 함께 폭설이 내렸습니다.

무릎까지 푹푹 빠져버리는 한국에선 겪어보진 못한 설질. 무릎까지 빠지는 파우더에 잘 뭉쳐지지도 않는 건설… 처음엔 한번 넘어지면 일어나질 못하겠더군요. 손으로 짚어야 일어날텐데… 짚으려고하면 어깨까지 빠져버리니…

폭설로 인해 타호에서도 좀처럼 보기어렵다는 설질을 맛본 것은 장점이었지만,
대부분의 리프트가 운행을 안했다는 단점도 있었습니다.

산호세에서 레이크타호까지는 부지런히 가도 4시간이 걸리는 거리입니다. 돌아올때는 폭설로 인한 극심한 정체로 6시간정도 걸린 것 같네요. 차 막히지 말라고 점심 먹고 바로 출발했는데 편도1차선 도로에서 체인컨트롤을 하는 바람에 앞서가던 차들이 바퀴에 체인을 달때까지 빼도박도 못하고 기다려야했습니다.

체인을 설치해야만 지나갈 수 있는 ‘체인 컨트롤’이란 것도 생소했지요. 체인이 없으면 구입해서 달아야 지나가 갈수 있습니다. 하지만, 4륜구동차는 체인없어도 패스~ 아우디 콰트로의 진가를 느끼고 왔습니다.

아래 위성사진에서 오른쪽 아래에 지렁이 꼬물꼬물 지나가는 듯한 부분이 Heavenly 리조트의 스키 트레일들입니다. Heavenly가 상당히 크다고 생각했는데 호수가 워낙에 크니 상대적으로 무척 작아보입니다.

여름 타호는 가보았지만, 겨울 타호는 이번이 처음입니다. 타호에는 크고 작은 리조트들이 많이 있다고합니다만, 타호의 3대 스키장은 Squaw Valley, Northstar, Heavenly인데, Squaw는 동계올림픽을 열었던 곳이라 유명하고 시설도 좋은 반면 가격이 엄청나게 비싸다고 합니다. 그리고 이번에 Heavenly를 소유한 회사가 Northstar를 합병했다고 하네요. 그 결과 Heavenly 시즌권이 있는 사람은 Northstar까지 갈 수 있게 되었으나, 다음 시즌부터 가격이 많이 오를 것으로 보입니다. (남훈/준우에게 줏어 들은 이야기 ^^)

미국도 크리스마스부터가 성수기라 19일부터 시즌권 가격이 폭등하더군요. 위에 말한 합병의 영향인지 12월18일까지 379불인 시즌권이 19일부터 799불로 두배이상 뛰어버린다는 정보를 입수하고 시즌권도 질러버렸습니다. 과연 몇번을 더 갈지 모르겠지만…

캘리포니아주와 네바다 주 경계에 있다보니 리조트 바로 근처에 카지노가 있다는 장점도 있습니다.
(라스베가스가 있는 네바다 주는 카지노가 합법이죠). 포카실력이 좋은 남훈이를 따라 갔다가 룰렛으로 약간 땄습니다. 몇년 전 Reno에 갔을 때 개발한 잔재주를 발휘했죠.

사실 첫날은 그리 즐겁지많은 않았습니다. 4년동안 보드를 타지않은데다가 프리스타일 보드를 안탄지는 6년도 넘어 프리스타일 스탠스에 적응도 안되고, 최근 몇년간 숨쉬기 운동밖에 안해 체력은 초저질인데 넘어지면 푹푹빠지는 바람에 체력이 완전 고갈…

하지만, 둘째날에는 좀 탈만하더군요. 프리스타일 자세는 포기하고 스탠스를 알파인처럼 돌려버렸고 설질도 솜사탕같던 마른 눈에서 뽀드득 거리는 뭉치는 눈으로 바뀌었습니다. 그리고 파우더에서 타는 방법도 조금 익숙해졌구요. 덕분에 재미있게 탔습니다. 마지막에는 더블다이아몬드 코스에서 탔는데 경사는 심하지만 워낙 눈이 푹신해서 탈만했습니다.

체력은 딸렸지만 중간중간 쉬면서 저 멀리 하늘 같기도 바다 같기도한 호수를 바라보며 이곳이 왜 Heavenly인지 실감하면서 말이죠.

Thanks to 준우, 남훈, 영일 & Dan Oh

재인이 2차수술후 퇴원했습니다.

재인이 2차수술 잘 받고 퇴원했습니다.
수술부위 반대편에서 찍은 사진이라 뭐 아무런 이상이 없어보이죠? 수술하느라 머리를 빡빡 깎은것 말고는… ^^

지난 두세달 사이에 교정효과가 좀 있었는지 정면에서 보지 않으면 특별히 이상해보이지 않네요. 크면서 점점 더 좋아지겠죠.

1차수술이 끝나고 퇴원한 9월말부터 이유식을 먹이는데 재인이 전용 쌀 2Kg를 그사이 다 먹었네요. 이유식을 너무 잘 먹어서 예쁩니다. 체중도 꽤 나가서 8개월짜리녀석이 12개월 평균 몸무게인 10kg이 나가네요.

보행기타고다니는 걸 좋아하는데 어찌나 운전실력이 좋은지요. 후진도 잘하구요.
퇴근하고 집에오면 마구 달려나와서 반겨주는데 살살 녹습니다. ^^

ARM이야기(4): 최신 ARM 프로세서의 동향 및 구조

오늘 ARM Connected Community Technical Symposium 2010에 다녀왔습니다.
오랜만에 연구실 후배들을 만날 수 있어서 반가웠고 babyworm님도 만나서 잠시 담소를 나누었습니다. ^^

9월초에 발표했던 Cortex-A15의 소개가 주 내용일 것이란 예상을 깨고 Cortex-A15에 대한 내용은 거의 다뤄지지 않았네요. 개인적으로 궁금했었는데 좀 아쉽습니다.

올해는 작년보다 훨씬 더 많은 분들이 참석해서 의자도 부족하고 늦게 도착하신 분들은 자료집도 못받을 정도였습니다. 그만큼 ARM에 대한 관심이 커진 것이겠죠. 스마트폰, 태블릿의 역할이 컷을 것입니다.

2010년이 ARM이 설립된지 20년이라며 그동안의 발전사에 대한 언급이 많은 편이었습니다. 제가 ARM이야기 1~2편에 썼던 내용이라 반갑더군요. 사실 지난 20년간의 발전보다 지난 2년간의 주가가 더 놀랍습니다만… ㅎㅎ

작년 행사에서는 Cortex-A9의 소개와 함께 Android와 Chrome OS를 통해 ARM이 Mainstream으로 부상하려는 모습이었는데, 올해는 이미 Android를 통해 스마트폰 시장에 자리를 잡은 모습이었고 태블릿 시장의 성장을 기대하는 모습이었습니다.

ARM은 안드로이드를 바탕으로 이미 상당한 ecosystem을 구축했습니다. 안드로이드를 사용하면 ARM프로세서를 이용하는 것이 당연한 상황을 만들어가는 것입니다. 안드로이드가 잘되건 애플이 iOS가 잘되건 ARM이 돈을 버는 상황이니 주가가 오르는 것도 당연한 일입니다.

예상대로 작년 ARM에서 인텔보다 선점하겠다고 하던 Smartbook이라는 장치는 모습을 감추었고 태블릿이 그 자리를 대신하고 있습니다. 반면, 구클 크롬OS 얘기는 쏙 들어갔네요.

한가지 궁금한 건 애플의 iPhone, iPad등이 ARM프로세서를 사용하는데 행사전반에 걸쳐 애플에 대한 언급이 없는게 참 이상하네요. 혹시 이것은 삼성을 의식한 국내 발표용일까요? ^^; (유독 갤럭시S와 갤럭시탭의 사진이 자주 노출되긴 했습니다) 참, 전시부쓰에서 사람들의 관심을 가장 많이 끈 것은 갤럭시탭이더군요. 인기가 많아 전 결국 만져보지도 못하고, ‘갤럭시 탭 앞에서 만나자’며 사람들 만나는 용도로 사용했습니다만…

저는 SoC Design트랙을 들었는데 Cortex시리즈의 성능, Mali GPU, Virtualization 등의 주제였습니다.

관심있게 본 내용중 하나는 동작속도와 소비전력을 최적화에 대한 실례를 엿볼 수 있었던 내용입니다. 850MHz급의 기본 설계를 2GHz급으로 동작속도를 높이기 위한 기술, 4W의 소비전력을 5mW로 낮추는 (수치가 너무 드라마틱하군요 ^^;) 기술에 대해 단계별로 알 수 있었습니다.

ARM11 및 Cortex-A 파이프라인 아키텍쳐
오늘 발표에 다뤄지진 않았지만, Cortex-A15 얘기가 나온 김에 Cortex-A의 제품별 파이프라인 방식을 그림으로 비교해보도록하겠습니다.

Cortex-A5 Pipeline Architecture

 

Cortex-A8 Pipeline Architecture

Cortex-A9 Pipeline Architecture

Cortex-A15 Pipeline Architecture

Cortex-A9에서 비순차실행(Out-of-Order Execution)을 도입하면서 Cortex-A8보다 오히려 파이프라인이 약간 줄어들었었는데, Cortex-A15에서 다시 확 늘어버렸네요. 2GHz 이상 동작하는 것을 위해 아키텍쳐에 손을 많이 댄것 같은데, 과연 효과적인 아키텍쳐인지 아직은 잘 모르겠습니다.

최근 ARM아키텍쳐에 대한 상세한 비교는 아래 논문들에 잘 나와있으니 참고하세요.

최근 몇년간 ARM프로세서의 발전은 눈부시지만, ARMv7아키텍쳐가 도입된 이후로 과거의 심플한 방식이 점점 사라지는 것은 좀 아쉽습니다.

ARM이야기(3): 최초의 ARM프로세서의 구조와 특징

어떻게 ARM프로세서가 만들어졌는가
지난 글에서 ARM프로세서가 만들어지고 발전한 과정
을 간단히 살펴봤지만, 설계자의 입장에서 궁금한 것은 어떤 의도와 어떤 철학으로 ARM 아키텍쳐가 설계됐는가이다. 최근의 ARM프로세서들은 초기의 ARM보다 훨씬 복잡하지만, 기본적인 골격은 유지하고 있다. 그 이유는 초기의 명령어구조(ISA: Instruction Set Architecture)를 유지하고 있기 때문이다.

ARM프로세서는 Steve Furber와 Roger Wilson에 의해 만들어졌다고 알려져있다.

ARM을 개발한 Steve Furber(우)와 Roger Wilson(좌)

Steve Furber는 HW 설계자였고 ARM프로세서의 개발책임자였다. 사실 Steve Furber는 항공역학을 전공했고 마이크로프로세서 설계경험은 전무했다. 단지 대학시절 활동했던 컴퓨터 동아리에서 얻은 약간의 지식만 있었을 뿐이었다. (ARM과 관련된 스포트라이트를 Steve Furber가 독차지하는 것은 개인적으로 좀 불만이다 ^^;)

ARM의 특징을 결정짓는 명령어체계는 Roger Wilson이 만들었다. BBC Micro에 사용된 BBC BASIC을 만들었다. BBC BASIC은 독특하게도 inline assembly를 지원했었다. 상위수준의 언어인 BASIC과 기계어와 같은 수준인 어셈블리를 조합하려는 철학은 ARM명령어에 그대로 반영되었다. 즐겨사용하던 6502프로세서의 명령어의 특징을 살리고 상위수준의 언어의 기능인 조건부 실행하고 한개의 명령으로 복잡한 산술 논리 연산을 수행할 수 있는 명령어체계를 만든 것이다(ARM 명령어는 Data General Nova 미니컴퓨터의 영향을 받았을 것이란 추정도 있다). 그는 BASIC으로 명령어 시뮬레이터(Instruction Set Simulator)를 만들기도 했다.

그리고 실제 VLSI설계를 했던 것은 Robert Heaton이다. 상당히 중요한 역할을 했음에도 거의 알려져있지 않은 인물(심지어 위키피디아에 검색이 되지않는다)로 당시 VLSI design책임자로 datapath와 dataflow를 설계했고 ALU, register file, PLA등 대부분을 직접 설계했고, 3개의 보조칩(memory controller, interrupt controller, video controller)도 만들었다.

버클리 RISC의 영향
ARM을 개발하기 전까진 트랜지스터 2000개 정도의 게이트어레이(gate-array)칩을 만들어본 Acorn이 감히 마이크로프로세서를 만들 수 있게한 결정적인 역할은 최초의 RISC(Reduced Instruction Set Computer)인 Berkeley RISC가 했다.

Berkeley RISC 1 논문 (1981)

Berkeley RISC 1 칩사진 (1981)

1981년 UC버클리 David Patterson의 지도로 몇명의 대학원생들이 모여 1년만에 상용제품에 견줄만한 성능을 갖는 마이크로프로세서를 개발했다. M68000같은 기존 제품들에 비해 훨씬 간단한 구조를 갖고 있었기 때문에, Acorn컴퓨터에서도 만들 수 있겠다는 생각을 하게 되었다.

다음으로 6502프로세서를 개발한 Western Design Center(미국 아리조나 피닉스)를 방문해보고 생각보다 훨씬 열악한 개발환경을 보곤 자신감을 얻었다고 한다.

당시 IBM에서는 수개월동안 대형 컴퓨터를 이용해 명령어 세트를 시뮬레이션했던 반면, Roger Wilson은 그들의 8비트 컴퓨터인 BBC Micro에서 BBC Basic을 이용해 명령어 시뮬레이터와 Event-driven 시뮬레이터를 개발했다. Physical Design Tool은 VLSI Technology의 Custon Design Tool을 제공받아 사용했다.

ARM1 아키텍쳐

첫번째 ARM의 명령어에 대한 자세한 내용은 남아있지 않지만, 현재 남아있는 자료를 토대로 ARM1의 명령어세트를 재현해보면 다음과 같다.

우선 버클리 RISC의 특징 중 32비트의 고정길이 명령어와 각 명령어가 3개의 주소값을 갖는 것을 채용하였다. 모든 명령어에 Condition Code(cond)가 존재하는 것이 가장 독특한 특징인데 이를 이용하여 조건부 실행(Conditional Execution)을 한개의 명령어로 구현가능했다.

ARM1 명령어 (1985)

어셈블리 코드의 가독성을 높인것과 모든 산술논리 연산에 쉬프트 동작을 연동할 수 있는 것도 독창적이다. 조건부 실행과 쉬프트 동작을 명령어 하나에 표현할 수 있도록 한 결과 아래와 같은 코드를 한싸이클에 수행할 수 있게 되었다.

RISC라고 보기엔 무척 복잡한 명령일 수도 있지만, 한싸이클에 수행되고 직관적인 어셈블리 코딩이 가능하다.

버클리RISC의 레지스터 윈도우는 많은 레지스터를 필요로 하기 때문에 비용문제로 채용되지 않았다. 모드별로 2개의 전용 레지스터를 할당하는 형태인 ‘레지스터 뱅크’ 방식을 새로 고안하여 사용하였다. FIQ(Fast Interrupt Request)의 경우 3개의 레지스터를 더 할당하여 인터럽트 반응속도를 높이려고한 노력이 엿보인다.

ARM1레지스터 구성 (1985)

15번 레지스터는 PC(Program Counter)로 사용하는데, 26비트만 명령어주소로 사용하고 8비트는 상태레지스터로 사용하였다. 서브루틴 실행전 명령어 주소를 기억하는(Link Register)에 PC를 복사하면 자연히 상태레지스터도 저장되도록 하여 최소한의 동작으로 기능을 구현하려고한 것이다(ARM6 이후엔 32-bit 주소를 지원하기 위해 별도의 상태레지스터를 사용하도록 변경).

이러한 레지스터뱅크 구조는 이후에도 계속 유지되는데, ARM2에서는 FIQ모드에 레지스터 2개가 추가되고, ARM6부터는 기존 4개의 모드에서 6개로 확장되었다.

전체 아키텍쳐를 그려보면 다음과 같다. 지금도 많이 사용되고 있는 ARM7과 상당히 비슷하지만, 곱셈기(Multiplier)가 빠져있다(곱셈기는 ARM2 부터 지원되기 시작).

ARM1 아키텍쳐 (1985)

ARM1은 3단계 파이프라인 방식을 사용하는데, 3단계 파이프라인의 장점은 Data Forwarding을 고려하지 않아도 되기 떄문에 구현이 간단하다는 것이다 (이 구조는 ARM7까지 유지된다).

ARM1 파이프라인의 또다른 특징은 다중싸이클 명령어 수행을 한다는 것이다. 즉, 명령어 하나를 처리하는데 20개 가량의 클록 싸이클이 필요하다는 것인데, 이것은 전통적인 RISC프로세서가 파이프라인 구조를 사용해 명령어당 한싸이클에 수행하는 형태를 추구한 것과 반대되는 것이다.

ARM1의 파이프라인 구조 (1985)

이러한 다중 싸이클 방식은 장단점이 존재한다. 장점은 코드의 집적도가 높아진 다는 것이다. 즉, 여러가지 명령을 한개의 명령으로 수행할 수 있다. 예를 들어 16개의 레지스터를 메모리에 저장하는 것을 한개의 명령어로 나타낼 수 있다. 16개의 명령어를 사용하는 것과 수행시간은 동일하지만 명령어 메모리의 공간을 훨씬 적게 사용할 수가 있다는 장점이 있다.

반면 한번 시작한 명령어가 끝날 때까지 기다리는 시간이 길어지기 때문에 인터럽트 반응시간(interrupt latency)가 늘어난다는 단점도 있다. ARM프로세서는 데이터 처리 명령어는 대부분 한싸이클에 수행이 가능하며, 일부 명령어들만 여러싸이클이 필요하고, 레지스터뱅크 구조를 이용해 인터럽트 반응속도를 개선하였다.

이전 글에서도 언급하였지만, ARM을 개발하는데 중요한 모티브가 된 것중에 하나가 인터럽트 반응시간이다. 당시 새로운 프로세서를 찾던 Acorn컴퓨터가 16비트 프로세서들의 낮은 성능에 실망하고 워크스테이션에 사용되던 32비트 프로세서인 NS32016(National Semiconductor)을 검토하였으나 결국 사용하지 않은 이유도 인터럽트 반응속도였다.

National Semiconductor NS32016

NS32016은 6MHz에서 동작하는 CISC프로세서였다. NS32016의 명령어 중 메모리간에 나눗셈 연산은 360클록싸이클이 필요했고 그 시간 동안은 인터럽트에 반응하는 것이 불가능했다. Acorn에서 인터럽트 반응속도에 민감했던 이유는 이것이 가격에 큰 영향을 주었기 때문이었다. 예를 들어 인터럽트 반응속도를 32uS로 만들 수 있으면 2D Floppy Disk를 별도의 컨트롤 칩없이 제어할 수 있었다.

ARM 아키텍쳐의 특징
ARM 아키텍쳐는 명령어 집적도와 실행속도를 높이면서도 인터럽트 반응속도를 짧게 하는 CISC와 RISC의 장점을 모두 취하려고 노력했다.

조건부 실행과 산술논리연산의 조합으로 어셈블리언어를 직관적으로 사용할 수 있도록 하였다. 오랜기간동안 6502 어셈블리와 베이직을 사용한 경험과 통찰력이 명령어 구조에 반영된 것이다.

또한, 8비트 6502프로세서로도 80286 IBM PC보다 빠른 컴퓨터를 만들던 최적화된 하드웨어 설계기술도 반영되었다. 빠른 인터럽트 반응 속도는 리얼타임 환경에 적합하여 임베디드 시스템에 활용되었다.

적은 인력으로 짧은 시간에 개발하기위해 최대한 단순화한 구조는 적은 비용과 낮은 소비전력을 가져와 모바일환경에 최적화 된 프로세서로 발전하게 되었다.

ARM1 프로세서 (1985)

요리하는 재희

쵸콜렛쿠키위에 M&M’s 쵸콜렛을 세팅 중인 재희입니다.
며칠 주방에서 엄마를 돕더니, 이젠 엄마가 혼자 요리하면 같이 안했다고 잔소리합니다.
자칭 ‘요리박사’라네요.
며칠전엔 엄마가 요리하는데 다급하게 앞치마를 꺼내 둘르면서 오더니 “아이고 깜빡했네…” 하더랍니다. ^^;
Tn0WrrYAotXDNDvOoAEQrw==

블로그에 트윗버튼과 Like 버튼을 달았습니다.

시대의 흐름에 따라 Twitter 팔로우 링크도 추가하고, 페이스북 like버튼도 달았습니다.

테터툴즈나 티스토리에 like버튼을 추가하는 것은 위젯을 설치해야하는 줄 알았는데 간단히 HTML 몇줄만 추가하면 되는군요. 그나마 그 코드도 facebook에서 친절히 만들어줍니다. (참고글: 자신의 블로그에 페이스북 “좋아요(like)” 버튼을 달아 보자!!)

트윗버튼도 추가 했습니다. 마찬가지로 트위터 싸이트에서 친절히 코드를 생성해줍니다. (참고글: Tistory에 Tweet Button 달기)

글 읽으신 다음에 추천 부탁드립니다. ^^;

[팁] 테터툴즈에서 Verilog용 SyntaxHighlighter 사용하기

조만간 Verilog 강좌를 시작할 예정인데, 그에 앞서 블로그에 Verilog Syntax Highlighter를 설치하였습니다.

먼저 Syntax Highligher가 뭔지 보여드리면,

글을 쓸때 요렇게 입력하면,

요렇게 예쁘게 보여주는 것입니다.

SyntaxHighligher는 [이곳]에서 다운받으시면 됩니다. 저는 최신버젼인 3.0.83을 받았습니다.
여러가지 언어를 지원하지만 Verilog는 기본적으로 지원되는 언어가 아닙니다. 하지만, Tyreal이란 분이 친절히 [Verilog용 Brush]를 만들어놓았습니다. 모두 저장해둡니다.

FTP로 두 파일을 모두 블로그에 올려두고, Telnet/rlogin으로 블로그 계정이 접속하여 압축을 풉니다.
편의상 tt(테터툴즈 기본 디렉토리)/plugins/SyntaxHighlight 에 압축을 풉니다.

$ cd tt/plugins
$ unzip syntaxhighlighter_3.0.83.zip
$ mv syntaxhighlighter_3.0.83 SyntaxHighlight
$ cd SyntaxHighlight
$ ls
LGPL-LICENSE  MIT-LICENSE  compass  index.html  scripts  src  styles  tests

Verilog용 Brush파일 shBrushVerilog.js를 scripts 디렉토리에 저장합니다.

관리자로 접속하여 ‘스킨관리’메뉴에서 skin.html을 수정합니다.
</head> 바로 앞에다가 아래 내용을 추가합니다.

<!-- Include required JS files -->
<script type="text/javascript"
src="/tt/plugins/SyntaxHighlight/styles/shCore.js"></script>

<!--
  At least one brush, here we choose JS. You need to include a brush
for every
  language you want to highlight
-->
<script type="text/javascript"
src="/tt/plugins/SyntaxHighlight/scriptss/shBrushJScript.js"></script>

<!-- Include *at least* the core style and default theme -->
<link href="/tt/plugins/SyntaxHighlight/styles/shCore.css"
rel="stylesheet" type="text/css" />
<link href="/tt/plugins/SyntaxHighlight/styles/shThemeDefault.css"
rel="stylesheet" type="text/css" />

그리고 skin.html의 제일 아래부분 </body>바로 앞에 아래 내용을 추가합니다.

<!-- Finally, to actually run the highlighter, 
you need to include this JS on your page -->
<script type="text/javascript">
    SyntaxHighlighter.all()
</script>

그리고 글을 쓸때 Verilog 코드의 앞뒤에 <pre class=”brush:verilog”>와 </pre>를 입력하면 됩니다.