[Computer Architecture] Overview

impala·2023년 2월 2일
0
post-thumbnail

Computer Architecture

컴퓨터 구조는 컴퓨터 과학에서 컴퓨터 시스템의 기능, 조직, 구현에 대한 법칙과 방법을 통칭한다. 또 다른 정의로는 컴퓨토 구조는 명령어 집합 구조, 마이크로 아키텍쳐 설계, 논리 설계 및 구현을 의미한다.

프로그램의 동작과정

  1. Translating : 컴파일러와 어셈블러를 통해 고급 언어를 어셈블리어와 기계어로 번역함
  2. Loading : 프로그램을 메모리에 올림
  3. Inputting : 입력장치를 통해 메모리에 데이터를 입력함
  4. Fetching : 프로세서가 메모리에서 명령어와 데이터를 가져옴
  5. Decoding : 프로세서가 명령어를 해석함
  6. Executing : 프로세서가 작업을 수행하고 메모리에 계산결과를 저장함
  7. Outputting : 메모리에서 출력장치로 데이터를 전송함

좋은 컴퓨터 구조를 설계하기 위한 8가지 Idea

  • Design for Moore's Law : 설계가 완료될 때 기술이 어느정도 성능일지 예측한다
    • 무어의 법칙 : 반도체 집적회로의 성능은 24개월마다 2배로 증가한다는 법칙
  • Provide abstraction to simplify design : SW개발을 편리하게 하기 위해서 low-level detail을 숨긴다
  • Make the common case fast : 자주 발생하는 경우를 최적화하여 성능을 개선한다
  • Performance via parallelism : 연산을 병렬처리하여 성능을 개선한다
  • Performance via pipelining : 병렬처리의 일종인 파이프라이닝을 통해 성능을 개선한다
  • Performance via prediction : 결과를 예측하고 작업을 시작한다
  • Hierarchy of memories : 메모리를 계층적으로 구성한다
  • Dependability via redundancy : 중복되는 구성요소를 포함하여 장애 발생시 대응할 수 있게 한다

0개의 댓글