전기/전자 분야의 작은 이야기들

들어가는 말

 

전기/전자/전산 분야에 대한 작은 토막 상식에 해당하는 이야기들을 올립니다. 개발자의 경험담, 학교에서 어럽게 배웠지만, 현장에서는 아주 쉬운 것들 등등을 조금씩 적어 보고자 합니다. 나중에 분량이 많아지면, 분야별로 체계적으로 정리할 생각입니다.

 

목차

 

 

 

( 괄호안의 MW는 microwave , DS는 Digital System SP는 Signal Processing, AT는 Advanced Technology 의 줄임말입니다. )

Q.01 [MW] 특성임피던스를 알아 들을 수 있게 설명하자면...

Q.02 [MW] 모든 전원(Power Supply)은 초능력을 가졌는가?

Q.03 [일반] IC의 Vcc와 GND pin이 여러개 있을 경우에 이 pin들이 IC 내부에서 서로 연결된 것인가?

Q.04 [DS] 메모리(ROM/RAM)로 로직을 구현할 수 있다?

Q.05 [DS] FPGA 내부 구조

Q.06 [DS] IC 또는 FPGA에서 게이트 수 카운트란 무엇인가?

Q.07 [일반] 물극필반(사물이 극에 다다르면 반드시 되돌아 온다) : 시리얼 통신과 패러렐 통신

Q.08 [일반] 디커플링 커패시터(Decoupling Capacirtor)를 왜 사용하나요?

Q.09 [일반] 세그웨이(Segway)와 인버티드 팬듈럼(Inverted Pendulum)

Q.10 [MW] 안테나(Antenna) 이득(Gain)에 관하여

Q.11 [MW] 10GHz 오실레이터

Q.12 [MW] 네트웍 어넬라이저(Network Analyzer)가 마이크로웨이브 장비라고요?

Q.13 [일반] 사람이 평생동안 필요한 기억장치의 양은? 

