컴퓨터 구조를 이해하고 있다면 문제 상황을 빠르게 진단할 수 있고, 문제 해결의 실마리를 다양하게 찾을 수 있다.
문법만으로는 알기 어려운 성능/용량/비용을 고려하며 개발할 수 있다.
컴퓨터는 명령어를 처리하는 기계이다.
컴퓨터가 처리한 명령어는 데이터를 움직이고 컴퓨터를 작동시키는 정보이다.
출처 - 혼자 공부하는 컴퓨터구조 + 운영체제 (저 강민철)
현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품
프로그램이 실행되려면 반드시 메모리에 저장되어 있어야한다.
주소를 통해 메모리 내 원하는 위치에 접근할 수 있다.
크기가 작고, 전원이 꺼지면 사라지는 휘발성이다.
메모리에 저장된 명령어를 읽어 들여서, 해석하고 실행하는 부품
보관할 프로그램을 저장하는 부품
크기가 크고, 전원이 꺼져도 사라지지 않는다.
마이크, 스피커, 키보드처럼 컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환하는 장치
위의 여러 핵심 부품들을 연결하는 장치
메인보드에 있는 여러 부품들이 서로 정보를 주고받는 통로
비트 - 0과 1을 나타내는 가장 작은 정보 단위 n비트는 2^n가지 정보 표현 가능
바이트 - 8비트 2^8
킬로바이트 - 1000byte
메가바이트 - 1000byte
기가바이트 - 1000mb
테라바이트 - 1000gb
워드(word) - cpu가 한 번에 처리할 수 있는 데이터의 크기
한번에 16비트를 처리할 수 있다면 1워드는 16비트가 된다.
x86 cpu는 32비트 워드 cpu이고 x64 cpu는 64비트 워드 cpu이다.
문자집합 - 컴퓨터가 인식하고 표현할 수 있는 문자의 모음
문자 인코딩 - 문자집합에 있는 문자를 0과 1로 변환하여 컴퓨터가 이해할 수 있게 만드는 과정
문자 디코딩 - 0과 1로 이루어진 문자를 사람이 이해할 수 있게 만드는 과정
인코딩 방법
7비트로 2^7개의 문자, 영어, 숫자를 표현함
아스키 문자 집합 문자, 특수문자를 표현할 수 없음
한글과 영어권 외의 나라의 언어를 표현할 수 없다.
2byte 즉, 16bit로 하나의 한글을 표현할 수 있음
하지만 표현할 수 없는 한글은 깨져서 표현된다.
위 처럼 언어별로 인코딩 방식을 나라마다 따로 만들어야 한다면, 각 나라 언어를 모두 지원하는 웹사이트를 만들때 번거로움이 생김
모든 나라 언어의 문자 집합과 인코딩 방식을 통일한 방법 ( 각 나라의 언어 한글자 마다 고유한 값이 부여됨 )
유니코드 문자에 부여된 값을 인코딩 하는방식에는 utf-8, utf-16, utf-32등이 있다.