컴퓨터 공학 공부 중(1)

도윤수·2022년 9월 26일
0

Java공부

목록 보기
2/2

컴퓨터 공학 공부 중

Java와 기초 수학에 대해서만 진도를 나가고 있다가 컴퓨터 공학 이론도 보기 시작했다.
전공자라면 당연하게 생각할 수도 있고, 비전공자라면 공부할 양이 늘어나는 부분.
하지만 개발자가 되기 위해선 잘 숙지하고 있어야 면접때도 써먹는 부분이다.

컴퓨터 구조

비슷한 학과를 나와서 컴퓨터 구조 수업을 들었어서 익숙한 이름들이다.

컴퓨터는 크게 HW(하드웨어)SW(소프트웨어)로 구성되어있고,
HW에는 Input/Output Device와 Storage(저장장치) 등 눈에 보이는 것들.
SW에는 OS(Operating System)운영체제 등으로 나눌 수 있다.

기억장치는 주기억장치보조기억장치로 나누어 볼 수 있는데,
먼저, 주기억장치는 기억된 내용을 읽기만 가능한 ROM(Read Only Memory)
휘발성 메모리인 기억소자로 연산결과를 저장하거나 다음 연산에 사용할 수 있어서, 컴퓨터 체감속도에
큰 영향을 주는 RAM(Random Access Memory)가 있다.

보조기억장치는 흔히 아는 HDD, SSD, USB, CD 등 Data를 저장하고 꺼내서 사용하는
저장장치를 말한다. 물론 종류에 따라 동작 방식, 처리속도, 구조 등이 다르지만 다음에
자세하게 파해쳐보려한다.

요즘은 공정의 발전으로 성능이 많이 좋아져서 개인적으로 예전의 인텔의 i7이 지금의 i3정도로 체감된다..
앞으로는 과학자들과 박사님들의 말처럼 "양자를 이해한사람은 아무도 없다.."의 양자를 이용한 양자컴퓨터가
판도를 바꿀 것으로 보인다. 0과 1을 가지고 움직이는 현재의 컴퓨터와 다르게 큐비트(qubit)를 가지고
작동하기 때문에 연산속도가 엄청나게 빨라져서 현재 기술력의 암호문은 의미가 없다는 말도 본적이 있다.
때문에 양자컴퓨터의 리더자리를 차지하려는 IBM, 구글, MS, 인텔 등 대형 컴퓨터업계의 신경전도 많이 보았다.

비트(bit)란

공대에 처음 왔을 때 이과에 처음 들어간 고2 때 수학선생님께서 "이과와 공대는 0과 1만 알면 다 끝나. 쉽지?"
라고 하셨었는데 따지고 보면 또 틀린말은 아닌거같다... 우리가 아는 비트는 0 또는 1을 가지는 코드를 비트라고 한다.
우리가 컴퓨터살때나 사용할때 따지는 용량에서 많이보는 단위에도 <bit -> byte -> KB -> MB -> GB -> TB>
bit가 들어간다.

2진수

bit는 0 또는 1로 이루어진 코드이고, 컴퓨터 내에서 데이터를 표현하기 위해 0 과 1로 표현할 수 있는 2진수가 있다.
우리가 일상생활에 흔히 사용하는 숫자는 0부터 시작해서 9까지를 기준으로 하는 10진수 인데, 컴퓨터는 0과 1만을
사용하는 2진법 체계를 가지고 있기 때문에 진법의 변환이 필요하다. 변환을 통해서 컴퓨터 프로그래머들은
8진수 또는 16진수를 쓰는 경우도 많다.

만약 10진수 숫자인 80을 16진수로 변환한다면, 10진수로 표현된 숫자를 변환하고 싶은 진수의 수로 나누어 주면된다.
16진수는 0~F까지로 나타낼 수 있기 때문에 주의해서 계산하면 80 / 16 = 5 ... 0 이 나오고 16진수로 표현할때에는
더 이상 나누어 지지않는 몫이 나올때까지 나누고 마지막 몫부터 나머지를 거꾸로 읽어주면 된다.
따라서 10진수 80은 16진수 50(16)의 값을 갖는다.

논리연산자

0과 1로 이루어지긴 하지만 규칙에 맞게 다루어야 우리가 원하는 동작을 하는 컴퓨터를 만들 수 있을 것이다.
회로설계할 때 많이 사용하던 논리연산자를 가지고 규칙을 만들면 된다.

논리연산자는 0과1 둘다 참일 때 참이 되는 AND, 둘 중 하나만 참이여도 참이 되는 OR, 0이면 1을 1이면 0을 반환하는 NOT부터
NAND, NOR, ExOR 등이 있다. 학부시절 과제 때문에 회로를 설계하는데 파일이 자꾸 날라가고 선이 끊겨서 분노를 참지 못하고
싹다 AND, OR로 짠 적이 있는데... 회로가 상상을 초월하는 거대한 사이즈로 나왔던 웃픈 사연이...

과제를 바로 시작하고 머리 좋던 친구들은 NAND, NOR, Ex연산자를 잘 활용해서 깔끔하고 간단하게 꾸몄다.
이렇게 논리연산자로 0과 1을 규칙에 맞게 동작할 수 있게 하면 우리가 컴퓨터를 사용할 수 있게된다.

profile
DataScience를 하고 싶은 DoIT

0개의 댓글