책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 컴퓨터 공학 > 소프트웨어 공학
· ISBN : 9788997924073
· 쪽수 : 336쪽
· 출판일 : 2013-11-20
책 소개
목차
CHAPTER 1 MCU: 임베디드 시스템의 사령관
1.1 들어가며
1.2 MCU: 최고 지휘관
조직 구성도
명령의 전달
1.3 MCU의 구성
IC
버스
메모리
메모리 맵
레지스터
MMU(Memory Management Unit)
캐시 메모리
페리페럴
명령어 처리 장치
1.4 구조를 알았으니 동작을 알아보자!
리셋
패치(Fetch)
명령어 해석(Decode)
명령어 실행(Execute)
데이터 저장(Write back)
파이프라인
인터럽트
페리페럴 제어
1.5 개발 환경 만들기
ADS
ARMulator 설정하기
1.6 샘플 코딩 따라하기
Timer 제어하기
스타트업 코드
1.7 MCU 학습을 마치며
연습문제
CHAPTER 2 컴파일러: 프로그램 코드의 변환 도구
2.1 들어가며
2.2 컴파일러: 능력 좋은 통번역가
국가 간의 의사소통
통번역의 과정
2.3 프로그램 언어와 컴파일러
C/C++, JAVA, FORTRAN, BASIC
어셈블리어와 기계어
RISC vs CISC
IDE
2.4 컴파일 과정
단순화
낱말 분석
코드 최적화
메모리 테이블화
구문 분석
어셈블리어 명령어 치환
어셈블리어 완성
기계어 코드 생성
2.5 컴파일러 - 제대로 알고 사용하기
오브젝트 코드와 링크
헥사 코드, 바이너리 코드, ELF, AXF
최적화
코드 영역과 데이터 영역
맵/리스트 파일
시작 위치와 엔트리 포인트
2.6 컴파일러 학습을 마치며
연습문제
CHAPTER 3 OS: 시스템 관리자
3.1 들어가며
3.2 OS: 시스템의 대통령
국가 운영 계획
국가 운영 계획에 필요한 관리자들
3.3 OS의 구조
드라이버
커널
라이브러리
응용 프로그램
3.4 커널의 시스템 관리자들
메모리 관리자
태스크 관리자
파일 관리자
이벤트 관리자
커널의 태스크 관리 방법
스케줄러
선점형 대 비선점형
문맥 교환
보호 모드
3.5 샘플 코딩 따라하기
컴파일 환경 설정
vector.s
init.s
kmain.c
taskmanager.c
handler.c
application.c
결과 확인
3.6 OS 학습을 마치며
연습문제
CHAPTER 4 FPGA: 원하는 대로 디자인하는 IC
4.1 들어가며
4.2 FPGA: 튜닝 카
4.3 PLD
논리 게이트
로직 셀
SPLD와 CPLD
FPGA
4.4 HDL
HDL에 대한 기초 지식
VerilogHDL
모듈
핀 설정 및 데이터 타입설정
회로의 동작 조건과 연결
연산자 및 조건문
테스트벤치 작성
4.5 HDL을 이용한 IC 설계 과정
블록도 설계
RTL 설계
제약 조건
합성
합성 후 시뮬레이션
PAR
PAR 후 시뮬레이션
최종 이미지(GDSII) 생성
4.6 개발 환경 만들기
ISE 다운로드
툴 익히기
4.7 샘플 코딩 따라하기
래치와 플립플롭
계산기 사양서
입력처리 블록
FSM 블록
메모리 블록
디코더 블록
연산 처리 블록
출력 처리 블록
계산기 모듈의 구조
계산기 예제 작성
시뮬레이션하기
4.8 FPGA 학습을 마치며
개발 계획
사양서 작성
블록도 작성
RTL 작성
RTL 시뮬레이션
합성
PAR
동작 테스트
블록도 → 코드 수정 → 시뮬레이션 → 합성 → PAR → 테스트
파운드리 선정
공정 및 라이브러리 선택
합성 및 PAR
테입아웃
필름 작업
웨이퍼 가공
패키지 작업
칩 테스트
평가용 보드 제작
그 외 이야기꺼리들
연습문제
부록 A. 엔지니어의 삶!
부록 B. 연습문제 해답
책속에서
소프트웨어는 무엇으로 어떻게 움직이는가?
소프트웨어를 이루는 환경을 깊숙이 탐험한다!
사용자가 터치하거나 클릭하는 소프트웨어 저편의 동작원리를 이해함으로써 엔지니어로서 좀더 나은 역량을 펼칠 수 있도록 구성하였다.
“MCU로 CPU를 이해하고,
컴파일러로 개발 언어를 파악하며,
OS로 환경을 이해하고,
FPGA로 하드웨어 설계의 기본을 배운다. ”
배워도 배워도 자꾸 까먹고 아리송한 기초지식을 한권으로 말끔하게 정리한다!
당장에 써먹지는 않아도 내공에 도움이 되는 지식들이다. 시간이 지나면서 무뎌진 기초를 한번 더 다지는 데 도움을 주고 엔지니어가 되고자 하는 독자도 전체적인 환경을 이해하는 데 도움을 받을 수 있다.
특별부록 “엔지니어로서의 삶”
어떻게 하면 행복하게 엔지니어로서 살아갈 수 있는지 경험을 기초로 이야기한다. 생뚱맞은 에세이 같지만, 의외로 잘 어울리는 맛있는 에피타이저 같은 부록이다.
“결국 이렇게 맛이 좋은 시스템을 만들기 위해서는 하드웨어와 소프트웨어의 조합을 잘 고려해서 설계해야 합니다. 그러기 위해서는 하드웨어와 소프트웨어의 기본개념을 이해하고, 서로의 연관성을 알아야 하는 것이죠. 이 책은 바로 이러한 점에초점을 두고 있습니다. 즉 하드웨어와 소프트웨어는 어떻게 구성되는지, 왜 서로 관계되는지를 이야기합니다.”
_저자 서문 중에서