태그 보관물: PC 조립과 수리

[RPI-PICO] 오디오 쥬크박스 만들기 1

라즈베리파이 피코로 쥬크박스를 만들어보려고 합니다. 하드웨어 구성은 살펴볼 필요가 없이 아래처럼 조합했습니다.

라즈베리파이 피코 (RP2040)
Waveshare Pico-LCD-1.44
Waveshare Pico-Audio
Waveshare Dual GPIO Expander

이구요.

https://www.waveshare.com/wiki/Pico-LCD-1.44
https://www.waveshare.com/wiki/Pico-Audio

에서 사양과 해설이 나옵니다. 라이브러리도 제공되네요.

LCD 모듈은 SPI 연결이고 TFT-LCD라고 되어있구요. 스위치가 제공되어 메뉴에서 항목 선택시 해당 기능을 실행하게 하는게 가능합니다. 쥬크박스 메뉴 표시와 선택기로 쓸 것이구요. 라이브러리가 잘 되어 있어서 LCD 구동후 표시한 메뉴에서 스위치문으로 신호를 받아 메뉴가 구현됩니다.

오디오 모듈은 I2C 연결이구요. PCM5101A 디코더가 탑재되어 있습니다. 32비트 384kHz의 사양에 다이나믹 레인지가 106dB이네요. 오디오 모듈 상품에 스피커가 포함되어 있습니다.

둘다 전원은 따로 연결하지 않고 라즈베리파이 피코와 연결된 핀으로 받는 것 같은데 자세한 것은 생략합니다.

우선 PCM 원리를 해설하고 들어가겠습니다.

우리 주변의 소리는 아날로그입니다. 음악소리가 스피커에서 나온다든지, 천둥 소리가 들린다는 것은 아날로그 형태의 음압이 발생해서 사람의 귀로 들어가 뇌가 인식하는 것입니다.

음압을 매질이 진동한다고 보면 파형이 되어 그래프처럼 표현하는게 됩니다.

아날로그 소리는 그래프가 매끄럽게 연결된 상태로 그려지구요. 이를 디지털 기기에서 처리할때는 샘플링이라고 해서 표본값을 얻어내서 좌표에 점찍고 처리가 되는 것으로 유비가 됩니다.

우리가 수학시간에 배웠던 것처럼 그래프를 그릴때 함수값에 따라 얻어진 변화값을 구해서 그래프 용지에 찍고나서 이들을 연결하라고 하죠? 이 연결 전의 점을 얻어내는 변화값 추출이 샘플링이고, 이를 이어주는 것이 고음질로 되는 비법입니다.

진폭을 Y축으로 시간을 X축으로 두고 파형을 그렸을때 1초의 소리 신호를 Y축에 따라 높낮이가 그려지는데요. 이때의 소리 신호를 1초에 몇개의 샘플로 얻어내는지에 의해 그래프가 더 매끄럽게 되듯이 샘플링 레이트가 중요한 사양이 됩니다.

즉 1초에 44100개의 샘플이 가능하면 샘플링 레이트는 44.1kHz가 되고 48000개로 가능하면 48kHz가 되죠. 이는 디지털화되었을때 아날로그값이 손실되는 정도를 줄여주고, 음질도 향상시켜줍니다. 그래서 오디오 CD와 DVD-Audio를 구분하기도 하네요.

이와 함께 몇비트라고 할때는 양자화 단계를 의미합니다. 8비트 양자화가 되면 2의 8승인 256 단계가 가능해지구요. 16비트는 2의 16승, 32비트는 2의 32승이 됩니다. 비트는 두가지 값만 가능하니 전체 가능한 단계가 비트로 표현되면 2의 멱수가 됩니다. 이역시도 비트수가 높아지면 정밀한 파형이 되어 음질이 좋아지게 되죠.

이를 펄스로 다룬다고 해서 pulse구요.

샘플이 취해지고 양자화가 이루어지면 각 샘플에는 이진수가 주어집니다. 16비트라면 0000 0000 0000 0000에서 1111 1111 1111 1111가 가능해지는데 이게 코드(code)입니다.

즉 PCM(pulse code modulation)은 소리를 펄스화해서 코드로 바꾸는 변조라는 의미입니다.

이는 ADC(Analog to Digital Converter)로 자연상태의 소리를 디지털화하게 되구요. DAC(Digital to Analog Converter)를 쓰면 음악파일을 스피커로 출력하는 모듈에 채택이 됩니다. 둘다 가진 모듈이 있고 하나만 가진 모듈도 있는 것 같습니다.

사양적으로 32비트, 384kHz를 제공하는 경우에는 이 전체 사양을 다 만족하는 오디오 데이터라고 해도 늘 이 전체를 다 쓰는건 아니구요. 다이나믹 레인지와 필터링, 인터폴레이션, 밴드 리미트 등의 처리를 해야 되는 알고리즘의 특성상, 사양 그대로보다는 입력 데이터와 처리 알고리즘의 특성에 의해 다 쓰이는 것은 아니죠.

다이나믹 레인지는 보통 6dB 마다 1비트씩 는다고 보면 된다는데, 106dB인 경우 대충 17.6 비트네요.

필터링, 인터폴레이션, 밴드 리미트와 같은 기술은 파형으로 다루는 소리 데이터에 노이즈를 적게 하는 용도로도 쓰이고, 파형 자체를 증폭하거나 커트해야 할 필요에 의해 제정된 기술인데 이게 제작사의 기술력과 관련이 있네요.

