일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 파이썬라이브러리
- 중학수학
- 머신러닝
- 데이터입출력구현
- CNN
- 혼공머신
- 연습문제
- 딥러닝
- 자바 실습
- 정수와유리수
- JSP/Servlet
- 컴퓨터구조
- html/css
- 중학1-1
- 파이썬
- 정보처리기사실기
- 영어공부
- 코딩테스트
- 운영체제
- 데이터베이스
- 데이터분석
- 자바
- 텍스트마이닝
- numpy/pandas
- 정보처리기사필기
- pandas
- CSS
- C++
- 컴퓨터비전
- SQL
- Today
- Total
목록분류 전체보기 (1250)
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
이제 4단원의 마지막 단원을 진행해 보겠다. 곧 점심시간이라 얼마 공부하지 못하겠지만 서론이라도 학습해 볼 것이다. CPU가 하나의 명령어를 처리하는 흐름인 명령어 사이클과 그 흐름을 방해하는 인터럽트에 대해 학습하게 된다.강의 자료의 화질이 너무 안 좋아서 상태를 봐서 책을 스캔해서 수정해야 할 것 같다. CPU가 하나의 명령어를 처리하는 과정에는 어떤 정해진 흐름이 있고, CPU는 그 흐름을 반복하며 명령어들을 처리해 나간다. 이렇게 하나의 명령어를 처리하는 정형화된 흐름을 명령어 사이클이라고 한다.CPU는 정해진 흐름에 따라 명령어를 처리해 나가지만, 간혹 이 흐름이 끊어지는 상황이 발생한다. 이를 인터럽트라고 한다. 명령어 사이클우리가 실행하는 프로그램은 수많은 명령어로 이루어져 있고, CP..
특정 레지스터를 이용한 주소 지정 방식은 두 가지가 있다. 하나는 스택 주소 지정이고, 다른 하나는 변위 주소 지정 방식인데 이제부터 차근차근 학습해 볼 것이다. 컴퓨터 구조는 처음 들어보는 용어들이 많아서 낯설고 많이 어렵다. 그래도 포기하지 않고 이틀째 공부를 계속하고 있다.아마 3일만에 이 책 전체를 다 마치는 건 불가능할 것 같고 목요일까지 4일에 걸쳐 학습해 보기로 일정을 수정해 본다. 특정 레지스터를 이용한 주소 지정 방식 1 : 스택 주소 지정 방식 스택 포인터는 스택 주소 지정 방시이라는 주소 지정 방식에 사용되고, 프로그램 카운터와 베이스 레지스터는 변위 주소 지정 방식이라는 주소 지정 방식에 사용된다. 먼저 스택 주소 지정 방식에 대해 알아보겠다.스택 포인터는 스택 마지막으로 저장한..
수학 공부를 마치고 나니 2교시가 끝났지만 이제 남은 2시간 동안 최대한 집중해서 4단원 학습을 진행해보려고 한다. 분량이 많기도 하고 어려운 내용이라 1시간씩 끝낼 수 있을지 장담할 수 없지만 그래도 최대한 빠르게 학습해 볼 것이다.레지스터의 종류와 역할을 학습하고 각 레지스터를 통해 명령어가 처리되는 과정을 이해하는 단원이다. ALU나 제어장치를 직접 다룰 일은 레지스터에 비해 적다. 하지만 레지스터 안의 값을 관찰하는 일은 생각보다 많다. 특히 저급 언어 개발자, 임베디드, 시스템 개발자들은 이 레지스터를 다룰 일이 훨씬 더 많다고 한다. 그러니 이 내용을 충분히 숙지하기로 하자. 프로그램 속 명령어와 데이터는 실행 전후로 반드시 레지스터에 저장된다. 레지스터에 저장된 값만 잘 관찰해도 프로그램의..
STEP A 과정이라 그런지 한 문제를 푸는데 한참 걸리고 난이도도 꽤 높았다. 어제와 오늘 이틀에 걸쳐서 푼 문제들을 학습일지에 올려본다. 어제는 시간이 없어서 2문제를 풀었고, 오늘은 아침에 시간을 내서 수학 공부를 진행했다. 내일까지는 꼭 STEP A 과정을 끝마쳐야 하는데 수학 공부를 하는 것도 내게 중요한 일과이기에 아침 공부를 잠시 미루고 문제를 풀었다. 에이급 수학 STEP A 문제 풀기 학습을 마치고그래도 공부를 하니 정말 뿌듯했다. 오늘은 1시간 반 이상 문제를 풀었다. 아침에 지각 없이 50분에 등교하니 여유로운 시간을 보낼 수 있어서 참 좋았다. 내일 나머지 15문제를 모두 풀어볼 것이다.
이번 시간부터 본격적으로 CPU에 대해서 들어가게 된다. CPU의 구성 요소 중 ALU와 제어 장치에 대해서 알아볼 것이다. ALU와 제어 장치가 어떤 정보를 내보내고 받아들이는지를 중심으로 두 장치의 역할을 학습한다. CU는 메모리에 저장된 명령어를 읽어 들이고 해석하고 실행하는 장치이다. 그리고 CU 내부에는 계산을 담당하는 ALU, 명령어를 읽어 들이고 해석하는 제어장치, 작은 임시 저장 장치인 레지스터라는 구성 요소가 있다고 학습했었다.이번에는 ALU와 제어 장치가 받아들이고 내보내는 정보를 기준으로 각 부품의 역할을 살펴보겠다. ALU 계산을 하기 위해 무엇이 필요할까? 1+2를 계산할 때 1과 2라는 피연산자와 더하기라는 수행할 연산이 필요하듯 ALU가 계산하기 위해서는 피연산자와 수행..
이 학습 내용은 책에는 없는 내용인데 따로 학습해 본다. C 언어가 컴파일되는 과정을 실습을 통해 직접 알아보려고 한다. 따로 책으로 학습을 진행했는데 강의가 있어서 이것도 함께 들으며 정리해 보았다. 목적 파일 VS 실행 파일목적 코드로 이루어진 파일을 목적 파일이라고 부른다. 마찬가지로 실행 코드로 이루어진 파일을 실행 파일이라고 부른다. 윈도우의. exe 확장자를 가진 파일이 대표적인 실행 파일이다.목적코드는 컴퓨터가 이해하는 저급 언어이다. 그렇다면 목적 파일과 실행 파일은 같은 의미일까? 그렇지 않다. 목적 코드가 실행 파일이 되기 위해서는 링킹이라는 작업을 거쳐야 한다. 링킹이 무엇인지 간단한 예시를 통해 알아볼 것이다. 예를 들어 캄파일 언어로 help.c와 main.c라는 두 개의 소스 코..
어제 학습하려고 했지만 오늘 새벽에 일어나 공부를 진행해 본다. 명령어의 구조와 주소 지정 방식을 학습하며 명령어의 생김새와 작동 원리를 이해하는 단원이다. 지난 시간에 기계어와 어셈블리어의 형태로 명령어를 접해보았다. 아직 기계어와 어셈블리어를 이루는 각각의 명령어를 자세히 들여다보지는 않았다. 이번 시간에 자세히 들여다보며 연산 코드, 오퍼랜드, 주소 지정 방식이라는 개념을 학습해 보겠다. 연산 코드와 오퍼랜드누군가에게 명령할 때 이렇게 말한다. 컴퓨터 속 명령어도 마찬가지다. 명령어는 무엇을 대상으로 어떤 작동을 수행하라는 구조로 되어 있다. 명령어는 연산 코드와 오퍼랜드로 구성되어 있다. 연산 코드는 명령어가 수행한 연산이고, 연산에 사용할 데이터가 저장된 위치를 오퍼랜드라고 한다. 연산 ..
개발자가 프로그래밍 언어로 작성한 소스 코드가 컴퓨터 내부에서 명령어가 되고 실행되는 과정을 학습해 볼 것이다. 컴퓨터를 작동시키는 정보가 명령어라면 C, C++, Java, Python과 같은 프로그래밍 언어로 만든 소스 코드는 무엇일까? 결론부터 말하면 모든 소스 코드는 컴퓨터 내부에서 명령어로 변환된다. 이번 절에서는 프로그래밍언어가 어떻게 명령어가 되어 실행되는지 알아보겠다. 고급 언어와 저급 언어우리가 프로그램을 만들 때 사용하는 프로그래밍 언어는 컴퓨터가 이해하는 언어가 아닌 사람이 이해하고 작성하기 쉽게 만들어진 언어이다. 컴퓨터는 이 언어를 이해하지 못한다. 이렇게 '사람을 위한 언어'를 고급 언어라고 한다.반대로 컴퓨터가 직접 이해하고 실행할 수 있는 언어를 저급 언어라고 한..
이어서 유니코드 인코딩 방식에 대해서 학습해보겠다. 유니코드와 UTF-8하지만 모든 한글을 표현할 수 없다는 한계가 있다. 이렇게 해서 등장한 것이 유니코드 문자 집합이다. 유니코드를 인코딩하는 방식도 이처럼 여러 가지가 있다. 유니코드가 얼마나 다양한 문자를 표현할 수 있는지 실습을 통해 확인해보기로 하자. 유니코드 실습 사이트 Unicode Blocks (◕‿◕) SYMBLUnicode web service for character search. Find, copy and paste your favorite characters: 😎 Emoji, ❤ Hearts, 💲 Currencies, → Arrows, ★ Stars and many others 🚩symbl.cc 여러 다양한 언어의..
이번에는 숫자가 아닌 문자에 대해서 공부해볼 것이다. 아스키 초드, 유니코드 등은 컴퓨터가 이해할 수 있는 0과 1로 다양한 문자를 표현하는 방법이다. 이번 절에서는 0과 1로 문자를 표현하는 방법, 즉 컴퓨터가 문자를 이해하고 표현하는 다양한 방법에 대해서 알아보겠다. 문자 집합과 인코딩 컴퓨터는 문자 집합에 속해 있는 문자를 이해할 수 있고, 반대로 문자 집합에 속해 있지 않은 문자는 이해할 수 없다. 문자 집합에 속한 문자라고 해서 컴퓨터가 그대로 이해할 수 있는 건 아니다. 문자를 0과 1로 변환해야 비로소 컴퓨터가 이해할 수 있다. 이러한 변환 과정을 문자 인코딩이라고 한다.0과 1로 이루어진 문자 코드를 사람이 이해할 수 있는 문자로 변환하는 과정은 문자 디코딩이라고 한다. 아..