본문 바로가기

AM 4 : 30

2020.07.31(FRI)일의 새벽4시반 : 파이프 라인

2020.07.31(FRI)일의 새벽4시반

 

 

 

 

 

 

 
 
 
 
 
 
저는 전자공학과를 나왔습니다. (시작부터 뜬금없이... ㅋㅋㅋ) 
 
이와 관련해서 뭔가가 갑자기 생각이 나서 글을 쓰는데요. 
 
 
일반인들이 흔히 생각할 때 CPU(컴퓨터)는 멀티테스킹이 가능하다고 생각합니다. 
 
즉, 동시에 여러가지 일을 할수 있다고 생각하는거죠. 
 
음악도 들으면서 인터넷도 하고, 카톡도 하고.. 한번에 정말 여러가지 일을 할 수 있는 것 처럼 보입니다. 
 
하지만, 엄밀히 따지자면 CPU는 한번에 한가지 일만 할 수 있습니다. 
 
다만 이 "한가지 일"을 짧게 짧게 끊어서 겁나 빠르게 반복을 하면 여러가지 일을 동시에 하는 것처럼 보이는거죠.
 
여기서 "겁나 빠르게"가 중요합니다. 
 
 
하지만 이 겁나 빠르게 만드는 것도 물리적인 한계가 있게 되죠.
 
무한정 빠르게 만들수는 없으니..
 
더 이상 스피드 자체를 늘리기가 어려워지자, 사람들(엔지니어들)은 머리를 짜내서 CPU가 조금이라도 쉬지 않고 일을 하게 할 수 없을까를 고민을 하게 됩니다.  
 
그래서 CPU가 일을 하는 과정을 자세히 보니, 아래와 같은 특징이 있음을 알아내죠.  (예 입니다. )
 
  • 하나의 일을 하기 위해서는 크게 3단계의 과정을 거친다.  
  • 1단계가 A라는 일을 하는 동안, 2, 3단계는 대기를 하고 있다. 
  • 1단계가 A를 마치면 2단계가 이를 받아서 일을 하는데, 이때 1, 3단계들은 대기를 하고 있다. 
  • 그 다음은 3단계로 넘어가고, 1, 2 단계는?? 당연히 대기를 하고 있다.
  • 3단계까지 일이 끝나면 한 사이클이 끝나고, 1단계가 두번째 일 B를 받아 온다. 
  • 즉 일하는놈 빼고 나머지는 놀고(?) 있다. 
 
그러면 얘들을 안놀게 할 수 있는 방법을 찾아보자..
 
음... 그러면 일하는 파이프를 3개를 만들어서 한 단계씩 돌리면 모두들 놀지 않고 일을 하게 할 수 있겠군...
 
즉, 
  • 1단계가 A라는 일을 시작한다. 
  • 1단계가 A를 마치면 2단계로 A를 넘긴다. 
  • 원래 1단계는 2단계로 일을 넘기고는 쉬었었는데, 이제는 쉬지 않고 바로 B를 받아서 또 일을 한다. 이때 당연히 2단계는 A를 한다. 
  • 그 다음에 2단계가 3단계로 A를 넘기고, 1단계는 2단계로 B를 넘기고, 1단계는 다시 C를 받아오고..
  • 3단계가 A를 끝내면 B를 받고, 2단계는 C를 받고, 1단계는 새로운 작업 D를 받는다. 
  • 이렇게 3단계를 돌고나면 그 다음부터는 모두들 놀지 않고 일을하게 된다. 
 
이걸 그림으로 그리면..
 
 
 
이렇게 생겼습니다.  (계산식 같이 생긴거는 그냥 못본척 하세요..)
제일 윗줄에서부터 아래로 단계 1, 2, 3 이렇게 보시면 됩니다. 
 
A : Fetch
B : Decode
C : Excute
 
이걸 이 분야에서는 "PIPELINE Execution"이라고 부릅니다. 
 
파이프라인..
 
 
 
 
갑자기 이 얘기가 왜 나왔냐..
 
요즘 재테크나 부를 이루는 것에 대해 공부를 하다보니
 
다양한 파이프라인을 구축하라는 얘기를 자주 보게 됩니다. 
 
즉, 수입원을 다각화 하라는거죠..
 
월급 하나에만 의존하고 살다가, 어느날 갑자기 월급 절벽을 만나게 되면 나와 가족들의 생활 자체가 어려워지기 때문인데요. 
 
또 수입이 있다가 없어지니 심리적인 압박감이 클 것이고, 
 
그러한 압박감 속에서, 사업을 시작하거나 다른 수익 행위를 하다보면, 선택의 시야가 좁아지고 그러다 잘못된 선택을 하는 경우가 많다는 겁니다. 
 
그래서 은퇴하기, 퇴직하기 전에 최대한 수입원을 다각화해두라는 얘기인거죠.
 
뭐, 쉽지 않은 얘기긴 합니다. (하지만 못할 것도 아니긴 하죠.. ^^)
 
 
 
저는 여태껏 일을 해오면서, 
 
어떻게 하면 좀 더 자동화를 만들어서 일하는 시간을 줄일 수 있을까..
 
어떻게 하면 이런 파이프라인 구조를 잘 만들어서 내가 좀 더 편하게 일을 할까..
 
뭐 이런 고민을 하면서 파이프라인을 제 업무에 적용하려고만 해왔는데요. 
 
요즘들어 드는 생각은
 
CPU만 파이프로 돌리지말고, 저의 경제 활동도 이렇게 했어야 했다는 것이죠.
 
그 때는 왜 이런 생각을 못했는데..
 
생각을 조금만 바꿔보면 쉽게 알 수 있었던 것들인데 말이죠.. 
 
무려 20년전에 이 이론을 접했는데.. ㅋㅋㅋ
 
 
 
이런 저런 책들을 보고, 사람들과 얘기하면서 많은 것을 깨닫고 또 반성하기도 하는 요즘입니다. 
 
재테크 분야에서 파이프라인 얘기가 나오길래 반갑기도 하고 옛날 생각도 나서 적어 봤습니다. ^^
 
(이해 안되시면 Pass~~~)
 
 
 
 
P.S.1.
파이프 1호로 애드센스를 적용해 볼까 합니다.. ^^
액수 크기가 중요한게 아니라, 뭔가를 시도한다는게 중요하니까요.
일단 현시점에서 제일 빠르게 적용할 수 있을 것 같기도 하구요.. ^^
그리고 차츰 하나씩 하나씩... 늘려 보죠 머..