logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

컴퓨터 구조

컴퓨터 구조

(프로그래밍 관점에서 바라보는 컴퓨터 구조)

정기철 (지은이)
연두에디션
21,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
21,000원 -0% 0원
0원
21,000원 >
yes24 로딩중
교보문고 로딩중
11st 로딩중
영풍문고 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
G마켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
서점 유형 등록개수 최저가 구매하기
로딩중

eBook

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
로딩중

책 이미지

컴퓨터 구조
eBook 미리보기

책 정보

· 제목 : 컴퓨터 구조 (프로그래밍 관점에서 바라보는 컴퓨터 구조)
· 분류 : 국내도서 > 컴퓨터/모바일 > 컴퓨터 공학 > 컴퓨터공학/전산학 개론
· ISBN : 9791188831029
· 쪽수 : 390쪽
· 출판일 : 2018-02-08

책 소개

프로그래밍 관점에서 바라보는 컴퓨터 구조를 설명한다. 정수와 실수 등 실제로 표현되는 방식을 ‘간단한 C코딩’으로 확인할 수 있도록 구성하였고, ‘웹컴파일러’와 ‘QR코드’를 이용해 핸드폰에서 바로 확인 할 수 있도록 했다.

목차

PREFACE iii
교재의 구성 v
강의계획표 vii

CHAPTER 1 컴퓨터 구조 개론 1
1.1 컴퓨터의 종류 3
1.2 컴퓨터 전원을 켜면 어떤 일이? 5
1.3 컴퓨터 구조 개괄 6

PART 1 논리 회로 관점에서의 컴퓨터 구조

CHAPTER 2 컴퓨터 내부의 데이터 표현 11
2.1 컴퓨터에서 사용하는 수 13
2.1.1 정보 표현의 단위 13
2.2 진법(numeral system) 15
2.2.1 10진법 16
2.2.2 2진법, 8진법, 10진법, 16진법 18
2.3 정수의 표현 20
2.3.1 2진수로 변환: 정수 부분의 변환 21
2.3.2 2진수로 변환: 소수 부분의 변환 23
2.3.3 각 진법 간의 숫자 표현 연습 24
2.3.4 부호없는 정수(unsigned integer: 0과 자연수) 32
2.3.5 부호있는 정수(signed integer) 35
2.3.6 심화 정수 연산 46
2.4 실수의 표현 47
2.4.1 고정 소수점 표현 방법 53
2.4.2 부동 소수점(浮動小數點, floating point) 표현 방법 54
2.4.3 심화 부동 소수점 연산 64
2.5 문자의 표현 66
2.5.1 ASCII 코드 67
2.5.2 유니코드(Unicode) 69

CHAPTER 3 논리 회로 기초 77
3.1 논리 회로를 시작하며 79
3.1.1 기계어 프로그래밍 80
3.1.2 기계어 밑에는 무엇이 있을까? 82
3.1.3 논리 회로 기초 86
3.2 기본 게이트 89
3.2.1 반도체 게이트 이전에는 무엇이 계산에 사용되었을까? 92
3.3 논리 회로 표현 방식 기초 94
3.3.1 간단한 경우 #1 94
3.3.2 간단한 경우 #2 96
3.3.3 논리식/ 논리도/ 진리표 99
3.3.4 논리 회로의 2가지 종류: 조합 논리 회로/ 순서 논리 회로 102

CHAPTER 4 조합 논리 회로 105
4.1 조합 논리 회로를 만들자 107
4.1.1 불 대수 법칙 108
4.1.2 And-Or/Or-And 회로 111
4.1.3 논리식(부울식: boolean expression)의 간소화 113
4.2 논리식의 간소화: Karnaugh map(K-map) 115
4.2.1 2개의 입력 117
4.2.2 3개의 입력 119
4.2.3 Don’t Care 조건 122
4.2.4 4개의 입력 123
4.2.5 Don’t Care 실용적인 예제 127
4.2.6 Dual K-Map 131
4.2.7 입력이 4개 보다 많은 경우 133
4.2.8 NAND 게이트 134
4.3 조합 논리 회로 실습 136
4.3.1 다양한 시뮬레이션 예제 139
4.3.2 회로 제작 실습 문제 140
4.4 디지털 부품 141
4.4.1 작동 구동 신호(Enabling Lines) 141
4.4.2 멀티플렉서 (multiplexer)와 디-멀티플렉서(de-multiplexer) 143
4.4.3 이진 디코더(binary decoder)와 이진 인코더(binary encoder) 146

