알림. 컴퓨터를 전공하지 않은 사람도 알 수 있도록 작성하였습니다.
설명에 과도한 축약이 있습니다.
양자 컴퓨터를 알아보기 전에 고전컴퓨터의 정보처리 방식에 대해 알아본다.
고전 컴퓨터가 정보를 저장 할 때는, bit 라는 최소단위로 저장을 한다.
bit는 1 과 0으로 on 과 off를 나타낸다.
아래 그림에서 왼쪽의 회로는 스위치가 닫혀있어 전구에 빛이 나지만,
오른쪽 회로는 스위치가 열려있어 전구에 빛이 나지 않을것이다.
이처럼 전원이 들어오느냐의 여부에 따라 0 과 1이 결정된다.
컴퓨터는 2진법을 사용하여 숫자와 문자들을 표시한다.
> 십진법 8은 100 , 십진법 100 은 1100100 으로 표시된다.
> 아스키코드로 문자 'a' 는 십진수 97, 이진수 1100001에 해당한다.
이제 저장된 정보들을 마음대로 사용할 수 있다.
사람들은 다양한 프로그래밍 언어를 사용해 프로그램을 만들기도 한다.
먼저 c++,python,java 와 같은 고수준의 언어로 코딩을 한다.
이렇게 쓰여진 코드들은 어셈블리어로 컴파일 되고 어셈블리어는 기계어로 어셈블링된다.
아래는 컴퓨터를 이용해서 더하기 연산을 하는 예시이다.
수의 계산은 다양한 게이트Gate를 통해서 해결한다.
아래사진은 and 연산을 하는 게이트의 예시이다.
and연산은 들어온 입력이 모두 1 일때 1을 출력하고 나머지의 경우에 0을 출력하는 연산이며, and 게이트는 트렌지스터 2개가 직렬로 연결된 것이다.
➕ 참고
트렌지스터의 작동원리: https://www.hellot.net/news/article.html?no=41552
logic gate: https://en.wikipedia.org/wiki/Logic_gate
Universal Gate 는 하나의 게이트로 다른 게이트들을 만들 수 있는 게이트를 의미한다. 하나의 게이트로 다른 게이트들을 표현할 수 있게 되면,
필요한 부품 수가 감소하고 따라 비용 효율적이며,문제 해결 및 유지보수에 용이하다. 또, 논리기능을 변경해야할 때, universal gate 들의 재구성을 통해 쉽게 변경가능하다.
➕ 참고
범용게이트: https://skyil.tistory.com/44