Jost Do It.

그냥 IT해.

반응형

Study 38

[컴퓨터 구조] 혼자 공부하는 컴퓨터구조 + 운영체제 Chapter 6 메모리와 캐시 메모리

Chapter 6. 메모리와 캐시 메모리 요약 RAM의 종류에 따른 특징을 알 수 있었고, CPU가 메모리의 프로그램을 어떻게 읽어들이는지 이해할 수 있었다. 내용 정리 06-1. RAM의 특징과 종류 RAM과 보조기억장치 RAM은 휘발성 저장 장치이다. 휘발성 저장 장치(volatile memory): 전원을 끄면 저장된 내용이 사라지는 저장 장치 하드디스크나 SSD 등 보조기억장치는 비휘발성 저장 장치이다. 비휘발성 저장 장치(non-volatile memory): 전원이 꺼져도 저장된 내용이 유지되는 저장 장치 한편 CPU는 보조기억장치에 직접 접근하지 못한다. 따라서 보조기억장치에는 "보관할 대상"을 저장하고, RAM에는 "실행할 대상"을 저장한다. RAM의 용량 RAM 용량이 작으면 보조기억장치..

[컴퓨터 구조] 혼자 공부하는 컴퓨터구조 + 운영체제 Chapter 5 CPU 성능 향상 기법

Chapter 5. CPU 성능 향상 기법 요약 CPU 성능 향상을 위해서 명령어를 병렬적으로 처리하는 파이프라이닝 기법에 대해 알 수 있었다. CPU 명령어 집합의 종류와 특징에 대해 알 수 있었고, 병렬화에 효율적인 명령어와 그렇지 못한 명령어의 차이에 대해 알 수 있었다. 내용 정리 05-1. 빠른 CPU를 위한 설계 기법 클럭 컴퓨터 부품들은 "클럭 신호" 주기에 맞춰서 명령어들이 실행되며 동작한다. 클럭 속도가 높을수록 CPU의 명령어 사이클은 더 빠르게 반복된다. 따라서 클럭 속도가 높은 CPU가 성능이 일반적으로 좋으며, CPU의 속도 단위로 간주된다. 클럭 속도 헤르츠(Hz) 단위로 측정되며 1초에 클럭이 몇번 반복되는지를 나타냄 1Hz는 1초에 클럭이 1번 반복된 것을 의미함 클럭속도는 ..

[온라인 강의] 스탠포드 대학 딥러닝 강의 목록

최근 딥러닝을 다시 공부해야 될 필요성을 많이 느낀다. 우선 책으로만 공부하다 보니 머리 속에 정리가 잘 안됐다. 그리고 최신 트렌드나 실제 적용을 해보질 못하니 탁상공론을 하는 느낌이 계속 들었다. 그래서 딥러닝 강의들을 찾던 중 스탠포드 대학에서 온라인에 무료로 공개한 딥러닝 강의가 많이 있다는 것을 알게 되었다. 아래는 주제별 강의 목록이다. 스탠포드 대학 딥러닝 강의 목록 Deep Learning http://web.stanford.edu/class/cs230/ [ Natural Language Processing ] CS 124: From Languages to Information (LINGUIST 180, LINGUIST 280) http://web.stanford.edu/class/cs12..

Study/딥러닝 2022.11.04

[컴퓨터 구조] 혼자 공부하는 컴퓨터구조 + 운영체제 CPU의 작동 원리

Chapter 4. CPU의 작동 원리 요약 CPU 내부에서 명령어가 어떻게 처리되는지 자세히 알 수 있었다. 내용 정리 04-1. ALU와 제어장치 배경 지식 CPU: 저장된 명령어를 읽고, 해석하고, 실행하는 장치 CPU 내부는 아래 장치들로 구성된다. ALU: CPU내에서 계산을 담당 제어장치: 명령어를 읽고 해석하는 장치 레지스터: CPU 내에 있는 작은 임시 저장 장치 ALU ALU: 계산을 수행하는 장치 레지스터에 저장된 피연산자를 받아들임 제어장치에서 수행할 연산을 알려주는 제어 신호를 받아들임 피연산자와 제어 신호를 통해 산술 연산, 논리 연산 등 다양한 연산을 수행함 연산을 위해 여러 회로들이 존재하며, 가산기, 보수기, 시프터, 오버플로우 검출기 등이 존재함 ALU 회로 가산기: 덧셈을..

프로그래머가 알아야 할 알고리즘 40 Chapter 3 알고리즘에 사용되는 자료구조

3장. 알고리즘에 사용되는 자료구조 요약 정렬과 검색에 사용되는 기본 알고리즘들을 학습할 수 있었다. 내용 정리 3.1 정렬 알고리즘 이해하기 버블 정렬 버블 정렬(bubble sort): 리스트 안에서 가장 큰 값을 반복적으로 옮기는 알고리즘 장점: 가장 간편하다 단점: 속도가 매우 느린 알고리즘 최선의 경우 시간 복잡도: O(n^2) 최악의 경우 시간 복잡도: O(n^2) 버블 정렬의 작동 원리 패스(pass)라는 과정을 반복한다. 패스(pass): 리스트의 큰 값을 오른쪽으로 보내는 행위 패스로 붙어있는 이웃끼리의 값을 비교한 후 오른쪽으로 보내게 된다. k번째 패스마다 리스트의 N-k+1번째 값(k번째로 큰 값)이 결정된다. k번째 패스에서 리스트 내 패스 대상은 0번째 ~ N-k+1번째 까지의 ..

Study/알고리즘 2022.10.31

