본문 바로가기

cs78

[혼공운영체제] 메모리의 주소 공간 인프런의 개발자를 위한 컴퓨터 공학1 : 혼자 공부하는 컴퓨터 구조 + 운영체제 강의를 듣고, 학습 및 요약 주소에는 논리주소와 물리주소가 있다. CPU와 실행 중인 프로그램은 메모리 몇 번지에 무엇이 저장되어 있는지 다 알지 못한다. 메모리에 저장된 값들은 시시각각 변하기 때문 새롭게 실행되는 프로그램은 새롭게 메모리에 적재 실행이 끝난 프로그램은 메모리에서 삭제 같은 프로그램을 실행하더라도 실행할 때마다 적재되는 주소는 달라짐 물리 주소 논리 주소 메모리 입장에서 바라본 주소 CPU와 실행 중인 프로그램 입장에서 바라본 주소 정보가 실제로 저장된 하드웨어상의 주소 실행 중인 프로그램 각각에게 부여된 0번지부터 시작하는 주소 겹치는 주소 번지가 없음 겹치는 주소 번지가 있음 물리 주소와 논리 주소의 변.. 2023. 4. 21.
[혼공운영체제] RAM의 특징과 종류와 메모리의 주소 공간 인프런의 개발자를 위한 컴퓨터 공학1 : 혼자 공부하는 컴퓨터 구조 + 운영체제 강의를 듣고, 학습 및 요약 주기억장치의 종류에는 크게 RAM과 ROM 두가지가 있고, '메모리'라는 용어는 그 중 RAM을 지칭하는 경우가 많다. RAM(Random Access Memory)' 사용자가 자유롭게 내용을 읽고 쓰고 지울 수 있는 기억장치 컴퓨터가 켜지는 순간부터 CPU는 연산을 하고 동작에 필요한 모든 내용이 전원이 유지되는 내내 이 기억장치에 저장된다. 보통 RAM이 많으면 한 번에 많은 일을 할 수 있기에 '책상'에 비유되곤 한다. 전원이 꺼지면 저장된 내용이 날라가는 휘발성 저장 장치, 보조기억장치는 비휘발성 저장 장치 ROM도 접근 위치와 상관없이 같은 속도로 데이터를 읽을 수 있지만 '쓰기'가 안되.. 2023. 4. 17.
[혼공운영체제] CPU의 성능 향상 기법(3) : 명령어 집합 구조, CISC와 RISC 인프런의 개발자를 위한 컴퓨터 공학1 : 혼자 공부하는 컴퓨터 구조 + 운영체제 강의를 듣고, 학습 및 요약 명령어 집합(구조) : ISA(Instruction Set Architecture) CPU가 이해할 수 있는 명령어들의 모음. 즉, CPU는 명령어 집합에 속해있는 명령어들만 이해할 수 있음 CPU의 언어이자 하드웨어가 소프트웨어를 어떻게 이해할지에 대한 약속 명령어가 달라지면 명령어 해석 방식, 레지스터의 종류와 개수, 파이프라이닝의 용이성 등이 달라짐 CISC(Complex Instuction Set Computer) 복잡한 명령어 집합을 활용하는 컴퓨터(CPU) x-86, x86-64는 CISC 기반 명령어 집합 구조 복잡하고 명령어의 형태와 크기가 다양한 수의 가변 길이 명령어 집합을 활용.. 2023. 4. 17.
[혼공운영체제] 5.CPU의 성능 향상 기법(2) : 명령어 병렬 처리 기법 인프런의 개발자를 위한 컴퓨터 공학1 : 혼자 공부하는 컴퓨터 구조 + 운영체제 강의를 듣고, 학습 및 요약 CPU가 어떻게 시간을 효율적으로 사용하면서 명령어들을 빠르게 처리할 수 있을까!? 1. 명령어 파이프라인 하나의 명령어가 처리되는 과정을 비슷한 시간 간격으로 나누면 아래처럼! 이 과정 전체가 하나의 스레드이다. 명령어 인출(Instruction Fetch) 명령어 해석(Instruction Decode) 명령어 실행(Execute Instruction) 결과 저장(Write Back) 인출 -> 실행으로 나누기도 하고 명령어 해석 -> 명령어 실행 -> 명령어 접근 -> 결과 저장으로 나누기도 한다. 같은 단계가 겹치지만 않으면 CPU는 '각 단계를 동시에 실행할 수 있다.' 명령어 파이프라이.. 2023. 4. 17.
[혼공운영체제] 4. 빠른 CPU를 위한 설계 기법 인프런의 개발자를 위한 컴퓨터 공학1 : 혼자 공부하는 컴퓨터 구조 + 운영체제 강의를 듣고, 학습 및 요약 CPU의 속도를 빠르게 만들어보기 1. 컴퓨터 부품들은 '클럭 신호'에 맞춰 일사불란하게 움직인다. => 클럭 속도를 빠르게? 2. CPU는 '명령어 사이클'이라는 정해진 흐름에 맞춰 명령어들을 실행한다. 클럭 속도 헤르츠(Hz) 단위로 측정 헤르츠(Hz) : 1초에 클럭이 반복되는 횟수 클럭이 '똑-딱-' 하고 1초에 한 번 반복되면 1Hz 클럭이 1초에 100번 반복되면 100Hz 필요 이상으로 클럭을 높이면 발열이 심각해짐 클럭 속도를 늘리는 방법 이외에는? 코어 수를 늘리는 방법 "듀얼 코어" "멀티 코어" 스레드 수를 늘리는 방법 "멀티 스레드" 코어(Core) CPU 내에서 명령어를 실.. 2023. 4. 16.
[혼공운영체제] 3. 명령어 사이클과 인터럽트 인프런의 개발자를 위한 컴퓨터 공학1 : 혼자 공부하는 컴퓨터 구조 + 운영체제 강의를 듣고, 학습 및 요약 CPU는 메모리 안에 있는 프로그램을 어떤 정해진 흐름대로 처리하게 되는 데 이 때 정해진 흐름, 주기를 명령어 사이클이라고 한다. (즉, 프로그램 속 명령어들은 일정한 주기가 반복되며 실행된다. 이 주기가 명령어 사이클이다.) 하지만 CPU로 명령어를 가지고 와도 바로 실행이 불가능한 경우도 있다. 그래서 메모리 접근이 더 필요한 경우에는 간접 사이클을 이용하기도 한다. 어떤 명령어는 인출과 실행 사이클만으로 실행되고, 어떤 명령어는 인출, 간접, 실행 사이클을 거쳐 실행된다. 간혹 정해진 흐름을 방해하는 신호가 CPU한테 올 수 있는데 정해진 흐름을 끊는 신호를 인터럽트라고 한다. CPU가 얼.. 2023. 4. 16.