루크업 테이블을 사용한 UTF-8 디코딩 최적화: 분기 없는 접근 방식

2025-09-06
루크업 테이블을 사용한 UTF-8 디코딩 최적화: 분기 없는 접근 방식

이 기사에서는 분기 예측 오버헤드를 피하기 위해 루크업 테이블을 사용하여 UTF-8 디코딩을 최적화하는 방법을 탐구합니다. 저자는 UTF-8 시퀀스의 선행 바이트를 해당 길이에 매핑하는 256바이트 루크업 테이블을 만드는 방법을 자세히 설명합니다. 이를 통해 분기 연산이 간단한 배열 액세스로 대체되어 디코딩 효율성이 향상됩니다. 256바이트의 메모리 소비량이 증가하지만 많은 시나리오에서 성능을 크게 향상시킬 수 있습니다.

더 보기

86-DOS: PC혁명의 숨겨진 이야기

2025-08-28
86-DOS: PC혁명의 숨겨진 이야기

1980년 4월, 시애틀 컴퓨터 프로덕츠(SCP)의 젊은 프로그래머 팀 패터슨은 새로운 인텔 8086 기반 보드를 위해 QDOS(Quick and Dirty Operating System)라는 코드명의 소형 디스크 운영 체제 개발을 시작했습니다. 처음에는 SCP의 8086 컴퓨터에 대한 빠른 해결책으로 설계된 이 프로젝트는 예상치 못하게 마이크로소프트의 MS-DOS로 발전하여 10년 이상 PC 업계를 지배했습니다. 이 글에서는 CP/M API와의 호환성 논란, 마이크로소프트의 QDOS 인수 및 MS-DOS로의 이름 변경 등을 포함하여 QDOS의 개발 과정을 자세히 설명합니다. CP/M을 참고하여 개발된 QDOS의 단순함과 API는 결과적으로 발생한 논란에도 불구하고 빠른 출시를 가능하게 했으며, PC 시대의 초석이 되었습니다.

더 보기
기술

두 명의 마이크로컴퓨터 선구자, 클라이브 신클레어와 게리 킬달의 부흥과 몰락

2025-07-17
두 명의 마이크로컴퓨터 선구자, 클라이브 신클레어와 게리 킬달의 부흥과 몰락

이 글은 영국의 전자 천재 클라이브 신클레어 경과 미국의 컴퓨터 과학자 게리 킬달, 두 마이크로컴퓨터 업계의 선구자들의 매혹적인 삶을 이야기합니다. 신클레어는 ZX 스펙트럼과 같은 저렴한 컴퓨터로 1980년대 가정용 컴퓨팅에 혁명을 일으켰지만, 결국 잘못된 사업 결정으로 인해 실패했습니다. 킬달의 CP/M 운영 체제는 비즈니스용 마이크로컴퓨터의 표준이 되었지만, IBM과의 제휴 기회를 놓치고 결국 회사를 매각했습니다. 두 사람 모두 뛰어난 기술력과 사업적 약점을 보여주었으며, 마이크로컴퓨터 업계에 큰 공헌을 하고 기업가들에게 귀중한 교훈을 제공했습니다.

더 보기
기술

Jupiter Ace: Forth에 의해 몰락한 레트로 영국 컴퓨터?

2025-04-10
Jupiter Ace: Forth에 의해 몰락한 레트로 영국 컴퓨터?

1982년, 영국에서 Jupiter Ace라는 소형 가정용 컴퓨터가 출시되었습니다. 독특한 특징은 ROM에 BASIC이 아니라 Forth가 내장되었다는 점입니다. 이 글에서는 당시 ROM에 BASIC을 내장하는 것이 왜 그렇게 중요했는지, 그리고 Forth로 대체한 것이 Jupiter Ace의 실패의 주된 원인이었는지에 대해 살펴봅니다. Forth는 속도가 빠르고 전문적인 소프트웨어 개발에 적합한 등 기술적인 장점이 있었지만, 더 가파른 학습 곡선과 Ace의 구식 하드웨어(3KB RAM, 컬러 그래픽 없음)가 결국 실패로 이어졌습니다. 대부분의 사용자는 프로그래밍 언어보다 게임과 메모리를 우선시했습니다.

더 보기
기술

6502 어셈블리: 어셈블리어 학습을 위한 놀랍도록 좋은 시작점?

2025-02-06
6502 어셈블리: 어셈블리어 학습을 위한 놀랍도록 좋은 시작점?

어셈블리어 학습을 시작하기 위한 최적의 지점을 선택하는 것은 어려울 수 있습니다. 이 글에서는 6502 프로세서가 초보자에게 놀랍도록 적합하다는 주장을 펼칩니다. 현대 애플리케이션에서는 널리 사용되지 않지만, 간단한 명령어 세트(단 56개 명령어)와 풍부한 학습 자료 덕분에 어셈블리 기본 개념을 파악하는 데 이상적입니다. Apple II와 Commodore 64와 같은 클래식 컴퓨터에서의 역사 덕분에 많은 에뮬레이터와 학습 자료를 이용할 수 있습니다. 저자는 Easy 6502와 Visual6502.org를 훌륭한 학습 자료로 추천하며, x86-64 및 ARM과 같은 아키텍처의 복잡성과 비교하여 초보자를 위한 6502의 장점을 더욱 강조합니다.

더 보기