공지사항

이곳으로 이전했습니다. 또는 구글 앱스토어에서 'likewind' 를 검색해서 설치해주세요. 설치링크

2020년 6월 2일 화요일

뇌를 자극하는 프로그래밍 원리 - CPU 부터 OS 까지


"하드웨어에서부터 소프트웨어 까지의 어려운 개념을 알기쉽게 설명했다"

내가 이 책을 굳이 구입했던 이유는 기존의 책들에서 다루지 않던 내용을 다뤘기 때문이다. 이 책은 폭넓은 주제를 다루고 있다.
논리회로에서 부터 실시간 시스템 까지. 특히 C 언어에서 코드, 스택, 힙, 변수에 대해 알기쉽게 설명한 부분이 좋았다.
사실, '뇌를 자극하는' 시리즈가 전문적인 서적보다는 입문서의 성격을 띄는 책이다.
하지만, 기초를 제대로 모르고서는 더 높은 단계에 오르지 못한다. 이 책은 자칫 모두 흔히 알고 있지만, 정확히 알고 있지 못하는 것들에 대해 알기쉽게 설명한다.
학부 때 배우는 두꺼운 운영체제 교체보다도, 이책 한권이 더 낫다. 이제 막 입문하는 사람에게 추천할 만한 책이다.

기억에 남는 구절

CISC 방식과 RISC 방식의 비교

구분CISC 방식RISC 방식
레지스터 개수메모리와 직접 연산을 하는 인스트럭션은 많고 일반적으로 연산을 저장하는 어큐뮬레이터가 있어 계산을 위한 다수의 레지스터가 필요없다.메모리 엑세스는 일반적으로 LOAD/STORE 정도의 인스트럭션으로 제한되며 나머지는 모두 레지스터 기반의 연산이므로 상대적으로 레지스터 개수가 많다.
인스트럭션 길이각 인스트럭션마다 가변적이다.모든 인스트럭션이 동일하며 일반적으로 CPU 의 처리단위인 한 워드와 동일하게 맞추어져 있다.
인스트럭션 수행 시간인스트럭션마다 최소의 수행시간에 맞추어 가변적으로 설계되어 있다. 따라서 필요한 내용만 해석하면 되므로 디코딩 시간이 짧다.모든 인스트럭션이 동일한 단계를 거쳐 수행되며 대부분의 인스트럭션은 각 단계별로 비슷한 실행시간을 가지게 된다. 단 메모리 엑세스등 일부 실행 시간이 긴 인스트럭션은 STALL(스톨)이라고 하는 딜레이(지연)가 생길 수 있다.
인스트럭션 개수다양한 인스트럭션이 많이 제공된다.단순한 인스트럭션으로만 이루어져 있으며 개수 또한 적다.
컴파일러 설계인스트럭션의 복잡성으로 인해 효율적인 코드 생산이 어려우며 컴파일러 자체의 설계도 복잡해진다.인스트럭션이 단순하므로 컴파일러 설계도 간단해지고 효율적인 코드 생산이 가능하다.
하드웨어 설계복잡하게 되며 안정성 문제도 발생하며 가격 또한 비싸진다.단순하므로 신뢰도가 높고 개발 주기도 짧아져 빠른 시장 대응을 할 수 있다.

댓글 없음:

댓글 쓰기