PCM5101A 데이터시트에 나온 사양도 이로부터 이해가 됩니다.

일단 이론 공부는 대충 이렇게 해두구요. 조만간 코딩도 해서 올려보겠습니다.

제작사에 문의해보니 제가 구한 제품이 rev2.1이라던데 다시 확인해보니 오리지날 리비전으로 밝혀졌습니다.

rev2.1은 시러스로직의 CS4344를 디코더로 쓰고 오리지날 리비전은 텍사스 인스트루먼트의 PCM5101A를 쓰는데요. 이둘이 거의 같아보여도 후자가 사양이 좋습니다. CS4344는 32비트 192kHz까지 감지가 되는 기종이고 PCM5101A는 32비트 384kHz까지 감지가 되는데요. 다이나믹 레인지가 106dB이니 출력되는 음질은 비슷할 수도 있습니다. 물론 여러 변인이 존재하니까요.

리비전 문제로 인해 며칠 확인작업을 했는데, 전에 쓴 글에 문의를 다시 보낸다고 언급했으나 새로 쓴 글에서 언급을 안해두어 인상이 나빠질 듯하여 추가해둡니다.

Phoronix Test Suite으로 벤치마킹하기

리눅스에서 벤치마크를 할때 여러 프로그램으로 가능합니다. Phoronix Test Suite도 그중의 하나인데요. 이 프로그램을 쓰면 제공되는 여러 테스트들을 활용해서 Processor, System, Network, Disk, OS 등의 카테고리의 벤치마크를 할 수 있습니다.

의존성으로 php-cli, php-xml, php-gd 를 설치하라고 되어있네요.

대충 이명령어로 설치하시구요.

Phoronix Test Suite은 우선 https://github.com/phoronix-test-suite/phoronix-test-suite/releases 에서 릴리즈 파일을 받아서 설치하면 되구요. 리눅스 민트 계열은 deb 파일을 받아서 설치하면 됩니다. deb 파일이 지원되지 않는 리눅스 배포판은 tar.gz 파일을 받아서 압축을 풀고 install-sh 파일을 실행해서 설치하면 됩니다.

지원되는 테스트는

로 확인하면 됩니다.

상세한 정보는

으로 확인하구요.

아래 명령어로 일괄적으로 처리할때 필요한 셋업을 합니다.

아래 명령어로 실재 벤치마크를 실행합니다.

list-tests 로 확인한 테스트명을 입력하면 되구요.

처럼 하면 pts/osbench 테스트가 실행됩니다.

이 작동 방식 외에도 여러 옵션이나 변수 설정, Phoromatic server 사용도 가능합니다.

https://github.com/phoronix-test-suite/phoronix-test-suite/blob/master/documentation/phoronix-test-suite.md

에서 제공되는 PDF 문서를 참조하세요.

IT 기술을 배울때 채택하면 좋은 방법 – 연역과 귀납의 경험적 운용

IT 기술은 그 역사의 흐름과 기술 발전의 흐름에 맞추어 오래전의 기술도 배워야 하고 이후에 바뀐 기술도 배워야 합니다. 이는 기술 이해가 체계적이라 기존의 기술도 알아두면 이후의 기술에 대한 이해가 깊어지기 때문이구요. 기술을 실재 상황에 적용할때 기지를 더 발현하기가 좋게 되서네요.

흔히들 일상언어로 말할때 “다 안다고 자만하지 말고 겸손하게 임해”라는 말도 흡사한 전제인데요. 기초를 배웠을때 다 안다고 생각하는 경우도 있게 되고, 자만하지 않더라도, 기초를 기술하는 개념 몇개만 알고 멈출때보다 더 많이 알려고 하는 의지를 가지게 해주는 말일 것입니다.

물론 해킹이나 과학기술 계통에서 있는 고수가 하수를 대하는 특수한 방법들(흔히 맨스플레인이라고 하는 방법들)을 상기시키는 말이기도 한데, 원칙은 위에서 언급한 공부 태도를 길러주는 방법입니다. 위의 말이 이렇게도 쓰이는 것은 IT도 사람이 하는 분야라, 한 표현에 결부되어 부착된 문화라서이고, 이 이해도 기존의 기술과 이후의 기술을 잘 알아두는 태도에 의해 더 잘 이해가 될 수 있습니다.

이 체현을 위해 생각해볼만한 한가지 정보가 되는 IT 기술 공부법의 노하우를 어떻게 채택하면 좋을지 말해보겠습니다.

어떤 경우, IT도 과학이기에 체계적이기도 하고 논리적인 판단이 일정 부분 적용되는 분야가 IT라, 스키마를 잘 짜두면 판단의 체계에 의해 잘하는 인식으로 안착하기도 합니다. 연역이 가능한 부분이구요. 귀납적인 것을 추가한다면, 실시간으로 작동흐름을 살펴서 판단하는 방법도 있습니다. 그런데 이 경우에 연역이 가능한 부분과 귀납이 가능한 부분을 잘 구별해야 합니다. IT가 수학적이라 연역이 되더라도, 사용이나 경험에 의해 부가되는 분야라, 사용자의 동기나 맥락 등의 영향을 받아 같은 알고리즘도 다른 방식으로 인식될때가 있어서네요.