Q.14 [일반] 무어의 법칙(Moore's law) (모르는 분만 보세요)

Q.15 [DS] Digital IC의 클럭 주파수 / 동작 전압과 소비 전력과의 관계

Q.16 [DS] 기가(Giga) 다음의 단위는 무엇?

Q.17 [DS] Setup / Hold time 은 왜 필요한 것일까요?

Q.18 [DS] Low power in Digital IC

Q.19 [MW] 마이크로스트립(microstrip) 필터

Q.20 [DS] Digital IC에서의 크리스탈에 의한 발진

Q.21 [MW] 위성방송 수신 안테나에 관하여

Q.22 [일반] 10dB가 10배이고 3dB가 2배이면 1dB 와 0.5dB는 얼마일까요?

Q.23 [SP] TV 속의 고스트(ghost) : 왜 생기는가?

Q.24 [SP] TV 속의 고스트(ghost) : 어떻게 제거하는가?

Q.25 [etc] IC data sheet에서 가끔씩 볼 수 있는 TBD가 무슨 뜻인가요?

Q.26 [DS] 8 비트 마이콤은 반도체 기술이 발전함에 따라, 16 비트 또는 32 비트 마이콤으로 대체될 것인가?

Q.27 [DS] 디지털과 아날로그에 대한 작은 생각들

Q.28 [SP] 아주 간단히 설명한(그래서 이해하기 힘든) MPEG 비디오 압축 원리

Q.29 [etc] USB 1.1, USB 2.0 그리고 USB OTG (On-The-Go)

Q.30 [etc] PC와 Workstation의 차이점이 무엇인가요?

Q.31 [etc] 그라운드 효과에 대하여

Q.32 [AT] 1분 안에 충전할 수 있는 리튬 이온(Lithium ion)전지

Q.33 [MW] Smith chart와 Network Analyzer

Q.34 [etc] Motion Estimation in MPEG

Q.35 [etc] 1Gbit / 512 Mbit 메모리는 각가 몇 바이트 일까요?

Q.36 [uP] 마이콤에서 Timer, Interrupt 그리고 Hardware view & Software view

Q.37 [uP] 마이콤과 마이콤 프로그래밍 : 악기 제작자와 악기 연주자에의 비유  

Q.38 [uP] 겔러그와 Z80 그리고 MAME32  

Q.39 [etc] MAME32 소스 컴파일에 관하여

Q.40 [etc] KISS의 법칙에 관하여

Q.41 [etc] (Device, Tool, Language)

Q.42 [etc] Spec Sheet(Data Sheet) = system view + H/W view + F/W view

Q.43 [일반] 물극필반(사물이 극에 다다르면 반드시 되돌아 온다) : 스케메틱과 랭귀지

Q.44 [일반] 신 무어의 법칙 = 개발자가 읽어야할 자료의 양은 1.5년에 두배가 된다?

Q.45 [일반] 사용자가 만드는 백과사전 wikipedia (new)

Q.46 [일반] 버추얼 머신 프로그램 (new)

Q.47 [일반] 1 TB HDD의 등장 (new)

Q.48 [일반] 32MB USB 저장장치와 32GB USB 저장장치 (new)

Q.49 [일반] A Million Lines of Code (new)

Q.50 [일반] PS/2 마우스와 키보드 포트 색상으로 구분하기 (new)

Q.51 [일반] SSD(Solid State Drive)와 CF(Compact Flash) (new)

Q.52 [일반] 전자 제품과 인플레이션 그리고 무어의 법칙 (new)

 

 

Q.01 특성임피던스를 알아 들을 수 있게 설명하자면...

  

전기/전자공학을 전공하신 분이면, 전자기학이나 초고주파(microwave) 시간에 특성임피던스에 대해 배우셨을 것입니다. 전기/전자공학을 전공하지 않은 분들이라도 "50옴 동축 케이블" 에 대해 들어보셨을 것입니다. 여기서 "50옴"이 케이블의 특성임피던스에 해당합니다. 요즘은 IC의 동작 주파수가 계속 높아짐에 따라, PCB를 설계할 때도, 특성임피던스, 예를 들어 50옴 라인(line 또는 trace)이니 하는 용어를 드물지 않게 듣습니다. 여기서는 동축케이블을 예를 들어서 특성임피던스를 설명해 보겠습니다. 우리 주변에서 어렵지 않게 볼 수 있는 50옴 동축케이블의 경우, 케이블과 50옴이라는 저항값을 연관시키기가 쉽지 않습니다. 테스터기(DVM)로 어떻게 측정해야 50옴을 얻을 수 있을지... 뚜렷한 방법이 생각나지 않습니다.

전자기학이나 초고주파(microwave)  강의를 들으신 분은 케이블 한쪽을 특성임피던스로 종단(termination)시키면, 반사파가 없다는 얘기를 기억하시겠지만, 그래도 50옴 케이블과 50옴의 저항값을 연결시키기는 쉽지 않을 듯합니다. 케이블의 도체의 저항값이 50옴인가 하고 생각하시는 분들이 있울지도 모르겠습니다. (케이블의 도체의 저항값이 50옴이 나온다면, 이것은 케이블이 아니고 반도체에 속할 것입니다.)

결론부터 말씀드리면, 무한대의 길이의 50옴 케이블의 안쪽 도체와 바깥쪽 도체에 테스터기로 저항을 측정하면, 50옴의 저항값을 얻을 수 있습니다. 이 저항값이 특성임피던스이며, 케이블 길이와는 상관없고, 오직 두 도체간의 간격이나 배치 또는 도체간의 유전체의 재질에만 관련됩니다. 길이가 무한 대가 아닌 케이블의 경우는 아주 짧은 시간 동안에만, 50옴의 저항값이 표시되고(이 시간이 너무 짧아 테스터기는 반응을 보이지도 않습니다.), 그 이후로는 케이블의 다른 끝단이 어떻게 되었느가에 따라서 측정되는 저항값이 달라지게 됩니다. 예를 들어 케이블의 한쪽 끝이 오픈(open) 상태이면, 테스터기에 open으로 나타나고, 쇼트(short)이면, 쇼트로 나타납니다. 만약 50옴 저항으로 종단(termination) 시켰다면, 50옴의 저항값이 테스터기에서 읽힐 것입니다.

  (처음 글 올린 날 : 4월/2004, 마지막 수정 : 02/23/2005, r/t/e/l/d )

Q.02 모든 전원(Power Supply)은 초능력을 가졌는가?

 

제목을 일부로 자극적으로 붙여 보았습니다. (하나도 재미있지 않다고요? ) 다음과 같은 상황을 생각해 봅시다. 1.5 볼트 건전지에 도선(wire)을 사용하여 1.5Kohm 의 저항을 연결하였습니다. 그러면 이 때 흐르는 전류는 1mA가 됩니다. 만약 150 ohm의 저항을 연결하면 10 mA가 흐릅니다. 조금도 이상할 것이 없어보이는 이 현상을 자세히 들여다 보면, 이상한 점이 나타납니다. 건전지는 어떻게 저항값을 알아내서, 옴의 법칙 ( I = V/R ) 을 만족하게끔만 전류를 흘려주는 것일까요? 건전지가 자기의 외부에 연결된 저항의 저항값을 눈으로 보고(?) 거기에 맞는 전류값을 흘려주는 것일까요? 건전지에 눈이 있어서 저항값을 눈으로 본 후에 거기에 맞게끔 전류를 흘린다고 생각하기는 어렵습니다. 만약 그러하다면, 종이 상자안에 저항을 넣는 경우 건전지는 어떻게 저항값을 알아 내어 거기에 알맞는 전류를 흘리는 것일까요? 우리가 모르는 저항과 건전지 간의 텔레파시에 의해 저항이 건전지에게, 내 저항값이 이러이러하니, 자네가 자네 전압을 내 저항값으로 나눈 것 만큼만 전류를 흘려주게, 그래야 사람들이 중고등학교시간에 배운 옴의 법칙이 계속적으로 맞는다고 하지 않겠는가? 계산 잘하고, 괜히 계산 틀려서 세상 시끄럽게 만들지 말게나 이런 메시지를 주고 받는 것일까요? 분명 상식적으로 생각해보면, 전압이 일정한 건전지가 저항값에 맞는 전류를 흘리기 위해서는, 건전지가 자신에게 연결된 저항값이 얼마인지를 알아보는(proving) 과정이 필요한 것처럼 느껴집니다. 그러나 옴의 법칙( I = V/R ) 자체에는 이러한 저항값이 얼마나 되는지 알아보는 과정은 들어 있지 않습니다. 과정은 생략하고 그 결과 값만을 나타내 주고 있지요.

다음과 같은 상황을 생각해 봅니다. 건전지와 저항이 아주 멀리 떨어져 있고 둘 사이를 전선으로 연결했다면 어떻게 될까요? 만약 태양에서 지구까지 만큼(약 1억5천km, 빛의 속도로 500초가 걸리는 거리)  떨어졌다고 하면 어떤 일이 일어날까요? 텔레파시는 빛보다 빠른 속도로 전파된다고 많은 사람이 생각하므로, 건전지와 저항은 순식간에 서로 정보를 주고받아, 건전지는 저항값에 해당하는 것만큼의 전류만 흘리게 된다. 이런일이 일어날까요?

마이크로웨이브 공학에는 다음과 같이 설명합니다. 처음 500초 간에는 전선에는 건전지의 전압을 건전지의 내부저항과 전선의 특성임피던스의 합으로 나눈 것만큼의 전류가 흘러 가고(보다 엄밀히 말하면, 전압파(voltage wave)와 전류파(current wave)가 전원에서 로드(load)쪽으로 흘러갑니다), 500초 가 되는 순간에는 전선에 가해진 전압과 전선에 흐르는 전류의 비율이 전선 끝에 있는 저항과 같게 되도록( 경계조건을 만족시킨다고 표현합니다.) 반사파가 생겨 이것이 다시 건전지쪽으로 돌아오기 시작하고, 다시 500초가 흘러 이 반사파가 전건지에 도달하게 되면, 건전지에서 나오는 입사파(voltage/current wave)와 반사파(voltage/current wave)가 서로 (보강 또는 상쇄)간섭을 일으켜, 겉보기에는 건전지가 저항값에 맞추어 전류를 흘리는 것처럼 보이게 됩니다. 즉 1000초가 흐른 후에야 건전지가 전선 끝단에 얼마의 저항이 붙어 있는지를 파악하여 옴의 법칙을 만족하도록 전류를 흘리는 것 처럼 보입니다. 사실은 건전지가 저항값이 얼마인지를 알아 보는 과정을 거친 다음, 저항값에 해당하는 전류를 흘린다기 보다는, 전원은 우선 전선의 특성임피던스에 해당하는 전류를 흘린 다음, 이 것이 전선의 끝에 도달하면 끝단에 붙어 있는 저항값이 옴의 법칙을 만족하도록 반사파가 생긴다고 설명하고 있습니다.

설명이 다소 어렵게 느껴집니다. 관심이 있으신 분은 마이크로웨이브 책의 전송선로 부분을 참조하세요.

(처음 글 올린 날 : 4월/2004, 마지막 수정 : 02/23/2004, r/t/e/l/d ) 

Q.03 IC의 Vcc와 GND pin이 여러개 있을 경우에 이 pin들이 IC 내부에서 서로 연결된 것인가?

  

 DIP 타입의 8051의 경우는 Vcc와 그라운드 핀이 각각 하나 밖에 없지만, pin 수가 많은 SMD 타입의 IC에는 Vcc와  GND 핀이 여러 개가 있습니다. 그럼, 이 Vcc 핀들이 IC내부에서 다 연결된 것인지, 그래서 여러개의 Vcc 핀 중 어느 한 곳에만 전원을 인가해도 칩이 동작하는 것인지, 아니면 모든 Vcc핀에 전원을 인가해야 하는 것인지 고민해 보신 분이 계셨을 것입니다. 결론부터 말씀드리면, IC의 모든 Vcc 핀에 전원을 인가해야 하며, 모든 GND(그라운드) 핀을 그라운드에 연결해야 합니다. 그 이유는 이렇습니다. 하나의 전원핀에서 인가되는 전원이 칩(die)을 가로질러 반대편까지 가면, 전압의 강하가 일어나는데, 이 전압의 강하가 우리가 생각하는 것보다 큽니다. 예를들어 한쪽 핀에 5볼트의 전원을 인가하면, 이 전원이 칩(die)을 가로 질러 반대편에 도달하면 4볼트가 안 되는 경우가 있습니다. 이 때문에 IC 내부("다이(die)" 라는 말을 씁니다.)를 여러 부분으로 나누어 각각에 전원을 공급하는 형태로 설계됩니다. 만약 IC에 Vcc 핀이 5개가 있는데 이 중에 3개만 전원을 공급하고, 2개는 그냥 두었을 경우 칩이 부분적으로만 동작할 가능성이 큽니다. 모든 Vcc 핀에 스펙시트에 나와 있는데로 전원을 인가해 주고, GND 핀도 바르게 그라운드에 연결하는 것이 안정되게 동작하는 보드를 만드는 지름길입니다.

  (처음 글 올린 날 : 4월/2004, 마지막 수정 : 02/23/2004, r/t/e/l/d )

Q.04 메모리(ROM/RAM)로 로직을 구현할 수 있다?

  

 RAM(또는 ROM)은 메모리 계열에 속하고, Logic(AND gate, OR gate) 은 메모리 계열에는 도저히 넣을 수 없는 디바이스 입니다. ( 엄밀히 말하자면 ROM은 combinational logic에 속합니다.) 하지만 RAM(ROM)을 이용하여 Logic 을 구현할 수 있으며, 이런 아이디어가 구현된 디바이스가 자이링스(Xilinx)사의 SRAM 기반의 FPGA입니다. 원리는 이렇습니다. 4개의 1 bit 메모리 셀을 가지고 있는 메모리(ROM, RAM)를 생각해 봅시다. 4개의 셀 중 어느 하나를 선택하기 위해서는 2개의 어드레스 라인이 필요하고, 메모리 셀의 데이터는 1개의 데이터 버스를 통해 외부로 나간다고 생각해 봅시다. 2개의 어드레스를 입력 신호, 데이터라인을 출력신호로 생각하면, 입력이 가해졌을 때, 어떤 값이 데이터 라인으로 출력될지는 메모리 셀의 내용에 따라 결정됩니다. 만약 2개의 어드레스 라인이 각각 00, 01, 10, 11 일 때, 출력되는 데이터가 0,1,1,1이라면, 이 메모리는 OR 게이트로 동작하게 됩니다. 이 것이 메모리에 의한 로직의 구현이며, 자이링스(Xilinx)사의 FPGA에서 사용되고 있습니다. 자이링스(Xilinx)사의 FPGA에서는 메모리를 RAM을 사용합니다. RAM 안에 내용을 lookup table이라고 말하며, 이 값을 변화시켜줌으로서, 메모리 셀이 AND 게이트로도, OR 게이트로도 동작하게 되는 것입니다.

 (처음 글 올린 날 : 4월/2004, 마지막 수정 : 12/09/2004, r/t/e/l/d )

Q.05 FPGA 내부 구조

  

 

 

 FPGA를 만드는 회사 마다, FPGA 내부 구조가 다릅니다. 여기서는 Xilinx사를 기준으로 설명해 보고자 합니다. Xilinx사 FPGA는 소위 "SRAM 기반 FPGA"라 불리며, lookup table 방식에 의해 로직을 구현합니다. Lookup table 방식에 의한 메모리로서 로직을 구현하는 방법은 에서 설명하였습니다. FPGA의 큰 구성요소 2가지는 이렇게 로직을 구현하는 부분(자이링스사에는 이것을 CLB(Configurable Logic Block)라 부릅니다.)과 구현된 로직을 연결하는 라우팅 채널(routing channel)입니다.

  (처음 글 올린 날 : 4월/2004, 마지막 수정 : 12/09/2004, r/t/e/l/d )

Q.06 IC 또는 FPGA에서 게이트 수 카운트란 무엇인가?

 

신문 기사에 10만 게이트급 칩이니, 400만 게이트급 칩을 개발했다는 이야기를 들어보신 적이 있는지요? 또는 10 M 게이트급 FPGA가 개발될 것이다라는 이야기를 들어보신 적이 있는지요? 여기서 게이트는 어떤 게이트를 말하는 것일까요? AND 게이트, OR 게이트, 인버터(NOT) 중 어떤 것을 말할까요? 게이트에도 입력이 2개인 것이 있고, 3 또는 4인 것도 있습니다.(통상의 경우 출력은 하나입니다.) 칩의 크기 또는 설계의 복잡도를 따지는 게이트 수는 2개의 입력을 갖는 NAND 게이트를 기준으로 합니다.(출력은 당연히 하나입니다.) 왜 AND 게이트가 아닌 NAND 게이트를 기준으로 하였나 하는 의문이 생길 수 있습니다. 그 이유는, (VLSI 강의를 들은 분은 잘 아시겠지만) CMOS로 게이트를 만들 때 NAND 게이트가 AND 게이트보다 더 자연스럽게 구현됩니다. CMOS FET로 가장 쉽게 만들 수 있는 것이 인버터(NOT 게이트)이고, 그 다음이 NAND / NOR 게이트 입니다. 4개의 CMOS FET로 2개의 입력을 갖는 NAND 게이트를 만들 수 있습니다. 반면, 칩의 복잡도를 따질 때 게이트수 말고 트랜지스터 수를 따지는 경우가 있습니다. 이 경우 4개의 트랜지스터가 게이트 1개를 구성하게 되겠지요.

(처음 글 올린 날 : 4월/2004, 마지막 수정 : 12/09/2004, r/t/e/l/d )

Q.07 물극필반(사물이 극에 다다르면 반드시 되돌아 온다) : 시리얼 통신과 패러렐 통신

 

사물이 극에 다다르면 반드시 되돌아 온다는 이야기가 있습니다. 기기와 기기간의 데이터를 보내고 받기 위한 인터페이스 역시 사물이 극에 다다르면 되돌아온다는 옛 가르침에 잘 맞는 것 같습니다. 처음에 사용한 인터페이스는 RS-232C처럼 시리얼 형태였습니다. (모르스 부호를 생각해 보세요.) 즉 2가닥의 선에 데이터를 한 비트씩 순서적으로 보내는 형태였습니다. 그러나 이것으로는 충분한 속도를 내지 못하자, 데이터선을 늘리는 형태로 시간당 보낼 수 있는 데이터 양(대역폭이라는 말을 씁니다.)을 늘려왔습니다. 프린터 포트 역시 이런 아이디어를 기반으로 나온 인터페이스입니다. PCI 역시 32/64비트의 데이터를 한꺼번에 보낼 수 있게끔 설계되어 있습니다. PCMCIA는 16비트 데이터를 보낼 수 있게끔 설계되었습니다. 요즈음에 등장하는 인터페이스는 데이터버스 수를 늘려, 대역폭을 늘리는 방법에서 과감히 벗어나, 다시 2가닥의 선에 의존하는 시리얼방식으로 되돌아 왔습니다. 대표적인 경우가 USB 와 1394(firewire)입니다. USB 2.0은 480bps 즉 초당 480bit를 전송할 수 있습니다. 요즘은 하드디스크 드라이버 인터페이스도 시리얼 방식(Serial ATA)이 나오고 있습니다. 시리얼 방식은 우선 선의 개수가 적다는 잇점이 있습니다. 케이블과 커넥터를 연결할 때 어느 한 핀이라도 접촉이 나빠서 동작이 되었다 안되었다하는 현상을 줄일수 있다는 잇점이 있습니다. 시리얼 인터페이스는 480Mbps가 한계인가 하면 그렇지 않습니다. 그 보다 휠씬 높은 주파수까지 동작하며( >10Gbps), 이러한 시러얼 인터페이스는 앞으로 많은 분야에서 쉽게 접할 수 있을 것으로 생각됩니다. 아마도 지금 현재 가장 흔하게 볼 수 있는 것이 USB를 이용한 PC 주변기기 이며, HDD 역시 시리얼 방식의 인터페이스가 점점 늘어 날 것입니다.

처음의 시리얼 방식에서 시작해, 패러렐 방식으로 갔다가, 이제(2006년) 다시 시리얼 방식이 늘어나는 추세라면, 앞으로 다시 패러렐 방식으로 갈까요? 충분히 그럴 수 있다고 생각합니다. 왜냐면 이 전의 패러렐 방식과 같이 신호선의 갯수를 늘림으로서 대역폭을 늘릴 수 있으니까요.

 (처음 글 올린 날 : 4월/2004, 마지막 수정 : 12/09/2004, r/t/e/l/d )

Q.08 디커플링 커패시터(Decoupling Capacirtor)를 왜 사용하나요?

 

아마도 학교에서 교과서 만으로 디지털 로직을 배운 분은 디커플링 커패시터을 왜 사용하는지 그 이유 또는 중요성을 모르실 것입니다. CMOS 로직(회로)은 스위칭(high 에서 low로 또는 그 반대) 시에만 전류를 흘립니다. (전력을 소비한다라고도 말할 수 있습니다.) 여러 개의 스위칭 소자(논리소자)가 동시에 스위칭을 하면 순간적으로 많은 전류가 흘러 전원 전압이 떨어지는 현상이 발생합니다.  이 것을 방지하기 위해 각 IC의 전원과 그라운드에 커패시터를 달아주는데  이것을 디커플링 커패시터라고 합니다. 원리는 커패시터 양단의 전압이 순간적으로 변할 수 없다는 원리를 이용한 것이라고 생각할 수 있습니다. 디커플링 커패시터는 약방의 감초 격으로, 경험있는 개발자는  이것을 사용하는 것을 잊어 버리지 않습니다.

  (처음 글 올린 날 : 11월/2004, 마지막 수정 : 12/09/2004, r/t/e/l/d )

Q.09 세그웨이(Segway)와 인버티드 팬듈럼(Inverted Pendulum)

 

 세그웨이(Segway)라는 교통수단이 있습니다. 두개의 바퀴를 가진 단거리 이동 수단입니다. 하나의 축에 두개의 바퀴를 연결하고, 축 위의 발판에 사람이 올라타는 구조입니다. 그리고 발판에서부터 사람 허리 정도까지 연결된 손잡이를 잡고, 몸을 앞뒤로 기울여 원하는 방향으로 나아가게 합니다.

Inverted pendulum은 “꺼꾸로 메달은 추”라는 뜻인데 시계추를 꺼꾸로 세워놓았다고  생각하면 됩니다. 꺼꾸로 세워둔 시계추가 그냥 그대로 있을까요? 불안정한 상태 때문에 바로 쓰러지고 말 것입니다.  비슷한 것으로는  어린 시절 30 센티미터 자를 손바닥 위에 세워 두고 손바닥을 움직여 자를 쓰러지지 않도록 하는 놀이가 있습니다. (어린시절 공부에만 전념해, 이런 놀이를 안 해보신 분도 있을 것입니다만.) 서커스단 출신이 아닌 사람에게 손바닥 위에 자를 세워 놓고 과연 얼마나 오랫동안 쓰러지지 않게 할 수 있을까요? 만약 기계(로보트)에 이 같은 일을 시키면 인간보다 더 잘 할까요? 결과는 기계가 인간보다 낫습니다. Eetimes에 세그웨이에 관한 기사를 본적이 있는데, 세그웨이의 원리가 인버티드 펜듈룸과 같다고 합니다. 즉 사람이 타서 언제 어느 방향으로 쓰러질 줄 모르는 세그웨이의 균형을 DSP 칩을 이용하여 제어를 한다고 합니다.

  (처음 글 올린 날 : 11월/2004, 마지막 수정 : 12/09/2004, r/t/e/l/d )

Q.10 안테나(Antenna) 이득(Gain)에 관하여

 

 이 글을 읽으신는 분들 중 안테나 게인(gain)에 대하여 알 필요가 있는 분이 과연 얼마나 될까 하고 생각했는데, 최근 무선 랜카드 제품 스펙을 보면서, 안테나 게인에 대해 알아 두는 것이 손해 될 것이 없겠다라는 생각을 하게되었습니다. 게인(gain)은 우리말로는 이득이라고 말하며, 흔히 증폭기(앰프; amplifier)의 입력과 출력의 비를 뜻하는 것으로 알고 있습니다. . 안테나에서의 게인은 이것과는 다르게 정의 되어 있습니다. 게인이 10dB 인 안테나의 경우 안테나로 들어오는 입력 전력이 1mW 이면 안테나에서 나가는 출력 전력이 10mW인가 하면 그렇지 않습니다. 상식적으로 생각해도, 금속으로 만들어진  수동 소자(passive device)인 안테나가 입력 신호를 증폭할리가 없습니다. 안테나의 게인은 사방팔방으로 균일하게 전파를 복사(radiate)하는 이상적인 안테나와 비교하고자하는 대상 안테나의 최대 복사 방향의 복사 전력의 강도를 비교한 수치입니다.(당연히 두 안테나의 입력신호의 세기가 같아야지만 비교하는 의미가 있습니다.) 게인 10dB의 안테나는 바로 앞서 언급한 이상적인 안테나와 비교했을 때 가장 전파를 세게 복사하는 방향이 10dB(전력으로 따지면 10배) 만큼 강하다 라는 뜻입니다. 물론 전파를 약하게 복사하는 곳은 앞서 언급한 이상적인 안테나보다 전파의 세기가 작을 것입니다. 안테나 게인이 높을수록 특정 방향으로 전파를 집중하여 보낼 수 있습니다.

전파를 특정 방향으로만 보내고자 할 때는 게인이 높은 안테나를 사용하는 것이 좋습니다.

  (처음 글 올린 날 : 11월/2004, 마지막 수정 : 12/09/2004, r/t/e/l/d )

Q.11 10GHz 오실레이터

 

 최근의 PC의 마이크로프로세서의 클럭 스피드가 3GHz를 넘어 가고 있습니다. DEC의 알파(Alpha) 칩의 동작 주파수가 세계 최초로 300MHz를 넘을 때를 기억하면, 클럭 스피드가 참 스피디(speedy)하게 변하는구나 하는 생각이 듭니다. 분명 3GHz는 마이크로웨이브 영역인데, 앞으로는 일반 하드웨어 엔지니어들도 기본적으로 마이크로웨이브 과목을 공부해야 하는 때가 오지 않을까하는 생각도 듭니다

여기서는 LNB(Low Noise Blockdown Converter)의 10GHz 오실레이터에 대해 이야기 해보자 합니다. 10GHz면 아직까지 마이크로 프로세서가 밟아 보지 못한 클럭 주파수이고, 한편으로는 최근(2004년 하반기) 인텔이 4GHz 프로세서 개발을 접었다는 소식을 들으며, 과연 앞으로 10GHz 프로세서가 나올까하는 생각을 하면서 우선 LNB가 무엇인지를 설명할까 합니다. LNB는 위성 방송 수신용 접시 안테나의 초점에 있는 작은 마이크로웨이브 장치입니다. 역할은 위성에서 오는 신호를 증폭한 다음 다운컨버젼(down conversion)하고, 다시 증폭하여 이 신호를 셋탑 박스로 보내주는 역할을 합니다. 위성마다 사용하는 주파수가 차이가 있겠지만, 필자가 개발에 참가했던 LNB는 10.95GHz ~ 11.7 GHz 신호를 950MHz ~ 1700MHz로 바꾸어 주는 역할을 합니다. 이 경우 10GHz의 로컬 오실레이터가 필요함은 쉽게 계산하실 수 있을 것입니다.

10GHz 오실레이터를 만들기 위해서는 마이크로 웨이브 대역의 FET와 DR(Dielectric Resonator)을 사용합니다. 금속 케이스로 회로 전체를 실딩(shielding)하며, 정확한 수파수를 맞추기 위해서는 금속 케이스에 만들어 둔 금속 스큐루(나사못)의 높낮이를 조절하여 10GHz를 맞춥니다. 회로 자체는 부품이 몇가지 사용되지 않아 복잡하지는 않으나, 여러 가지 고려할 점들이 많아 그리 쉽지 만은 않은 작업입니다.

  (처음 글 올린 날 : 11월/2004, 마지막 수정 : 12/09/2004, r/t/e/l/d )

Q.12 네트웍 어넬라이저(Network Analyzer)가 마이크로웨이브 장비라고요?

 

 그렇습니다. 네트웍 어넬라이저를 네트웍상의 패킷의 내용과 움직임을 모니터 화면에 표시해 주는 장비라고 생각하시는 분들이 있을 것으로 생각되나, 이것을 컴퓨터 네트웍과는 전혀 관계없는 마이크로 웨이브 장비입니다.. 흔히 S 파라메터 측정장비라고 알려져 있습니다.

 (처음 글 올린 날 : 11월/2004, 마지막 수정 : 12/09/2004, r/t/e/l/d )

Q.13 사람이 평생동안 필요한 기억장치의 양은?

 

하드디스크 드라이버(HDD)의 용량은 꾸준히 늘어 지금(2004년 12월)은 400GB 크기까지 시장에 나왔습니다. 과연 사람이 평생동안 필요한 기억장치의 용량은 얼마나 될까요? 책, 음악파일, 사진, 동영상의 경우에 대해 각각 필요한 용량을 계산해 보도록 하겠습니다.

1. 책

        CD 1 장에 20 권의 책이 들어간다고 가정합니다. (650MB/20권 = 33MB/권) 하루 책 1권씩, 1주일에 5일씩, 70년간 볼 수 있는 책은

        5일/주 * 52주/년 * 70년 = 18200권 이고, 이것의 크기는

        18200권 * 33MB/권 = 512GB 가 됩니다.

 

2. 음악 파일

        MP3로 압축된 음악 한곡의 크기를 5MB라 가정하고, 1년에 100곡의 저장하여 보관하고 싶은 음악이 발표된다고 하면,

       70년간의 저장 해 둘 곡은

        100곡/년 * 70년 = 7000곡 이고, 이것의 크기는

        7000곡 * 5MB/곡 = 35GB 가 됩니다.

 

3. 사진

        500만 화소의 디지털 카메라로 찍은 사진(jpeg 포멧)의 크기를 1MB로 가정합니다. 1주일에 100장의 사진을 70년간 찍는 경우,

        100장/주 * 52주/년  * 70년 = 364,000장 이고, 이것의 크기는

        364,000장 * 1MB/장 = 364GB 가 됩니다.

 

4. 동영상

        HDTV 동영상을 1시간 녹화하는데 10GB가 필요하다고 가정합니다. 1주일에 2시간반 짜리 영화를 한편, 70년간 저장하는 경우

        2.5시간/편 * 1편/주 * 52주/년 * 70년 = 9100시간

        9100시간 * 10GB/시간 = 91 TB

 

종합하면, 동영상을 녹화하는데 가장 많은 기억장치의 용량이 필요합니다.  91 TB(테라바이트)의 저장 장치는 아직까지는 개인용 PC에 구현되기에는 무리가 있으며, 나머지 3가지(책, 음악 파일, 사진)은 이미 손에 잡힐 듯 가까이 와 있읍니다. 조만간 하나의 HDD에 평생동안 필요한 책, 사진등을 보관할 수 있을 것입니다. 음악 파일의 경우 이미 많은 분들의 PC에 평생 동안 들을 수 있는 음악 파일을 저장해 둘 만한 빈 공간이 있을 것으로 생각됩니다.

  (처음 글 올린 날 : 11월/2004, 마지막 수정 : 12/09/2004, r/t/e/l/d )

Q.14 무어의 법칙(Moore's law) (모르는 분만 보세요)

 

 인텔의 창업자인 무어가 1960년대 Fairchild라는 회사에 있을 당시, 하나의 반도체 칩에 넣을 수 있는  트란지스터 수가 시간이 지남에 따라 지수함수적으로 늘어난다고 예측하였는데, 이것을 무어의 법칙이라고 부릅니다. 현재는 1.5년에 하나의 반도체 칩에 넣을 수 있는 트란지스터 수가 2배가 된다고 알려져 있읍니다. 이렇게 집적가능한 트란지스터 수가 늘어나는 것은 반도체 공정 기술의 발전으로 트란지스터 한 개의 크기가 작아진 것과, 다이(die)사이즈가 늘어난 것에 기인합니다.

 (처음 글 올린 날 : 11월/2004, 마지막 수정 : 12/09/2004, r/t/e/l/d )

Q.15 Digital IC의 클럭주파수/ 동작 전압과 소비전력과의 관계

 

 잘 아시는 분이 많으리라 생각됩니다만, Digital IC의 소비전력과 동작 주파수는 정확하게 비례합니다. 반면에 소비전력은 동작전압의 제곱에 반비례합니다.

예를 들어 보겠읍니다. 5볼트에서 동작하는 마이콤을 3.3볼트에서 동작시키면 소비전력이 약 반으로 줄어 듭니다. 10MHz에서 동작시키는 마이콤을 20MHz에서 동작시키면, 소비전력이 2배로 늘어납니다.

 (처음 글 올린 날 : 11월/2004, 마지막 수정 : 12/09/2004, r/t/e/l/d )

Q.16 기가(Giga) 다음의 단위는 무엇?

 

 PC의 하드디스크(HDD)의 크기가 GB 단위이다 보니 이제는 기가(Giga)라는 단위에 아주 익숙해졌습니다.  잘 아시겠지만 기가는 10의 9승을 의미합니다. 그려만 그 다음 단위는 무엇일까요? 10의 12승을 뜻하는 테라(Tera)가 있고, 10의 15승을 페타(Peta)가 있습니다.  또한 10의 18승을 엑사(Exa)라고 합니다.

기가라는 단위를 어디서 접할 수 있을까요.  쉽게 접할 수 있는 것 중 하나는 HDD 용량으로서, 거의 모든 PC에 기가바이트 단위의 HDD를 가지고 있습니다. 다른 하나는 CPU 클럭 스피드로 GHz단위의 CPU는 이제는 일반적인 것이 되었읍니다.

테라라는 단위를  CPU 클럭 스피드에서 들어보기는 아마 힘들 것 같습니다.  반면 2004년 10월 현재 시장에서 구할 수 있는 가장 큰 HDD 가 400GB 입니다. 오래지 않아  테라바이트 급의 저장장치를 가진 PC를 보게 될 것 같습니다.

페타라는 단위는 슈퍼컴퓨터에 관한 기사에서 볼수 있읍니다. 현재(2004년 12월) 가장 빠른 슈퍼컴퓨터는 약 60페타프롭스(peta flops : 초당 10의 15승의 부동소수점 연산(floating point operations) )이 가능하다고 합니다.

엑사라는 단위는 실생활에서 접하기는 어려운 듯 보입니다. 그러나  64비트 마이크로프로세서에서, 64비트의 레지스터에 담을 수 있는 최대의 정수가 2^64, 즉 16 엑사가 됩니다.  만약 64비트 마이크로 프로세서가 64비트의 어드레스 스페이스를 갖는다면, 엑세스 가능한 메모리 영역이 16엑사 바이트가 됩니다.

 (처음 글 올린 날 : 11월/2004, 마지막 수정 : 12/09/2004, r/t/e/l/d )

Q.17 Setup / Hold time 은 왜 필요한 것일까요?

  

 셋업 / 홀드 타임은 플립플럽(이하 FF로 표기)이 제대로 동작하기 위한 클럭의 상승 에지(rising edge)와 입력신호 간의 시간적 관계를 규정한 것으로 다음과 같이 설명할 수 있읍니다.

FF이 제대로 동작하기 위해서는 클럭의 상승 에지 전후로 일정 시간 동안 입력신호의 값이 변화해서는 안되는데,  이 전후 각각의 시간을 셋업 / 홀드 타임이라고 합니다. 여기서 FF이 제대로 동작한다는 것은 입력신호를 클럭의 상승 에지(rising edge)에서 잡아서 출력단자로 내보내 준다는 의미입니다. 그리고 여기서는 FF이 클럭의 상승에지에서 동작한다고 가정하였읍니다.

그러면 왜 클럭의 상승 에지 전후로 입력신호가 안정되게 유지되어야 할까요? 이것을 플립플럽을 구성하는 회로와 관계가 있습니다. 그냥 단순하게 설명하자면, 입력신호가 FF를 구성하는 회로를 통과하는데  시간이 걸리기 때문에 그렇다라고 이야기 할수 있읍니다.

 (처음 글 올린 날 : 11월/2004, 마지막 수정 : 12/09/2004, r/t/e/l/d ) 

Q.18 Low power in Digital IC

  

 Digital IC의 소비전력을 줄이는 문제는 90년대 VLSI 분야의 가장 활발한 리서치 영역 중 하나였습니다. 하나의 다이(die; 칩)에 집적할 수 있는 트란지스터 갯수가 늘어나고, 클럭 속도가 빨라짐에 따라 소비전력 문제(발열 문제)가 전면으로 부상하기 시작하였읍니다. 또 다른 원인으로는 P3 플레이어나 핸드폰, PDA, 노트북 같은 휴대용(portable) 기기가 사용이 늘어났다는 것과, IC의 전력 소모는 늘어나는데 비해, 배터리의 용량은 크게 늘어나지 않았다는 사실을 들 수 있습니다.

IC 소비전력을 줄이기 위한 많은 가이드 라인이 발표되었는데, 대표적인 것이 불필요하게 동작 주파수를 높이지 말라, 동작 전압을 낮추어라, 외부 메모리 억세스를 줄여라 등등입니다.

소비전력이 적은 IC는 그 자체로서 경쟁력을 갖는 경우가 있는데, MP3 플레이어의 디코딩칩이 그 예입니다. 1.5볼트 건전지 하나로 얼마나 오랜시간을 음악을 재생할 수 있는지는 그 자체로서의 경쟁력입니다.

포터블 제품을 만드시는 분이면, 소비전력의 절감(power saving)문제는 반드시 고려해야 할 것으로 생각됩니다.

 (처음 글 올린 날 : 11월/2004, 마지막 수정 : 12/09/2004, r/t/e/l/d )

Q.19 마이크로스트립(microstrip) 필터

  

 필터를 구성하기 위해서는 R,L,C 개별 소자를 사용하거나, 액티브 소자와 수동소자를 같이 사용합니다. 또는 부품 형태로 제공되는 것을 구입하여 사용할 수도 있습니다. 마이크로웨이브 대역의 필터(BPF, LPF등)는 개별 소자를 사용하지 않고도 쉽게 만드는 방법이 있읍니다. PCB상에 에칭을 통해 필타를 만드는데 이것을 마이크로스트립 필터라고  합니다. 위성방송 수신 안테나의 촛점부에 있는 LNB(Low Noise Blockdown converter)에서도 밴드패스필터(BPF)가 필요한데, PCB 상에 에칭 형태로 구현되었읍니다. 즉 별도의 개별 소자가 필요없는 셈이지요.

(처음 글 올린 날 : 11월/2004, 마지막 수정 : 12/09/2004, r/t/e/l/d ) 

Q.20 Digital IC에서의 크리스탈에 의한 발진

  

 대부분의 Digital IC 들은 IC 외부에 크리스탈(Crystal)을 부착하는 방법으로 IC 동작에 필요한 클럭을 얻어내고 있습니다. IC에 크리스탈을 붙이는 방법도 거의 비슷합니다. 크리스탈의 양 단자를 IC의 Xin, Xout 핀에 연결하고  각각의 핀들을 작은 용량의 커패시터(30p 전후, IC에 따라 차이가 있음)를 통해 그라운드에 연결하는 형태입니다.  IC 내부가 어떻게 되어 있어서 외부에 크리스탈을 붙이는 것 만으로 클럭을 얻어낼 수 있는지 궁금하신 분은 이곳을 눌러 Atmel사의 크리스탈에 의한 발진에 관한 Application Note를 참조하시기 바랍니다.

 (처음 글 올린 날 : 11월/2004, 마지막 수정 : unknown, r/t/e/l/d) 

Q.21 위성방송 수신 안테나에 관하여

  

 아파트 베란다에 설치된 위성방송 수신 안테나를 보면 접시(또는 우산을 펼쳐둔)형태로 되어 있습니다.  안테나 형태는 포물면(parabolic)의 형태이며, 이런 형태의 안테나를 파라볼라(parabolar) 안테나라고도 합니다. 아파트 베란다 또는 단독 주택 지붕의 안테나들을 좀 더 자세히 관찰하면, 2종류의 안테나가 있는데, 하나는 우산을 거꾸로 펼쳐 둔 처럼 생긴 것과, 다른 하나는 이 보다는 크기가 작으며 표면에 TV 광고(누구 누구도 달았다라고 하는)에 나오는 이름이 적혀져 있읍니다.

 파라볼라 안테나는 입사된 전파가 안테나 표면에 부딪힌 후 촛점에 모이도록 하기 위해 안테나 표면이 포물면으로 설계되어 있읍니다. 촛점 부분에는 이렇게 한 곳에 모여진 전파를 증폭하고, 주파수를 다운 컨버젼하는 LNB라는 마이크로웨이브 장치가 있읍니다. 위에서 언급한 작은 직경의 안테나는  "옵셋 파라볼라 안테나"라고 하며  촛점에 있는 LNB와 이 것을 지지하기 위한 지지대에 의해 입사 전파가 가려지는 것을 막기 위해 포물면의 축을 피해 포물면의 일부를 취한 형태입니다.  옵셋이란 말이 여기서 유래합니다.

우리나라 아파트에서 흔히 볼수는 없지만 평면안테나라는 것이 있읍니다. 완전한 평면 구조이며, 마이크로 스트립안테나 구조입니다. 마이크로 스트립 안테나는 PCB 상에 패턴으로 안테나를 구현하나,  상용화된 제품은 PCB 대신 값싼 다른 재질을 이용합니다.

 (처음 글 올린 날 : 11월/2004, 마지막 수정 : 12/09/2004, r/t/e/l/d ) 

 Q.22 10dB가 10배이고 3dB가 2배이면 1dB 와 0.5dB는 얼마일까요?

  

 log로 표시된 값 중 우리에게 친숙한 값은 10의 배수의 dB( 10dB, 20dB, 30dB, ...)와 3dB 입니다. 전력을 dB로 표시할 경우 10dB는 10배, 3dB는 2배가 됩니다. 그러면, 1dB와 0.5dB는 얼마 정도가 될까요? 계산기가 있으면 쉽게 계산할 수 있으며,  결과는 다음과 같습니다.

 

dB 표시

10진수 표현

비고

10 dB

10.

기준치의 10배

3 dB

1.995

기준값의 2 배

1 dB

1.259

기준값보다 약 25% 증가

0.5dB

1.122

기준값보다 약 12% 증가

0 dB

1.0

기준값과 동일

-0.5 dB

0.891

기준값보다  약 11% 감소

-1 dB

0.794

기준값보다 약 20% 감소

-3dB

0.501

기준값의 반

-10dB

0.1

기준값의 1/10

 예를 들어 증폭기의 이득이 1dB가 증가했다는 것은 약 25%가 증가한 것입니다.

 (처음 글 올린 날 : 11월/2004, 마지막 수정 : 02/23/2005, r/t/e/l/d )

 Q.23 64비트 마이크로프로세서에서 2의 64승은 얼마나 큰 수 일까요?

  

 2의 64승은 근사적으로 16 * 10^18 (10의 18승) 으로, 상당히 큰 수 입니다. 그럼 얼마나 클까요?  이해하기 쉽게 돈으로 생각해 보면, 6,400 경에 해당합니다. ('경'은 '조' 다음 단위로 10의 16승입니다)

큰 돈은 안 다루어 봐서 감이 안온다는 분을 위해 시간으로 따져보겠습니다. 2의 64승을 세는데는 얼마만큼의 시간이 걸릴까요? 현재(2004년 12월) 가장 빠른 축에 속하는 3.2GHz CPU가 클럭 하나에 숫자를 하나씩 센다고 하면, 0 부터 시작하여 2의 64승까지 세는데는

           2 * 10^10초, 환산하면 약 634년이 걸립니다.  

2의 64승이 큰 숫자임에는 분명합니다.

(처음 글 올린 날 : 11월/2004, 마지막 수정 : 12/09/2004, r/t/e/l/d )

Q.23 [SP] TV 속의 고스트(ghost) : 왜 생기는가?

  

공포영화를 소개하려는 것은 아닙니다. 뉴스 시간에 TV를 자세히 보면 아나운서 옆에(주로 오른쪽으로, 경우에 따라서는 왼쪽에도) 원래의 상 보다는 희미한 아나운서가 보이는데 이 것을 고스트(ghost)라고 합니다. 경우에 따라서는 여러 개의 고스트가 보이는 경우도 있습니다. 고스트가 생기는 이유는 (방송국) 송신탑에서 TV 수신 안테나로 직선 경로로 곧장 전달되는 전파와 송신탑에서 다른 방향으로 나간 전파 중 건물이나 산 등에 부딪힌 뒤 TV 수신 안테나로 들어오는 신호들이 모두 TV 에서 영상으로 표현되기 때문입니다. 좀 더 자세히 설명하자면, 송신탑에서 TV 수신 안테나로 직선 경로로(direct) 들어오는 전파가 TV 화면에  원 이미지(original image)를 만든다면,  송신탑에서 다른 방향으로 보냈던 전파 중 큰 건물이나 산 등에 부딪힌 뒤 TV 수신 안테나로 들어오는 전파는 원래의 이미지 보다는 세기가 약하면서 원래의 이미지 보다는 좀 더 지연된 이미지(ghost image)를 TV 화면에 만듭니다. TV의 수평 스캔 방향이 왼쪽에서 오른쪽이므로, 시간적으로 더 지연된 고스트 이미지는 원래 이미지의 오른쪽에서 보입니다. 심하게 지연된 경우는 다음 수평 라인에서 보이는 데, 이 것은 원 이미지의 왼쪽에 있는 것 처럼 보이게 됩니다.

이러한 고스트는 TV 시청시 상당히 성가신 것으로 조사되었으며, 큰 건물이 많은 도심에서 많이 발생하는 것으로 알려져 있읍니다.

 (처음 글 올린 날 : 03/24/2005, 마지막 수정 : 03/24/2005, r/t/e/l/d ) 

Q.24 [SP] TV 속의 고스트(ghost) : 어떻게 제거하는가?

  

아날로그 TV의 고스트 현상을 제거하고자 하는 노력이 1990년대 초반에서 중반까지 있었읍니다. 일본, 미국, 우리나라가 각각 고스트 제거 기준 신호(GCR(Ghost Cancellation Reference) 신호)를 만들었읍니다. 고스트를 제거하는 원리는 다음과 같습니다. 우선 방송국에서 TV 신호를 보낼 때 TV 화면에는 나타나지 않는 수평 라인에 기준 신호(GCR 신호)를 실어서 보냅니다. TV 수신기 쪽에서는 이 신호(GCR 신호)가 어떻게, 얼마나 왜곡되었는지를 봅니다. TV 수신기 측에서는 방송국에서 실어 보낸 기준 신호(GCR 신호)가 어떤 파형인지를 정확히 알고 있으며, 또한 실제로 이 신호가 어떻게, 얼마나 왜곡 되어서 TV 수신기에 도달했는지를 알 수 있으므로, 채널(여기서의 채널은 채널 몇번은 무슨 방송이다라고 할 때의 채널이 아니고, 송신측에서 수신측까지의 신호(전파)가 이동하는 경로를 말합니다.)의 왜곡특성을 알 수 있읍니다.

이제 수신기가 해야 하는 일을 채널(송신측에서 수신측까지의 경로)의 (왜곡)특성의 역(inverse)의 특성을 갖는 시스템(필터)를 계산하고 구현한 다음, 수신된 TV 신호를 이 필터를 통과 시키는 것입니다. 채널에 의해 왜곡된 GCR 신호를 이 필터를 통과 시키면, 왜곡된 GCR 신호는 처음에 방송국에서 보냈던 형태로 바뀔 것입니다.

이 것은, TV 신호에 포함된 고스트가 깨끗이 제거된다는 얘기와 같습니다.

 (처음 글 올린 날 : 03/24/2005, 마지막 수정 : 03/24/2005, r/t/e/l/d ) 

Q.25 [etc] IC data sheet에서 가끔씩 볼 수 있는 TBD가 무슨 뜻인가요?

  

혹시 데이터 시트에서 TBD란 단어를 보신 적이 있으신지요? preliminary data sheet 에 자주(또는 가끔씩) 볼 수 있는 단어입니다. 아마도 대부분의 분들이 이 단어가 어떤 의미로 쓰였는지는 잘 아실 것으로 생각됩니다만, 무엇의 약자인지도 알고 계신지요? 글쓴이는 TBD가 무엇의 줄임말인지를 알아내는데 많은 시간이 걸렸읍니다. TBD는 "To Be Determined"의 약자로, "결정을 해야 할" , "아직 결정되지 아니한" 등의 뜻입니다.

 (처음 글 올린 날 : 03/27/2005, 마지막 수정 : 03/27/2005, r/t/e/l/d) 

Q.26 [DS] 8 비트 마이콤은 반도체 기술이 발전함에 따라, 16 비트 또는 32 비트 마이콤으로 대체될 것인가?

  

반도체 기술은 꾸준히 발전해 왔고, 지금도 꾸준히 발전하고 있습니다. 반도체 회로의 선 폭을 줄여나가다 보면, 언젠가는 양자효과 때문에 더 이상 선 폭을 줄일 수 없는 날이 올 것이라는 예상이 오래 전 부터 있어 왔지만, 아직(2005년 3월)은 그런 때는 아닌 것 같습니다

반도체 기술이 계속 발전함에 따라, 8 비트 마이콤은 16 비트나, 32 비트 마이콤에게 자리를 내주고, 쓸쓸이 박물관의 한 유리 전시장에 쉴 곳을 마련할까요? 미래의 일에 대하여 이야기하는 것은 언제나 틀릴 가능성을 내포하고 있습니다만, 글쓴이의 생각은 그렇지 않다고 봅니다. 글쓴이는 아무리 반도체 기술이 발달을 하더라도 8 비트 마이콤은 계속 지구상에서 사라지지 않고 존재할 것이라고 생각합니다. 그 이유로는

    1. 8 비트 마이콤을 사용하여도 충분한 응용 분야가 많이 있다. 굳이 16/32 비트 마이콤을 사용하지 않아도 8 비트 마이콤으로 충분한 응용분야가 많이 있습니다. 예를 들면 마이크로웨이브 오븐이나 세탁기 등입니다. 단순한 기능만을 필요로 하는 분야에서는 굳이  16/32 비트 마이콤을 사용할 필요가 없습니다
    2. 8 비트 마이콤은 16/32 비트 마이콤 보다 가격이 싸다. 가격을 결정하는 변수가  많아서, 8 비트 마이콤이 16/32비트 마이콤보다 반드시 싸다라고 말하기는 어렵겠지만, 일반적으로 8 비트 마이콤이 16/32 비트 마이콤보다 싸다고 말할 수 있읍니다. 가격에 민감한 응용 분야에서는 조금이라고 값이 싼 8 비트 마이콤에 대한 수요가 사라지지 않을 것입니다.
    3. 일반적으로 8 비트 마이콤은 16/32 비트 마이콤 보다 크기가 작다. 마이콤의 크기는 I/O 핀의 수와 패키지 타입에 의해 결정됩니다. 따라서 8 비트 마이콤이 16/32 비트 마이콤 보다 크기가 항상 작다라고는 말 할 수 없습니다만, 16/32비트 마이콤은 8 비트 마이콤 보다 더 빠른 속도로 동작되며 더 많은 작업을 할 수 있으므로, 더 많은 I/O 핀을 갖는 것이 (따라서 사이즈가 커지는 것이) 일반적인 경향입니다. (물론 20핀이나, 8핀 만을 갖는 16/32비트 마이콤이 존재할 수 있읍니다.) 또한 마이콤 외부에 메모리를 붙여야 한다면 외부 메모리 인터페이스를 위해 필요한 핀 수가 8비트 마이콤이 16/32비트 마이콤 보다 적습니다. 32비트 마이콤의 경우는 어드레스와 데이터 라인의 숫자만 하더라도 8비트 마이콤의 핀 수(대체로 40개)를 능가합니다. 다시 말해 칩의 크기가 커질 수 밖에 없습니다.

결론은 8 비트 마이콤으로 충분한 응용 분야가 존재하며, 장래에 아무리 기술이 발달된다고 하여도 이러한 응용 분야가 사라지거나 복잡해지지는 않을 것이며, 8 비트 마이콤이 16/32 비트 마이콤에 비해 가격과 크기 면에서의 메리트가 계속 존재하는 한 8 비트 마이콤은 16/32 비트 마이콤에 의해 대치되지 않을 것입니다.

또한 반도체 기술이 발전함에 따라 더욱 빠른(높은 클럭 스피드로 동작하는) 칩을 만들 수 있게 되었읍니다. 이 것은 8 비트 마이콤이 8 비트라는 구조는 그대로 유지하면서, 더 빠른 속도을 요하는 응용 분야에도 사용될 수 있음을 의미합니다. 즉 반도체 기술의 발전이 오히려 8 비트 마이콤의 사용 가능한 분야를 넓혀주는 역할을 할 것으로 생각됩니다.

 (처음 글 올린 날 : 03/27/2005, 마지막 수정 : 03/27/2005, r/t/e/l/d) 

 Q.27 [DS] 디지털과 아날로그에 대한 작은 생각들

  

작년 말(2004.11) 국내 마지막 LP 레코드판 제작업체가 문을 닫았다는 소식을 신문을 통해 접했읍니다. 여기서는 디지털과 아나로그에 대한 글쓴이의 조그마한 생각을 적어볼까 합니다.

이제는 모든 것이 디지털화되는 것 같습니다. CD가 그렇고, 디지털 TV도 그렇고, 휴대폰도 그렇습니다. 디지털은 아나로그에 비해 여러 가지의 장점이 있습니다. 그 중 중요한 것이, 정확도(accuracy)와 신뢰도(reliability)일 것입니다. (Roth, Fundamentals of Logic Design, 4th Ed. chap.1) 예를 든다면, 두 개의 숫자를 곱을 계산하는 회로를 만들 때, 디지털 회로로 구현한다면, 원하는 만큼의 정확도를 쉽게 얻을 수 있으나, 아나로그 회로로 구현하면, 잡음, 신호의 크기 등등의 영향에 의해 원하는 정확도를 얻을 수 없는 경우가 생깁니다.  그러나 이러한 잇점은 값 비싼 희생의 대가인데, 그 희생에는 더 많은 전력의 소모, 더 많은 실리콘 면적의 차지, 더 많은 시간의 소모 등이 있습니다.

세상의 모든 것(글자, 소리, 그림, 동영상, 문서)을 '0' 과 '1'로 바꾸어 표현하는 디지털은 위에서 말한 장점도 있지만, 역시 위에서 얘기한 단점도 갖습니다. 그리고 이 분야에서 일하지 않는 분들에게는 모든 것을 '0' 과 '1'로 변환하여 생각한다는 것 자체가, 이해하기 힘든 현상일 수도 있을 것입니다. 이 이해하기 힘든 현상의 밑바닥에는  (신뢰성을 높이기 위해) '0' 과 '1'의 두 가지 상태에서 동작하는 디바이스(tr, FET)가 있습니다.

현재의 디지털과 아나로그 기술 모두 실리콘을 기반으로 한 반도체 기술에 기반을 두고 있습니다. 만약 먼 훗날, 디바이스(device)를 만드는 다른 기술이 출현하고, 이 디바이스가 동작하는 방식이 현재의 실리콘을 기반으로 한 반도체 기술과 다르다면, 게임의 법칙이 조금은 달라 질 수도 있을 것이라는 생각을 해 봅니다.

(처음 글 올린 날 : 03/28/2005, 마지막 수정 : 03/28/2005, r/t/e/l/d )

 Q.28 [SP] 아주 간단히 설명한(그래서 이해하기 힘든) MPEG 비디오 압축 원리

  

MPEG 비디오 압축 원리에 대해 간단히 설명합니다. 우선 리던던시(redundancy) 라는 말부터 설명을 해야 할 것 같습니다. 사전에는 "여분, 과잉(물), 군말" 등으로 설명되어 있습니다. 즉 "군더더기" 정도로 이해하시면 됩니다. 적절한 우리말이 생각나지 않아서 리던던시(redundancy)라는 영어 표현을 사용하겠습니다. 동영상이란 일정한 시간 간격으로 찍은 사진을 연속적으로 보여주어, 잔상 효과를 이용, 움직이는 그림으로으로 보이게 하는 것인데, 여기서 각각의 사진을 프레임(frame)이라고 부릅니다.

동영상 압축의 원리는 동영상 속의 리던던시(redundancy)를 제거하여 데이터 양을 줄이는 것입니다. 동영상 속에는 크게 두가지의 리던던시(redundancy)가 있는데, 그 중 하나가 하나의 프레임 안에서 인접한 픽셀간의 유사성을 지칭하는 공간적 리던던시(spatial redunancy)입니다. 사진을 보면 어느 한 점(픽셀)의 색상과 그 바로 옆의 색상은 상당히 닮아 있는 경우가 많이 있습니다. 사진속의 파란 하늘 또는 나뭇닢 등등이 그러한 예입니다. 또 다른 리던던시는 인접한 프레임 간의 유사성을 지칭하는 것으로, 이것을 시간적 리던던시(temporal redundancy)라고 합니다. 하늘에 날아가는 새를 멀리서 잡은 동영상의 예를 들어 보면, 두 프레임 간의 배경은 같고 단지 새의 위치와 모습 만이 변화 하였을 것입니다.

앞서 설명한 공간적 리던던시를 제거하는 과정에서 DCT(Discrete Cosine Transform)라는 용어가 나오고, 시간적 리던던시를 제거하는 과정에서, motion vector, motion estimation, motion compensation, macroblock 등의 용어가 나옵니다. 이 들 용어에 대한 설명은 여기서는 생략하도록 하겠습니다.

(처음 글 올린 날 : 03/28/2005, 마지막 수정 : 03/28/2005, r/t/e/l/d )

Q.29 [etc] USB 1.1, USB 2.0 그리고 USB OTG (On-The-Go)

  

USB는 PC와 주변 기기를 연결하는 방식 중 가장 성공적인 것으로 평가되고 있읍니다. USB 1.1은 12 Mbps로 PC와 주변 기기 간에 데이터를 주고 받을 수 있읍니다. 하나의 호스트(PC)에 연결할 수 있는 USB 주변 기기의 숫자는 127 개로서, 실용적으로는 부족함이 없는 숫자입니다.

USB 주변 기기와 PC간의 데이터 전송 방식에는 4 가지가 있는데, 이 중 bulk 와 isochronous 방식에 관하여 설명해 보도록 하겠읍니다. isochronous 방식은 streaming data 를 주변 기기에서 PC로 또는 그 반대 방향으로 옮기고자 할 때 주로 사용합니다. streaming data의 예로는 음성, 카메라에서 나오는 동영상 등이 있는데, 이 들 데이터의 특징은 데이터가  정해진 시간 내에 전송되지 못하면, 그 데이터의 가치가 떨어집니다. 예를 들어 카메라에서 나오는 영상이 제 시간(예를 들어 1/30초)안에  PC로 전송되어 디스플레이되지  못하면, 사람의 시각이 느끼기에는 화면이 끊기는  느낌이 들 것입니다. 음성 신호도 마찬가지 입니다. 한편 streaming data에서는 데이터의 일부에 에라가 있어도 심각한 결함이 아닐 수 있읍니다. 사람의 감각이 그것을 쉽게 감지해 내지 못하거나, 사람의 감각으로는 큰 결함이 아니라도 느낄 수도 있읍니다. 예를 들어 압축되지 않능 음성 데이타에서 LSB 한 비트가 틀렸다고 해서 사람의 귀가 이것을 감지해 내지는 못합니다. 동영상의 경우도 픽셀 하나의 값이 틀리게 전송되었다고, 사람의 시각이 이것을 쉽게 감지해내지는 못합니다.  따라서 isochronous 방식에서는 에라 보정을 하지 않습니다. 다음은 bulk 방식에 대해 설명합니다. bulk 데이타의 예에는 PC에서 프린터로 보내주는 데이타를 들 수 있읍니다. PC에서 프린터로 보내주는 데이터는 반드시 정해진 시간 내에 프린터로 도착할 필요는 없습니다. 그러나 전송 도중 데이타에 에라가 있는 경우는 문제가 심각해집니다. 따라서 bulk 방식에서는 에라 보정을 하며, 만약 데이터가 전송 도중 에라가 생겼다고 판단되면, 다시 보내 달라고 요청합니다.

USB 2.0은 USB 1.1의 40 배의 속도인 480 Mbps로 데이터를 보냅니다. USB 2.0에서는 더 작은 커넥터도 표준으로 제정되었습니다. (mini B 타입)

USB는 PC와 주변기기와의 데이터 전송에 관한 표준입니다. 고로 USB 장치들 끼리를 서로 접속하지를 못하는데 (예를 들자면, MP3 플레이어끼리 케이블로 연결하여 음악파일을 전송할 수 없읍니다.), 이러한 한계를 극복하기 위해 만들어진 표준이 USB OTG(On-The-Go)입니다.

USB는 그 이름에도 나와 있듯 (가운데의 S 가 Serial의 첫 글자) 데이터를 시리얼 형태로 보냅니다. 그냥 시리얼이 아닌 두 개의 선을 이용한 differential serial  방식입니다. USB 2.0가 480 Mbps로 데이터를 보내니, 이제 더 이상의 속도의 증가는 어렵겠구나라고 생각하시는 분이 있을지도 모르겠읍니다만, differential serial  방식의 데이터 전송은 현재(2005년 3월) 10 Gbps를 넘어섭니다.

 (처음 글 올린 날 : 03/28/2005, 마지막 수정 : 03/28/2005, r/t/e/l/d) 

Q.30 [etc] PC와 Workstation의 차이점이 무엇인가요?

  

PC와 워크스테이션(workstation), 항상 접하는 말이기는 하나, 이 둘의 차이점은 무엇일까요? Hayes의 Computer Architecture and Organization (p.40)에 보면, PC 보다 더 강력한 과학 기술용 데스크탑 컴퓨트를 워크스테이션(workstation)이라 부른다라고 설명하고 있습니다.

글쓴이의 기억속에도 워크스테이션하면, 90년대 초반의 승용차 한 대 가격보다 비싼 Unix 기반의 기계들이 생각나고, PC하면 윈도우즈 기반의 인텔 프로세서를 사용하는 기계들이 생각나나, 요즘(2005년 03월)은 인텔 기반의 프로세서를 사용하는 워크스테이션도 많이 있는 것 같습니다. 이 것은 PC와 워크스테이션의 경계가 점점 희미해진다는 것을 의미하겠지요.

 (처음 글 올린 날 : 03/28/2005, 마지막 수정 : 03/28/2005, r/t/e/l/d) 

Q.31 [etc] 그라운드 효과에 대하여

  

이 글을 보시는 분이 개발자라면, 그라운드에 대한 "안 좋은 추억"이 적어도 하나쯤은 있을 것입니다.  회로도에 나온데로 PCB 상에서 선들 만을 연결해서는 원하는 데로 동작하는 보드를 얻기 어려울 경우가 있습니다. 이러한 문제는 특히 아나로그 회로 또는 아나로그와 디지털 신호가 혼재된 보드 상에서 더 많이 나타납니다. 이러한 문제점에 대한 해결책은 책 또는 어플리케이션 노트 등에서 잘 설명하고 있지만, 실제로 이러한 문제를 겪어 보고 여기에 대한 해결책을 손수 찾아보는 것이 중요할 것 입니다. 보드의 동작 주파수가 높아지면 이러한 문제점들이 생길 가능성이 더 커집니다.

여기까지 이 글을 읽으신 분들은 왜 직접 경험한 경험담 하나쯤을 여기에 소개하지 않냐라고 생각하실수 있겠습니다만, 이 것은 다음 기회로 미루어야 될 것 같습니다. 좀 더 많은 시간을 기술 자료를 만드는데 사용할 수 있다면, 이러한 내용을 따로 정리하여 웹 상에 올려둘 것입니다.

(처음 글 올린 날 : 03/29/2005, 마지막 수정 : 03/29/2005, r/t/e/l/d)  

Q.32 [AT] 1분 안에 충전할 수 있는 리튬 이온(Lithium ion) 전지

  

오늘(03/30/2005)자 eetimes 뉴스에 1 분 안에 충전할 수 있는 리튬 이온 전지를 도시바에서 개발했다는 기사가 있었습니다. 니켈 카드뮴 전지를 10여 시간에 걸쳐 충전하던 때는 생각해 보면, 격세지감을 느낌니다. 편의점의 핸드폰 충전기에서 핸드폰 충전할 때 1 분 안에 충전할 수 있으면 참 편하겠다라는 생각을 해 봅니다. 양산까지는 좀 더 시간이 걸린다고 뉴스는 전하고 있습니다.

(처음 글 올린 날 : 03/30/2005, 마지막 수정 : 04/05/2005, r/t/e/l/d)  

Q.33 [MW] Smith chart와  Network Analyzer

  

앞에서 네트웍 어넬라이저가 마이크로웨이브 장비라고 얘기하였습니다. 전자기학 또는 마이크로웨이브 과목을 들으신 분은 스미스 챠트를 기억하실 것 입니다. 여기서는 네트웍 어넬라이저와 스미스 챠트에 대해 얘기해 보겠습니다. 네트웍 어넬라이저는 관심 주파수 대역의 S 파라메터를 측정하는 장비입니다. 측정된 S 파라메타를 표시하는데 있어서, S11과 S22는 스미스 챠트로 보는 것이 편리합니다. 해결하고자 하는 문제가 매칭 문제라면, 스미스 챠트의 정 중앙(center)으로 측정 데이터를 몰고(?) 가는 것이 매칭 문제의 주 된 작업입니다. 만약 관심 주파수 대역에서 정확하게 매칭이 되었다고 하면, 스미스 챠트의 정 중앙에 하나의 점으로 측정데이타가 보이게 됩니다.

글을 쓴 다음 다시 읽어 보니, 마이크로웨이브 엔지니어에게는 늘 상 접한는 새로울 것이 없는 내용이고, 마이크로웨이브 엔지니어가 아닌 분들에게는 읽어도 이해하지 못할 내용이 된 것 같네요. 어찌하오리까? 우선은 그냥 이대로 두고, 시간이 나면, 좀더 자세히 적도록 하야 될 것 같네요.

(처음 글 올린 날 : 04/05/2005, 마지막 수정 : 04/05/2005, r/t/e/l/d)  

Q.34 [etc] Motion Estimation in MPEG

  

앞에서 비디오 압축 원리에 대해 간단히 설명하였습니다. 여기서는 모션 에스티메이션(움직임 추정 ; motion estimation)에 대해 좀 더 자세히 설명해 보겠습니다. 예를 들어 잔잔한 호수에 청동오리 한 마리가 유유이 헤엄치고 있는 장면을 생각해 봅니다.  배경은 크게 변하지 않고 청동오리만 움직이고 있습니다. 움직임 추정은 인접한 프레임(동영상에서 화면(또는 그림) 한 장을 프레임이라 함)에서 물체가 어느 방향으로 얼마 만큼을 움직였는가를 측정하는 방법입니다. 위의 예에서 청동오리는 경계선이 복잡하므로 어느쪽으로 얼마만큼 움직였는지를 얘기하기가 애매한 점이 있습니다. MPEG에서는 프레임을 16 x 16 픽셀의 사각형(매크로 블록 (macro block) 이라고 함)으로 나눈 다음, 이 매크로 블록과 가장 유사한 매크로 블록이 다음 프레임(또는 인접 프레임)에서 어디에 있는가를 찾습니다. 찾을 때 다음 프레임의 프레임(화면) 전체에서 찾는 것이 아니고, 해당 매크로 블록의 근처 영역에서만 찾는데 이 것을 서치 영역(search area)이라고 합니다. 유사성을 계산하는 방법에는 MAE(Mean Absolute Error) 방식이 많이 사용되는데, 두 개의 프레임 안의 매크로 블록 안의 픽셀을 서로 비교하여, 그 차이의 절대값을 모두 합한 것입니다. 이런 방식으로 찾은 것이 모션 벡타입니다. 즉 한 프레임 상의 물체(여기서는 16 x 16 픽셀의 정사각형 영역) 이 다음 프레임에서는 어디로 이동했는지(x 방향으로 몇 픽셀, y 방향으로 몇 픽셀)를 나타나는 값이 모션 벡터(motion vector)입니다.

움직임 추정은 MPEG 동영상 압축에 있어서 가장 많은 계산을 필요로 하는 부분입니다. 움직임 추정 방법에는 여러 가지 방법이 있습니다. 서치 영역(search area) 전체의 모든 경우를 다 계산하여, 에라가 최소인 모션 벡타를 찾는 full seach에서 부터, genetic algorithm을 이용한 방법까지 다양합니다.

MPEG에서의 움직임 추정 방법이 동영상 속의 물체의 움직임을 정확히 나타내는 것인가 하면 그렇지는 않습니다. 예를 들어 회전하는 물체의 경우에는 보이지 않던 물체의 뒷면이 전면으로 나와 보이게 되는데, 이 경우 위의 방법으로 찾은 모션 벡타는 실제 물체의 움직임과는 차이가 있습니다. MPEG에서는 단지 2차원 화면상에서 정사각형의 매크로블럭이 인접한 프레임에서 서치 영역안의 어느 매크로블럭과 가장 유사한지를 찾습니다. 만약 물체가 2차원 평면상에서 회전 운동 없이 형체를 그대로 유지하면서 움직인다면, 모션벡타는 실제의 물체의 움직임과 유사할 것입니다.

(처음 글 올린 날 : 06/29/2005, 마지막 수정 : 06/29/2005, r/t/e/l/d)  

Q.35 [DS] 1Gbit / 512 Mbit 메모리는 각각 몇 바이트일까요?

  

메모리 용량은 바이트 단위로 표기하기 보다는 비트 단위로 표기합니다. 비트가 가장 메모리를 구성하는 가장 근원적인 단위이고, 비트 단위로 표시하는 것이, 바이트(8 비트)나, 워드( 16 비트 또는 32 비트) 단위로 표시하는 것 보다 그 용량의 표시에 관한 혼동의 여지가 적기 때문일 것입니다. 그러나 사용자 또는 개발자의 입장에서는 바이트 단위가 더 친숙합니다.

비트로 표기된 것을 바이트로 환산 하는 방법은 8 로 나누어 주는 것인데, 512Mbit RAM 이 몇 메가 바이트인지 바로 (암산으로) 계산할 수 있나요? 나눗셈은 사칙 연산 중 가장 어려운 연산에 속합니다. 여기서는 이러한 환산을 쉽게 계산하는 방법을 소개할까 합니다.

우선 2의 제곱수( "2의 n 승" 이라 불러야 더 정확하겠지만, 여기서는 편의상 이렇게 부르겠습니다.) 를 1부터 1024 까지 나열해 보겠습니다. 익히 알고 있는 친숙한 수열입니다.

                    1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024

예를 들어, 512 Mbit를 바이트 단위로 고치려면, 512를 10으로 나누면, 51 이 됩니다. (소수점 이하 생략) 그 다음 51 보다 큰 2의 제곱 수를 위에서 찾으면, 64가 됩니다. 즉 512 Mbit 는 64 MByte입니다.

윈리는 비트를 바이트로 고치기 위해 8로 나누지 않고, 10으로 나눈 다음 그 값 보다 조금 더 큰 2의 제곱수를 찾는 것입니다.

몇가지 예를 더 들어 볼까요?

1Gbit NAND flash는 1024 Mbit  이고, 1024를 10으로 나누면 102가 되고, 102 보다 조금 더 큰 2의 제곱수는 128 MByte입니다.
128Mbit SRAM 은 128을 10으로 나누면, 12 이고, 12 보다 조금 더 큰 2의 제곱수는 16입니다. 즉 16 MByte입니다.
256Mbit SRAM 은 256을 10으로 나누면, 25 이고, 25 보다 조금 더 큰 2의 제곱수는 32입니다. 즉 32 MByte입니다.

 숙달이 되면, 쉽고 빠르게 비트 단위를 바이트 단위로 환산할 수 있습니다.

(처음 글 올린 날 : 07/03/2005, 마지막 수정 : 07/03/2005, r/t/e/l/d)  

Q.36 [uP] 마이콤에서 Timer, Interrupt 그리고 Hardware view & Software view

  

마이콤에 보면 Timer 라는 것이 있습니다. 그리고 인터럽트라는 것도 있고요. 이 두가지 각각에 대해서는 기술자료의 다른 부분에서 설명을 했습니다. 여기서는 이 둘을 함께 설명해 보고자 합니다. 타이머는 정해진 시간에 맞추어 시간을 알려 줍니다. 알려주는 대상이 마이콤 주변에 붙은 하드웨어가 될 수도 있고, 마이콤 안에서 돌아가는 프로그램이 될 수도 있습니다. 다른 부분에서 설명했듯이, 마이콤 안에서 돌아가는 프로그램은 시간이 얼마나 경과했는지, 효과적으로 측정하는 방법이 없습니다. 예를 들어 볼까요. 시계가 없는 사람이 시간이 얼마나 지났는지를 알기 위해서는 어떨 게 해야 할까요? 자신이 1초라고 생각하는 시간간격으로 숫자를 하나, 둘,... 이런식으로 세는 방법이 있을 수 있고, 자신의 맥박을 세는 방법도 있습니다. 중요한 것은 이렇게 시간이 얼마 지났는지를 시계없이 측정하고자 한다면, 다른 일을 할 수 없다는 것입니다ㅓ. 만약 책을 읽으면서 이렇게 맥박을 세어 시간을 측정하는 것이 효과적일까요? 이런 경우 시계가 있으면 편리합니다. 시계보다 편리한 것이 타이머입니다. 정해진 시간을 맞추어 두면, 그 시간에 맞추어 알려주는 타이머가 있으면, 안심하고 다른 일에 전념할 수 있습니다. 너무 전념하여, 타이머의 알람소리 마저 듣지 못하면 곤란하겠지만요.

타이머를 사용하면, 지정한 시간이 되었을 때 이 사실을 마이콤의 프로그램에게 알려 줄 수도 있고, 마이콤 주변에 붙은 하드웨어에게 알려 줄 수도 있습니다. 마이콤 프로그램에게 알려주는 방법에는 인터럽트가 사용됩니다. 즉 프로그램이 제 할 일을 하고 있다가, 타이머에 셋팅한 시간이 되면, 타이머가 인터럽트 신호를 마이콤에 보내고, 마이콤 프로그램은 하던일을 잠시 중단하고, 인터럽트를 처리한 다음, 다시 제 할 일을 시작합니다 한편, 타이머에 셋팅한 시간이 되면 마이콤의 특정 핀의 상태(하이에서 로우 또는 짧은 펄스 발생)를 변화시킴으로서 외부의 주변장치에 이 것을 알려 줄 수 있습니다.

(처음 글 올린 날 : 08/23/2005, 마지막 수정 : 08/23/2005, r/t/e/l/d)  

Q.37 [uP] 마이콤과 마이콤 프로그래밍 : 악기 제작자와 악기 연주자에의 비유

  

글쓴이는 음악에 대해서는 문외한입니다만, 과거 서양에 뛰어난 악기 제작자(특히 바이올린 같은 현악기)가 있었다는 얘기를 들어본적이 있습니다. 음악과는 그리 관계 없어 보이는 마이콤의 세계에도 악기 제작자와 연주자에 대한 비유가 가능하다고 생각합니다. 처음에 마이콤을 설계한 사람이 악기 제작자에 해당한다면, 그 마이콤을 구입하여 사용하는 사람, 다시 말해 마이콤 프로그래머는 악기 연주자에 비유할 수 있습니다. 악기 제작자의 수는 많지 않은 반면, 악기 연주자의 수는 많습니다. 그리고 연주자의 재량 또한 제각각 이어서, "학교종이 땡땡땡" 정도의 연주만 할 수 있는 사람이 있는가 하면, 그 보다 더 난이도가 있는 곡도 연주할 수 있는 사람이 있을 것입니다.

마이콤(마이크로프로세서)이나 FPGA는 사용하는 용도가 특별히 결정되어 있지 않습니다. 따라서 상당히 넓은 분야의 일을 마이콤을 이용하여 행할 수 있습니다. 하나의 악기로 매우 많은 곡을 연주하는 것처럼요. 유명한 악기 제작자도 있지만, 유명한 악기 연주자도 있습니다.  혹시 마이콤 프로그래밍을 하면서, 마이콤 자체를 설계하는 일을 막연히 동경하지는 않는지요? 마이콤 자체의 설계는 기술적으로 상당히 난이도가 높은 일이나, 마이콤 프로그램밍은 하찮은 노가다급의 일이다라고 생각하지는 않는지요? 어쩌면, 서로가 가보지 않은 길에 대한 막연한 동경을 가지고 살아가는 것인지도 모르겠습니다.

(처음 글 올린 날 : 11/28/2005, 마지막 수정 : 11/28/2005, r/t/e/l/d)  

Q.38 [uP] 겔러그와 Z80 그리고 MAME

  

80년대 초반에 대학을 다니신 분들에게 가장 친숙한 오락실 게임이 겔러그가 아닐까 합니다. 전기,전자 또는 전산을 전공하신 분들은 과연 이 게임 기계를 어떤 부품을 써서 만들었는가 하는 생각을 해 보신 분들도 계실 것이고, 이 글을 보고서야, 80년대 초반에 이 게임 기계를 어떻게 만들었지라고 생각을 하시는 분들도 계실 것입니다. 글쓴이도 최근(2006년 1월)에서야 겔러그 게임이 Z80 마이콤 3개를 이용하여 만들어졌다는 것을 알았습니다. 어떻게 알았을까요? 고물상에서 우연히 겔러그 게임 기계를 발견해, 싼값에 구입한 다음, 내부를 뜯어보았을까요? 아닙니다. MAME라는 게임 에뮬레이터를 통해서입니다.

MAME 프로그램은 아마도 많은 분들이 알고 계실 것입니다. 게임 에뮬레이터라고 하는 이 프로그램은 오락실 겔러그 게임 기계, 좀 더 정확히는 겔러그 게임 보드(PCB) 상에서 실행되는 모든 것을 PC상에서 그대로 흉내(재현해)냅니다. 즉 Z80 마이콤이 외부 롬에서 프로그램을 읽어서 실행하는 과정을 그대로 PC상에서 재현합니다. (이 것이 에뮬레어터의 실질적인 의미이기도 하고요.) 어떻게 인스트럭션이 다른 Z80을 펜티엄 CPU가 흉내를 낼까요? 만능 기계인 PC가 무슨 일인들 못하겠습니까?

MAME는 소스가 공개되어 있습니다. 단순한 고전 게임을 하기 위한 용도외에서 엔지니어에게는 기술적으로도 소중한 자료라고 생각됩니다.

(처음 글 올린 날 : 05/31/2006, 마지막 수정 :05/31/2006, r/t/e/l/d)  

Q.39 [etc]MAME 소스 컴파일에 관하여

  

사실 제목을 "MAME 소스 컴파일에 관하여" 이라고 붙이긴 했어도, 여기서 컴파일 방법을 자세히 설명하려는 것은 아닙니다. 컴파일 방법에 대해서는 검색 엔진에서 "MAME 컴파일 방법"으로 검색을 해보면, 컴파일 방법을 자세히 설명한 여러 개의 사이트를 찾으실 수 있을 것입니다. 영문 사이트도 여러 개 검색되니, 이 것들을 참고하시고요, 컴파일에 걸리는 시간은 셀레론 1.7GHz PC로 1 시간이 좀 더 걸리는 것 같습니다. 실행 파일의 크기는 30MB가 넘는 것으로 기억합니다. 엄청난 크기이죠.

사실 이런 종류의 프로그램은 소스를 얻었다고 해서 모든 일이 끝나는 것이 아닙니다. 컴파일하여 실행 파일을 얻을 수 없다면, 소스를 구한 의미가 없어져 버립니다. 컴파일하는 방법은 다소 복잡하며, 설명한 대로 그대로 따라하면, 아무 문제없이 최종 실행 파일을 얻을 수도 있고, 중간에 컴파일하면서, 에라 메시지를 내면서 멎어 버리는 경우도 있습니다. 글쓴이의 경우도 컴파일 중간에 에라메시지를 내면서 멎어서, 이곳 저곳을 살펴 보니, 어떤 디렉토리가 소스파일에 포함되지 않은 것을 발견했습니다. 이 것을 웹에서 찾아서 다시 컴파일하니, 실행 파일이 만들어졌습니다. 이런 종류의 프로그램을 자주 접하지 않아서인지, 컴파일이 끝나서 실행파일이 만들어질 때까지는 다소 조마조마한 마음으로 기다리게 됩니다.

(처음 글 올린 날 : 06/01/2006, 마지막 수정 :06/01/2006, r/t/e/l/d)  

Q.40 [etc]KISS의 법칙에 관하여

  

제목만 보고 무슨 야한 이야기일까하여, 클릭해 이쪽으로 오신 분들이 계실텐데, 여기서 KISS란 "Keep it simple, stupid"의 머릿글자입니다. 번역하면, "바보야, 단순하게 하란 말이야(단순한 상태를 유지하란 말이야)" 정도가 될 것 같습니다. (사실 글쓴이가 이 말을 바르게 번역했는지 자신이 없네요.)

사실 이런 종류의 이야기가 하찮게 느껴지시는 분들이 많이 계실 것으로 생가되나, 글쓴이는, 엔지니어들이 항상 마음속에 담아 두어야할 중요한 말이라고 생각합니다. 특히 모든 것이 점점 복잡해지는 지금의 세상에서는요.

(처음 글 올린 날 : 06/01/2006, 마지막 수정 :06/01/2006, r/t/e/l/d)  

Q.41 [etc](Device, Tool, Language)

  

(Device, Tool, Language)는 넓은 범위에 걸쳐 적용될 수 있을 것 같습니다. 그런데, 도대체 이게 무엇이냐고요?. 예를 들어 설명해 보겠습니다. 8051 마이콤을 익힌다고 합시다. 그러면, 우선 마이콤 자체에 대한 스타디가 필요합니다. 즉 디바이스에 관한 내용을 알아야 하며, 그 다음에는 마이콤을 사용하기 위한 툴(예를 들면, Keil 컴파일러, IDE)을 익혀야 합니다. 그리고 C 언어나, 어셈블리어를 잘 알아야 원하는 작업을 할 수 있습니다. FPGA의 경우도 마찬가지입니다. FPGA 디바이스 자체에 관한 스터디와 개발 툴(예를 들어 자이링스의 ISE)그리고 언어(예를 들면 VHDL) 이렇게 3가지를 잘 익혀야 원하는 작업을 해 낼 수 있습니다.

윈도우 프로그래밍도 비슷합니다. 단 여기서는 디바이스에 해당하는 것이 애매할 수 있으나, PC에 사용된 마이크로프로세서 또는 PC 시스템이라고 생각할 수 있으며, 툴과 언어의 예로는 VC++6.0 과 C++이 될 수 있습니다. 이 경우 디바이스에 관한 스타디는 크게(또는 거의)필요하지 않다고도 말할 수 있읍니다.

그러면, MATLAB을 이용하여, PC상에서 DSP 알고리듬을 개발하는 경우는 어떻게 되냐고 물으실 분이 계실 줄 모르겠습니다. 여기서도 디바이스에 해당하는 것이 애매할 수 있으나, PC 시스템이라고 생각하시면 될 듯합니다.. 툴과 언어로는 MATLAB 프로그램과 MATLAB 언어 또는 함수가 되겠지요. 사실 이 경우에도 바로 앞의 윈도우 프로그래밍의 경우와 같이 디바이스에 관한 스타디는 거의 필요하지 않다고도 말할 수 있읍니다.

(처음 글 올린 날 : 06/02/2006, 마지막 수정 :06/02/2006, r/t/e/l/d)  

Q.42 [etc]Spec Sheet(Data Sheet) = system view + H/W view + F/W view

  

데이터 시트(스펙 시트)를 위의 제목처럼 나누어 생각할 수 있습니다. 모든 데이터 시트가 칼로 케익 자르듯 이렇게 나누어지는 것은 아니지만, 많은 경우에 있어서 위와 같은 형태로 나누어 생각할 수 있습니다. 시스템 뷰는 데이터 시트의 제일 첫 부분에 이 디바이스의 특징을 설명하는 부분과 다른 디바이스와의 연결 방법을 설명한 부분에 해당하며, 하드웨어 뷰는 핀 디스크립션(pin description), 즉 각각의 핀의 역할이 무엇이며, 주의해야 할 점은 무엇인가를 설명해 놓은 부분이 되겠습니다. 그리고, 데이터 시트 뒷 부분에 자리한, 동작 전압 범위, 타이밍도, 패키지 치수 등도 하드웨어 뷰에 해당합니다. 펌웨어 뷰는 레지스터를 설명한 부분이 되겠는데, 각각의 비트가 어떤 역할을 하는지를 설명한 부분이 되겠습니다.

대부분의 회사에서는 하드웨어 엔지니어와 소프트웨어 엔지니어가 따로 있어서, 하나의 데이터 시트를 두고도, 서로 보는 범위가 다른 경우가 많습니다. 데이터 시트 중 자기에게 필요한 부분만 프린트해서 보는 경우도 종종 볼 수 있고요. 그리고, 맡은 자기 일에 바쁘다 보니, 다른 쪽 영역을 접근해 보기가 어려운 것도 사실입니다. 하드웨어 엔지니어든 소프트웨어 엔지니어든 상대방 쪽 영역에 접근하기는 쉽지 않아 보입니다. 양쪽 모두를 능숙하게 한다면, 특별한 재능이 있다고 인정해 주어야겠지요.(월급도 올려줘야하지 않을까요? ;-) )

(처음 글 올린 날 : 06/02/2006, 마지막 수정 :06/02/2006, r/t/e/l/d)  

Q.43 [일반] 물극필반(사물이 극에 다다르면 반드시 되돌아 온다) : 스케메틱과 랭귀지

  

앞서 비슷한 제목으로 시리얼 통신과 패러렐 통신에 대해 이야기 했는데, 여기서는 스케메틱(schematic)과 랭귀지(language)에 대해 이야기해 보고자 합니다. 글쓴이가 80년대 말 회사 생활을 하던 때였습니다. 마침 마이크로웨이브 회로 분석용 소프트웨어 툴을 하나 구입을 해야 했었는데, 그 당시 시중에는 서로 다른 회사에서 나온 3가지의 툴이 있었습니다. 어떤 전시회에서 데모를 보는데, 그 툴의 장점 중의 하나가 스케메틱 캡쳐(schematic capture)를 지원한다는 것이었습니다. 즉 분석(시뮬레이션)할 회로를 OrCAD 사용하듯이 회로도를 그려서 입력하면, 툴이 시뮬레이션을 해 주는 것이 타사 제품에 비해 내세울 만한 장점이었던 시절이 있었습니다. 그러면 스케메틱 캡쳐를 지원하지 않는 툴은 어떻게 회로들 입력할까요? 분석할 회로의 각 부품의 핀에 이름을 부여하고, 같은 이름의 핀끼리 연결되는 텍스트 기반의 입력 방식이었습니다. 요즘의 VHDL의 component 문을 사용한 것과 비슷한 형태입니다.

로직 설계의 분야에서도, 한 때 스케메틱이 주류를 이루던 시절이 있었습니다. (아니, 랭귀지 기반의 설계가 널리 보급되지 않았다고 하는 것이 더 적절하겠지요.) 요즘의 설계는 랭귀지(VHDL, verilog)기반으로 바뀐 것 같습니다. 마이크로웨이브 분야에서도 스케메틱 캡쳐 방식이 랭귀지에 의해 대체되었는지는 모르겠습니다. 하지만 아이러니 한 것은 스케메틱 캡쳐 이전의 (마이크로웨이브 분석 툴의)회로 입력 방식이, 오늘날 랭귀지 기반의 설계방식과 유사하다는 것입니다.

앞서 글에서도 언급했듯이, 현재의 설계 방법은 랭귀지에 기반을 두고 있다고 해도 과히 틀린 말은 아닐 것입니다. 그러면, 언젠가는 랭귀지 기반의 설계에서 다시 스케메틱으로 돌아갈 날이 올까요?

(처음 글 올린 날 : 06/02/2006, 마지막 수정 :06/02/2006, r/t/e/l/d)  

Q.44 [일반] 신 무어의 법칙 = 개발자가 읽어야할 자료의 양은 1.5년에 두배가 된다?

  

앞서 무어의 법칙에 대해 이야기 했는데, 여기서는 무어의 법칙의 다른 측면에 대해 이야기해 보고자 합니다. 무어의 법칙에 의하면, 현재 1.5년에 두배 씩 칩에 집적할 수 있는 트란지스터의 갯수가 늘어납니다. 그러면, 개발자가 읽어야할 자료의 양은 어떻게 될까요? 트랜지스터의 갯수에 비례하여 늘어날 것입니다. 그럼 트랜지스터가 늘어나는 것과 정확히 비례하여 늘어날까요?

그렇지는 않아 보입니다. 그 예로서, 64KByte SRAM이나 128KByte SRAM은 데이터 시트의 양에 있어서 차이가 없습니다. 즉 하나의 디바이스에 사용된 트랜지스터가 새로운 기능을 구현하기 위하여 사용되었다면, 그 기능을 설명하기 위한 자료가 필요할 것이나, 단순히 온 칩 메모리를 크게 하는데 사용되었다면, 특별히 읽어야할 자료가 늘어나지는 않을 것입니다. 그럼에도 불구하고 개발자가 읽어야할 자료가 과거에 비해 늘어난 것은 사실인 것 같습니다. ATMEGA128의 데이터 시트가 거의 400 페이지(정확히는 389 페이지)가 되며, 이 것 말고도 제조사에서 제공하는 어플리케이션 노트와 개발 툴의 매뉴얼 등등을 합치면, 자료의 양은 더 많아집니다.

최근 발표된 32 비트 마이크로 프로세서의 경우는 데이터 시트만 거의 1000 페이지에 육박합니다. 글쓴이는 실리콘 기반의 기술이 벽에 부딪혀 더 이상 진보하지 못할 때가 오면, 그 때의 가장 복잡한 디바이스의 데이터시트는 과연 몇 페이지나 되며, 개발자들은 과연 그 분량을 소화해 낼 수 있을까하는 생각을 해봅니다.

(처음 글 올린 날 : 06/02/2006, 마지막 수정 :06/06/2006, r/t/e/l/d)  

Q.45 [일반] 사용자가 만드는 백과사전 wikipedia

  

최근(2007년 12월) 글쓴이가 자주 들리는 사이트 중의 하나가 www.wikipedia.org 라는 사이트입니다. 다른 분야는 모르겠으나, 전기, 전자, 컴퓨터 분야에서는 좋은 내용을 많이 담고 있으며, 잘 모르는 영역에 처음 접근할 경우 요긴하게 도움을 받을 수 있는 사이트입니다. 조금 과장되게 얘기하면, 인류의 지금까지의 지식을 모아 둔 소중한 사이트라고 할 수 있으며, 많은 사람의 노력을 한 곳에 모아 이런 사이트를 만들 수 있다는 사실이 놀랍기까지 합니다.

(처음 글 올린 날 : 12/24/2007, 마지막 수정 :12/24/2007, r/t/e/l/d)  

Q.46 [일반] 버추얼 머신 프로그램

  

윈도우가 깔려 있는 PC에서 리눅스를 사용하고자 할 경우, 편리한 방법이 버추얼 머신 프로그램을 이용하는 것입니다. 이 경우 윈도우와 리눅스를 동시에 사용할 수 있습니다. 멀티 부팅의 경우 한번에 하나의 O/S 만 쓸 수 있음에 비해, 버추얼 머신 프로그램을 사용하는 경우에는 두 개 또는 여러 개의 O/S를 동시에 사용할 수 있습니다. 이미 깔려 있는 O/S를 호스트(host) O/S 라고 부르며, 새롭게 인스톨하고자 하는 O/S를 게스트(guest)  O/S라고 부릅니다. 게스트 O/S를 설치하는 과정은 어플리케이션 프로그램을 설치하는 것과 다를 바가 없습니다. 게스트 O/S 설치가 끝난 후 실행하면, 작은 창이 열리면서 여기에 게스트 O/S가 실행됩니다. 처음 접해 보는 분은 "야, 신기하다. 대단한 기술이다."라는 감탄사가 절로 나올법합니다.

(처음 글 올린 날 : 12/24/2007, 마지막 수정 :12/24/2007, r/t/e/l/d)  

Q.47 [일반] 1 TB HDD의 등장

  

최근 (2007년 12월) 1 테라 바이트 하드 디스크 드라이버(이하 1 TB HDD로 표기)가 출시된 것을 알았읍니다. 한 온라인 PC 부품 가격 비교 사이트에 의하면, 1 TB HDD는 2007년 10월에 출시되었으며, 현 시점(2007년 12월 25일) 가격은 30만원 초반대로, 처음 출시될 때의 가격 40만원 대에 비하면 많이 내린 상태입니다. 1 TB HDD의 등장의 의미는 실용적인 측면 보다는 상징적인 측면이 강한 듯 합니다. 다른 글에서 사람에게 평생도록 필요한 저장용량을 계산해 보았는데, 1 TB의 용량이면 HD급의 동영상을 제외하고, 한 개인이 평생동안 필요로 하는 책, 음악 파일, 사진등을 모두 저장해 둘 수 있는 용량입니다.

HDD의 용량이 1 TB에서 멈추지 않고 계속 커져갈 것임을 생각해 보면, 이 방대한 저장 용량을 채우기 위해 동영상 파일이 앞으로 더욱 창궐(?)할 것이라고 조금스레 추측해 봅니다.

 

(처음 글 올린 날 : 12/26/2007, 마지막 수정 :12/26/2007, r/t/e/l/d)  

Q.48 [일반] 32MB USB 저장장치와 32GB USB 저장장치

  

앞에서 HDD 얘기를 하였는데, 여기서는 USB 저장장치 얘기를 해 볼까 합니다. 글쓴이는 2002년도에 32MB USB 저장장치를 구입을 하였습니다. 가격은 55,000원으로 기억됩니다. 지금(2008.1월) 생각하면, 미쳤구나라고 생각할 정도의 비싼 가격인데, 그 당시에는 그 정도 가격을 주어야지만 구입이 가능했었습니다. 그 후 과연 32 GB의 USB 저장장치가 시중에 나올까? 만약 나온다면, 얼마의 가격에 팔리고, 55,000원 가격에 살 수 있는 시기가 올까? 하는 생각을 하곤 했었는데, 최근(2007년 11월) 32 GB USB 저장장치를 시중에서 찾아 볼 수 있게 되었습니다. 현재(2008년 1월 1일) 가격은 39만원 정도입니다.

6년간 약 1,000 배의 용량 증가가 놀랍습니다. 2000년대 초반에 일반 PC에 장착했던 HDD의 용량을 손 바닥 안에 들어오는 작은 크기에 담을 수 있다는 사실이 놀랍습니다. 한 편으로는 앞으로 32 TB의 USB 저장장치가 나올까? 나온다면 언제쯤? 가격은 얼마나 할까? 하는 생각을 다시 해 보게 됩니다.

 

(처음 글 올린 날 : 01/01/2008 , 마지막 수정 :01/22/2008 , r/t/e/l/d)  

Q.49 [일반] A Million Lines of Code

  

제목처럼, 100만 라인의 코드는 어느 정도의 분량이 될까요? embedded.com에 이 것에 대한 재미있는 글이 있어서 소개해 볼까 합니다. 기사에 의하면, 100만 라인의 코드를 프린트하면, 대략 18,000 페이지가 된다고 합니다. 프린트물의 높이는 약 180 cm 정도이고, 종이 무게는 약 90 Kg 정도가 된다고 하네요. 100만 라인의 코드는 어림잡아 2,000 만 라인 정도의 인스트럭션으로 구성되며, 이 것은 약 6억 비트가 된다고 합니다.

책으로 비교를 하면, 100만 라인의 코드는 전쟁과 평화 14권 또는 K&R의 C Programming Language  책 66권의 분량에 해당한다고 합니다. 이러한 분량의 코드를 개발하는데는 67명의 개발자가 40개월간 작업해야하는 분량이며(223 person-year, 즉 혼자서 개발한다면 223년이 걸린다는 얘기) 돈으로 따지면 200억 ~ 400억원에 해당하는 금액이라고 합니다.

한편, 최근 핸드폰 중에서는 500만 라인 이상의 코드를 사용하는 것도 있으며, 윈도우 비스타는 5,000만 라인의 코드를 사용한다고 합니다. 원문에는 인간의 DNA와 원자의 직경과의 비교도 있으니, 관심있으신 분은 직접 한번 읽어 보세요.

                       A Million Lines of Code (원문 기사)

마지막으로 재미있는 이야기는 100만 라인의 코드를 담을 수 있는 플레쉬 메모리의 가격과 100만라인의 코드의 가치의 비는 100만배라고 합니다. 즉 100만 라인의 소프트웨어 가격에 비하면, 이 것을 저장할 수 있는 하드웨어 가격은 공짜에 가깝다는 얘기지요. 그러한 흔히 듣는 "소프트웨어는 공짜야" 또는 "(하드웨어는 그냥 두고) 소프트웨어만 변경하면 돼"라는 말은 아이러니하게 들립니다.

 

(처음 글 올린 날 : 01/22/2008 , 마지막 수정 : 01/22/2008 , r/t/e/l/d)  

Q.50 [일반] PS/2 마우스와 키보드 포트 색상으로 구분하기

  

PC 뒷면에 보면 마우스와 키보드를 연결하는 PS/2 포트가 2개가 있는데, 이 둘의 색상이 서로 다릅니다. 그러나 어느 것이 마우스 포트이고 어느 것이 키보드 포트인지는 옆에 그림으로 표시되어 있지 않으면 색상 만으로 구분하기가 쉽지 않습니다. 그리고 이러한 PS/2 포트의 색상에 의한 마우스와 키보드 구분이 과연 모든 PC에 공통으로 적용되는 표준일까하는 생각도 듭니다.

결론부터 말씀드리면, 보라색 PS/2  단자가 키보드용 단자이고, 녹색이 마우스용 단자입니다. PS/2 단자의 색상에 의한 마우스와 키보드 포트의 구분은 마더보드 제조사에서 임의로 정한 것이 아니고, PC97에서 정해진 것이라고 합니다. PC97은 마이크로소프트사와 인텔사가 IBM 호환 PC의 하드웨어 요구 및 권장사항을 지정한 PC System Design Guide의 1997년 판입니다.

(처음 글 올린 날 : 01/22/2008 , 마지막 수정 01/22/2008 , r/t/e/l/d)  

Q.51 [일반] SSD(Solid State Drive)와 CF(Compact Flash)

  

최근(2008년 1월) 들어 SSD(Solid State Drive) 라는 말을 자주 접할 수 있습니다. 아마도 플레쉬 메모리의 가격이 하락한데 기인한 것으로 보입니다. 하지만 아직까지도 SSD와 HDD의 가격차이가 많이나서, HDD의 매력은 여전한 것 같습니다. SSD가 정확히 언제부터 시장에 등장했는지는 모르겠으나, 우리가 지금까지 잘 알지 못하던 SSD가 있으니, 그 것이 CF (Compact Flash)입니다. CF는 SSD라기 보다는 플레쉬 메모리 카드로 널리 알려져 있습니다.

CF는 True IDE mode 로 동작시킬 수 있는데, 이 경우 HDD와 같은 인터페이스로 동작하게 됩니다. 2.5인치 HDD 보다 훨씬 작은 물리적 크기에, 그 용량도 7~10+ 년 전 HDD에 육박하는 CF를  최근(2008년 1월) 시중에서 그리 비싸지 않은 가격에 구입할 수 있습니다.

 

(처음 글 올린 날 : 01/22/2008 , 마지막 수정 01/22/2008 , r/t/e/l/d)  

Q.52 [일반] 전자 제품과 인플레이션 그리고 무어의 법칙

  

인플레이션이란 물가가 지속적으로 오르는 현상을 말합니다. 그러나 전자 제품(또는 부품)에는 이 현상이 적용되지 않는 것 같습니다. USB 저장 장치만 봐도, 우리가 경험한 것은 제품가격이 처음에 시장에 나온 이후부터 지속적으로 내리는 것이지, (가격이 오랜 시간 지속적으로) 오르는 경우는 거의 경험을 하지 못한 것 같습니다. 이 현상의 원인은 무어의 법칙이라고 생가되는데, 원자의 크기가 고정되어 있는 이상, 무어의 법칙도 언젠가는 벽에 부딪히게 될텐데, 그렇게 되면, 어떤일이 일어날까요? 글쓴이의 생각은 그 때가 되면, 가격의 하락폭이 지금처럼 크지는 않을 것으로 생각됩니다. 한동안 잊어 버리고 있으면, 가격이 반으로 뚝 떨어져 있는 현상은 이 시대(1990년대~2010년대) 사람들 만이 경험할 수 있는 특별할 혜택일지도 모릅니다.

 

(처음 글 올린 날 : 01/22/2008 , 마지막 수정 01/22/2008 , r/t/e/l/d)  

홈페이지 링크 모음

  

홈페이지로 가기

기술자료 페이지로 가기

 

(처음 글 올린 날 : 04/07/2005, 마지막 수정 : 04/07/2005, r/t/e/l/d)

(마지막으로 수정한 날자 : 01/22/2008)