CHAPTER 5 순서 논리 회로(순차 논리 회로) 153
5.1 Stable(안정)/Unstable(불안정) 155
5.1.1 SR latch 156
5.1.2 SR flip-flop 160
5.2 다양한 종류의 플립플랍 167
5.2.1 SR 플립플랍 167
5.2.2 JK 플립플랍 169
5.2.3 D 플립플랍 170
5.2.4 T 플립플랍 172
5.3 순서 논리 회로를 만들자: 카운터(counter) 회로 예제 173
5.3.1 비동기식 카운터 174
5.3.2 동기식 카운터 177
5.4 순서 논리 회로 실습 180
5.4.1 프로그램 사용법 익히기 180
5.4.2 플립플랍의 사용 예 181
5.4.3 비동기식 카운터 182
5.4.4 동기식 카운터 183

PART2 하드웨어 관점에서의 컴퓨터 구조

CHAPTER 6 컴퓨터 하드웨어 189
6.1 하드웨어 구성 요소 191
6.2 중앙처리장치(CPU: Central Processing Unit) 192
6.2.1 레지스터(registers) 193
6.2.2 산술/논리 연산 장치(Arithmetic and Logic Unit: ALU) 200
6.2.3 제어 장치(control unit) 215
6.2.4 파이프라이닝 225
6.2.5 CISC/RISC 226
6.3 버스(bus) 228
6.4 기억(저장) 장치 231
6.4.1 내부 메모리(internal memory) 232
6.4.2 외부 메모리(external memory/ 보조 기억 장치) 238
6.4.3 캐쉬 메모리(cache memory) 243
6.5 입출력 장치(I/O Device) 249
6.5.1 입출력 장치 250
6.5.2 입출력 장치의 제어 방식 255
6.5.3 인터럽트 258

CHAPTER 7 기계어 프로그래밍을 통한 컴퓨터 구조 이해 265
7.1 가상 머신의 구조 267
7.1.1 Pep/8 가상 머신 267
7.1.2 레지스터 269
7.1.3 메인 메모리 270
7.1.4 입출력 장치 271
7.2 기계어(machine language)와 어셈블리 언어(assembly language) 272
7.2.1 고급 언어의 명령문의 기본적 구조 273
7.2.2 기계어 273
7.2.3 어셈블리 언어 288
7.3 명령어 집합 311
7.3.1 명령어의 구성 312
7.3.2 연산자 코드(op-code) 312
7.3.3 명령어의 형식 313
7.3.4 피연산자의 주소 지정 방식 317

PART3 또 다른 컴퓨터들…

CHAPTER 8 가상머신(Virtual Machines) 331
8.1 NOX: 안드로이드 가상 머신 333
8.2 VirtualBox 335
8.3 자바 가상 머신 341

CHAPTER 9 병렬 컴퓨터(parallel computer) 349
9.1 단일 프로세서/멀티 프로세서 351
9.2 병렬 컴퓨터 종류 356
9.3 OpenMP를 이용한 병렬 프로그래밍 358
9.3.1 OpenMP 개발 환경 구축 362
9.3.2 OpenMP를 이용한 실제 예제 363

CHAPTER 10 클라우드 컴퓨팅(Cloud Computing) 365
10.1 클라우드 컴퓨팅 주요 기술 368
10.2 Google Drive 서비스(SaaS) 369
10.3 Google Compute Engine(PaaS) 372
10.4 개발자를 위한 가상 머신: 클라우드9(PaaS) 379
INDEX 383

저자소개

정기철 (지은이)    정보 더보기
경북대학교 컴퓨터공학과에서 석사와 박사 학위를 취득했다. 현재는 숭실대학교 IT대학 글로벌미디어학부 교수로 재직 중이며, 인공지능과 HCI(Human-Computer Interaction) 등의 분야를 공부하고 있다. 급변하는 IT 환경 속에서 단순히 지식이나 기술의 전달 및 암기 위주의 공부를 하는 것보다 기본적인 원리에 대한 이해, 문제 해결 방법 등이 더 중요하다고 느끼며 이를 위한 수업 방법 및 저서를 개발하기 위해 노력하고 있다. 저서로는 『체험! 자료구조』(연두에디션, 2018), 『컴퓨터 구조』(연두에디션, 2018), 『그림을 그리며 배우는 프로세싱 언어』(숭실대학교출판부, 2017), 『게임을 만들며 배우는 C 언어』(홍릉과학출판사, 2016), 『체험 인공지능』(홍릉과학출판사, 2016), 『게임을 만들며 배우는 프로세싱 기초』(홍릉과학출판사, 2016) 등이 있다.
펼치기

