컴퓨터구조1 - 개요

chance·2020년 4월 20일
1

컴퓨터구조

목록 보기
1/6

컴퓨터구조를 배우면 유용한 이유

  1. 소프트웨어와 하드웨어의 관계를 이해한다. 소프트웨어가 하드웨어 상에서 어떻게 돌아가는지 아는 것은 고급 엔지니어가 되기 위한 자질 중 하나이다.
  2. 성능 분석을 통하여 빠른 컴퓨터의 기준을 정할 수 있다.
  3. 임베디드와 운영체제를 이해하는데 도움이 된다.

우리가 배울 것

  1. 프로그램이 어떻게 기계어로 번역되는가?
  2. 하드웨어/소프트웨어 인터페이스란?
  3. 프로그램 성능을 어떻게 결정하는가?
  4. 병렬프로세싱이란?

컴퓨터 성능에 관여하는 요소

  • 알고리즘
  • 프로그래밍 언어, 컴파일러, 아키텍처
  • 프로세서와 메모리 계층구조
  • 입출력 시스템, 운영체제

소프트웨어의 추상화 구조(abstraction)

  • 응용소프트웨어(application software): 고급언어로 작성
  • 시스템소프트웨어(system software)
    • 컴파일러: HHL(고급 언어)를 기계어로 바꿔준다
    • 운영체제: 하드웨어와 사용자 프로그램의 인터페이스
  • 하드웨어(hardware)

추상화(Abstraction)

  • low-level detail을 숨겨주는 것
  • ISA: 하드웨어와 소프트웨어를 나누어서 개발할 수 있게 해주는 인터페이스
  • 프로그램의 내부 구조를 감추고 접근할 수 있는 방법인 인터페이스를 제공하여 전문가가 아닌 사람도 쉽게 사용할 수 있게 해주는 역할

ISA(Instrurction Set Architecture)

: 기계어 명령(intstruction)을 실행하는 컴퓨터의 추상화 모델. 컴퓨터 아키텍처와 동의어로 사용된다.

고급 언어(high-level language)를 사용하는 이유

  • 프로그래머가 자연어와 가깝게 생각하도록 해준다.
  • 프로그래머의 생산성 향상
  • 프로그램 유지보수 용이
  • 컴퓨터(기계)에 독립적인 프로그램 제작 가능
  • 컴파일러에 의한 코드 최적화가 매우 효율적이다. 따라서 오늘날은 어셈블리어를 거의 사용하지 않는다.

무어의 법칙(Moore's law)

인텔의 경영자 무어: 트랜지스터의 집적도가 2년마다 두 배 이상 상승될 것이다(1965)

profile
프론트엔드와 알고리즘을 주로 다룹니다.

0개의 댓글