오픈 케이블에 관한 문서를 보다가, 가장 막히는 문제가 바로 생소한 용어들이다. 기본지식이 없는 나로써는 막막할 따름이었다. 그래서 새로운 용어가 나오는 족족 설명과 함께 추가할 것이다. 참고로 용어에 대한 설명은 인터넷에서 발췌한 것들이다.

용어 설명

용어 설명
ATSC 미국의 디지털 TV 표준을 연구하고 개발하기 위해 1983년에 설립된 기관이다. 수년동안, ATSC는 FCC 고유의 자문위원회인 ACATS와 밀접하게 일했다. 1996년 후반에 FCC는 NTSC 표준의 디지털 대응부인 ATSC 표준을 채택하였다

DSP (digital signal processing)

DSP[디에스피]는 디지털 통신의 정확성과 신뢰도를 높이기 위한 다양한 기술들을 지칭한다. 사실 DSP의 배후에 있는 이론은 매우 복잡하다. DSP는 기본적으로, 디지털 신호의 레벨이나 상태를 정화하거나 규격화하는 작용을 한다. DSP 회로는 인간이 만든 규칙적인 신호들과, 본래부터 무질서한 잡음을 구별할 수 있다.

통신회로들은 모두 어느 정도의 잡음을 가지고 있다. 그 신호가 아날로그든, 디지털이든, 전달되는 정보의 형태에 관계없이 그것은 마찬가지다. 잡음은 통신 시스템에서 S/N비 개선을 위한 새로운 방법을 찾으려 항상 힘쓰고 있는 통신 엔지니어들의 영원한 골칫거리이다. S/N비를 최적화하기 위한 전통적인 방법들에는 전송되는 신호의 세기를 증가시키고, 수신기 감도를 증가하는 방법이 있다 (무선 시스템에서는, 특수한 안테나 시스템이 도움이 될 수 있다). 디지털 신호 처리는 수신기의 감도를 극적으로 개선한다. 잡음과 요구되는 신호가 경합할 때, 이 효과는 가장 주목할만한 것이다. 좋은 DSP 회로는 때로 놀랄 만큼 훌륭한 전자 기술자처럼 보이기도 한다. 그러나, 그것이 할 수 있는 것에도 한계가 있다. 만약 잡음이 너무 강해서 모든 신호의 흔적이 지워지면, DSP 회로는 그 혼돈 속에서 어떠한 질서도 찾아낼 수 없으므로, 아무런 신호를 수신할 수 없을 것이다.

예를 들어 표준 TV 방송국과 같이, 들어오는 신호가 만약 아날로그라면, 그 신호는 처음에 ADC에 의해 디지털 형태로 변환된다. 그 결과로 나타나는 디지털 신호는 두 개 이상의 레벨을 갖는다. 이상적으로, 이러한 레벨은 항상 예측가능하며, 정확한 전압이나 전류이다. 그러나, 들어오는 신호에도 잡음이 있기 때문에, 그 레벨은 항상 표준 값에 있는 것은 아니다. DSP 회로가 그 레벨을 조정함으로써, 그들이 정확한 값에 있게 된다. 이것은 실제로 잡음을 제거한다. 그런 다음 디지털 신호는 DAC를 통해 다시 아날로그 형태로 바뀐다.

예를 들어 컴퓨터 데이터와 같이, 수신된 신호가 만약 디지털이라면, ADC와 DAC 등은 불필요하다. DSP는 들어오는 신호에 직접 작용하여, 잡음에 의해 생긴 불규칙성을 제고하고, 그것에 의하여 단위 시간당 에러의 개수를 최소화한다.

ADC (analog-to-digital conversion) ; 아날로그-디지털 변환

아날로그-디지털 변환은, 계속해서 변화하는 신호(아날로그)가 그것의 본질적인 내용은 달라지지 않은채, 여러 수준의 신호(디지털)로 바뀌어지는 전자적 처리과정이다.

