일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 자바스크립트
- ChatGPT
- JSP/Servlet
- 딥러닝
- 자바 실습
- 컴퓨터비전
- 자바스크립트심화
- 스프링프레임워크
- 데이터베이스
- 연습문제
- 중학수학
- 상속
- html/css
- rnn
- 쇼핑몰홈페이지제작
- JSP
- JDBC
- 중학1-1
- 개발일기
- 타입스크립트심화
- 자바
- 데이터분석
- 디버깅
- SQL
- 혼공머신
- 순환신경망
- 머신러닝
- 정보처리기사실기
- 정보처리기사필기
- 파이썬
- Today
- Total
목록알고리즘 및 자료 관리/컴퓨터 구조 & 운영체제 (55)
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
메모리 단원의 마지막 과정이다. 아마도 새벽 공부의 마지막 여정이 될 것 같다. 오늘도 3시에 일어나서 2시간 동안 개발 공부를 했고 이제 1시간 남았다. 오늘은 수학 공부를 일찍 시작해서 아침 운동 전에 모두 마칠 생각이다.이번 절에서는 저장 장치 계층 구조를 통해 저장 장치의 큰 그림을 그리고 CPU와 메모리 사이에 위치한 캐시 메모리를 학습해볼 것이다. 이를 극복하기 위한 저장 장치가 캐시 메모리이다. 캐시 메모리의 탄생 배경과 특징을 이해하려면 우선 저장 장치 계층 구조라는 개념을 이해해야 한다. 이번 절에서는 저장 장치 계층 구조를 통해 지금까지 학습한 저장 장치들의 큰 그림을 그려보고, 캐시 메모리의 탄생 배경과 특징, 작동 원리를 학습해보겠다. 저장 장치 계층 구조모든 사용자들은 빠르..
주소에는 물리 주소와 논리 주소가 있다. 이번 절에서는 이 두 주소의 개념과 차이, 두 주소 간의 변환 방법을 학습해보겠다. 지금까지 '메모리에 저장된 정보의 위치는 주소로 나타낼 수 있다' 정도로 설명했지만, 사실 주소에는 두 종류가 있다. 물리 주소와 논리 주소이다. 물리 주소는 메모리 하드웨어가 사용하는 주소이고, 논리 주소는 CPU와 실행 중인 프로그램이 사용하는 주소이다. 물리 주소와 논리 주소 CPU와 실행 중인 프로그램이 이해하는 주소는 무엇일까? 예를 들어 현재 메모리에 메모장, 게임, 인터넷 브라우저 프로그램이 적재되어 있다고 가정해 보겠다. 메모장, 게임, 인터넷 브라우저 프로그램은 현재 다른 프로그램들이 메모리 몇 번지에 저장되어 있는지, 다른 프로그램의 물리 주소를..
어제 저녁에 공부하려던 단원이었으나 졸려서 하지 못하고 오늘 새벽에 일어나서 진행해 본다.우리가 실행하는 프로그램은 모두 RAM에 저장되어 있다. 이번 절에서는 RAM의 하드웨어적 특성과 종류에 대해 학습해 볼 것이다. 이번 절에서는 우리가 지금까지 '메모리'라는 용어로 지칭했던 저장 장치인 RAM을 조금 더 자세히 알아보겠다. RAM의 용량이 컴퓨터 성능에 어떤 영향을 미치는지 그리고 DRAM, SRAM, SDRAM, DDR SDRAM은 무엇이고 어떤 특징을 가지는지 공부해 볼 것이다. RAM의 특징RAM에는 실행할 프로그램의 명령어와 데이터가 저장된다. 여기서 중요한 점은 전원을 끄면 RAM에 저장된 명령어와 데이터가 모두 날아간다는 것이다. 이렇게 전원을 끄면 저장된 내용이 사라지는 저장..
조금 전에 아침부터 오후까지 인사교에서 공부했던 단원의 확인 문제 내용을 스캔해서 학습일지에 붙여 넣었다. 이제 저녁식사가 되길 기다리는 동안 5장의 마지막 단원을 학습하려고 한다.CPU의 언어인 ISA란 무엇인지 이해하고, 현대 CPU의 주요 설계 방식인 CISC와 RISC의 정의와 차이점에 대해 학습해 볼 것이다. CPU의 마지막 이야기이다. 명령어 파이프라이닝과 슈퍼스칼라 기법을 실제로 CPU에 적용하려면 명령어가 파이프라이닝에 최적화되어 있어야 한다. 쉽게 말해 CPU가 파이프라이닝과 스칼라 기법을 효과적으로 사용하려면 CPU가 인출하고 해석하고 실행하는 명령어가 파이프라이닝 하기 쉽게 생겨야 한다. '파이프라이닝 하기 쉬운 명령어'란 무엇일까? 명령어가 어떻게 생겨야 파이프라이닝에 유리할까? ..
이제 마지막 교시가 40분 정도 남아있을 뿐이지만 그래도 공부할 수 있는 데까지 해볼 것이다. 명령어를 빠르고 효율적으로 처리하기 위해 CPU를 한시도 쉬지 않고 작동시키는 명령어 병렬 처리 기법을 알아본다. 빠른 CPU를 만들려면 높은 클럭 속도에 멀티 코어, 멀티스레드를 지원하는 CPU를 만드는 것도 중요하지만, CPU가 놀지 않고 시간을 알뜰하게 쓰며 작동하게 만드는 것도 중요하다.이번 절에서는 명령어를 동시에 처리하여 CPU를 한시도 쉬지 않고 작동시키는 기법인 명령어 병렬 처리 기법을 알아본다. 대표적인 명령어 병렬처리 기법에는 명령어 파이프라이닝, 슈퍼스칼라, 비순차적 명령어 처리가 있다. 명령어 파이프라인명령어 파이프라인을 이해하려면 하나의 명령어가 처리되는 전체 과정을 비슷한 시간 간..
드디어 5장 학습을 시작해 본다. 4장에 이어 CPU에 대한 내용이 계속 이어진다. 클럭과 코어, 스레드라는 개념을 학습하고, 빠른 CPU를 만드는 설계 기법인 멀티코어와 멀티스레드란 무엇인지 배우게 된다. 클럭, 멀티코어, 멀티스레드라는 용어는 컴퓨터를 구매할 때 혹은 프로그램을 개발할 때 심심찮게 들어보았을 것이다. 이번 절에서는 이들이 각각 무엇인지 알아보고, CPU 속도와 어떤 관계가 있는지 학습해 보겠다. 클럭우리가 CPU를 설계하는 엔지니어라면 해야 할 일은 조금이라도 더 빠른 CPU를 만드는 일이다. 그렇다면 CPU를 어떻게 설계해야 할까? 클럭 속도가 높아지면 CPU는 명령어 사이클을 더 빠르게 반복할 것이고, 다른 부품들도 그에 발맞춰 더 빠르게 작동할 것이다. 실제로 클럭 속..
이제 4단원의 마지막 단원을 진행해 보겠다. 곧 점심시간이라 얼마 공부하지 못하겠지만 서론이라도 학습해 볼 것이다. CPU가 하나의 명령어를 처리하는 흐름인 명령어 사이클과 그 흐름을 방해하는 인터럽트에 대해 학습하게 된다.강의 자료의 화질이 너무 안 좋아서 상태를 봐서 책을 스캔해서 수정해야 할 것 같다. CPU가 하나의 명령어를 처리하는 과정에는 어떤 정해진 흐름이 있고, CPU는 그 흐름을 반복하며 명령어들을 처리해 나간다. 이렇게 하나의 명령어를 처리하는 정형화된 흐름을 명령어 사이클이라고 한다.CPU는 정해진 흐름에 따라 명령어를 처리해 나가지만, 간혹 이 흐름이 끊어지는 상황이 발생한다. 이를 인터럽트라고 한다. 명령어 사이클우리가 실행하는 프로그램은 수많은 명령어로 이루어져 있고, CP..
특정 레지스터를 이용한 주소 지정 방식은 두 가지가 있다. 하나는 스택 주소 지정이고, 다른 하나는 변위 주소 지정 방식인데 이제부터 차근차근 학습해 볼 것이다. 컴퓨터 구조는 처음 들어보는 용어들이 많아서 낯설고 많이 어렵다. 그래도 포기하지 않고 이틀째 공부를 계속하고 있다.아마 3일만에 이 책 전체를 다 마치는 건 불가능할 것 같고 목요일까지 4일에 걸쳐 학습해 보기로 일정을 수정해 본다. 특정 레지스터를 이용한 주소 지정 방식 1 : 스택 주소 지정 방식 스택 포인터는 스택 주소 지정 방시이라는 주소 지정 방식에 사용되고, 프로그램 카운터와 베이스 레지스터는 변위 주소 지정 방식이라는 주소 지정 방식에 사용된다. 먼저 스택 주소 지정 방식에 대해 알아보겠다.스택 포인터는 스택 마지막으로 저장한..
수학 공부를 마치고 나니 2교시가 끝났지만 이제 남은 2시간 동안 최대한 집중해서 4단원 학습을 진행해보려고 한다. 분량이 많기도 하고 어려운 내용이라 1시간씩 끝낼 수 있을지 장담할 수 없지만 그래도 최대한 빠르게 학습해 볼 것이다.레지스터의 종류와 역할을 학습하고 각 레지스터를 통해 명령어가 처리되는 과정을 이해하는 단원이다. ALU나 제어장치를 직접 다룰 일은 레지스터에 비해 적다. 하지만 레지스터 안의 값을 관찰하는 일은 생각보다 많다. 특히 저급 언어 개발자, 임베디드, 시스템 개발자들은 이 레지스터를 다룰 일이 훨씬 더 많다고 한다. 그러니 이 내용을 충분히 숙지하기로 하자. 프로그램 속 명령어와 데이터는 실행 전후로 반드시 레지스터에 저장된다. 레지스터에 저장된 값만 잘 관찰해도 프로그램의..
이번 시간부터 본격적으로 CPU에 대해서 들어가게 된다. CPU의 구성 요소 중 ALU와 제어 장치에 대해서 알아볼 것이다. ALU와 제어 장치가 어떤 정보를 내보내고 받아들이는지를 중심으로 두 장치의 역할을 학습한다. CU는 메모리에 저장된 명령어를 읽어 들이고 해석하고 실행하는 장치이다. 그리고 CU 내부에는 계산을 담당하는 ALU, 명령어를 읽어 들이고 해석하는 제어장치, 작은 임시 저장 장치인 레지스터라는 구성 요소가 있다고 학습했었다.이번에는 ALU와 제어 장치가 받아들이고 내보내는 정보를 기준으로 각 부품의 역할을 살펴보겠다. ALU 계산을 하기 위해 무엇이 필요할까? 1+2를 계산할 때 1과 2라는 피연산자와 더하기라는 수행할 연산이 필요하듯 ALU가 계산하기 위해서는 피연산자와 수행..