예를 들면 사이트 지표 측정 도구에서 실재로는 연결이 안느린데, 사이트 속도 지표 점수가 확 낮게 나오는 경우가 있습니다. 이 경우 여러 추측이 가능하지만, 제작 의도에 따라서는 지금 당장은 안느리더라도 사용자가 많아질 것을 예측해서 점검해보게 하려는 일괄적인 권고이기도 하구요. 지켜두면 좋아서 권고하는 경우가 많습니다. 하지만, 실재로는 안느린 조건에서 보면 SEO 적용에 부담이 가기도 해서 스트레스 유발 요인이 되기도 합니다. 다시 말해 제작 의도와 사용 경험이 서로 어긋나는 경우도 상당히 많다는 것이죠. 이는 원칙 하나만 알아서는 안되는 경우입니다. 때로는 제작 의도가 더 말이 되는 경우도 있으나, 둘다 맞는 경우도 있죠. 이는 연역과 귀납의 조화로운 운용이 필요한 경우입니다.

연역은 보통 논리라고 인식됩니다. 전제가 옳으면 결론이 틀릴 수가 없습니다. 이는 프로그래밍 방법론에서 특히 잘 통용되죠. 그런데 귀납적이어야 할때도 있습니다. 하나의 지식만 알고 여러 소프트웨어를 작동시키다보면 체계적이고 논리적이라고 생각했던 판단이 적용이 안될때가 있습니다. 이 경우는 IT 기술은 경험에도 의존하고 있는 체제이고, 고도화된 기술들이라 제작자가 만든대로 작동하기에 단일한 작동방법으로는 작동이 안될때가 상당히 많죠. 다시 말해 작동방법의 경우의 수를 다 알면 좋구요. 소프트웨어마다 다르다는 것을 전제해두어야 당황스러움을 줄일 수 있습니다. 여기서 작동방법의 경우의 수를 다 알아두는 것은 위에 말한 “다 안다고 자만하지 말고 겸손하게 임하는 것”에 의해 가능해집니다.

단순하지만 초심자 시절에는 혼동되는 것은 어떤 경우는 마우스 한번클릭으로 작동하고 다른 경우는 두번클릭으로 작동할때가 있고, 휠을 돌리면 스크롤되는 깊이를 조정한다든지, 맥에서는 휠을 올리면 스크롤이 내려가는 등등의 구별점도 관련 현상이구요. 대부분의 경우 이를 미리 안말해줘도 고려하는 능력들이 다 있는데, 특수한 경우 단일한 경우만 상정하는 경우도 있어서 당황하기도 하네요. 경험이 중요하구요. 어떤 경우 타과학하신 분들 중에서는 과학의 일양성에 대한 인식을 IT에다가도 적용하시고 어려운 것부터 보시기도 하는데, 활용법은 쉽게 알 수 있어도 기술적인 것이나 원리는 기초부터 배워야 합니다. (부끄러우시면 집에서 몰래 보면 됩니다 (?)) 고도화되어 기술들이 겹쳐지고 발전하면 이해도 꽤 어려워지구요. 논리나 체계도 중요한데, 문제 해결에 있어서는 경험이 중요하죠.

UEFI 펌웨어의 경우에도 BIOS 시절의 지식을 알면 시스템 고장의 원인을 알게 되는 진입로가 되는데요. 이 경우에도 기존의 지식과 새로운 지식을 융합해서 이해하려는게 중요합니다. 시스템 리저브드 파티션이나 NVRAM 등에 대한 인식이 가능했다면 잘하는 것입니다. 이에 대해서는 직접 살펴보세요. 이 기술들은 PC 고장과도 관련이 있어서 하나만 알아도 아주 기분이 확 살아나는 지식인데, 이 경우에도 정말 많은 것이 더 배움을 기다리고 있는 경우입니다.

그래서 초심자 시절에는 개념을 확실하게 잡기 위해 이미 정해진 표준 언어로 사태를 기술한 표현으로 배우되, 표현의 의미보다는 표현의 연관을 살피는게 요령입니다. 프로그래밍을 할때 IDE가 표시한 오류에 의미만을 생각하면 문제가 있는 라인으로 가봐도 문법적인 오류가 없는 경우가 있구요. 이 경우에는 오류 메시지의 표현의 의미보다는 표현이 지시하는 연합된 원리를 떠올려보려고 노력하면 좋습니다. 이것을 초심자 시절에는 어렵다고 하는 것은 실력이나 자격 문제라기보다 경험이 없어서인데, 요즘은 비전공자분들에게도 친절하게 원리를 알려주는 문헌과 인터넷 자료가 많으니 보시길요.

한 현상에 대해 잘 알려진 규칙만이 정답이 아님을 아는 것도 좋습니다. 보통 이상 현상은 잘 알려진 규칙을 비틀고 얽히게 해서 일어나니까요.

인터넷이 안된다고 하면 보통 네트워크 장치 리셋이나 라우터를 보라고 하는데 이 경우에도 경험이 많아지면 그이상도 보게 될 수 있습니다. 라우터 펌웨어가 변조되었다든지, 운영체제의 ARP 문제라든지, 네트워크 구동 소프트웨어에 유저권한이 바뀌었다든지, 파일이 리패키징된 등등의 가능성을 알려고 하는 진입점도 이 글에서 말하는 태도를 잘 알면 가능하구요. 전공이 아닌 분야더라도 문제 원인만큼은 잘 알게 되어 질문이나 수리 요청도 아주 잘하는 실력 향상으로 이어질 수 있습니다.

