본문 바로가기

전체 글51

[포너블 기초] x86-32, x86-64 레지스터 IA-32 (x86-32) 레지스터 1. 범용 레지스터: 주용도는 있으나, 그 외의 다양한 용도로 사용될 수 있는 레지스터 EAX (Extended Accumulator Register) 곱셈, 나눗셈 명령에 사용한다. 함수의 리턴값을 저장한다. EBX (Extended Base Register) ESI나 EDI와 결합하여 인덱싱에 사용된다. ECX (Extended Counter Register) 반복을 사용할 때 카운터로 사용된다. EDX (Extended Data Register) EAX와 같이 사용되고 부호 확장 명령 등에 사용된다. ESI, EDI, EBP, ESP 레지스터 또한 범용 레지스터로 사용가능하다. 2. 인덱스 레지스터 ESI (Extended Source Index) 데이터 복사/조.. 2023. 9. 12.
[포너블 기초] 메모리 구조 메모리 구조란? 프로그램이 실행되기 위해서는 먼저 프로그램이 메모리에 load되어야 한다. 또한, 프로그램에서 사용되는 변수들을 저장할 메모리도 필요하다. 따라서 컴퓨터의 운영체제는 프로그램의 실행을 위해 다양한 메모리 공간을 제공하고 있다. 프로그램이 실행하게 되면 OS는 아래 그림과 같이 메모리(RAM)에 공간을 할당해준다. 그리고 RAM은 크게 코드(Code), 데이터(Data), 스택(Stack), 힙(Heap) 영역으로 나뉜다. 코드(code) 영역 코드 영역은 실행할 프로그램의 코드가 저장되는 영역으로 텍스트영역이라고도 부른다. 실행할 프로그램의 코드는 프로그래머가 작성한 소스 코드이다. 실행할 코드와 매크로 상수가 컴파일된 기계어 형태로 저장된다. 중간에 코드를 바꿀 수 없게 Read-Onl.. 2023. 9. 11.
[포너블 기초] 컴퓨터 구조 1. 폰 노이만 구조(Von Neumann architecture) 폰 노이만 구조는 프로그램 내장 방식이라고도 불리며, 최초의 프로그램이 내장된 컴퓨터 구조로, 현재 모든 범용 컴퓨터들이 기본 설계로 따르고 있는 구조이다. 폰 노이만 구조는 연산의 수행과 관련된 명령어와 데이터를 메모리에 보관하게 되며, 순차적으로 메모리에 저장된 내용을 가져와서 지시대로 연산을 수행하는 방식이다. 1.1 장점 이전에 하드웨어 전선을 일일이 재배치하여 작업을 수행했던 것과 달리 폰 노이만 구조에서는 소프트웨어만 교체하면 되기 때문에 편의성과 범용성이 크게향상 되었다. 1.2 단점 폰 노이만 병목 현상이라는 문제가 존재한다. 폰 노이만 병목 현상은 CPU의 처리속도와 저장장치의 속도가 다를 때 나타나는 현상으로 CPU의 .. 2023. 9. 10.