x86-64 아키텍처: 레지스터
·
정보보안 관련/System
레지스터는 CPU가 데이터를 빠르게 저장하고 사용할 때 이용하는 보관소이며, 산술 연산에 필요한 데이터를 저장하거나 주소를 저장하고 참조하는 등 다양한 용도로 사용됩니다. x64 아키텍처에는 범용 레지스터(General Register), 세그먼트 레지스터(Segment Register), 명령어 포인터 레지스터(Instruction Pointer Register, IP), 플래그 레지스터(Flag Register)가 존재합니다. 범용 레지스터 🧺 범용 레지스터는 주용도는 있으나, 그 외의 다양한 용도로 사용될 수 있는 레지스터입니다. x86-64에서 각각의 범용 레지스터는 8바이트를 저장할 수 있으며, 부호 없는 정수를 기준으로 264−1까지의 수를 나타낼 수 있습니다. 자주 쓰이는 범용 레지스터들의 ..
명령어 집합 구조(Instruction Set Architecture, ISA)란
·
정보보안 관련/System
PU가 해석하는 명령어의 집합을 의미합니다. 프로그램은 기계어로 이루어져 있는데, 프로그램을 실행하면 이 명령어들을 CPU가 읽고, 처리합니다. ISA는 IA-32, x86-64(x64), MIPS, AVR 등 다양하게 존재합니다. 이렇게 다양한 ISA가 개발되고 사용되는 이유는 모든 컴퓨터가 동일한 수준의 연산 능력을 요구하지 않으며, 컴퓨팅 환경도 다양하기 때문입니다. 예를 들어, x86-64는 고성능 프로세서를 설계하기 위해 사용됩니다. 이를 기반으로한 CPU들은 많은 전력을 소모하며, 발열도 상대적으로 심합니다. 그러므로 안정적으로 전력을 공급할 수 있고, 냉각 장치를 구비하는데 공간상의 부담이 크지 않은 데스크톱 또는 랩톱에 적합합니다. 그러나 드론과 같이 배터리를 사용하거나 공유기, 인공지능 ..
기억장치가 있는데 CPU안에 레지스터가 왜 필요한가요?
·
정보보안 관련/System
CPU는 굉장히 빠른 속도로 연산을 처리하는데, 이를 위해 데이터의 빠른 교환이 필요합니다. 예를 들어 사탕을 1초에 100개 생산하는 기계가 있다고 가정합시다. 만약 이 기계에 초당 100개의 재료를 공급하지 못한다면, 재료가 공급될 때까지 대기해야 하므로 최대의 생산효율을 달성할 수 없습니다. 또한 완성된 사탕을 초당 100개씩 가져가지 못한다면, 결국 기계 앞에 사탕이 쌓여서 생산을 중단해야 하는 상황을 맞게 됩니다. 이와 마찬가지로 CPU도 필요한 데이터를 빠르게 공급하고, 반출할 수 있어야 자신의 효율을 제대로 발휘할 수 있습니다. 그런데 CPU의 연산속도가 기억장치와의 데이터 교환속도보다 압도적으로 빠르기 때문에, 기억장치만을 사용하면 병목현상이 발생합니다. 따라서 CPU는 교환속도를 획기적으..
컴퓨터 구조
·
정보보안 관련/System
컴퓨터 구조(Computer Architecture)란 컴퓨터가 효율적으로 작동할 수 있도록 하드웨어 및 소프트웨어의 기능을 고안하고, 이들을 구성하는 방법을 말합니다. 컴퓨터 구조는 컴퓨터의 기능 구조에 대한 설계, 명령어 집합구조, 마이크로 아키텍처, 그리고 기타 하드웨어 및 컴퓨팅 방법에 대한 설계 등이 포함됩니다. ‘컴퓨터의 기능 구조에 대한 설계’란 컴퓨터가 연산을 효율적으로 하기 위해 어떤 기능들이 컴퓨터에 필요한지 고민하고, 설계하는 분야입니다. 대표적으로 폰 노이만 구조, 하버드 구조, 수정된 하버드 구조가 있습니다. CPU의 명령어에 대한 설계는 명령어 집합구조(Instruction Set Architecture)라고 불리며, CPU가 처리해야하는 명령어를 설계하는 분야입니다. 대표적으로..
스택 오버플로우와 스택 버퍼 오버플로우의 차이점
·
정보보안 관련/System
스택 영역은 실행중에 크기가 동적으로 확장될 수 있습니다. 그러나 한정된 크기의 메모리 안에서 스택이 무한히 확장될 수는 없습니다. 스택 오버플로우(Stack Overflow)는 스택 영역이 너무 많이 확장돼서 발생하는 버그를 뜻합니다. 반면, 스택 버퍼 오버플로우는 스택에 위치한 버퍼에 버퍼의 크기보다 많은 데이터가 입력되어 발생하는 버그를 뜻합니다. 용어가 비슷하여 혼동하기 쉽지만, 이 둘은 전혀 다른 의미를 가지고 있으므로 사용에 주의해야 합니다.