Computer System (컴퓨터 시스템)
1. Hardware (H/W)
- Gate Level : AND, OR gate, Full-Adder, Flip-Flop 등
- Register Level : n bit parallel adder, register 등
* Flip-Flop : 1 bit 기억
* Register : n bit 기억
2. Software (S/W)
- System S/W : OS, Compiler, Assembler 등
- Application S/W : DB, Wordprocessor, Web Browser, Game 등
Abstraction (추상화)
- 하위 level 의 세부사항을 감춰서 복잡성에 대처하는 기법이다.
- 하위 level 로 갈수록 정보의 양이 급증하므로 프로그래밍에 있어서 반드시 필연적이다.
- 불필요한 세부사항을 감춤으로써, 간결한 프로그래밍 가능하다.
- 프로그램 가독성과 생산성, 이식성이 향상된다.
- 하위 level 로 갈수록 정보의 양이 급증하므로 프로그래밍에 있어서 반드시 필연적이다.
- 불필요한 세부사항을 감춤으로써, 간결한 프로그래밍 가능하다.
- 프로그램 가독성과 생산성, 이식성이 향상된다.
Ex. 프로그래밍 언어의 추상화 단계 예시
Machine Langauge ----- (Abstraction) -----> Assembly Language ----- (Abstraction) -----> Programming Language
Ex. Circuit 상에서 Not gate 추상화 예시
Assembly Language Programming (어셈블리어 프로그래밍)
- H/W instruction 을 사용하는 프로그래밍으로, 어셈블리어는 기계명령어를 기호화한 언어임
- Assembler 가 Assembly instruction(어셈블리 명령어) 을 Machine instruction(기계 명령어 = 기계어) 으로 변환함
- Assembler 가 Assembly instruction(어셈블리 명령어) 을 Machine instruction(기계 명령어 = 기계어) 으로 변환함
* Assembler 는 System S/W 에 속한다!