교육 (Today I Learned)/Hanaro
[Hanaro] 4일차 / 컴퓨터 아키텍쳐, 컴파일러
Bay Im
2024. 1. 19. 17:34
컴퓨터 아키텍쳐, 컴파일러
- 컴퓨터 구조
- Memory(주기억장치)
- Kernel, Code, Data, Stack, Heap
- Cache Memory
- 데이터를 찾을 때 메모리(주기억장치)에서 찾아보기 전에 먼저 캐시 메모리에 가서 있는지 확인
- 속도가 빠르지만 데이터를 많이 담을 수 없다.
- System Bus
- Address Bus, Data Bus, ControlB Bus
- CPU
- ALU(Arithmetic and Logical Unit)
- Accumulator(누산기)
- CU(Control Unit)
- Register
- Program Counter, Address Register, Buffer Register, Instruction Register, Flag Register
- 기타 Data Register
- MMU(Memory Management Unit)
- Disk/SSD (보조기억장치) + 외부장치
- Memory(주기억장치)
- OS(Operating System)
- OS
- Unix, Linux, Windows
- ROM BIOS
- Memory
- DRAM(Dynamic RAM): RAM (고집적, 저속)
- SRAM(Staic RAM): Cache (저집적, 저속)
- SDRAM(SyncDynamic RAM): clock 신호와 동기
- DDR SDRAM(Double Data Rate SDRAM): 2배 대역폭, 속도
- Bootstrap
- Memory
- 응용 SW, 시스템 SW, Firmware HW
- File System(FAT,Unix)
- OS
- Process와 Thread
- Process
- 메모리에 올라와서 실행되고 있는 프로그램
- 프로그램을 실행시켰을 때 각 프로그램마다 프로세스를 하나씩 갖고있다.
- Thread
- 프로세스 안에서 실행되는 여러 흐름의 단위
- CPU 코어에서 실행된다.
- 프로세스 안의 최소 한 개의 스레드 존재, stack만 따로 할당받고 code, data, heap 영역은 스레드끼리 공유하면서 실행
- 차이점
- 프로세스는 자원을 공유하지 않고, 스레드는 스레드끼리 자원을 공유한다.
- Process
- 함수형 언어와 컴파일러의 차이점
- 함수형 언어
- 함수 안의 함수
- 컴파일러
- 구조적 언어
- 함수형 언어
728x90