ADC의 입력은 이론상으로 무한한 개수의 값들 사이에서 변화하는 전압들로 구성된다. 이러한 것들의 예로는, 사람의 말을 표현하는 파형, 그리고 재래식 텔레비전 카메라로부터의 신호인 사인 곡선이 있다. 이와는 달리, ADC의 출력은 미리 정의된 차원들 또는 상태들로 구성된다. 상태의 개수는 2, 4, 8, 16 등 거의 항상 2의 배수이다. 가장 단순한 디지털 신호들은 오직 두 개의 상태만을 갖는데, 이것을 바이너리라고 부른다. 모든 숫자들은 0과 1의 조합으로 이루어진 바이너리 스트링의 형태로 표현될 수 있다.

디지털 신호들은 대부분 아날로그 신호보다 좀더 효율적으로 전달되는데, 그 이유는 디지털 신호들은 명확하고 규칙적이기 때문에, 무질서한 잡음으로부터 구분하는 전자회로를 쉽게 만들 수 있기 때문이다. 이것이 디지털 통신의 주요 장점이다. 컴퓨터들은 2진 디지털 데이터 특유의 표현으로 “말하고”, 또한 “생각” 하므로, 마이크로프로세서가 아날로그 데이터를 분석할 수 있을 지라도, 컴퓨터가 그것을 감지할 수 있도록 디지털 형태로 변경해야 한다.

일반적으로 전화 모뎀은, 꼬임대선을 통해 들어오는 오디오 신호를 컴퓨터가 이해할 수 있는 신호로 바꾸기 위해 ADC를 사용한다. 디지털신호처리시스템(DSP)에서, 만약 입력신호가 아날로그면 ADC가 필요하다.

PWM (Pulse Width Modulation)

펄스신호의 듀티비를 조정하는 방법을 말한다. 여기서 듀티비라고 하는 것은 한 주기(T)에 대한 High 신호의 시간(T_high)의 비를 말하는 것이다. PWM 제어란 듀티비를 조정함으로서 제어값의 조정하는 것을 말한다.
예를 들면 펄스 신호의 듀티비가 변함으로서 이 신호의 평균값이 변하게 되는 데, 이러한 평균값을 제어신호값으로 사용할 수 있는 것이다.

PAL (Phase Alternation Line)

PAL은 아날로그 TV의 디스플레이 표준으로서, 유럽을 비롯한 여러 나라에서 사용되고 있다. PAL은 NTSC 컬러 TV 시스템과 SECAM 등과 함께 세 개의 주요 TV 표준 중 하나이다. NTSC는 또한 우리나라와 일본에서도 사용되며, SECAM은 옛 소비에트 연방 국가들에서 사용된다.

SECAM과 마찬가지로, PAL도 비디오 이미지로부터 CRT를 수평으로 625번 주사하며, NTSC는 525줄을 주사한다. 색상 정의는 각 시스템별로 약간씩 다르다.

NTSC (National Television Standards Committee)

NTSC는 일련의 TV 방송 송수신용 표준 프로토콜을 개발하기 위해 1953년 설립된 미국의 기관이다. 두 개의 다른 표준인 PAL과 SECAM (Sequential Couleur avec Memoire)도 다른 여러 나라 지역에서 사용되고 있다. NTSC 표준은 컬러 신호를 위해 새로운 매개변수를 추가한 것 외에는, 처음에서 크게 변화하지 않았다. NTSC 신호들은 컴퓨터 시스템과는 직접 호환성이 없다.

NTSC TV 이미지는 프레임당 525개의 수평 주사선을 갖는다. 이러한 주사선들은 왼쪽에서 오른쪽으로, 그리고 위쪽에서 아래쪽으로 주사되는데, 매 한 줄씩 건너뛰어진다. 그러므로, 하나의 완전한 프레임을 완성하려면 화면을 두 번 훑어야하는데, 한번은 홀수 번째 줄을, 다른 한번은 짝수 번째 줄을 주사한다. 절반의 프레임을 주사하는데 걸리는 시간은 대략 1/60초 정도 소요되므로, 완전한 프레임은 매 1/30초마다 주사된다. 이러한 주사 시스템을 인털레이싱(interlacing)이라고 부른다.

