[컴퓨터 구조] 메모리의 주소 공간
컴퓨터 구조 & 운영체제/컴퓨터 구조2023. 5. 11. 00:07[컴퓨터 구조] 메모리의 주소 공간

이 글은 혼자 공부하는 컴퓨터 구조 + 운영체제 (저자 : 강민철)의 책과 유튜브 영상을 참고하여 개인적으로 정리하는 글임을 알립니다. 주소에는 두 가지 종류가 있다. 물리 주소 : 메모리 하드웨어가 사용하는 주소 논리 주소 : CPU와 실행 중인 프로그램이 사용하는 주소 물리 주소(physical address)와 논리 주소(logical address) CPU와 실행 중인 프로그램은 현재 메모리 몇 번지에 무엇이 저장되어 있는지 다 알 수 없다(메모리에 저장된 정보는 시시각각 변하기 때문) 물리 주소 : 메모리 입장에서 바라본 주소, 정보가 실제로 저장된 하드웨어 상의 주소를 의미 논리 주소 : CPU와 실행 중인 프로그램 입장에서 바라본 주소, 실행 중인 프로그램에게 부여된 0번지부터 시작되는 주소..

[컴퓨터 구조] RAM의 특징과 종류
컴퓨터 구조 & 운영체제/컴퓨터 구조2023. 5. 10. 00:08[컴퓨터 구조] RAM의 특징과 종류

이 글은 혼자 공부하는 컴퓨터 구조 + 운영체제 (저자 : 강민철)의 책과 유튜브 영상을 참고하여 개인적으로 정리하는 글임을 알립니다. RAM의 특징 RAM에는 실행할 프로그램의 명령어와 데이터가 저장됨 비휘발성 저장장치이기 때문에 전원이 차단되면 저장된 내용이 모두 사라진다. CPU는 SRAM(캐시 메모리)을 먼저 참조하고 원하는 데이터가 없으면 DRAM(주기억장치)을 참조한다. CPU는 보조기억장치에 직접 접근하지 못하기에 DRAM(주기억장치)에 실행할 프로그램이나 데이터를 적재한다. 그중에서 자주 사용하는 프로그램이나 데이터를 SRAM(캐시 메모리)에 적재한다. RAM의 용량과 성능 RAM 용량이 작다면 CPU가 실행하고 싶은 프로그램이나 데이터를 보조기억장치에서 RAM에 적재하는 작업이 잦아질 것..

[컴퓨터 구조] CISC와 RISC
컴퓨터 구조 & 운영체제/컴퓨터 구조2023. 4. 12. 00:04[컴퓨터 구조] CISC와 RISC

이 글은 혼자 공부하는 컴퓨터 구조 + 운영체제 (저자 : 강민철)의 책과 유튜브 영상을 참고하여 개인적으로 정리하는 글임을 알립니다. 세상에는 수많은 CPU 제조사들이 있고, CPU마다 규격과 기능들이 모두 달라서 CPU가 이해하고 실행하는 명령어들은 모두 같지가 않다. 기본적인 명령어의 구조와 작동원리는 비슷하지만 명령어의 세세한 생김새, 주소 지정 방식등은 CPU마다 차이가 있다. CPU가 이해할 수 있는 명령어들의 모음을 명령어 집합(Instruction Set) 또는 명령어 집합 구조(ISA : Instruction Set Architecture)라고 한다. 즉, CPU마다 ISA가 다르다는 것이다. 인텔의 노트북 CPU는 x86 또는 x86-64 ISA를 이해하고, 애플의 아이폰 CPU는 AR..

[컴퓨터 구조] 명령어 병렬 처리 기법
컴퓨터 구조 & 운영체제/컴퓨터 구조2023. 4. 11. 00:04[컴퓨터 구조] 명령어 병렬 처리 기법

