일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- JS 스코프
- JS 삼항연산
- JS form action
- JS value속성
- HTML기초
- JS form
- JS redirection
- JS classList
- JS 숫자
- JS append
- JS 화살표함수
- js 변수
- JS setTimeout
- JS clearInterval
- JS appendChild
- CSS속성정리
- JS setInterval
- JS 함수
- JS preventDefault
- CSS기초
- JS localStorage
- JS 데이터타입
- git 협업셋팅
- JS typeof연산자
- JS 기초
- JS 형변환
- JS 타이머기능
- JS prompt
- JS 연산
- JS null undefined
공부기록용
CS_컴퓨터의 데이터와 명령어수행/트랜지스터 본문
컴퓨터(commpute_'계산하다' + er)는 키보드와 마우스 같은 장치로 명령어를 전달하여 데이터(숫자, 문자, 이미지 등등)를 처리한다.
컴퓨터의 데이터와 명령어
컴퓨터는 데이터와 명령어로 동작한다.
명령어 수행
컴퓨터가 동작을 위한 명령어를 실행할 때, 컴퓨터가 이해하고 작동하기 위해 사용하는 언어는 기계어라고 한다. 이 기계어와 일대일로 대응되는 프로그래밍 언어를 어셈블리어라고 한다.(어셈블리어는 저급언어라고도 함, 어셈블리어도 사람이 읽을 수 있는 형태의 프로그래밍 언어지만 매우 까다롭고 복잡하다) 이 어셈블리어라는 프로그래밍 언어를 컴퓨터가 이해하고 사용하는 기계어로 번역해주는 것을 어셈블러라고 한다.(↔️디어셈블러, 역어셈블러) )
저급 언어에서 사람이 이해하기 쉽게 작성된 프로그래밍 언어는 고급언어라고 하며 흔히 아는 C++, JAVA, Python, JS등등이있다.저급 언어인 어셈블리어를 기계가 이해하도록 번역해주는 것을 어셈블러라고 했다면 C++, JAVA, Python, JS등과 같은 프로그래밍언어를 기계가 이해하도록 번역해주는 것들로 컴파일러와 인터프리터 등이 있다. (컴파일러는 고급언어를 어셈블리어로 번역해주는 역할을 한다.)
컴퓨터는 기계어를 통해 데이터와 명령어를 처리하며 사람은 기계어를 이용하기 위해서 프로그래밍 언어를 사용한다.
즉, 사람이 컴퓨터를 작동시키기 위해 작성하는 프로그래밍 언어에도 사람들이 이해하기 어려운 저급언어(어셈블리어)가 있고 이해가 높은 고급언어(C+, JAVA,,,,)로 나뉜다.
트랜지스터
컴퓨터는 트랜지스터라고 하는 부품으로 이루어져 있다.
이 트랜지스터는 전류의 흐름에 따라 0(off)과 1(on)의 동작을 하며, 컴퓨터는 0과 1(이진수) 밖에 알아듣지 못한다. 이를 기계어라고 하며 컴퓨터는 이 이진수로 모든 것을 표현할 수 있다.
(숫자를 다음과 같이 표현 ➡️ 2=10 / 3=11 / 4=100 / 7=111 ...)
컴퓨터를 구성하는 하드웨어로, 컴퓨터의 이진법 연산을 가능하게 한다. 전류의 흐름에 따라 0과1을 구분하며 최근 출시되는 cpu에는 50억개 이상의 트랜지스터가 들어간다.
하나의 트랜지스터는 오직 두 개의 신호만 전달 할 수 있다. 트랜지스터가 늘어나면 전달 할 수 있는 신호 역시 늘어난다. 두 개의 신호만 전달 하는 이유는 오류의 최소화와 시간에서 효율성을 얻기 위함이다.
Binary->Binary Digit->Bit(0과 1)
Bit ➡️ Byte ➡️ KB ➡️ MB ➡️ GB ➡️ TB
⭐정리⭐
컴퓨터는 트랜지스터라는 부붐으로 만들어짐
➡️
트랜지스터, 컴퓨터의 동작은 0과 1 이진수를 사용하여 이루어짐 이 컴퓨터가 동작하기 위해 명령받아 이해하는 언어를 기계어라고 함(즉, 컴퓨터가 사용하는 언어라고 이해할 것)
➡️
기계어는 0과 1로 이루어져있고 인간 역시 인간의 언어, 프로그래밍 언어로 명령을 작성해 주어야함 이것은 저급언어(어셈블리어)와 고급언어(C++, Java, Python,,,)로 구분 된다.
(저급과 고급으로 나누는 것은 복잡도 정도로 알아두기_인간이 이해하기 쉬운게 고급언어지! 복잡하고 까다로운게 저급언어야!)
➡️
저급언어를 기계어로 번역해주는 것을 어셈블러라고 하고, 고급언어를 기계어로 번역해주는 것은 컴파일러, 인터프리터라고 한다.
'💡깨달음💡 > CS' 카테고리의 다른 글
CS_컴퓨터의 동작 흐름 (0) | 2023.08.10 |
---|---|
CS_컴퓨터의 구성요소(메모리, CPU, 입출력장치) (0) | 2023.08.10 |
CS_컴퓨터의 구성 요소(하드웨어와 소프트웨어) (0) | 2023.08.08 |
CS_ JWT 방식과 사용이유 (0) | 2023.06.24 |
CS_ 쿠키, 세션, 토큰 (0) | 2023.06.24 |