NTSC 신호들을 컴퓨터가 이해할 수 있는 디지털 비디오로 변환하는 어댑터들이 있다. 이와는 반대로, TV 수신기가 컴퓨터 디스플레이의 대용으로 사용될 수 있도록, 컴퓨터 비디오를 NTSC 신호로 변환할 수 있는 장치도 있다. 그러나, 전통적인 TV 수신기가 전형적인 컴퓨터 모니터에 비해 해상도가 낮기 때문에, TV 화면이 매우 크더라도 그것이 모든 컴퓨터 응용분야에 잘 들어맞지는 않는다.

최근에 일련의 새로운 TV 표준을 채택하려는 압력이 증가하고 있다. 제안된 프로토콜 중의 하나가 고화질 TV, 즉 HDTV라고 알려져 있는 것이다. HDTV 표준은 결국 채택되었으며, 이것은 컴퓨터 시스템과 직접적인 호환성을 갖게 될 것이다. 그러나, 여기에는 공학적인 문제점이 있다. 일부 산업계의 전문가들은 이러한 호환성이 기존의 TV 세트의 가격을 현저하게 상승시킬 수 있으리라는 점을 우려한다.

SPI (Serial Peripheral Interface)

SPI는 두 개의 주변장치간에 직렬 통신으로 데이터를 교환할 수 있게 해주는 인터페이스로서, 그 중 하나가 주가 되고 다른 하나가 종이 되어 동작한다. SPI는 전이중 방식으로 동작하는데, 이는 데이터가 양방향으로 동시에 전달될 수 있음을 의미한다. SPI는 대부분 CPU와 주변장치들간에 통신을 하는 시스템에 주로 채용되지만, 두 개의 마이크로프로세서들 사이를 SPI의 형태로 연결하는 것도 가능하다. 이 용어는 원래 모토롤라에서 만들어졌으며, National Semiconductor라는 회사에서는 이와 동일한 인터페이스를 “마이크로와이어”라고 부른다.

직렬 인터페이스는 병렬 인터페이스에 비해 몇 가지 장점이 있다. 그 중 가장 큰 장점은 배선이 간단해진다는 것이다. 그 외에 직렬 인터페이스용 전선을 병렬 인터페이스용 전선에 비해 더 길게 만들 수 있는데, 이는 전선 내부의 도선들 간에 누화 등과 같은 간섭이 훨씬 덜하기 때문이다.

SPI에 의해 제어될 수 있는 주변장치들로는 시프트 레지스터, 메모리 칩, 포트 확장기, 디스플레이 드라이버, 데이터 변환기, 프린터, 데이터 저장장치, 센서, 마이크로프로세서 등 여러 가지 형식들이 있다. 데이터가 전선을 통해 시프트 레지스터에 직렬방식으로 들어가면, 각 부시스템에는 병렬처리의 형식으로 전달된다.

폰 노이만 아키텍처

CPU(중앙처리제어장치) 중심의 컴퓨터 구조, 중앙 집권식 명령처리, CISC 가 대표적이다. 프로그램 내장방식를 특징으로 한다.

프로그램 내장방식 CPU 가 프로그램을 실행하는 데 주기억 장치에 명령어와 데이터(오퍼랜드)를 같이 저장한 후에 수행하는 방법

하버드 아키텍처

CPU 가 없는 병렬식 컴퓨터 구조, 각 프로세서 칩들은 자신에게 부여된 명령만 처리하면 된다. 지방 분권식 명령처리, RISC 가 대표적이다.

하버드 구조 프로그램 메모리와 데이터 메모리를 분리시켜서 명령어들은 프로그램 메모리에 저장하고 데이터들은 데이터 메모리에 저장한 후에 프로그램을 수행하는 방식

CMOS (complementary metal-oxide semiconductor)

CMOS[씨모스]는 최근 대부분의 컴퓨터 마이크로칩 내에 집적되어 있는 트랜지스터들에 사용된 반도체 기술이다. 반도체는 실리콘과 게르마늄과 같은 반도체성 물질로 만들어진다. 불순물을 더함으로써 처리된 이러한 재질부위는 음전기로 충전된 여분의 전자들(N형 트랜지스터) 또는 양전기로 충전된 캐리어(P형 트랜지스터) 둘 중 하나의 전도체가 된다.