잘 해설받은 루트가 중요합니다. 요즘은 큰 업체에서는 자기들 사이트에 문서들을 공유하는데 이를 참고하시구요. IT적인 글은 개념을 떠올려야 하는 부분과, 써본 경험에 의해 사용과정을 떠올려보는 부분을 잘 구별할줄 알면 잘하시는 것입니다.

보통 신계급 또는 위자드리라는 칭찬도 받는 분들이 계시는데 그분들도 이글에서 말한 연역과 귀납을 잘 운용해서일 것입니다. 일단 이렇게 해설해둡니다.

WiFi로 연결된 프린터가 인식이 안되는 문제

WiFi로 연결하는 프린터가 인식이 안된다면 아래와 같은 문제를 점검해보면 된다.

(1) 프린터와 PC가 같은 라우터에 연결되어 있는가?
(2) 드라이버가 손상되거나 변조되었는가?
(3) 프린터 펌웨어가 손상되거나 변조?
(4) 사용자 권한 문제

이 중에서 특수한 조건 하에 있게 되는 문제로 특기하고 싶은 것은 (1)이다.

특수한 조건이란 이러하다. 모종의 이유로 라우터를 두대를 연결해서 쓰는 경우가 있다. 요즘은 모뎀과 라우터가 한 기기로 제공되는 경우가 있는데, 가정용 라우터는 대부분 RJ45 커넥터가 4개 제공된다. 이 커넥터에 연결해야 하는 기기 대수가 많으면 모뎀 라우터에 다른 라우터 하나를 더 연결해서 쓰기도 한다. 이렇게 연결된 특수한 조건에서 생각지도 못한 일이 있을 수 있는데 WiFi로 연결한 프린터가 인식이 안되는 문제다.

이 경우 (2)부터 (4)까지를 우선 보게 된다. 그래도 문제가 해결이 안되면 오리무중에 빠지는데 이러할때 생각해볼만한 것이 있다. 프린터와 PC가 같은 라우터에 연결되어 있을까?

모뎀 라우터는 192.168.0.xxx 대역이고 PC가 연결된 라우터는 192.168.1.xxx 대역이라 서로를 경유해서 참조가 안되는 것 같다. 그래서 같은 IP 대역인 경우여야 즉 연결시킨 라우터가 같아야 프린트 신호가 프린터에 연결된다.

한가지 더 말해보자면, 이런 것도 고려해보면 좋다.

모뎀 라우터와 PC가 연결된 라우터가 모두 2.4G, 5G를 제공한다면 각각 다른 SSID를 붙이는게 좋다. 즉 모뎀 라우터는 Battery-D 2.4G, Battery-D 5G로 이름붙이고, PC가 연결된 라우터는 Razzle-Dazzle 2.4G, Razzle-Dazzle 5G 처럼 해두는게 좋다. 일관되게 식별이 되게 붙이는 게 좋다. 때로는 모종의 이유로 모뎀 라우터에 Battery-D 2.4G, Razzle-Dazzle 5G 처럼 변조되면 WiFi 리스트만 봐서는 속아지는데 이 경우 (1)을 알아도 모뎀 라우터인지 구별이 실패하게 되서 같은 라우터에 PC와 프린터가 연결이 안된지를 모르게 된다. 이것도 인식안되는 원인중 하나일 수 있다.

그외에 (2)부터 (4)까지는 다들 아시는 바 그대로다. 이런 경우도 있긴 하다.

프린터에 리셋 기능이 있는데 이 리셋 기능이 가능한 것은 프린터 내부 저장장치에 복구되는 데이터가 존재하기 때문이다. 이 경우 복구되는 데이터가 변조되면 리셋시 변조된대로 된다. 이 경우에는 할 수 있다면 펌웨어 업데이트를 수동으로 해보면 된다. 즉 업체에서 수동으로 파일을 다운로드 받아 이 기반에서 업데이트하는 것이다. 이 경우 고약하게 고장난 것만 아니라면 해결이 된다. 이 경우에도 널리 알려진 (2)만 해보다보면 인지가 안될 수 있는데 알려진대로 안되면 해볼만한 방법이다.

일단 이정도만 살펴봐도 대부분의 문제가 해결되는데 안되면 시스템 복구나 타임머신 등을 이용해보면 될 수 있다. 대체로 위 네가지 사항만 해결되도 고쳐지는데, 안된다면 프린터만 문제가 아니라 PC 설정 문제도 겹치는 수가 있다. 이 경우 운영체제 재설치와 하드웨어 리셋이 필요하고 그래도 안되면 고객지원이 빠른 방법이다.

태블릿 해킹의 한 유형

태블릿을 쓰다보면 배터리가 갑자기 쑥쑥 소모되기 시작합니다. 이 경우 구입하고 시간이 지나가면 배터리 사이클 문제라고 생각하는데요. 사이클 문제일 수도 있지만 특수한 경우 이런 것이 원인일 수도 있는 것 같습니다.

