컴퓨터 프로그래밍 공부/컴퓨터 구조 + 운영체제 13

레지스터

레지스터의 종류 레지스터는 저마다의 역할이 있고, 그에 걸맞는 내용을 저장한다. 그 중 전공서적에서 주로 다루는 8개의 핵심 레지스터를 설명하겠다. 각 레지스터가 CPU내부에서 어떤 역할을 수행하는지에 유의하자. 프로그램 카운터 PC : Program Counter 프로그램 카운터(PC; Progream Counter)는 메모리에서 가저올 명령어의 주소, 즉 메모리에서 읽어 들일 명령어의 주소를 저장한다. 프로그램 카운터를 명령어 포인터(IP; Instruction Pointer)라고 부르는 CPU도 있다. 명령어 레지스터 IR : Instruction Register 명령어 레지스터(IR; Instruction Register)는 해석할 명령어, 즉 방금 메모리에서 읽어 들인 명령어를 저장하는 레지스터..

ALU

필자는 ALU가 무엇인지도 중요하지만, 왜 배워야 하는 것인지도 중요하다고 생각한다. ALU는 CPU에도, GPU에도 있다. 일반적으로 ALU는 코어의 구성 요소 중 하나이다. ALU는 GPU를 더욱 효율적으로 사용하기 위해 단순 그래픽 처리 뿐만이 아니라, 병렬처리로 그래픽 처리 + 수학 연산도 가능하다 이러한 것이 가능한 GPU를 GPGPU라고 부른다. 이러한 GPGPU 똑똑한 GPU가 나오면서, C/C++ 언어로 병렬계산에 필요한 기능들을 제공해주는 소프트웨어가 만들어졌다. 이러한 것이 CUDA라는 API이다. 이전에도 DX 혹은 OpenGL이라는 병렬형 그래픽 처리 연산 소프트웨어가 있었지만, 이들은 그래픽 처리에 대한 고급 기술이 필요한 반면, CUDA는 이전 API와 달리 병렬 프로그래밍 전문..

Introduction to Computer Systems - 컴퓨터 시스템 개요

개인용 컴퓨터 개인용 컴퓨터의 등장 ( = PC의 등장)은 새로운 컴퓨터 사용 방식을 의미한다. VLSI 기술의 발전으로 1970년대 초 인텔에 의해 마이크로 프로세서가 등장하고, 이해 따라 컴퓨터가 소형화/저가화되면서 70년대 후반에 개인용 컴퓨터의 등장으로 이어지게 되었다. 개인용 컴퓨터의 등장으로 관련 시장이 급격하게 확대됨에 따라 이에 따른 소프트 웨어 및 하드웨어 관련 사업이 부흥하기 시작하였다. 모바일 컴퓨팅 모바일 컴퓨팅이 가능하기 위해서는 아래 3가지 기반 기술이 필요하다. 고속 네트워크 모바일 컴퓨팅이 가능하기 위한 고속의 네트워크 전송기술 모바일 하드웨어 휴대성을 위한 초소형, 초경량의 하드웨어 제조기술 모바일 소프트웨어 개인별 최적화된 소프트웨어 제작, 유통 기술 개인용, 모바일 모두..