컴퓨터 구조 (Computer Hardware의 내부 구성 요소)
- 중앙처리장치(Central Processing Unit; CPU)
- 주 기억 장치(Main Memory)
- 보조 기억 장치(Secondary Memory)
- I/O Device
- Common bus
CPU: 산술, 논리, 제어 등을 실행하는 하드웨어 회로
- CPU Register: CPU 내부의 임시 저장 공간으로 가장 빠른 저장 장치
- 연산 장치: data register, shift register, status register
- 제어 장치: program counter(PC), instruction register(IR), memory address register(MAR), memory buffer register(MBR) 등
- common register, segment register
- CPU internal bus: 장치와 장치 사이에서 데이터를 주고 받는 통로
- address bus, data bus, control bus
- 산술 논리 연산 장치(Arithmetic and Logical Unit, ALU)
- 산술 연산과 논리 연산을 담당
- 가산기(adder), 누산기(accumulator), 보수(complement)기, overflow 검출기
- 제어 장치(Control Unit)
- 명령어를 해석하고 이를와 실행하기 위한 제어 신호를 전송하는 장치
- instruction fetch
- CPU가 다음 명령어를 읽어오는 단계
- instruction execution
- CPU가 명령어를 decode하고 execution하는 단계 -> PC: 현재 실행 중이 명령어의 다음에 위치한 명령어의 메모리 주소를 저장한다(CPU가 어떤 순서로 명령어를 읽어와 실행할지 결정)
- 명령어 코드(opcode)와 명령에 필요한 인자(operand)
CPU의 명령어 실행 방식
- instruction cycle
- 명령어가 처리되기 위해서는 main memory에서 CPU로 이동해야 한다
- CPU 내에서 명령어를 해독하여 명령에 따른 기능이 작동한다
- instruction frtch + execution으로 이뤄진다
Program and Process
- program: storage에 저장된 실행 가능한 파일
- compiler: 프로그램을 메모리에 적재할 수 있게 하는 오브젝트 파일(.obj)을 생성
- linker: 필요한 오브젝트 파일을 모두 모아서 실행 파일(exe)를 생성
- loader: 실행 파일을 메모리에 적재하는 기능
- process: 현재 동작 중인 프로그램 -> 메모리 위에 올라간 프로그램
- register와 main memory는 CPU가 직접 접근할 수 있는 장소
'정보보안 > Reversing' 카테고리의 다른 글
[Reversing] Calling Convention(호출 규약) (0) | 2025.04.07 |
---|---|
[Reversing] Memory Structure (0) | 2025.04.07 |
[Reversing] Assembly Language - Instruction Set (0) | 2025.03.31 |
[Reversing] Register (0) | 2025.03.31 |
[Reversing] 데이터 구성 단위, Endian, 보수(Complement) (0) | 2025.03.31 |