CMOS 기술에서는 두 종류의 트랜지스터들이 효과적인 전기제어의 방법인 전류게이트를 이루기 위해 상호 보완적인 방법으로 사용된다. CMOS 트랜지스터들은 사용되지 않을 때에는 전력을 거의 소모하지 않는다. 그러나, 전류의 방향이 더 빨리 바뀌기 때문에 트랜지스터들이 뜨거워지며, 이러한 특성은 마이크로프로세서들이 동작될 수 있는 속도를 제한하는 경향이 있다.

정규화 (normalized)

부동 소수점 표시법에서 표현되는 실수의 값을 변경하지 않고, 미리 정해진 범위 내로 가수가 들어가도록 가수를 조정한 다음, 그에 대응하여 지수부도 조정하는 것. 예를 들면, 가수를 1 에서 9.9…9 의 범위에 들어가도록 하기 위해서는 부동 소수점 표시 123.45 X 10² 을 1.2345 X 10⁴으로 정규화한다.

가상화

가상화를 한마디로 정의하면 사용자로 하여금 컴퓨팅 자원의 물리적 특성에 관계없이 접근 가능하도록 하는 기술이다. 물리적 특성의 예를 들면 단일 운영체제, 애플리케이션 또는 저장장치 등의 물리적 자원을 논리적으로 별개의 여러 자원으로 접근하거나 이와 반대로 여러 개의 물리적 자원을 하나의 논리적 자원으로 접근하는 것을 말한다. 가상화는 1960 년대부터 사용된 용어로 현재의 운영체제에서 사용되는 가상 메모리 또한 그 범주에 속한다. 결론적으로 모든 가상화 기술의 일반적인 주제는 캡슐화를 통해 원래의 기술적 내부 특징을 숨기는 외부 인터페이스를 구현하는 것이다. 앞서 말한 예와같이 분산된 물리적 자원의 결합이나 다중 접근 또는 제어 시스템의 단순화를 통해 구현될 수 있다. 최근의 가상화 기술은 적용 영역에 따라 플랫폼 가상화와 자원 가상호로 분류한다.

플랫폼 가상화는 하드웨어와 소프트웨어가 결합된 가상머신을 생성하는 개념이다. 플랫폼 가상화는 다시 그 정도에 따라 완전 가상화, 애플리케이션 가상화 등으로 분류된다. 완전 가상화는 VMWare 와 같이 운영체제 설치가 가능한 하드웨어 환경 자체의 가상화이다. 애플리케이션 가상화는 애플리케이션 실행을 위해 필요한 레지스트리 정보, 파일, 환경변수, 사용자 인터페이스 요소 등을 포함한 환경을 애플리케이션과 운영체제 사이에 구축하는 접근 방법이다.
한편 자원 가상화는 시스템 자원, 저장장치, 네트워크 지원 등을 가상화하는 개념으로 분류할 수 있다. 저장장치의 RAID 구성이나 VPN, NAT 등과 같은 네트워크 관련 기술이 좋은 예다.

Black-Box Test (블랙박스 테스트)

  1. 모듈의 입력과 출력만을 가지고 평가
  2. 기능시험이라고도 함
  3. 기능적으로 프로그래머가 유도했던 결과를 산출해내는지 평가하는 시험

테스터는 소프트웨어 내부 동작은 알 수 없는 상태에서 오직 소프트웨어가 목적으로 하는 동작만을 알고 그 결과를 Test 한다.
Windows 계산기의 경우 3.14159 를 입력하고 sqrt 버튼을 누르면 결과로 1.772453… 을 얻는다. 이 경우 블랙박스 테스트를 수행하게 되면 계산기 소프트웨어가 원주율(pi)의 제곱근을 계산하기 위해 무슨 짓을 하는지는 아무 문제가 되지 않는다. 계산기가 그저 제곱을 계산 해 낼 뿐이다. 소프트웨어가 테스터로서 여러분의 또 하나의 “검증된” 계산 결과를 확인할 수 있고 이 Windows 계산기가 올바르게 작동하는지 결정하게 된다.

