공부/컴퓨터구조, 운영체제 15

5장 CPU 성능 향상 기법

CPU의 성능을 높히는 방법 클럭 속도 향상 클럭은 헤르츠(Hz)단위로 측정한다. 클럭 속도를 높이면 빨라지지만 발열이 심각하게 높아져 한계가 있다. 코어와 멀티코어 기존에 있는 1개의 CPU를 여러개로 확장한다. 이를 멀티코어 CPU라고 한다. 코어마다 처리할 명령어들을 적절하게 분배하느냐에 따라 연산속도가 크게 달라진다. 스레드와 멀티 스레드 스레드 : 실행 흐름의 단위 하드웨어적 스레드 스레드 : 하나의 코어가 동시에 처리하는 명령어 단위 2코어 4스레드는 한번에 네개의 명령어를 처리할 수 있는 CPU이다. 이를 멀티스레드 프로세서 또는 멀티스레드 CPU라고 한다. 소프트웨어적 스레드 스레드 : 하나의 프로그램에서 독립적으로 실행되는 단위 하나의 프로그램의 여러 부분이 동시에 실행될 수도 있는데 이..

4장 CPU의 작동 원리

ALU CPU 내부에서 계산을 담당하는 부분이다. 받는 정보 피연산자, 제어신호 레지스터를 통해 피연산자를 받는다. 제어 장치로부터 수행할 연산을 알려주는 제어 신호를 받는다. 내보내는 정보 연산 수행 결과값, 플래그 연산을 수행한 결과값을 일시적으로 레지스터에 내보낸다. 이유 : 연산할 때 마다 결과를 메모리에 저장하면 메모리에 자주 접근하면 느리기에 레지스터에 보내서 임시 저장한다. 플래그 연산에 대한 추가적인 결과 정보를 내보내야 하는 경우가 있는데 이러한 연산 결과에 대한 추가적인 상태 정보를 플래그라고 한다. 플래그 종류는 다양하게 있는데 이러한 플래그들은 플래그 레지스터에 저장된다. 제어장치 제어장치는 제어 신호를 내보내고 명령어를 해석하는 부품 컴퓨터 부품들을 관리하고 작동시키기 위한 일종의..

3장 명령어

컴퓨터는 0과 1만을 이해한다. 하지만 2진수로만 이용하여 컴퓨터에게 명령어를 실행시키면 사람이 사용하기 어렵다. 그렇기에 고급언어라는 것을 만들어서 컴퓨터에게 명령을 시킨다. 고급언어를 컴퓨터가 이해할 수 있는 저급언어로 변환한다. 컴퓨터가 이해할 수 있는 저급언어에는 단순히 0과 1로 만들어져 있는 기계어가 있으며 기계어를 사람이 조금 더 이해하기 쉽게 변환한 어셈블리어가 있다. 이러한 저급언어는 하드웨어와 밀접한 관계를 가진 개발자들이 사용하며 개발한다. 정리 고급언어 -> 저급언어 변환이 필요 고급언어 : 사람들이 이해하기 쉬운 언어 기계어 : 0과 1의 명령어 비트로 이루어진 언어 어셈블리어 : 0과 1로 표현된 기계어를 읽기 편한 형태로 변역한 언어 컴파일 방식, 인터프린터 방식 대표적인 컴파..

2장 데이터

정보단위 컴퓨터는 0또는 1밖에 이해를 못한다. 0과 1을 나타내는 가장 작은 정보 단위를 비트(bit)라고 한다. 바이트를 제외한 다른 단위들은 이전 단위를 1000개 묶어 표현한다. 1바이트(byte) = 8bits 1킬로바이트(kB) = 1000바이트 1메가바이트(MB) = 1000킬로바이트 1기가바이트(GB) = 1000메가바이트 1024개를 묶어 표현한 단위는 KiB, MiB, GiB이다. 워드(word) 워드란 CPU가 한번에 처리할 수 있는 데이터 크기를 의미한다. 인텔의 x86 CPU는 32비트 워드 CPU(1워드가 32비트)이고 x64 CPU는 64비트 워드 CPU(1워드가 64비트)이다. 이진법 0과 1만으로 모든 숫자를 표현하는 방법을 이진법이라 한다. 이진법으로 표기한 수를 이진수,..

1장 컴퓨터 구조 시작하기

컴퓨터 구조를 공부하는 이유? 입출력만 집중하는 개발을 넘어 문제 해결, 성능, 용량, 비용 문제까지 고려하는 월클 개발을 위하여!컴퓨터 구조 컴퓨터가 이해하는 정보 데이터 숫자, 문자, 이미지, 동영상과 같은 정적 정보 명령어 데이터를 움직이고 컴퓨터를 작동시키는 정보 컴퓨터의 네 가지 핵심 부품 CPU ALU(산술논리연산장치) : 컴퓨터 내부에 수행되는 계산은 대부분 ALU에서 수행한다. 제어장치 : 제어 신호라는 전기 신호를 내보내고 명령어를 해석하는 장치이다. 레지스터 : CPU 내부의 작은 임시 저장 장치이다. 여러 레지스터가 존재하고 각기 다른 이름과 역할을 가지고 있다. 메모리 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품이다. 프로그램이 실행되려면 반드시 메모리에 저장되어 있어야..