안드로이드는 오픈소스라 소스코드를 구해서 변경하는게 쉽습니다. 배터리 사용량을 측정하는 태블릿 내부 파일이 변조되어 누군가 태블릿에 심으면 물리적인 배터리는 아직 쓸만한데, 배터리 잔량 측정 미터가 부정확하게 되는 경우도 있는 것 같애요. 실재 물리적인 배터리 잔량이 70%인데, 배터리 잔량 측정 미터는 5%로 표시한 경우, 물리적인 배터리 잔량이 넉넉히 남아있어도 태블릿이 변조한 파일에 의해 잘 못 감지해서 전원이 꺼지는 것? 이 경우가 맞다면, 배터리 잔량이 70%인데도 충전해야 되니, 재충전 반복하게 되어 배터리 사이클이 사후적으로 확 나빠지는데 이게 사용자 책임처럼 되는…

정리하면 배터리 소모량이 큰 경우는 아래 가능성이 각각 이거나 동시일 수 있는데요.

(1) 배터리 충전을 자주 해서 사이클이 짧아짐

(2) 태블릿 내부 파일이 변조되어 잔량 측정이 부정확해짐

이구요. (2)는 (1)을 야기하기도 한다는 것. 즉 사용자는 아무런 변경도 안했는데 (1)처럼 되서 문제가 큼.

(2)를 야기해서 실재로 (1)이 발생하면 그때 다시 본래 파일로 되돌리면 더욱 고약해집니다. 왜 그런지 원인이 사라진 것이니까요.

블루투스도 끄고 배터리 세이빙 모드를 켰는데도 1분에 1%씩 소모되면 (2)를 의심할만 합니다.

삼성 M7 4K 모니터 (2020) 사용감

4K 모니터로 옮겨오려고 생각해오던 중에 삼성 사이트에 가보니 단종 직전에 재고정리하느라 싸게 파는 그것도 할부로 되는 기종이 있어서 구해서 잘쓰고 있다. 사양은

(1) UHD 지원
(2) 32인치 VA 패널
(3) 8비트 비트 심도
(4) HDR 지원
(5) IPTV 기능 내장
(6) 3000:1 컨트라스트 레이트
(7) HDMI 포트 2개, USB 허브 기능 내장

이정도이고 24개월 20불 할부다. (무이자)

사용하는 목적은 안드로이드 에뮬레이터를 큰 인치수로 세팅하면 화면에서 잘려나가 이를 상쇄하고자 한 것이었고, 사진처리나 영상처리 목적은 비중은 안두었다. sRGB는 97% 칼리브레이션이 공장출하이고 AdobeRGB는 지원하지 않는다. 대신 HDR 지원이라 영상캡처, 편집에 조금은 나은 것 같다. 8비트 VA 패널이라고 하던데 8비트 패널에 HDR 지원은 큰 메리트는 없다. HDR이 풀로 지원되려면 10억개 이상의 칼라 표현이 되어야해서다. 이 모니터는 HDR 지원시 윈도우 11에서 기능을 켜면 밝기가 확 올라간다. 눈이 매우 부신데 영상을 틀고 멀리서 볼때는 괜찮다. 그러나 작업할때처럼 가까이서 보면 눈이 확 나빠진다. 그래서 설정에 들어가 밝기를 낮추고 선명도를 높히는게 좋다. 내 안경은 필터링 기능이 있어서 맨눈으로 볼때보다는 눈이 편안하지만, 밝기가 높아지면 이역시도 안경 렌즈가 소용없다. 그러니 멀리서 시청할때 HDR을 잠시 켜두는게 좋을 것 같다.

GTX 1650 super가 마침 4K 출력을 HDMI 2.0으로 지원한다. HDMI 2.0은 비트 심도가 4:4:4면 8비트가 최선이다. 영상을 돌려보면 그럭저럭 괜찮다. 거실의 HDTV는 FHD이고 4:2:0인지, 유튜브에서 밝은 백인 교수님의 이마의 명암이 뭉개져 보이는데 이 모니터는 괜찮다. 눈도 안부시게 자동으로 내장 유튜브앱 실행시 튜닝해주는 것 같다. 사실 부팅이 되면 유튜브를 웹브라우저로 보면 되다고 볼 수도 있는데, 윈도우 복구 기능이나 장시간 영상 인코딩 걸어두고 모니터 기능으로 작동하는 IPTV 실행해서 시간보내면 좋다.

HDR 지원인데, rec 2020 같은 영상 색공간 지원인지는 미확인이다. 캡처 장치가 이 기능을 아웃풋에 제공하는데 미확인이다.

안경을 안쓰고 보면 충분히 IPS와 경쟁력이 있으나, 오래보면 전에 쓰던 2012년쯤 제품인 HP IPS 패널 FHD 모니터에 비해 눈이 피로해지고 밝기를 낮추어야 하는 점은 단점이다. 그래도 충분히 잘 조합하면 화질은 안나쁘다. 다만 내 경우 근시안이 더 나빠지는 것 같다. 안경 필터링이 되는 경우 괜찮다.

삼성 캐나다 사이트에서 보니 타 4K 모니터는 가격대가 400불 이내인 경우 4K일때 다들 VA 패널이고, 이보다 조금 올라간 가격에는 QHD 모니터다. 4K이고 IPS면 가격이 1200불 이상 된다. 이역시도 요즘 할부 판매라, 좋은 모니터 필요하시면 구해보셔도 괜찮은 것 같다. 지금 쓰는 480불 정도의 M7 32인치 4K 모니터는 2020년 기종인데 싸게 팔아서 구했으나 그럭저럭 준수하지만, IPS가 반드시 필요하고 HDR도 높은 사양이 필요하면 이모니터보다 4K IPS로 가든가, 4K QHD로 가기를 추천드린다. 이 모니터는 IPTV 기능이 없으면 300불 이내로도 되는 것 같다.