White-Box Test (화이트박스 테스트)

  1. 구조시험 또는 glass box 시험이라고도 함
  2. 코드를 분석하고 프로그램에 대한 구조적인 지식을 이용한다.
  3. 프로그램 내의 모든 독립적인 경로를 수행하여 봄으로써 잠재적인 오류를 찾아내는 방법(경로시험)

화이트박스 테스트(클리어박스(Clear-Box) 테스트라고도 함)의 경우 테스터는 프로그램 코드를 직접 이용하여 테스트에 대한 증거로 사용할 수 있다. 즉 박스 내부를 볼 수 있다. 박스 내부에서 보는 것들에 기초해서 테스터는 특정 수치들이 실패에 가깝다고 판단하고 그에 따라 테스트를 변경할 수 있다.

Wear Leveling

NAND 플래시는 10K번을 지움/기록하게 되면 노화 현상에 의해 배드 블럭이 될 가능성이 증가된다. 따라서 전체 NAND 플래시를 균일하게 사용하기 위해 다양한 wear leveling 기법이 사용된다. 플래시 전용 파일 시스템(리눅스용 JFFS 등)과 FTL은 대부분 wear leveling을 지원한다. NAND 플래시를 기존 파일 시스템의 블럭 드라이버에 맵핑(mapping)하는 FTL의 경우에는 physical sector에 맵핑되는 logical sector 번호를 변경함으로써 wear leveling을 구현한다.
NAND 플래시를 끝까지 사용하면 항상 처음 블럭부터 다시 사용하는 방법은 완벽한 wear leveling을 구현할 수는 있으나 블럭 이동과 지움으로 인해 유효한 데이터의 블럭 이동이 빈번해지고 결과적으로 시스템의 성능을 저하시키는 단점이 있다. 따라서 블럭마다 지움 횟수를 관리하면서 현재 유효한 데이터가 가장 적은 블럭을 최우선 지움 대상 블럭으로 선택하는 방법이 wear leveling과 성능을 모두 만족시킬 수 있는 최선의 방법이다.

키오스크

정보기술에서 말하는 키오스크는 지나다니는 사람들을 위해 정보를 표시할 수 있도록 만들어진 소형 구조물로서, 대개 컴퓨터와 디스플레이 화면이 장착되어 있다. 북미지역에서는 쇼핑객들에게 객장을 안내하기 위한 목적으로, 키오스크가 쇼핑몰 입구 근처에 위치하고 있는 것이 보통이다. 키오스크는 또한 무역 쇼나 전문적인 회의에서도 사용된다. 이 단어는 일찍이 터키 및 페르시아어에 근원을 두고 있는데, 그 뜻은 옥외에 설치된 대형천막이나 현관 등의 의미를 갖는다. 여행객들에게 가장 잘 알려진 키오스크는 프랑스 파리의 거리에서 쇼와 영화 포스터를 보여주도록 설치된 것들이다.

좀더 정교한 키오스크들은 사용자와 대화형으로 동작하고, 터치스크린, 사운드 및 동영상 등이 포함된다. 멀티미디어 키오스크를 만드는 전문회사들이 많이 생겨났다. 단순한 키오스크는 HTML 페이지와 그래픽의 사용, 가까운 거리에 있는 사람들의 시선을 끌기에 충분한 크기의 글꼴의 설정, 키오스크 모드에 적합하도록 웹브라우저의 툴바를 제거한 화면을 제공하는 등의 수법을 통해 만들어질 수 있다. 프레젠테이션은 단순히 일련의 페이지들이 반복되도록 설계하거나, 사용자와의 상호작용이나 탐색이 가능하도록 설계될 수 있다. 손수 만든 키오스크에 사람들의 방문을 권하는 별도의 표지판을 갖는 것도 도움이 될 수 있다.

Burst Mode

가상 고속 데이터 전송 모드로 통상적인 비 버스트(nonburst) 기술로 이루어지는 경우보다 상당히 높은 속도의 데이터 전송이 가능하다.
특정 장치가 데이터를 전송할 수 있는 최대 단기 처리량

  1. 주변기기와 입출력시 데이터의 전송을 블록 단위로 고속으로 하는 방식
  2. 입출력 채널을 사용하는 방식으로 하나의 입출력장치가 한 채널을 독점해 고속으로 데이터를 전송하는 것

