프로그래밍언어의 두 가지 측면 - 구문론: 형태에 대하여 - 의미론: 수행 의미에 대하여 언어의 형식적 정의: 구문론과 의미론을 통해 언어를 정의한다. 프로그래밍 언어에서의 구문론: 프로그래밍 언어의 표면적인 구조를 정의한다. (어떤 형태로 작성할지)의미론은 내용적인 효과를 정의 (어떤 일이 일어나는지) 프로그래밍언어에 구문이 정의되어있으면 그 구문을 통해 정상적인 프로그램 도출 가능 일반적으로 프로그래밍 언어에서는 문맥 자유 문법을 이용 문맥 자유 문법: 문맥에 영향을 받지 않는 문법 문맥 자유 문법의 구성 요소1. 비단말 기호: 정의될 대상2. 단말 기호: 언어에서 직접 사용되는 표현 (비단말 기호 및 메타 기호가 아닌 기호)3. 시작 비단말 기호: 언어에서 독립적으로 사용될 수 있는 단위4. 규칙..
자료구조란자료의 추상화를 통해 자료의 논리적 관계를 구조화한 것측정하고 관찰하여 쌓아 놓은 자료를 컴퓨터에서 사용할 수 있게 정리하고 분류해 놓은 것알고리즘이 효율적으로 작동하기 위해서 필요한 다양한 자료의 논리적 구조나 관계자료구조는 입력값에 대한 추상화의 결과, 알고리즘은 프로그램에 대한 추상화의 결과 추상 자료형: 자료값의 집합과 연산 집합에 대한 정의(C언어 기준)기본 자료구조: 정수, 실수, 문자 등파생된 자료구조: 배열, 구조체, 포인터 등사용자 정의 자료구조: 스택, 큐, 트리, 그래프, 리스트 등 알고리즘: 명령어들이 사람의 머릿속에서 추상화되어 존재하는 것 알고리즘의 조건출력수행 후 적어도 한 가지 결과 생성유효성반드시 실행 가능해야 한다입력입력이 없을 수도 있고, 내부에서 제공될 수도 ..
선형대수학의 본질 | 3b1b 한국어3Blue1Brown의 대표 시리즈 "Essence of Linear Algebra"의 한국어 번역. 행렬, 행렬식, 고윳값-고유벡터 등에 관한 기하적 직관을 선보임으로써 선형대수학의 이해를 돕습니다.www.youtube.com선형대수가 빅데이터시대에 그렇게 중요하다면서요?하지만 난 고교에서 행렬과 벡터를 배우지 않은 비운의 세대라 유튜브로 이래저래 보고 있는데 아직은 어렵기만 😇여러 유튜브 영상 중 3blue1brown의 한국어 버전이 괜찮대서 도전해보았다그래도 순간순간 이해가 된다! 다음 날에 다음 영상 보면 다시 까먹지만 재미있었다강의 정리 내용은 대략 아래1. 벡터란 무엇인가“숫자를 좌표로써 도입한 것은 기존의 틀을 깬 혁명이었다.” (헤르만 바일)물리학 관점..
중앙처리장치: 처리장치 + 제어장치처리장치: 데이터를 처리하는 연산 실행제어장치: 연산의 실행 순서 결정 연산을 실행할 수 있도록 제어장치가 처리장치에 제어신호를 제공한다.처리장치는 연산장치와 레지스터들로 구성명령어는 주기억장치에 있고, 중앙처리장치에 의해 순차적으로 실행 마이크로연산: 레지스터에 저장된 데이터에 대해 실행하는 기본적인 연산레지스터들 사이에 데이터를 전송하는 마이크로연산은 연산자 ← 로 표시처리장치의 동작원리1. 출발 레지스터의 내용이 ALU의 입력으로 전달2. 각 레지스터들은 ALU와 연결된 버스를 통해 2개의 멀티플렉서와 연결된다.3. 각 멀티플렉서들은 선택신호를 이용하여 특정 레지스터를 선택한다.4. 선택된 데이터는 ALU에서 연산 실행5. 마이크로연산의 결과가 시프트 레지스터를 거..
2. 데이터 2-1. 0과 1로 숫자를 표현하는 방법비트: 0과 1을 나타내는 가장 작은 정보 단위 (n비트는 2ⁿ가지 정보 표현 가능)워드: CPU가 한 번에 처리할 수 있는 데이터의 크기이진수의 음수 표현2의 보수: 어떤 수를 그보다 큰 2ⁿ에서 뺀 값 (e.g., 11(2)의 2의 보수는 100(2)에서 11(2)를 뺀 01(2)) 또는 모든 0과 1을 뒤집고 거기에 1을 더한 값실제로 이진수만 보면 양수인지 음수인지 판단하기 어렵기 때문에 플래그를 사용한다.2의 보수 표현의 한계: n비트로는 - 2ⁿ과 2ⁿ을 동시에 표현할 수 없다. 2-2. 0과 1로 문자를 표현하는 방법문자 집합: 컴퓨터가 인식하고 표현할 수 있는 문자의 모음문자 인코딩: 문자를 0과 1로 변환해서 컴퓨터가 이해할 수 있게 ..
명령어(instruction): 컴퓨터가 수행해야 하는 일을 나타내는 비트들의 집합디지털 컴퓨터의 구조: 명령어와 수행에 필요한 데이터가 주기억장치에 연속적으로 저장, 중앙처리장치가 하나씩 순차적으로 수행 명령어 = 0과 1의 비트들의 집합 (연산코드 필드 + 오퍼랜드 필드)연산코드 필드: 처리해야 할 연산의 종류오퍼랜드 필드: 처리할 정보 (=피연산자) 오퍼랜드는 오퍼랜드의 값이나 구할 수 있는 수단을 나타내야 하는데,오퍼랜드를 기억시켜 놓는 곳은 주기억장치, 레지스터, 누산기, 스택 명령어의 형식은 오퍼랜드의 기억장소에 따라 분류하거나 오퍼랜드의 수에 따라 분류 기억장소에 따른 명령어 형식누산기(accumulator) 이용누산기는 중앙처리장치 내의 유일한 데이터 레지스터오퍼랜드 중의 하나가 누산기에..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.