학교에서 들은 컴퓨터 구조 강의 내용을 복습하면서 작성한 글입니다.
March 15, 2024 5:54 PM
- 인간:C/c++ → compile →머신코드 → 0101(논리)
Seven Great Ideas
- use abstraction to simplify design: 추상화 이용 시 복잡한 일이 간단한 명령어로 해결
- Abstraction
- Instruction Set Architecture (명령어 집합 구조) : 마이크로프로세서가 인식해서 기능을 이해하고 실행할 수 있는 기계어 명령어
- 다양한 단계를 거쳐서 Software 에서 Hardware로 넘어가게 된다. 이때, Software 에서 Hardware 로 넘어가는 단계에서 중재자 역할을 해주는 것이 ISA.
- Application Binary Interface(ABI): ISA와 OS의 인터페이스를 합친것
- 임의의 어플리케이션이 컴퓨터에 실행될지 안될지 판단하는 것
- Instruction Set Architecture (명령어 집합 구조) : 마이크로프로세서가 인식해서 기능을 이해하고 실행할 수 있는 기계어 명령어
- 하위 계층의 세부적인 것들이 상위 계층에 보이지 않게 하는 것
- Abstraction
- make the common case fast : 자주 발생하는 케이스를 최적화(드문 케이스보다)
- performance via parallelism : 병렬적 수행 → 다른 일 동시처리, 성능⬆️
- Performance via Pipelining: 파이프라인 구조로 일 → 빠름
- Performance via Prediction
- Hierarchy of Memories: 빠르고 작고 가장 비싼 memory를 top에 위치시키고, 느리고 크고 가장 싼 memory를 bottom에 위치시키는 형태로 memory를 설계
→ 캐시 메모리 사용 시 최상위 만큼 빠르고, 최하위 만큼 크고 저렴한 메인 메모리가 있는 것 처럼 보이게 함 - Dependability via redundancy: 문제를 대체할 수 있는 여유분 포함 → 신뢰성 ⬆️
Computer Revolution
Moore’s Law (observation)
- 반도체 집적회로의 성능 2년에 2배로 성능이 향상(exponential 하게)
Huang’s Law (observation)
- GPU 성능 2년에 2배 증가
→ 컴퓨터의 발전은 경제적으로 불가능해보였던 applications 을 가능하게 함 (automobile 속 컴퓨터, 휴대폰, AI..) : 컴퓨터가 pervasive 해짐
Computer 종류
- personal computer(cost/performance tradeoff), server computer, supercomputer(계산,속도⬆️), embedded computer
PostPC Eras
- mobile + cloud
- cloud computing: 컴퓨팅 리소스(서버, 스토리지, 데이터베이스..)를 인터넷을 통해 서비스로 사용할 수 있는 주문형 서비스 (Amazon AWS,,)
Abstraction
- application software: high-level 언어로 쓰여짐 (C,c++)
- System software: 하드웨어와 응용 소프트웨어 사이에 일어나는 복잡한 과정을 추상화하기 위해 그 사이에는 여러 가지 시스템 소프트웨어가 존재
- compiler: high-level language → assembly/machine code
- Operation System (OS): Input/Output 관리, memory와 storage 관리, 여러 응용 프로그램들 간의 자원 공유 방법 제공 등
- Hardware: processor, memory,,
→ ISA: SW와 HW 사이에서 HW 전체를 추상화해주는 layer
→ 우리는 추상화 덕분에 복잡한 어셈블리 언어나 기계어 없이, 이해하기 쉬운 상위 수준 언어로 프로그램을 만들어 낼 수 있다.
- Levels of Program Code
- High-level language: productivity, portability
- Assembly Language: 컴퓨터가 실행할 instruction 사람이 알아볼 수 있게 써놓은 것 (인간 버전 기계 명형어) → assembler → binary machine code
5 Components of Computers
- Input
- Output
- IO에 User-interface devices(display), Storage devices(CD/DVD), Network adapters 포함
- Memory
- (Processor): 메모리에서 명령어, 데이터 읽어옴
- Datapath : 연산 수행
- Control: 동작 결정 신호 보냄
'CS > 컴퓨터 구조' 카테고리의 다른 글
[컴퓨터 구조] Logical Operations (1) | 2024.06.15 |
---|---|
[컴퓨터 구조] MIPS instructions (0) | 2024.06.15 |
[컴퓨터 구조] Instructions (0) | 2024.06.15 |
[컴퓨터 구조] SPEC Benchmark & Amdahl’s law (0) | 2024.06.15 |
[컴퓨터 구조] IC 제조 & Performance (0) | 2024.04.27 |