아무래도 각 장치마다 뜻하는 burst mode 에 대한 정의는 다른 것 같다.
예를 들어 어떤 장치를 read 할 때, 시그널이 '읽을 주소' 다음에 '읽은 데이터' 가 오는 순서로 진행된다고 하자.
이때는 항상 순차적인 방식으로 read 를 하기 때문에 속도가 많이 느려질 수 밖에 없다. 하지만, 여기서는 burst mode 라고 해서 예를 들어 0x1000 에서 0x2000 까지의 데이터를 읽는다고 할 때, 가장 처음에 0x1000 을 주고, 0x2000 까지의 데이터를 연속해서 받아오는 방식이다.
이런 방법은 기존의 방법보다 속도를 월등히 높일 수 있다.

랜더링(Rendering)

렌더링은 그림자나 색상과 농도의 변화 등과 같은 3차원 질감을 넣음으로써 컴퓨터 그래픽에 사실감을 추가하는 과정을 가리킨다. 그래픽 렌더링의 기술 중에 하나로 레이 트레이싱이 있다. 렌더링의 또다른 형태에는 이미지를 레이 트레이싱 처럼 객체별로 하는 것이 아니라, 한번에 한 개의 수직선으로 렌더링하는 주사선 렌더링이 있다.

일반적으로 주사선 렌더링이 레이 트레이싱에 비해 좋은 결과를 내지는 못하지만, 개별 프레임의 이미지 품질이 그리 중요하지 않은 애니메이션 패키지에서 자주 사용된다.

어드레싱 모드

어드레싱 모드는 프로세스가 오퍼랜드 저장장치에 어떻게 접근하는지를 정의한다. 실제로, 레지스터의 사용은 부분적으로 ISA 의 메모리 어드레싱 모드(memory addressing mode) 에 의해 결정된다. 어드레싱 모드의 가장 보편적인 두 가지 유형은 다음과 같다.

이것은 메모리 안의 다른 어떤 곳에서가 아니라 레지스터 안에 있는 데이터를 처리하는 동작만 가능하게 한다. 예를 들어, PowerPC 아키텍처는 로드-스토어 명령어를 위한 어드레싱 모드-레지스터 플러스 치환 하나만을 가지고 있다(이 방식은 상수 인덱스를 가진 레지스터 간접 접근방법과 인덱스를 가진 레지스터 간접 접근방법 등을 지원한다).

이것은 레지스터와 다른 종류의 메모리 안에서 모두 처리될 수 있는 동작을 가능하게 한다. 인텔의 i960 Jx 프로세서는 레지스터-메모리 모델을 기반으로 하는 어드레싱 모드 아키텍처의 한 예이다(이것은 절대 접근방법과 레지스터 간접 접근방법 등을 지원한다).

쓰레싱(thrashing)

만약 어떤 프로세스에게 할당된 프레임 수가 명령어 집합 아키텍처가 요구하는 최소한의 수보다 적게 되면, 그 프로세스는 실행을 한 동안 일시 중단(suspend)하여야 한다.
즉, 그 프로세스의 모든 페이지를 포기하고 다른 프로세스들에게 넘겨주어야 한다. 여기서 우리는 CPU 를 위하여 스왑 인(swap-in), 스왑 아웃(swap-out) 을 수행할 또 다른 스케줄러가 필요하다는 것을 알게 된다(두 개 이상 프로세스가 스왑 아웃되어 있으면 누구부터 스왑 인 시킬 것인가 등을 결정).
일반적으로 페이지 프레임을 충분히 할당받지 못한 프로세스를 연기시키지 않고 실행을 강행시킨다면 페이지 부재가 너무 자주 일어나 프로세스가 실행에 보내는 시간보다 페이지 교체에 보내는 시간이 더 많게 되고 그러면 우리는 쓰레싱(thrashing)이 발생했다고 말한다. 그러한 시스템에서는 CPU 는 거의 놀고 있고 디스크만 열심히 페이징을 하게 된다. 시스템 전체의 작업 처리율은 수천 수만 배 떨어지게 된다. 이와 같이 계속적으로 페이지 교체가 일어나는 현상을 쓰레싱이라 한다.

