전체 글 58

[CS] 명령어 구조 알아보기

명령어 구조 `연산코드` : 연산자 (명령어가 수행해야할 연산) `오퍼랜드` : 피연산자 (연산에 사용될 데이터 또는 데이터가 저장된 메모리 주소값) 연산코드 (operation code) 오퍼랜드 (operand) 더하기 숫자 120 숫자 100 저장하기 숫자 20 메모리주소 xx 연산코드 CPU마다 연산코드가 다른데, 대부분의 CPU가 공통적으로 처리하는 네가지 연산은 아래와 같습니다. 산술/논리 연산 : ADD, SUBSTACT, DIVIDE, OR, AND, NOT, COMPARE(true or false) 제어 흐름 변경 : JUMP, CALL, RETURN 데이터 전송 : MOVE, STORE, PUSH, POP, LOAD(FETCH) 입출력 제어 : INPUT(READ), OUTPUT(WRI..

CS 2024.04.12

[CS] 명령어 변환방식 : 컴파일, 인터프리터

컴퓨터가 이해할 수 있는 정보는 두가지. 항상 강조 드립니다. `데이터` `명령어` 왜 명령어를 알아야 하는가? 개발자가 작성한 소스코드가 명령어로 변환되어, 컴퓨터가 이를 인식하고 동작하기 때문입니다. 고급언어 vs 저급언어 고급 언어 : 사람이 이해하고 작성하기 쉽게 만들어진 언어 (소스코드로 복잡한 프로그램 구현 가능) 저급 언어 : 컴퓨터가 이해하고 실행할 수 있는 언어 기계어 : 이진수(0,1) 또는 십육진수(0~9, A~F)로 구성가능 → 한눈에 이해하기 어렵다! 어셈블리어 ★ : 기계어를 읽기 편한 형태로 번역한 언어 예시를 통해 기계어와 어셈블리어를 살펴보겠습니다. 기계어 어셈블리어 10110000 01100001 mov al, 061h mov : move al : CPU안에 있는 변수를 ..

CS 2024.04.11

[CS] 문자집합, 인코딩, 디코딩에 대하여 (feat. 아스키코드)

문자집합(character set) 컴퓨터가 인식하는 문자의 모음 아스키코드 : 초장기 문자집합 중 하나로 아스키 문자에 대응되는 고유한 수 1 byte(8bit) 사용 7 bit : 128(=2^7)개의 문자를 표현할 수 있음 → 오직 문자 표현을 위해 사용되는 비트 1 bit : parity bit로 오류 검출을 위해 사용되는 비트 Tip) 아스키코드를 이진법으로 표현함(인코딩)으로써 컴퓨터가 정보를 이해할 수 있습니다. 알아두면 편리한 아스키문자는 하기 테이블 참고 하시기 바라며, 아래 문자 외 궁금한 문자는 위 링크 참고 바랍니다. 이진법 십진법 십육진법 문자 1000001 65 41 A 1011010 90 5A Z 1100001 97 61 a 1111010 122 7A z 인코딩(encoding..

CS 2024.04.11

[CS] 비트 : 컴퓨터가 이해할 수 있는 가장 작은 정보의 단위

2024.04.09 - [CS] - [CS] 컴퓨터 구조의 이해 데이터 는 컴퓨터가 이해할 수 있는 정보라고 말씀 드렸는데요. 그렇다면 데이터를 어떻게 표현할 수 있는지 살펴보겠습니다. 비트(bit) 컴퓨터가 이해하는 가장 작은 정보 단위 binary(이진수) digit 의 줄임말로써, 0과 1로만 정보를 표현할 수 있습니다. n개의 비트로 2^n 가지 정보 가능 예를 들어, 2개의 비트로 표현할 수 있는 정보 : 4가지( = 2^2)} ==> (0,0) (0,1) (1,0) (1,1) 바이트(byte) 8 비트를 묶은 단위 (참고) 256가지(=2^8)의 정보를 표현할 수 있습니다. 데이터의 크기(용량)는 하기 테이블 참고 바랍니다. 구분 비고 바이트(byte) 8 비트 킬로바이트(kB) 1000 바이..

CS 2024.04.10

[CS] 컴퓨터 구조의 이해

왜 컴퓨터 구조에 대한 이해가 필요한가? 1. 문제 해결 백엔드 개발자도 서버/인프라에 대한 지식이 필요한 경우가 있습니다. 간혹 서버와 인프라 구축단에서 이슈가 발생했을때, 코딩만으로 해결하지 못하는 상황을 마주할 수 있습니다. 이때 컴퓨터 구조를 이해하고 있다면 좀더 명확하게 원인을 파악하고 이슈를 해결할 수 있습니다. 2. 비용절감, 성능고려 개발자라고 하면 개발기간, 비용, 품질에 대한 고민은 늘 따라 다닙니다. 개발한 서버가 오랜기간 정상 작동하기 위해서 알맞은 서버 컴퓨터를 구매해야합니다. 비용을 낮추면서도 성능은 유지할 수 있고, 용량 커버 범위도 넓다면 좋겠지요. 이때, 컴퓨터 구조가 도움될 수 있습니다. . . 컴퓨터 구조 컴퓨터는 명령어를 처리하는 기계입니다. 구조는 아래와 같이 나눌 ..

CS 2024.04.09