About AI

현대 컴퓨터의 구조는?

miracleai 2023. 1. 9. 15:57
반응형

현대 컴퓨터의 구조는?

 

인공지능을 이야기하기 위해서는 가장 먼저 알아야 할 것이 현대 컴퓨터의 구조다. 우리가 사용하는 컴퓨터의 구조 및 구동원리는 1952년에 정립이 되었다. 바꿔 말하면 1952년 이후 컴퓨터는 바뀐 것이 없다는 것이다.

 

1952년 폰 노이만은 ‘에드박’이라는 컴퓨터를 만들었다. ‘에드박’은 기존의 ‘에드삭’보다 효율적인 컴퓨터다. ‘에드삭’은 프로그램 내장방식을 처음 적용했던 컴퓨터다. ‘에드박’과 다른 것은 에드삭은 10진법체계였다는 것이다. 지금 우리가 사용하는 2진법체계의 컴퓨터와는 다른 것이다. 2진법 체계를 처음 적용한 컴퓨터가 바로 ‘에드박’이다. ‘에드박’ 이후의 컴퓨터는 예외 없이 프로그램 내장방식과 2진법 체계를 적용하고 있다. 그래서 우리가 사용하고 있는 컴퓨터를 ‘폰 노이만 컴퓨터’라고 하는 것이다.

 

그리고 또 한 가지는 에드박과 현대 컴퓨터 모두가 계산에 특화되어 있다는 것이다. 여기서 말하는 계산은 산술연산과 논리연산이다. 산술연산은 사칙연산을 말하는데 컴퓨터에서는 이 모든 것은 덧셈으로 계산이 된다. 여기서 곱셈은 덧셈으로 가능한 것을 알지만, 나머지는 덧셈으로 가능한지 의문을 가질 수도 있다. 뺄셈은 부호와 2의 보수를 통해 덧셈으로 연산을 할 수 있고. 나눗셈은 뺄셈으로 가능하기에 덧셈 기능만 있으면 된다. 실제 CPU에는 덧셈기만 있는 이유가 이 때문이다. (보수는 보완해주는 수다. 각 수마다 보수가 있다. 10의 보수는 더해서 10되는 수가 보수가 된다. 예를 들어 6의 보수는 4다. 이진법에서 1의 보수는 0과 1을 서로 바꾸는 것이고, 2의 보수는 1의 보수에 1을 더하면 된다)

 

논리연산은 검색을 해서 찾아주는 것이다. AI 스피커가 찾아주는 것, 알파고가 바둑을 두는 것은 논리연산으로 하는 것이다. 이렇게 보면 지금의 인공지능은 오직 계산하는 것만 가능한 것이다.

 

반응형

물론 예전의 컴퓨터와 지금의 컴퓨터를 비교해 보면 변한 것은 있지만 틀 안에서의 변화다. 일례로 1972년 이전까지 운영체제를 만드는 언어는 어셈블리어였다. 어셈블리어의 단점은 CPU 종류에 따라 코딩을 다르게 해줘야 했고, 코딩의 길이가 길어진다는 단점이 있다. 예를 들어 a = (4+5)×8÷6을 계산한다고 하면 

mov a 4

add a 5

mul a 8

div a 6

으로 코딩을 하는데 이것을 풀어서 이야기하면 a라는 방에 4를 저장하고 그 후 a 값에 5를 더한 것을 a에 저장한다. 저장된 a 값에 8을 곱한 갑을 다시 a에 저장하고, 이를 6으로 나누는 것이다. 이렇게 되면 코딩이 복잡해진다. 

 

이런 어셈블리어의 단점을 보완하고자 만든 언어가 바로 C언어다. C언어는 1972년 데니스 리치와 켄 톰슨이 운영체제를 만들기 위해 만든 언어다. 위의 프로그램을 C언어로 코딩하면 

int a

a = a = (4+5)×8÷6

이 된다. 이것을 보면 코딩이 간단하게 된다. 게다가 C언어는 CPU의 종류와 관계없어 적용이 가능하기에 보다 편리하다. 그래서 지금도 운영체제를 만들 대는 C언어나 C언어에서 파생된 C++을 사용한다. 이 말은 지금 컴퓨터의 운영체제는 폰 노이만 컴퓨터에 최적화된 C언어로 만들어졌기에 인공지능도 이 틀을 벗어나지 못한다는 것이다. 지금의 인공지능은 ‘폰 노이만 컴퓨터’에 최적화 된 인공지능이다.

 

 

반응형