컴퓨터 구조 - H/W 측면

Ryu·2021년 9월 23일
0

정보보안기사

목록 보기
1/16

CPU(연산처리) = 고가, 속도 빠름

CPU 구조

  • 연산 장치(ALU) = 산술연산 논리연산들을 수행하는 회로
  • 레지스터 = 일시적으로 기억해 두는 고속의 전용 영역
  • 제어 장치 = 명령어를 해석하고, 그것을 실행하기 위한 제어 신호 발생
  • 버스 = ALU와 레지스터 간의 데이터 이동 경로

레지스터(Word) = MAR, MBR, IR, PC
1Word=4Byte=32Bit

Instrution Cycle
① 메모리에서 읽어오는 Fetch
② 메모리를 참조하는 Indirect
③ cpu에서 실행되는 Execution
④ 갑작스러운 연산처리 Interrupt

※ OP Code, Operand = cpu와 main memory 사이에서 데이터를 주고 받는 명령어 포맷


MEMORY(임시기억)

캐시메모리 = cpu와 memory의 속도차이 해결

  • 캐시 사상(Mapping) 방법 = 직접 사상, 연관 사상(가장 빠름), 직접/연관 사상
  • 교체 기법 = Random, FIFO, LFU, LRU, Optimal, NUR(참조/수정 비트), SCR(참조 비트)
  • 페이지 부재 예방 = Locality, Working set, PFF(Page Fault Frequency)
  • 데이터 기록 방식
    • Write-through = 캐시와 메인메모리를 동시에 변경 - 몽고DB, Bigdata
    • Write-back = 캐시만 바꾸고 한번에 메인메모리 변경 - DB, Oracle 등 대부분

※ Thrashing = cpu가 페이지 교체로 인해 연산을 수행하지 못하고 성능이 떨어지는 현상

가상메모리 = 메모리 공간 확대

  • 할당 기법 = 고정크기 : Paging(내부단편화), 가변크기 : Segmentation(외부단편화)
  • 호출 기법 = Pre Fetch, Demand Fetch
  • 배치 기법 = First fit, Next fit, Best fit(최악, 모든걸 탐색), Worst fit(단편화 활용)
  • 교체 기법 = Random, FIFO, LFU, LRU, Optimal, NUR(참조/수정 비트), SCR(참조 비트)

디스크 보조 기억 장치(영구 저장)

입출력 기법
① Program에 의한 기법
② Interrupt 기법
③ DMA - Stealing cycle
④ I/O channel = Sector channel, Byte/Block multiplexer channel


임시 기억장치

Register = CPU, 고속
Buffer = Main Memory, 고속
Spool = 프린터, 저속


취약점

Meltdown 취약점 = 인텔, 인텔 권한 상승 + 예측 실행, 사용자 공간에서 커널 메모리 읽기
Spectre 취약점 = 인텔/ARM/AMD, 브랜치 예측 + 실행, 프로그램 사용자로부터 메모리 읽기


※ 메모리 구조

argv(문자열)
argv(포인터) → 프로그램 실행할 때 입력 값
argc
↓ 스택 영역 → 지역변수, 복귀주소
메모리 할당 방향
↑ 힙 영역 → 동적 메모리 할당, malloc
데이터(.bss) → 초기화 되지 않은 변수
데이터(.data) → 초기화된 변수, 전역변수
코드(text)

Can Do It
brb

profile
Let me start

0개의 댓글