[컴퓨터 구조] 혼자 공부하는 컴퓨터구조 + 운영체제 Chapter 3 명령어

Chapter 3. 명령어 요약 고급언어와 저급언어의 차이를 정리하고, 저급언어인 명령어가 어떻게 구성되는지 알 수 있었다. 내용 정리 03-1. 소스코드와 명령어 (1) 고급언어와 저급언어 프로그래밍 언어로 만든 소스 코드들이 실행되려면 컴퓨터 내부에서 이해할 수 있는 명령어로 변환이 되야 한다. 고급 언어(high-level programming language): 프로그래밍 언어와 같이 사람이 이해하기 쉽게 만들어진 언어 ex> C, C++, Java, Python 등 고급언어의 필요성 사람이 읽고 쓰기 편하다. 가독성이 좋다. 변수나 함수 등 문법을 이용해 복잡한 프로그램을 구현할 수 있다. 저급 언어(low-level programming language): 컴퓨터가 이해할 수 있는 언어로 명령..

프로그래머가 알아야 할 알고리즘 40 Chapter 2 알고리즘에 사용되는 자료구조

2장. 알고리즘에 사용되는 자료구조 요약 파이썬에 내장된 자료구조들의 특징과 이를 이용해 구현할 수 있는 추상화 자료형들에 대해 학습할 수 있었다. 내용 정리 2.1 파이썬 자료 구조 파악하기 알고리즘을 실행할 때는 데이터를 보관할 인메모리 자료구조가 필요함 => 적절한 자료구조를 선택하는 것은 효율적인 알고리즘 구현의 필수요소이다. 자료구조(Data structure): 컬렉션을 저장하는 방법론들을 통칭함 컬렉션(collection): 특정 목적을 위해 함께 저장되고 처리되는 데이터 요소들의 묶음 파이썬의 자료구조 종류 리스트(list): 데이터 요소간 순서가 있고, 수정이 가능한 자료구조 튜플(tuple): 데이터 요소간 순서는 있으나 수정이 불가한 자료구조 세트(set): 데이터 요소간 순서가 없고..

Study/알고리즘 2022.10.23

프로그래머가 알아야 할 알고리즘 40 Chapter 1 알고리즘 기초

1장. 알고리즘 기초 요약 책에서 앞으로 공부할 각 단원의 내용마다 왜 공부해야하는지, 어떤 내용이 있는지 핵심요소들을 거시적으로 정리하는 장이었다. 내용 정리 1.1 알고리즘 정의하기 알고리즘(Algorithm): 문제를 풀기 위해 특정한 연산을 수행하는 규칙 정해진 포맷의 입력 데이터를 정의된 연산 규칙에 따라 처리해서 결과를 출력한다. 알고리즘을 설계하는 것은 가장 효율적인 방법으로 현실의 문제를 해결하는 과정이다. 기본적인 알고리즘들의 조합은 더 큰 범위의 문제를 해결하는데 적용될 수 있다. 알고리즘의 개발, 배포, 사용 단계 문제 정의 알고리즘 설계 알고리즘 구현 알고리즘 검증 배포 및 사용 개발 단계: 설계 단계 + 구현 단계 개발 단계에서 설계와 구현 과정을 반복하면서 효율적인 알고리즘을 찾..

Study/알고리즘 2022.10.21

[컴퓨터 구조] 혼자 공부하는 컴퓨터구조 + 운영체제 Chapter 2 데이터

Chapter 2. 데이터 요약 컴퓨터가 데이터를 읽어들이고 이를 이해하고 표현하는 방식에 대해서 학습할 수 있었다. 내용 정리 02-1. 0과 1로 숫자를 표현하는 방법 (1) 정보 단위 비트(bit): 컴퓨터가 이해하는 가장 작은 정보 단위로 0과 1을 나타낸다. 이후의 정보들은 여러 비트의 조합으로 나타내게 된다. 1비트는 0과 1, 두 가지 정보를 표현할 수 있다. n비트는 2^n의 정보를 표현할 수 있다 (2 * 2 * 2 * .... * 2로 0과 1의 정보 2개를 n군데서 표현할 수 있음). 바이트(byte): 8개의 비트가 묶인 단위이다. 표현할 수 있는 정보량은 2^8 (256)개 이다. 킬로바이트(kB, Kilobyte): 1바이트를 1,000개 묶은 단위 메가바이트(MB, Megaby..

[컴퓨터 구조] 혼자 공부하는 컴퓨터구조 + 운영체제 Chapter 1 컴퓨터 구조 시작하기

Chapter 1. 컴퓨터 구조 시작하기 요약 컴퓨터 구조를 왜 공부해야 하는지, 그리고 전반적인 큰 그림을 그려볼 수 있는 챕터였다. 내용 정리 01-1. 컴퓨터 구조를 알아야 하는 이유 컴퓨터 구조는 실력있는 개발자가 되려면 반드시 알아야 할 기본 지식이다. 컴퓨터 구조를 이해하면 문제해결 능력이 향상된다. 개발할 때 문제없이 작동하던 코드가 실제 사용자들에게서는 동작하지 않을 수 있다. 컴퓨터 구조를 이해하면 이런 문제 상황을 빠르게 진단할 수 있고 문제 해결 방법을 다양한 곳에서 찾아낼 수 있다. 따라서 여러 채용 공고나 기술면접에서 컴퓨터 구조 내용을 숙지하고 있는지 질문하는 경우가 많다. 목적에 맞는 컴퓨터의 성능과 용량을 파악하고, 최소의 비용으로 이를 설계할 수 있다. 선택에 따라 비용이 ..

반응형