일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 교토여행
- 부천데이트맛집
- 혼공컴운
- Docker
- 컴퓨터구조
- windows10
- 문래맛집
- 일본첫여행
- 오사카여행
- 제주도가성비여행
- 비아인프라임교토에키
- 우메다홀릭호텔
- 허그전세대출
- 전세대출
- 강서구웨딩홀추천
- 혼공컴운자습문제
- 교토숙소
- 혼공컴운스터디
- Linux
- 부천데이트
- 결혼준비예상비용
- 일본여행
- reduce함수 예제
- 부천맛집
- 제주도여행
- WSL2
- 전세사기
- 제주여행비용정리
- 부천역맛집
- 부천술집
- Today
- Total
sugar.kim
개발자의 컴퓨터 구조 공부: 해야 하는 이유와, 컴퓨터 구조 정리하기. 본문
개발공부를 시작할 때 우리는 프로그래밍 언어와 관련된 책부터 찾아보고는 한다. 하지만 실력 있는 개발자가 되기 위해서는 컴퓨터 구조를 잘 알아야, 프로그래밍을 근본적으로 이해하고 다양한 문제를 빠르게 해결 할 수 있게 된다.
개발자가 컴퓨터 구조를 공부 해야 하는 이유는 아래 두가지로 볼 수 있다.
1. 컴퓨터 구조를 이해하면 문제 해결 능력이 향상된다.
2.컴퓨터 구조를 이해하면 언어공부 만으로는 얻기 힘든 성능/용량/비용을 고려하며 개발 할 수 있다.
컴퓨터 구조 지식은 크게 두가지 이다.
1. 컴퓨터가 이해하는 정보 ➡️ 데이터, 명령어
2. 컴퓨터의 네가지 핵심 부품 ➡️ 메모리, CPU(중앙처리장치), 보조기억장치(usb, 외장하드 ...), 입출력장치(모니터,키보드,마우스...)
컴퓨터가 이해하는 정보는 '데이터'와 '명령어'가 있다. 컴퓨터의 네가지 핵심 부품으로는 메모리, 중앙처리장치, 보조기억장치, 입출력장치 가 있다. 아래에서 자세히 알아보자.
컴퓨터가 이해하는 숫자, 문자, 이미지, 동영상과 같은 정적인 정보를 가리켜 데이터(data)라고 한다.데이터 만으로는 컴퓨터가 어떤 일을 처리할 수 없다. 명령어(instruction)는 정적인 데이터들을 사용해 컴퓨터가 실질적으로 작동할 수 있도록 해주는 정보이다. 예를 들어보자면, 데이터는 '1','2'... 같은 정적인 정보이고, 명령어는 '1과 2를 더하라'와 같은 정보이다.
컴퓨터의 네가지 핵심 부품으로는 CPU(Central Processing Unit), 주기억장치(main memory), 보조기억장치(secondary storage), 입출력장치(input/output (IO) device)이다. 네가지 부품의 역할만 이해하고 있어도 컴퓨터의 작동 원리를 대부분 알 수 있다.
*주기억장치(메모리)의 종류는 RAM(Random of Memory),ROM(Read Only Memory) 크게 두가지가 있으나 보통 메모리라는 용어는 RAM을 지칭한다.
1️⃣ 메인보드 : 컴퓨터의 핵심 부품들이 있는 판으로 마더보드라고도 한다. 메인 보드에는 여러 컴퓨터 부품들과 컴퓨터 부품을 부착할 수 있는 슬롯과 연결된 단자가 있다.
2️⃣ CPU(중앙처리장치) : 메모리에 저장된 명령어를 읽고 해석하고 실행하는 부품이다. 중앙처리장치 내에는 아래 세가지의 내부 구성 요소가 있다. 산술논리연산장치(ALU-Arithmatic Logic Unit), 레지스터(register), 제어장치(CU-Control Unit)
① ALU(산술논리연산장치) :계산만을 위해서 존재하는 부품으로, 컴퓨터 내부에서 수행되는 대부분을 계산을 도맡아 한다. 계산기라고 보면 된다.
② 레지스터 : 작은 임시 저장 장치로, 프로그램에 실행에 필요한 값을 임시로 저장한다. 레지스터는 여러 개 존재하고 있으며, 각기 다른 이름과 역할을 가지고 있다.
③ 제어장치 : 제어 신호라는 전기 신호를 보내고 명령어를 해석하는 장치다. 메모리 읽기[CPU가 메모리에 저장된 값을 읽고 싶을 때 메모리를 에게 보내는 제어 신호], 메모리 쓰기[CPU가 메모리에 값을 저장하고 싶을 때 보내는 제어 신호]
3️⃣ 메모리(주기억장치) : 현재 실행되는 프로그램의 데이터와 명령어를 저장하는 부품으로, 프로그램이 실행 되려면 반드시 메모리에 저장되어 있어야 한다. 메모리에는 주소가 존재하는데 주소로 메모리 내에 저장된 데이터나 명령어의 위치에 접근할 수 있다.
4️⃣ 보조기억장치 : 전원이 꺼져도 저장된 내용을 잃지 않는 기억 장치이다. 하드 디스크, SSD, USB 메모리, DVD, CD-ROM 등이 있다. 보관할 프로그램을 저장하는 장치이다.
5️⃣ 입출력장치 : 모니터, 키보드, 마우스 등 컴퓨터 외부에 연결되어 컴퓨터 내부와 정보 교환하는 장치를 의미한다.
6️⃣ 시스템버스 : 메인보드 내부에 있는 통로를 버스라고 부르는데, 다양한 종류의 통로 즉 여러 개의 버스가 있다. 컴퓨터의 네 가지 핵심 부품을 연결하는 가장 중요한 버스이다.
주소 버스 : 주소를 주고 받는 통로이다.
데이터 버스 : 명령어와 데이터를 주고 받는 통로이다.
제어 버스 : 제어 신호를 주고 받는 통로이다.
[자습하면서 셀프 확인 문제! 정답은 드래그 하면 보임!]
1. 컴퓨터의 4가지 핵심 부품은?
-> 중앙처리장치, 주기억장치(메모리), 보조기억장치, 입출력장치
2. CPU가 메모리에서 값을 읽는 과정을 설명하시오.
-> 1) CPU가 제어 버스로 '메모리 읽기' 제어 신호 내보내고
-> 2) 주소 버스로 읽고자 하는 주소를 내보내면
-> 3) 메모리는 데이터 버스로 요청한 주소에 있는 내용을 CPU에 보냄
3. CPU가 메모리에 값을 저장할 때 데이터 버스, 주소 버스, 제어 버스를 각각 어떻게 사용하는지 서술하시오.
-> 1) 데이터 버스를 통해 메모리에 저장할 값을
-> 2) 주소 버스를 통해 저장할 주소를
-> 3) 제어 버스를 통해 '메모리 쓰기' 신호를 내보냄
4. 개발자가 컴퓨터 구조를 공부해야하는 이유는 빠른 문제 해결 능력 향상과, 성능/용량/비용을 알고 있으면 문법 파악이 빨라지기 때문이다.
-> X 성능/용량/비용을 고려하며 개발할 수 있다 문법 파악은 다른 문제이다.
5. 우리는 분석의 대상인 컴퓨터를 컴퓨터 구조를 공부함으로써 미지의 대상으로 인식하게 된다.
-> 미지의대상에서 분석의대상으로 인식한다.
6. 아래 괄호 안에 들어갈 풀 네임을 적어주세요.
컴퓨터의 네가지 핵심 부품으로는 CPU(Centeral Processig Unit), 주기억장치(main memory), 보조기억장치(secondary storage), 입출력장치(input/output device , IO device )이다. 네가지 부품의 역할만 이해하고 있어도 컴퓨터의 작동 원리를 대부분 알 수 있다.
7. 메모리 내부에 ALU가 있다.
-> X 산술연산장치는 중앙처리장치 내부에 있다.
8. 보조기억장치와 입출력장치는 주변장치라고 통칭하기도 하지만 완전히 다른 장치이다.
-> X 둘다 합쳐서 주변장치라고 통칭하기도 하며 완전히 다른 부품은 아니라고 본다.
아래 책을 바탕으로 자습하며 작성된 글입니다.
'DEV > 컴퓨터구조+운영체제' 카테고리의 다른 글
[8장]입출력장치 확인문제 (0) | 2023.05.07 |
---|---|
[7장] 보조기억장치 (0) | 2023.05.01 |
[6장] 메모리와 캐시메모리 확인 문제 5개 (스터디!!) (0) | 2023.04.16 |
[5장] CPU 성능 향상 기법 (5문제) (0) | 2023.04.09 |
[4장] CPU의 작동 원리 문제 (0) | 2023.03.26 |