Zend

Zend 스튜디오의 디버거로 마이크로 소프트의 인터넷 익스플로러와 아파치 웹서버를 사용하는 PHP 코드를 디버깅할 수 있다.
이 브라우저를 사용하면 아파치에서 실행되는 PHP 코드를 한 단계씩 실행할 수 있다. 상업용 소프트웨어이며 http://www.zend.com 에서 받을 수 있다.

XIP(eXecute In Place)

모든 Embedded System 에서 만족되어야 하는 기본 조건. CPU 가 OS 를 Nor Flash 나 ROM 으로부터 직접 읽어와 실행하는 것을 의미한다.
이 경우, Windows CE OS Binary Image 는 NK.nb0 이다. (NK.BIN 이 아니다)
참고적으로 NK.nb0 는 압축되지 않은 이미지이고, 그대로 실행될 수 있는 자료이다.
이처럼 XIP 는 압축되지 않은 OS Image 를 Flash 에서 직접 실행될 수 있기 때문에, 많은 양의 DRAM 을 요구하지 않고, Booting 시간이 빠르고, SDRAM 에 비해서 저전력이다(Flash 자체의 특성 때문).
하지만, Flash 의 Reading Access Time 이 SDRAM 에 비해서 느리기 때문에, Booting 은 빠르지만, 전체 OS Performance 는 느리다. 또한 OS Update 하는 방법이 없거나 있더라도 까다롭다.

I2C

I2C 는 필립스에 개발한 직렬 컴퓨터 버스이며 마더보드, 임베디드 시스템, 휴대폰 등에 저속의 주변 기기를 연결하기 위해 사용된다. I2C 라는 이름은 'Inter-Integrated Circuit' 의 약자이며 '아이-스퀘어-씨' 라고 발음한다.

I2C 는 풀업저항이 연결된 직렬 데이터(SDA)와 직렬 클럭(SCL) 이라는 두 개의 양방향 오픈 컬렉터 라인을 사용한다. 최대 전압은 +5V 이며, 일반적으로 +3.3V 시스템이 사용되지만 다른 전압도 가능하다.
I2C 레퍼런스 디자인은 7 비트의 주소공간을 가지며, 이 중 16 개는 예약되어 있으므로, 동일한 버스에 최대 112 개의 노드를 연결할 수 있다. 가장 일반적으로 사용되는 I2C 버스의 모드는 표준 모드인 100 kbit/s 와 , 저속모드인 10 kbit/s 가 사용된다. 최신 리비전의 I2C 는 보다 빠르게 동작하며, 패스트(fast) 모드인 400 kbit/s 와 고속(high-speed) 모드인 3.4 Mbit/s 를 지원한다. 최대 1008 노드까지 연결가능한 10 비트 주소 지정 등의 확장된 기능들을 지원한다.

CEC

Consumer Electronics Control 의 줄임말로 리모컨 하나로 CEC 가능한 기계를 조작하는 동작을 말한다.

  1. 산업 표준 AV Link 규격 사용
  2. 리모컨 기능 사용
  3. 단선 양방향 직렬 버스 사용
  4. HDMI 1.0 규격에서 처음 정의하고, 1.2a, 1.3a 에서 추가 정의(1.3a 에서는 시계, 음성 명령어 추가)

DVD 플레이어를 예로 들면, DVD 플레이어에 영화 디스크를 넣고 닫으면, TV 는 전원이 들어오고, 입력을 HDMI 로 선택하고, 적당한 영상 모드와 음성 모드를 선택하게 된다. 리모컨으로 TV 를 조작할 필요가 없다. 그리고 영화가 끝나면 TV 는 자동으로 대기 상태로 되돌아 간다.
CEC 는 여러가지 다른 이름으로 불린다. Anynet(삼성), Aquos Link(샤프), Simplink(LG전자)

DLNA

CIFS

CI+

SCART

UEFI

