05. 컴퓨터 아키텍처와 운영체제 컴퓨터는 어떻게 프로그램과 메모리를 조직적으로 관리할까? 컴퓨터 아키텍처(Computer Architectur)는 컴퓨터의 여러 구성 요소를 배치하는 방법을 뜻한다. 기본적인 구조 요소들 컴퓨터 구조의 대표적인 두가지는 폰 노이만(von Neumann)구조와 하버드(Harvard)구조 이다. 두 구조의 유일한 차이는 메모리 배열이다. 폰노이만 구조는 데이터 버스와 주소버스가 하나 뿐이라서 동시에 명령어와 데이터를 가져올수 없다. 그래서 약간 더 느리다. 하버드 구조는 동시에 명령어와 데이터를 둘다 가져올수 있어서 좀 더 빠르지만 두 번째 메모리를 처리하기 위한 버스가 더 필요하다. 프로세서 코어 멀티 프로세서(multiprocessor) 시스템은 단일 CPU보다 더 좋은..
04. 컴퓨터 내부 구조 컴퓨터 하드웨어는 어떻게 구성되는가 현대적 컴퓨터는 크게 메모리(Memory), 입출력(intput and output), CPU(central processing unit) 세가지 부분으로 나눌 수 있다. 메모리 컴퓨터에서 조작할 비트들을 저장할 장소를 메모리라고 부른다. 입력과 출력 컴퓨터에 정보를 전달하거나 컴퓨터에서 정보를 가져올 방법을 입력과 출력이라 부른다. 이들은 컴퓨터 주변에 위치하여 주변장치(peripheral device)라고 부른다. 중앙 처리 장치 중앙 처리 장치(CPU)는 실제 계산을 처리하는 컴퓨터 부품이다. 산술 논리 장치 ALU(arithmetic logic unit)은 CPU의 핵심 부품이다. ALU는 산술 계산, 불리언 대수 및 기타 연산을 수행한..
01. 컴퓨터 내부의 언어체계 컴퓨터는 어떤 말을 사용할까? 언어는 정보를 소통하기 위해 만들어졌다. 프로그래머는 컴퓨터에게 명령을 내리는 사람이다. 사람이 컴퓨터의 말을 배워서 컴퓨터에게 명령을 내린다. 언어란 무엇인가 모든 언어의 뜻은 기호들의 집합으로 인코딩(encoding) 된다. 언어가 제대로 동작을 하려면 의사소통하는 당사자들이 모두 같은 문맥(context)을 공유해서 같은 기호에 같은 뜻을 부여해야 된다. 문자 언어 문자언어는 기호를 나열한 것이다. 기호를 정해진 순서대로 나열하여 단어를 만들 수 있다. 비트 자연어에서는 문자(character)라고 부르는 것을 컴퓨터에서는 비트(bit)라고 부른다. 비트는 2진법의 바이너리(binary)와 숫자의 디지트(digit)가 합쳐진 말이다. 비트..