파이프라인 성능을 저해하는 파이프라인 해저드의 개요 파이프파인 해저드의 개념 - 파이프라인 프로세서에서 명령어 의존성(데이터, 컨트롤, 자원)을 발생 시킬 수 있는 문제 - 파이프라인의 성능을 저해하는 요인, CPI(명령어당 실행 클럭 수)가 1이 되는 것을 방해하는 요소 ※ CPI(Cycles Per Instruction) : CPU가 한 개의 명령어를 처리하는데 소요되는 평균 사이클 수 파이프라인 해저드의 3가지 종류 구조적 해저드 - 하드웨어가 여러 명령들의 수행을 지원하지 않기 때문에 발생, 자원충돌(Resource Conflicts) 데이터 해저드 - 명령의 값이 현재 파이프라인에서 수행 중인 이전 명령의 값에 종속 - RAW, WAR, WAW 해저드가 존재 제어 해저드 - 분기(jump나 br..
명령어 파이프라인(Instruction Pipeline) 혹은 파이프라이닝(Pipelining)은 프로세서로 가는 명령어들의 움직임, 또는 명령어를 수행하기 위해 프로세서에 의해 취해진 산술적인 단계가 연속적이고, 다소 겹쳐서 수행하는 것을 의미한다. 파이프라인 기술이 없다면 프로세서는 메모리에서 명령어를 가지고 온 후, 연산을 수행하고, 다음번 명령어를 메모리로부터 가져오는 식으로 동작해야 하는 매우 비효율적인 방식으로 수행해야 한다. 즉, 명령어를 가져오는 동안에 프로세서의 산술연산 부분은 다음 명령어가 도착되기를 기다리며 쉬어야만 한다는 것이다. 파이프라인을 쓰게 되면, 하나의 명령어를 처리하는 동안 다음번 명령어를 가져올 수 있으며, 그것을 다음 명령어 연산이 수행될 수 있을 때까지 프로세서 근처..
Intro 교착상태는 사실 교착상태라는 말보다는 Deadlock이라는 말을 훨씬 많이 사용하고 있으며, 개발자라면 한번 정도는 경험해볼만한 상황이기도 하다. 필자같이 데이터 분석가라면 대용량의 데이터를 처리하기 때문에 다른 사람들보다 이러한 상황을 자주 경험해봤다. 왜냐하면 다중 프로세스에서 발생하기 때문에 대용량을 처리하는 상황(최고의 속도를 위해서 수많은 Thread들과 마이크로서비스 등을 사용하기 때문)은 그야말로 최적의 상황이기 때문이다. 다중 프로세스 무한대기 상태, 교착상태의 개요 교착상태(Deadlock)의 개념 - 다중 프로세스(process) 환경하에 서로 다른 프로세스가 각자 자신이 소유한 자원을 포기하지 않고 상대 프로세스의 자원을 무한정 기다리고 있는 상태 - 교착상태에 있는 프로세..
인터럽트의 개념 - 프로그램의 실행 중 CPU의 현재 처리 순서를 중단시키고 다른 동작을 수행하도록 요구하는 시스템 동작 - 어떤 장치가 다른 장치의 일을 잠시 중단시키고 자신의 상태 변화를 알려주는 제어신호 - CPU가 특정 기능을 수행하는 도중에 급하게 다른 일을 처리하고자 할 때 사용할 수 있는 기능 대부분의 컴퓨터는 한 순간에는 하나의 일 밖에 처리할 수 없기에 어떤 일을 처리하는 도중에 우선 순위가 급한 일을 처리할 필요가 있을 때 대처할 수 있는 방안이 필요함 ex) 컴퓨터에 오류가 발생하여 현재 발생한 페이지 정보를 저장해야 할 때 주요개념 인터럽트 요청 (Interrupt ReQuest, IRQ) - CPU에 인터럽트를 요청하는 신호, CPU에게 인터럽트 요청 시 CPU가 각 장치를 구분할..
암달의 법칙(Amdahl's law)은 미국의 컴퓨터 공학자이자 기업가였던 진 암달(Gene Amdahl)이 만든 법칙으로 암달의 저주(Amdahl's curse), 암달의 인수(Amdahl's argument)라고도 불린다. 진 암달(Gene Amdahl, 1922년 11월 16일 ~ 2015년 11월 10일)은 위스콘신 대학교 매디슨에서 이론물리학 석박사를 취득했고, 52년에 IBM으로 입사해 704 메인프레임, 시스템 360 메인프레임 등의 개발을 총괄하기도 했다. 암달의 법칙은 1965년 옮긴 어드밴스드컴퓨팅시스템랩에서 만든 것으로 컴퓨터 성능 최적화의 한계점을 측정하기 위해 만든 법칙이다. Gene Amdahl 암달의 법칙의 병렬 프로세스 성능 관점 암달의 법칙은 현재도 많이 쓰이며, 일반적으로..
폰노이만(Von Neumann Architecture) 아키텍처와 하버드 아키텍처(Harvard Architecture)를 처음 공부하였을 땐, 현재의 모든 컴퓨터 구조는 하버드 아키텍처로 이루어져 있는 줄 알았다. 왜냐하면 폰노이만은 1940년대에 등장한 개념이기 때문에 현재까지 그 구조를 이어가고 있다는 것은 꿈에도 생각치 못했기 떄문이다. 이러다보니, 당연히 모든 컴퓨터는 메모리 구조가 분리가 되어 있을거라 여겼는데 이는 나의 심각한 착오였다. 아직까지 대다수의 컴퓨터는 폰노이만 구조를 그대로 사용하고 있으며 일부 컴퓨터만 하버드를 채용한 정도에 불과하였다. 즉, 완벽히 하버드 아키텍처 구조를 따르는 것은 극 소수에 불과하고 아직도 폰노이만 구조를 바탕으로 둔 후 일부만 하버드 아키텍처를 활용하고 ..
폰노이만 구조(Von Neumann Architecture)는 존 폰노이만이 제시한 컴퓨터 아키텍처이다. 이를 다른 말로 프로그램 내장 방식(Stored Program Concept)으로도 불리는데 에드박(EDVAC)의 보고서 최초 초안(1945년)인 First Draft of a Report on the EDVAC에서 설명한 컴퓨터 아키텍처이다. 이처럼 폰노이만이 제안한 컴퓨팅 모델은 그의 이름을 따서 폰노이만 아키텍처라고 부르거나 그의 소속 대학을 따서 프린스턴 아키텍처(Princeton Architecture)라고 부르기도 한다. 폰노이만 구조 이전, 비슷한 시도를 한 것은 컴퓨터의 아버지라 할 수 있는 영국의 앨런 튜링이었다. 이미 앨런 튜링은 1937년에 튜링 기계(Turing Machine)을..
1. SSD의 핵심기술 FTL의 개요 가. FTL(Flash Translation Layer)의 개념 플래시 메모리와 파일시스템 사이에 위치하면서, 플래시 메모리를 디스크처럼 사용할 수 있게 해주는 사상(Mapping) 기술 나. FTL의 필요성플래시 메모리 섹터들의 최대 지우기 횟수의 유한한 결점을 보완하는 역할DISK I/O를 플래시 메모리에서 동작할 수 있도록 지원NAND 플래시 한계 : 쓰기보다 지우기가 느린 특성 2. FTL의 계층 구조 및 구성요소, 핵심기술 가. FTL의 계층 구조 FTL은, File System과 NAND Flash Device 사이에서 Mapping 수행 GC와 Wear Leveling을 포함하는 구성도 나. FTL의 구성요소 1) STL(Sector Translation..
PIM, 지능형반도체는 현재 국가에서 핵심 전략으로 밀고 있는 기술중에 하나이다. 인공지능으로 구글이 알파고라는 바둑 프로그램으로 치고 나가고 있다면, 현재 지능형 반도체는 IBM이 "트루노스(True North)"라는 반도체로 나아가는 중이다. 미국 컴퓨터 회사인 IBM과 코넬대학교가 공동 연구하고 삼성전자가 28nm 제조공정을 통해 구현한 뉴로모픽칩으로 2014년 8월 과학저널 사이언스 온라인판을 통해 공개되었다. 인간의 뇌는 1000억개의 뉴런(신경세포)과 약 100조개의 시냅스(연결부위)로 이루어져, 가변적으로 데이터를 동시 처리, 저장하기 때문에 엄청난 대용량의 동영상 정보를 빠르게 인식하게 된다. 이러한 뇌의 기술을 착안하여, 만든 반도체가 앞으로 뜰 지능형 반도체이고, 현재 상징적인 프로그램..
인텔이 만들어낸 기술로 약간의 뻥으로 사람들을 현혹시킨 기술이기도 하다.특정 작업환경에서는 좀 더 효율이 발생할 수도 있다. 예를 들어, 적은 리소스를 사용하는 프로그램들을 여러개 실행 할 경우 이 기능을 끈 것보다는 성능이 좋다. 하지만 동일한 연산을 주로 하는 프로그램에서는 오히려 성능이 줄어들 수 있다. 자 그럼 하이퍼스레딩이 무엇인지 정확히 알아보자.쉽게 이해를 하려면, 사람의 몸으로 설명하는 것이 빠를 것 같아서 사람을 기준으로 설명을 해보겠다. 어려운 수학문제 4개(프로세스 4개)가 존재한다고 해보자.이 문제를 4명이서 각각 하나씩 전담을 하여, 총 1분에 걸쳐서 풀게 되었다.이 개념이 멀티프로세스이며, 사람이 4명이니 쿼드코어(4명)다. 그럼 i3같은 듀얼코어에 하이퍼스레딩을 적용한 경우 어..
무어의 법칙은 인터넷 경제의 3원칙(무어의법칙, 메트칼프의 법칙, 가치사슬의 법칙) 가운데 하나로, 마이크로칩의 밀도가 24개월마다 2배로 늘어난다는 법칙이다. - 인텔의 창립자 고든 무어(Gorden Moore, 1929. 1. 3~) 마이크로칩 기술의 발전속도에 관한 것으로 마이크로칩에 저장할 수 있는 데이터의 양이 24개월마다 2배씩 증가한다는 법칙이다. '인터넷은 적은 노력으로도 커다란 결과를 얻을 수 있다'는 메트칼프의 법칙, '조직은 계속적으로 거래 비용이 적게 드는 쪽으로 변화한다'는 가치사슬을 지배하는 법칙과 함께 인터넷 경제3원칙으로 불린다. 또한 컴퓨터의 성능은 거의 5년마다 10배, 10년마다 100배씩 개선된다는 내용도 포함된다. 1965년 페어차일드(Fairchild)의 연구..