일단 4K가 되고 VA 패널이지만 준수한 화질에 (설정 조정) 10억 칼라는 아니더라도 HDR이 되고 HDMI 2.0 (ARC)와 일반 HDMI 포트가 두개인 점, USB 허브 내장인 것 등은 쓸만하다.

칼라 컨트라스트도 이 가격대에서 3000:1이면 준수한데, 물론 고가형에서는 이정도보다 높게 만들더라.

살펴보니, 40인치 넘어가는 같은 시리즈 모니터도 있던데 와이드 아닌 40인치 초과 모니터로, 이역시도 한번 실물보고 써보고 싶기도 하다. 일단 만족하면서 쓴다. 사진처리할때도 선명도 높은 사진도 잘표시하고 아닌 사진도 의외로 잘표시해준다. 대신 카메라에서 AdobeRGB로 찍은 사진이라 손실은 있겠는데 잘 안느껴진다. 영상처리도 화면 모드 바꾸면 화질이 괜찮아보이는데, HDR 가이드라인이기는 해도 화면 밝기가 너무 밝아져서 멀리 앉아 봐야 한다는 것은 챙겨둬야하겠다.

사용기를 보면 다들 만족하던데, 작품활동 한다면 더 좋은 모니터가 좋고, 일상적인 사용에 4K가 되는 32인치가 필요하다면 적정가격에 4K와 IPTV가 된다는게 필요한 분들이 있다. 단, 독립된 IPTV가 필요없으면 IPTV 가격의 메리트를 같은 가격대의 타 4K 모니터에 쓰면 좋을 수 있을 것이다.

이렇게 사용감을 정리해본다.

컴퓨터 구조와 조직에 대한 구별점

지난주에 구해서 읽은 전자책 네 권이 모두 주옥 같다면 이번에 구한 종이책 두 권도 매우 주옥같다.

클레멘츠 박사님의 저서
스톨링 박사님의 저서

이 두 권을 저본 삼아 보면서 정공법으로 읽기로 했다. 참고 문헌도 다 찾아보고 있다. 지금은 컴퓨터 구조와 조직(computer architecture and organization)의 정의부터 살펴보고 있다. 그저 단순한 단어의 정의가 아닌 개념적으로 어떻게 구별되는지가 중요하다. 이번 장에서 이를 설명할 수 있는지도 학습목표라 잘 해두어야겠다.

우선 구조는 인스트럭션 세트 구조라고도 하는 구성 요소로 프로그래머에게 쓰이는 것들 즉 프로그램에 논리적 수행에 직접적 영향을 주는 시스템의 특성들을 말한다. 예를 들면 인텔 x86 계열 CPU와 IBM의 PowerPC는 다른 구조(architecture)다. 반면 조직(computer organization)은 컴퓨터 구조에서 정의한 명령어 실행 구조를 직접 하드웨어적으로 구현한 것으로 연산 장치들의 상호 연결을 말한다. 조직적 속성에는 프로그래머가 신경안써도 되는 내부 하드웨어 사항인 제어 신호, 컴퓨터 부품들끼리의 인터페이스 등이 있다. 구조적 속성에는x86 아키텍처, PowerPC 아키텍처 등이 있다. 이 둘은 인스트럭션 세트의 관점에서 서로 다르다. 그러나 조직적으로는 공유하는 관점이 있다. 전자는 MMX를 지원하느냐가 있고 후자는 레지스터를 어떤 제어 신호로 쓰는지와 같은 것이 있다. (이는 내 이해를 더함)

명령어의 공통된 특성 즉 인스트럭션 세트의 관점에서 볼때 어떤 컴퓨터가 어떻게 곱셈 명령어를 가지게 할 것인가의 여부는 아키텍처적인 설계의 하나다. 이 곱셈 명령어를 특수한 곱셈 유니트로 구현할 것인가, 또는 덧셈 유니트만으로 반복 연산하게 할 것인가는 조직 설계의 차원이다. 즉 조직 설계는 곱셈 명령어의 예상 실행 빈도와 두 방식 간의 상대적 속도, 특수 곱셈 유니트의 가격과 크기 등이 고려된다. (이는 전적인 요약) 즉 인스트럭션 세트는 아키텍처이고 이를 실재로 구현하는 사양들간의 배분과 세부 설계를 컴퓨터 조직이라고 한다.

아키텍처는 명령어들의 공통된 기준을 정의하고, 조직은 아키텍처가 실재로 수행하는 것을 사양으로 조합한 것이다. 예를 들면 앞서 말한 명령어 수행 방식의 하드웨어적인 구현, 제어 신호, 컴퓨터 부품끼리의 인터페이스는 다른 아키텍처의 컴퓨터들에 대부분 실재적으로 수행하는 것이 개별적으로 구현된 사양으로 개별적으로 채택해서 조합하기도 한다.

같은 x86 계열의 컴퓨터들도 아키텍처는 공유하더라도 내부 버스 속도는 다르며 PCI 인터페이스만 지원하기도 하고 PCI-E 인터페이스를 제공하기도 한다. 개별적인 사양의 실현에 의해 조합된 것의 성능은 다르다. 가격도 다르다. 프로그래머의 관점을 일단 배제하자면, 하드웨어 제작자와 구매자의 관심사는 가격과 성능이 최고로 일치하는 사양을 정하는 일이다.

