혼자 공부하는 컴퓨터 구조+운영체제15 6장 메모리와 캐시 메모리 RAM의 특징과 종류주기억장치의 종류에는 크게 RAM과 ROM 두 가지가 있고, 메모리라는 용어는 그 중 RAM을 지칭하는 경우가 많다.RAM의 특징RAM에 저장된 명령어와 데이터가 전원을 끄면 날라간다.이렇게 전원을 끄면 저장된 내용이 사라지는 저장 장치를 휘발성 저장 장치라고 한다.반면 전원이 꺼져도 저장된 내용이 유지되는 저장 장치를 비휘발성 저장 장치라고 한다.하드디스크나 SSD, CD-ROM, USB 메모리와 같은 보조기억장치가 대표적인 비휘발성 저장 장치이다.보조기억장치는 전원을 꺼도 내용을 유지하지만 CPU는 보조기억장치에 직접 접근은 하지 못한다.그래서 보조기억장치인 비휘발성 저장 장치에는 ‘보관할 대상’을 저장하고, 휘발성 저장 장치인 RAM에는 ‘실행할 대상’을 저장한다.CPU가 실행하.. 2024. 6. 4. 5장 CPU 성능 향상 기법 05-1 빠른 CPU를 위한 설계 기법클럭조금이라도 더 빠른 CPU를 만들기 위해서는 CPU를 어떻게 설계해야 할까?4장에서 학습한 내용을 상기해보면,컴퓨터 부품들은 클럭 신호에 맞춰 일사불란하게 움직인다.CPU는 명령어 사이클이라는 정해진 흐름에 맞춰 명령어들을 실행한다.클럭 속도가 높은 CPU는 일반적으로 성능이 좋다. 그래서 클럭 속도는 CPU 속도 단위로 간주되기도 한다.클럭 속도는 헤르츠(Hz) 단위로 측청하는데, 1초에 클럭이 몇 번 반복되는지 나타낸다.ex) 2.5GHz → 1초에 25억번, 4.9GHz → 1초에 49억번 반복된다는 것을 나타냄클럭 속도를 높이는 것은 CPU를 빠르게 하지만, 무작정 높이게 되면 발열 문제가 생긴다.코어와 멀티코어클럭 속도를 높이는 방법 외에는 CPU의 코어.. 2024. 6. 4. 4장 CPU의 작동 원리 04-1. ALU와 제어장치CPU는 메모리에 저장된 명령어를 읽어 들이고, 해석하고, 실행하는 장치이다.CPU 내부에는 계산을 담당하는 ALU, 명령어를 읽어 들이고 해석하는 제어장치, 작은 임시 저장 장치인 레지스터가 있다.ALU1+2를 계산할 때 1, 2라는 피연산자와 ‘더하기’라는 수행할 연산이 필요하다.이렇게 ALU는 레지스터를 통해 피연산자를 받아들이고, 제어장치로부터 수행할 연산을 알려주는 제어신호를 받아들인다.연산의 결과값은 바로 메모리에 저장되지 않고 일시적으로 레지스터에 저장한다.CPU가 메모리에 접근하는 속도는 레지스터에 접근하는 속도보다 훨씬 느리다.ALU가 연산할 때마다 결과를 메모리에 저장한다면 프로그램 실행 속도를 늦출 수 있기 때문에 레지스터에 우선 저장하는 것이다.계산 결과와.. 2024. 5. 19. 3장 명령어 3-1 소스 코드와 명령어모든 소스 코드는 컴퓨터 내부에서 명령어로 변환된다.프로그래밍 언어가 어떻게 명령어가 되어 실행되는지 알아보자!고급 언어와 저급 언어고급 언어는 ‘사람을 위한 언어’다.컴퓨터는 프로그래밍 언어를 이해할 수 없다.프로그래밍 언어는 컴퓨터가 이해하는 언어가 아닌 사람이 이해하고 작성하기 쉽게 만들어진 언어다.저급 언어는 ‘컴퓨터가 직접 이해하고 실행 할 수 있는 언어’다.컴퓨터가 이해하고 실행할 수 있는 언어는 저급 언어 뿐이다.그래서 고급 언어로 작성된 소스 코드를 저급 언어, 즉 명령어로 변환 되어야 한다.저급 언어는 두 가지 종류가 있다.기계어0과 1의 명령어 비트로 이루어진 언어이진수와 십육진수로 표현되는 기계어는 컴퓨터만을 위해 만들어진 언어이기 때문에 사람이 읽으면 의미를.. 2024. 5. 18. 2장 데이터 0과 1로 숫자를 표현하는 방법정보 단위컴퓨터는 0과 1로 모든 정보를 표현하고, 0과 1로 표현된 정보만을 이해할 수 있다.0과 1을 나타내는 가장 작은 정보 단위를 비트(bit)라고 한다.전구에 빗대어 생각했을 때 전구 한 개로 꺼짐과 켜짐의 상태를 표현할 수 있듯 1비트는 0 또는 1, 두가지 정보를 표현할 수 있다.2비트의 경우 아래 왼쪽 그림과 같이 두 개의 전구가 네 가지 상태를 표현할 수 있다.3비트의 경우 오른쪽과 같이 8가지 상태를 표현할 수 있다.이는 2의 거듭제곱의 규칙을 가진다. 만약 전구가 n개이면 2의 n제곱 가지의 정보를 표현할 수 있는 것이다우리가 사용하는 웹 브라우저와 같은 프로그램들은 수십만 비트로 이루어져 있다.하지만 프로그램의 크기를 말할 때 편의상 비트보다 큰 단위인.. 2024. 5. 17. 1장 컴퓨터 구조 시작하기 01-1. 컴퓨터 구조를 알아야 하는 이유언뜻 생각해보면 컴퓨터 구조는 프로그램 개발과는 큰 관련이 없어 보인다. 왜냐하면 지금껏 컴퓨터의 구성 요소와 작동 원리를 몰라도 프로그래밍 언어의 문법만 알면 개발하고 실행하는데 아무 문제가 없었기 때문이다.하지만 실력 있는 개발자가 되려면 반드시 알아야 하는 기본 지식이다. 컴퓨터 구조를 이해하면 얻을 수 있는 여러 이점에 대해 살펴보자.문제 해결강의나 책에 나온 코드를 똑같이 따라 작성했는데도 코드가 제대로 작동하지 않는 상황이 의외로 빈번하게 발생한다.이런 상황은 실무에서도 종종 발생하는데, 개발할 때는 문제 없이 작동했던 코드가 실제 사용자들에게 선보이는 자리에서 작동하지 않는 상황이 비일비재하다. 이런 경우는 분명 코드상의 문법적인 오류만이 원인은 아닐.. 2024. 5. 10. 이전 1 2 다음