책속에서

‘컴퓨터 구조’라는 과목은 컴퓨터 분야의 아주 중요한 과목이다. 그런데,‘컴퓨터 구조’를 이야기하기 전에 ‘컴퓨터’가 무엇인가를 먼저 정해야 할 것 같다. 그 이유는 기술이 발전함에 따라 ‘컴퓨터’를 바라보는 관점이 달라지
고, 이에 따라 그 해답도 달라질 수 있기 때문이다.

컴퓨터 기술이 급속도로 발전하고 대중화 됨에 따라, 점점 컴퓨터의 의미가 ‘가정 에서의 TV’, ‘손 안의 장난감’이 되어가고 있다. TV의 개발/사용 초기에는 TV의 제작 기술이 가장 중요한 이슈였지만, 지금은 대부분의 사
람들이 TV의 구조에 대해서는 관심이 없고, TV를 통해 제공되는 콘텐츠에 더 관심이 많은 것처럼, ‘컴퓨터 구조’ 또한 이미 기술적 관심의 대상에서 조금씩 멀어져 가고 있다고 생각한다. 즉, 이제는 조금 더 많은 비중을 컴
퓨터를 이용해서 제공할 수 있는 서비스를 고려한 컴퓨터 구조 학습이 필요하다고 생각된다.

예를 들어 보자. 30~40년 전(1980년대 초반)의 개인용 컴퓨터는 IBM XT 계열이었다. 그 당시의 컴퓨터는 하드웨어가 그리 복잡하지 않았으며, 운영 체제 또한 지금에 비해 아주 간단했다. 또한 프로그래밍 언어의 문법만 익히면, 소프트웨어 프로그래밍이라는 작업도 모두 프로그래머의 머리에서 나오는 작업이었다. 오픈 소스(open source)… 이러한 것들은 관심이 적었던 시절이었다.

이제 2010년대 후반으로 와보자. 지금의 개인용 컴퓨터의 하드웨어의 속도 및 저장 용량을 그때와 단순 비교하면, 지금의 컴퓨터는 그 당시에 비해서 수 십만 배의 성능 향상을 보이고 있고, 운영 체제 또한 엄청나게 복잡해지
고 다양한 기능을 지원하고 있다. 또한 프로그래머들은 프로그래밍 언어의 문법을 익힌 후, 다양한 프로그래밍 개발 환경, 개발 플랫폼, 관련 라이브러리 등의 사용법들을 익혀야만 프로그래밍이 가능하다. 또한 지금은 가상
머신(virtual machines)과 가상화(virtualization) 기술로 인하여 물리적인 하드웨어의 구조보다 소프트웨어에 의한 컴퓨터 구조의 중요성이 더욱 중요해지고 있다.

따라서 예전에는 컴퓨터 구조라는 분야가 하드웨어의 기능에 집중해야 했다면, 이제는 프로그래밍 관점에서 집중할 시대다. 물론 컴퓨터의 기본 원리를 이해한다는 면에서는 컴퓨터 구조에 대한 이해는 여전히 필요하지만,
이제는 프로그래머들이 효율적으로 프로그래밍을 하기 위한 지식 기반을 지원해줄 수 있는 컴퓨터 구조의 중요성이 강조되고 있다는 점이다.

이 책에서는 이런 생각을 바탕으로 논리 회로, 하드웨어 면에서의 컴퓨터 구조 등에 대한 내용은 기본적이고 필수적인 내용을 기술하는 것을 목표로 하고, 소프트웨어 프로그래밍 시에 하드웨어 구조를 고려해서 더욱 효율적
인 프로그래밍을 할 수 있는 기법에 대한 부분을 보강하였다. 또한 최근에 활발하게 사용되는 클라우드 상의 가상 머신에 대한 내용도 추가적으로 정리하였다.


이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
이 포스팅은 제휴마케팅이 포함된 광고로 커미션을 지급 받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책