가격과 성능이 발전해가는 것은 구조와 조직의 상호 관계에 의해 정해진다. Ryzen 5 5600X에 RTX3090을 쓰는 컴퓨터와 Ryzen 3 CPU에 Radeon HD 7750을 쓰는 컴퓨터는 아키텍처가 같아도 가격과 성능이 제각각이다. 사용자들은 가격을 더 지불하면 더 높은 조직을 가진 컴퓨터로 바꿀 수 있는데 이는 구조와 조직이 조합되어 결정되는 시스템 성능과 사양을 바꾸는 것이다. 하드웨어 개발자들은 CPU 아키텍처를 바꿈으로써 구조적 이점을 살리며 각각의 세부 칩셋들의 차이를 둠으로써 조직적 이점을 살린다. (내 이해에 기반)

하드웨어 개발자들은 몇년간 같은 아키텍처를 지속하면서 조직적 이점도 살리려고 한다. 새로운 아키텍처가 속속 발표되고 이에 따라 조직적 속성도 일부 변화한다. 때로는 반대로 조직적 속성이 바뀌어야 하면 구조적 속성도 변화한다. 이처럼 컴퓨터는 구조와 조직적 속성이 상호 연결에 의해 바뀌면서 고성능으로 발전해간다. (인터페이스 사양이 우선 제정되고 CPU가 뒤따라 지원하기 위해 칩셋이 새로 발표되는 경우)

이정도가 핵심이고, 인용된 문헌을 뒤져서 이를 심화하는 글을 써야 한다.

약간 문장이 잘 안읽히는 문체가 된 것 같은데 일단 세부 문헌 탐구후 이해가 깊어지면 내 스스로 해설을 해보겠다. 이번 글에서도 내 표현대로 해둔 단락이 더 많다.

포괄적이라고 알려진 판단 근거가 판단에 기여하지 못하고 방해하는 경우

보안 문제로 인해 일어난 PC 관련 문제들은 여러 양상들이 조합되어 나타나기 때문에 판단을 돕기 위해 포괄적인 지침들이 고안되어 기준이 된다. 이는 여러가지 세부를 골치아프게 안 생각하더라도 비교적 체계적이고 단계적으로 문제 원인을 생각해보게 한다.

루틴적으로 처리한다고 하는데 이는 복잡한 실재 원인들에도 불구하고 문제 해결이 가능할때 효용이 있다.

예를 들면 기성품 PC를 수리할때 루틴적으로 처리하는 방법 중에서는 메인보드에서 HDD를 인삭하지 못하면 제작사에서 OS 세팅된 HDD를 오더해서 교체하며 경우에 따라 메인보드와 OS 세팅된 HDD를 오더해서 교체하기도 한다. 이는 메인보드와 OS, HDD에 문제가 생기면 어느 하나를 특정하기도 애매하고, 특정해도 OS가 문제일때 메인보드에 문제를 줄 수 있고 그 반대도 가능해서, 최소한도의 비용으로 포괄적으로 문제 해결을 하는 방법으로 지침화된 것이다.

그런데 보안 문제가 겹치면 루틴적인게 판단 오류를 만들기도 한다.

그래픽 카드가 갑자기 오작동한다. 이 경우 루틴적으로 아래와 같은 판단이 추천된다.

(1) 드라이버 재설치
(2) 한 PC에서 PCI-E 바꿔달아보기

이게 다 안될 경우

(3) 집에 있는 다른 PC에 달아보고 판단 (그래도 작동안하면 그래픽 카드 불량)

처럼 판단한다. 그런데 알고보니 보안 문제가 겹쳐서 집에 있는 모든 PC가 해킹당한 결과라면, (3)까지 했을때 낭비가 있게 된다. OS와 메인보드 문제인데도 그래픽 카드를 바꾼 경우, 그래픽 카드 구입 비용이 클 뿐아니라, 메인보드 문제가 해결이 안되었으니 낭비가 크다. 이경우 메인보드 오류가 뒤늦게 인식되고, 교체비용이 더 든다.

물론 복잡하고 고약하게 고장나면 OS, 모든 PC, 그래픽 카드 전부다 문제일 수도 있어서 단정은 안하자는 것이지만, 루틴적으로 알려진 판단 과정에서 보안 문제가 겹치면 그 판단 과정의 일부에서 균열이 일어나 판단을 방해하는 경우가 있다는 것이다. 그래서 내 추천은 특정 해결 방법이 안통할때는 적용후 안된다고 적용-결과를 보기보다, 왜 적용-왜 결과를 알아내려고 하는 태도를 갖추면 해커가 속이더라도 경험이 되어 휴리스틱한 판단이 되는 역량으로 이어진다는 것이다.

이해가 잘 되게 말한지 모르지만 일단 (1) 한 오류에 다른 오류가 겹쳐져서 있게 되는 오류 (superimposed condition) 또든 동시성의 원리 (2) 논리적 판단은 명료성을 위해 한번에 하나만 생각해야 할때의 맹점 (blind trust to logic) 이 두가지가 늘 가능성이 있음을 전제하면 더 빠릿하고도 비용이 절감되는 해결 방법을 찾게 된다고 생각한다.

일단 올려본다. 문장이 복잡해진 것 같은데 이해는 되실 것이다.

잉크젯 프린터 가격과 인쇄 품질 / 프린터 수명등