이 UEFI 라는 것은 이전 바이오스가 가지지 못했던 여러가지를 가지고 있는 것으로 기존의 바이오스가 PC와 관련한 하드웨어 즉, 메인보드와 주변기기만을 컨트롤 할 수 있던 것이라면 이 UEFI는 메인보드와 주변기기는 물론이고 PC 부팅이나 운영체제, 운영체제 로더를 호출할 런타임 서비스까지 함께 제공하는 펌웨어라고 할 수 있다.

또한 입력방식 역시 바이오스보다 더 앞선(?)모습을 볼 수 있다. 바이오스의 경우에는 키보드만으로 조작을 해야 했지만 이 UEFI는 마우스 입력까지도 같이 제공하여 사용자가 보다 편리하게 하드웨어 및 OS에 관련한 제어를 할 수 있게 끔한다.

왜 바이오스는 UEFI에 비해 떨어졌나?

그런대 생각을 해보니 웃긴다. 왜 마우스가 나온지 꽤 시간이 지난 후에도 바이오스는 키보드만 인식할 수 있었으며 상당히 도스(DOS)적인 모습으로 지금까지도 사용되고 있는 것일까? 그 이유는 다음과 같다. 먼저 용량문제이다. 바이오스는 64KB > 128KB > 1MB 정도의 용량을 소비했다. 이 말인 즉, 다양하고 화려한 인터페이스를 가지기에는 턱없이 부족한 용량이라는 것이다.

물론 최근에는 이 바이오스의 펌웨어를 담을 수 있는 용량(플레시바이오스)이 32MB까지 개발된 상태이고 이렇게 넉넉한(?) 용량으로 인하여 UEFI를 담아낼 수 있게 된 것이고 말이다. 아 오해의 소지가 있을 수 있어서 말해두는데 플레시바이오스는 32MB보다 더 한 용량을 가질 수 있고 또 그러한 기술도 이미 나왔다. 여기서 말하는 32MB는 바이오스를 기준으로 한것이다.

UEFI VS 바이오스

그런데 단순히 인터페이스적인 부분과 OS관련 부분을 조금 제어할 수 있다고 해서 UEFI가 집중조명 받고 잇는 것일까? 그것은 아니다. 이는 단순하게 펌웨어의 발전 정도만으로는 설명할 수 없다. 조금더 복합적으로 파고들어야 하는데 예를 들어서 위에서 설명한 플래시바이오스의 용량 증가 문제 같은 것들 말이다.

UEFI를 위해서 플래시바이오스 용량이 커지게 된다면 이는 단순하게 PC의 활용도만의 증가로 이어지지는 않는다. 예를 들어서 UEFI에는 프리OS를 탑제할 수 있다. 이와 같은 것을 바탕으로 생각해 본다면 태블릿PC나 스마트폰과 연동하는 쪽에도 연결이 가능하다. 이는 실사례로도 찾아볼 수 있다.

아수스가 내놓은 스마트폰 애플리케이션을 이용해서 원격으로 메인보드를 인식시킬 수 있으며 스마트폰으로 PC 오버클럭을 할 수 있는 것도 가능해진다. 또한 피닉스의 경우 지난해 12월 윈도8에 최적화된 새로운 바이오스 솔루션을 내놓으면서 윈도8 환경을 위한 60개 이상 기능을 추가하기도 했다. 물론 여기에는 모바일 관련 부분도 포함되어 있다.

이런 것 처럼 UEFI를 사용하면 필자가 과거에 말했던 모바일과 PC의 진정한 융화 라는 것에 더 가깝게 다가갈 수 있다.

바이오스가 나온지 그리고 사용된지 언 30년이 다 되간다. 필자보다 나이가 조금 더 많은 이 바이오스는 이제 그 자리를 UEFI에게 넘겨주어야 할 때가 온것이 아닌가 생각된다. 너무 급하지 않게 천천히 물려 주면 된다. 아직 UEFI는 소비자들에게 바이오스보다 더 낯설 테니 말이다. 그리고 이 UFEI를 위해서는 메인보드도 조금 특별해야 하니까…

  • computer/rtcclab/용어_정리.txt
  • Last modified: 3 years ago
  • by likewind