이 글은 혼자 공부하는 컴퓨터 구조 + 운영체제 (저자 : 강민철)의 책과 유튜브 영상을 참고하여 개인적으로 정리하는 글임을 알립니다. 빠른 CPU를 만들려면 빠른 클럭 속도에 멀티코어, 멀티스레드를 지원하는 CPU를 만드는 것도 중요하지만 CPU를 놀지 않게하고 효율적으로 작동시키는 것도 중요하다. CPU를 쉬지 않고 작동시키는 방법에는 명령어 병릴 처리기법이 있다. 명령어 병렬 처리기법에는 아래와 같은 종류가 있다. 명령어 파이프라이닝 슈퍼스칼라 비순차적 명령어 처리 명령어 파이프라인 하나의 명령어가 처리되는 전체과정을 클럭단위로 나누어 보면 아래와 같다. 명령어 인출(Instruction Fetch) 명령어 해석 (Instruction Decode) 명렁어 실행 (Execute Instruction..

[컴퓨터 구조] 빠른 CPU를 위한 설계 기법
컴퓨터 구조 & 운영체제/컴퓨터 구조2023. 4. 10. 00:04[컴퓨터 구조] 빠른 CPU를 위한 설계 기법

이 글은 혼자 공부하는 컴퓨터 구조 + 운영체제 (저자 : 강민철)의 책과 유튜브 영상을 참고하여 개인적으로 정리하는 글임을 알립니다. CPU의 성능을 높이기 위해서 아래 3개의 방법을 생각해 볼 수 있다. 클럭 신호를 빠르게 하는 방법 코어 수를 늘리는 방법 스레드의 수를 늘리는 방법 클럭 컴퓨터 부품들은 클럭 신호에 맞춰 움직인다. CPU는 명령어 사이클에 따라 명령어들을 실행한다. 클럭 신호가 빠르게 반복되면 CPU를 비롯한 컴퓨터 부품들은 그만큼 빠른 박자에 맞춰 움직이게 된다. 실제로 클럭 속도가 높은 CPU는 일반적으로 성능이 좋다. CPU는 매번 일정한 클럭 속도가 아니라 고성능을 요구하는 순간에는 빠르고, 그렇지 않을 때는 느리게 작동한다. 최대 클럭 속도를 강제로 더 끌어올릴 수 있는데,..

[컴퓨터 구조] 명령어 사이클과 인터럽트
컴퓨터 구조 & 운영체제/컴퓨터 구조2023. 4. 9. 00:04[컴퓨터 구조] 명령어 사이클과 인터럽트

이 글은 혼자 공부하는 컴퓨터 구조 + 운영체제 (저자 : 강민철)의 책과 유튜브 영상을 참고하여 개인적으로 정리하는 글임을 알립니다. CPU는 명령어를 처리하는 과정에는 정해진 흐름이 있고, CPU는 그 흐름을 반복하여 명령어들을 처리해 나간다. 명령어를 정형화된 흐름으로 처리하는 것을 명령어 사이클이라고 한다. CPU는 명령어 사이클을 통해 작업을 처리해 나가는데, 이 흐름을 끊어지게 하는 상황이 발생하는데 이것을 인터럽트라고 한다. 명령어 사이클 CPU가 메모리에 저장된 명령어 하나를 실행한다고 하면, 가장 먼저 해야 할 일은 명령어를 CPU로 가져와야 한다. 명령어를 가져왔으면 명령어를 실행해야 한다. 이것을 실행 사이클이라고 한다. 인출 사이클 : 메모리에 있는 명령어를 가져오는 단계 실행 사이..

[컴퓨터 구조] 레지스터
컴퓨터 구조 & 운영체제/컴퓨터 구조2023. 3. 31. 00:37[컴퓨터 구조] 레지스터

이 글은 혼자 공부하는 컴퓨터 구조 + 운영체제 (저자 : 강민철)의 책과 유튜브 영상을 참고하여 개인적으로 정리하는 글임을 알립니다. 반드시 알아야 할 레지스터 프로그램 카운터 명령어 레지스터 메모리 주소 레지스터 메모리 버퍼 레지스터 플래그 레지스터 범용 레지스터 스택 포인터 베이스 레지스터 프로그램 카운터 메모리에서 가져올 명령어의 주소(메모리에서 읽어 들일 명령어의 주소)를 저장 프로그램 카운터를 명령어 포인터라고 부르는 CPU도 있음 명령어 레지스터 방금 읽어 들어 들인 명령어를 저장하는 레지스터 제어장치는 명령어 레지스터 속 명령어를 받아들이고 해석한 뒤 제어 신호를 내보냄 메모리 주소 레지스터 메모리의 주소를 저장하는 레지스터 CPU가 읽고자 하는 주소 값을 주소 버스로 보낼 때 메모리 주소..

[컴퓨터 구조] ALU와 제어장치
컴퓨터 구조 & 운영체제/컴퓨터 구조2023. 3. 13. 00:30[컴퓨터 구조] ALU와 제어장치

이 글은 혼자 공부하는 컴퓨터 구조 + 운영체제 (저자 : 강민철)의 책과 유튜브 영상을 참고하여 개인적으로 정리하는 글임을 알립니다. ALU CPU 내부에는 ALU와 제어장치 그리고 여러 개의 레지스터가 있다. ALU는 계산을 담당하고, 제어장치는 명령어를 읽어 들이고 해석한다. 레지스터는 CPU 안에 있는 작은 임시 저장장치이다. ALU는 앞서 계산기와 같은 역할을 한다고 했다. 따라서 레지스터를 통해 피연산자를 받아들이고, 제어장치로부터 수행할 연산을 알려주는 제어 신호를 받아들인다. ALU는 레지스터와 제어장치로부터 받아들인 피연산자와 제어 신호로 산술 연산, 논리 연산 등 다양한 연산을 수행한다. 연산을 수행한 결과는 특정 숫자나 문자가 될 수 있고, 메모리 주소가 될 수 있다. 이러한 결괏값은..

image