요즘은 PC를 구입하면 프린터를 공짜로 줄 정도로 프린터 가격이 많이 내렸다. 내가 2005년쯤부터 쓰던 캐논 잉크젯 프린터는 본체 가격이 40불 정도로 (3만 2천원) 아주 저렴했다. 잉크도 카트리지가 30불 정도 했던 것 같다.
 
하지만 저렴한 프린터는 그만큼 성능이 받춰주지 않는다. 포토 인쇄가 되는 점은 있으나, 잉크가 수용성이라 물 묻으면 잘 지워진다. 잉크 카트리지도 저렴하지만 다른 프린터의 삼분의 일 용량밖에 안되서 소모가 빨라 결국 같은 값이거나 더 낸다.
 
프린터 수명도 짧은 것 같더라. 교체해야 되는 시기가 빠르다.
 
그래서 아주 프린터에 신경을 쓰지 않는 경우를 제외하고, 전문적인 인쇄를 해야 되는 경우라면, 가격을 좀 더 높혀잡고 제품 선택을 할 필요가 있다. 비싸면 비싼만큼 기능을 한다.
 
비싼 프린터 중에서 엡슨 제품은 액적을 더 작게 여러 번 뿌릴 수 있어서 예술가들에게 적합하다고 알려져 있다. 그러나 이 경우에도 프린터 헤드가 프린터에 고정된 형태라, 수명 문제가 있을 수도 있다던데, 이것도 잘 살펴보면 좋다.
 
그리고 전용 잉크의 색료가 무엇인지 (염료? 안료?) 용제에 어떤 성분이 주된 것인지 (잉크가 잘 번지나?) 이것도 문의해서 알고 구입하면 실패가 없을 것이다. 염료인 경우 물에 녹고 입자가 작아서 흡수력이 좋다. 안료인 경우 입자가 커서 피인쇄체 표면에 머무는 입자가 많은데 이 경우 색상 표현에 유리할 때도 있다. 용제 또한 잘 살펴야 물이 묻었을때 안번지는 잉크를 쓸 수 있다.
 
대개 싼 프린터들은 어느 정도 품질은 보장해도, 세세한 부분에서 낮은 품질이나 성능을 보이게 구성된 경우도 있으므로 잘 분별해서 선택해야 한다.
 
요즘 잉크젯들은 ecosystem 이라고 해서 제작사에서 리필을 가능하게 해서 출시한 제품들이 많다. 새로 구입한다면 이런 제품을 쓰면 좋다.

CPU 코드네임

IT 업계에서 하드웨어/소프트웨어 개발시 프로젝트에 별명을 붙여 개발이 진행되는데 이때 붙여지는 별명을 코드네임이라고 합니다. CPU에도 코드네임이 붙습니다. 예를 들면 같은 인텔 Core i3 CPU도 발표 시기에 따라 Sandy Bridge니, Ivy Bridge니 하는 다른 코드네임을 갖죠.
 
보통 CPU가 새롭게 발표되면 경우에 따라 다르지만 대개 마더보드 아키텍처도 새롭게 바뀝니다. 그러면 램 사양도 바뀌고 주변기기를 달아쓰는 인터페이스 사양도 바뀝니다. 일반적으로 일반 사용자들은 CPU가 뭐냐, 램 용량이 몇기가다 이정도로만 판별하는데 사실 CPU가 새로워지면 덩달아 램 사양이 바뀐 경우, 용량만으로는 성능을 정밀하게 나타내지 못합니다. 이는 다른 하드웨어 사양도 마찬가지 입니다.
 
그래서 CPU만으로 사양을 다 유추할 수 있게 고안된 방법이 CPU 브랜드명과 코드네임을 함께 말하는 방식입니다. 식자들은 CPU 브랜드, 발표 시기, 램 데이터 전송폭, 하드디스크 인터페이스, USB 버전, 그래픽 카드 인터페이스 등등을 따로 말하면 정밀하더라도 번거롭기 때문에, CPU 브랜드와 코드네임으로 소통합니다. 코드네임으로 소통하면 성능을 보다 더 정확하게 유추할 수 있습니다.
 
즉 “나 인텔 Core i3 Ivy Bridge 쓴다”라고 하면 발표 시기와 다른 부속 하드웨어 사양도 손쉽게 알 수 있죠. 그래서 CPU 코드네임을 알아두면 소통과 판별에 딱 좋습니다.
 
CPU 브랜드와 코드네임으로 판별하면 좋은 또 다른 점은, CPU가 Core i3여도 한참 전의 출시 제품일 수도 있고, 램이 같은 용량이어도 구식임을 모르고 사는 실수를 방지할 수 있다는 것입니다. 그래서 PC 구입시에도 CPU 브랜드와 코드네임을 살펴보는게 추천됩니다. 똑같이 Core i3이고 램이 4GB로 표시되도 구형인지 아닌지 판별이 쉽게 됩니다.
 
예외적으로 간간히 발표되는 최고급 사양의 코드네임 아키텍처는 시간이 지나도 성능이 아주 좋아서 여전히 쓰이는 경우가 있긴 합니다.
 
참고로 CPU는 코드네임에 따라 1세대, 2세대, 3세대, … 처럼도 불립니다.
 
최신 코드네임을 알려면 위키페디아에서
 
List of Intel microprocessors
List of AMD microprocessors
 
이 두 검색어로 검색하면 역대 발표된 양사의 CPU가 리스팅되고 코드네임도 나오니 확인이 편리합니다.