본문 바로가기
컴퓨터 구조 및 설계

Ch.1 Computer Abstractions and Technology

by Damon11 2022. 10. 31.

서론

컴퓨터 응용 분야의 종류와 그 특징

개인용 컴퓨터, 서버, 슈퍼컴퓨터, 임베디드 컴퓨터

 

임베디드 컴퓨터

: 임베디드 컴퓨팅 시스템은 한 가지 응용을 수행하거나 서로 연관된 일련의 프로그램을 실행하도록 설계되어 있다. 보통 임베디드 컴퓨터는 다른 하드웨어와 한 덩어리로 묶인 단일 시스템으로 공급되기 때문에 도처에 깔려 있어도 대부분의 사용자는 자기가 컴퓨터를 사용하고 있다는 사실조차 인식하지 못한다.

자동차, 텔레비전, 비행기나 화물선을 제어하는 프로세서 등이 이에 포함된다.

 

 

1.2 Seven Great Ideas in Computer Architecture

  • Abstraction
    하위 수준의 상세한 사항을 안보이게 함으로써 상위 수준 모델을 단순화한다.
  • Common Case Fast
    자주 생기는 일을 빠르게 만드는 것이 드물게 생기는 일을 최적화하는 것보다 성능 개선에 도움이 된다
  • Parallelism
    작업의 병렬적 수행
  • Pipelining
    병렬성의 특별한 형태
  • Prediction
    결정이 될 때 까지 아무것도 안 하고 기다리는 것보다는 무엇이라도 하고 잘못되면 그때 뒷수습을 하는 것이 더 낫다는 뜻. 예측이 틀렸을 때 이를 복구하는 비용이 비싸지 않고 예측이 맞을 확률이 비교적 높은 경우, 확실해질 때까지 기다리는 것보다 추측해서 일단 시작하는 것이 평균적으로 빠를 수 있다.
  • Memory Hierarchy
    최상위 계층에는 가장 빠르고, 가장 작고, 비트당 가격이 제일 비싼 메모리를 사용하고, 최하위 계층에는 느리지만 크로 비트당 가격이 제일 싼 메모리를 사용한다.
  • Dependability
    빠르기만 해서는 안 되고, 신뢰할 수 있어야 한다.
    모든 물리 소자는 장애가 발생할 수 있으므로, 장애를 감지하고 장애가 난 소자를 대치할 수 있도록 여유분을 준비하면 컴퓨터의 신용도(dependability)를 개선할 수 있다.

 

 

1.3 Below Your Program

시스템 소프트웨어 - 운영체제, 컴파일러

 

High-level language ->  Assembler -> Machine Language

 

High-level language의 장점

인간이 이해할 수 있는 기호를 사용

프로그램을 개발한 기종과 상관없이 어느 컴퓨터에서든 실행이 가능
- 컴파일러나 어셈블러가 과정을 처리해줌

 

 

1.4 Under the Covers

하드웨어의 기본 기능

데이터 입력, 출력, 처리, 저장

컴퓨터의 구조. 고전적인 5대 구성요소. 프로세서는 메모리에서 명령어와 데이터를 읽는다. 입력장치는 메모리에 데이터를 쓰고, 출력장치는 메모리에서 데이터를 읽는다. 제어유닛은 데이터패스, 메모리, 입력장치, 출력장치의 동작을 결정하는 신호를 내보낸다.

  • 프로세서 - CPU
    Data Path, control Unit

 

  • Memory
    • DRAM
    • Cache memory, SRAM : DRAM 보다 빠르지만 집적도가 낮아서 가격이 비싸다.
      DRAM의 버퍼역할

데이터의 안전한 저장

비휘발성 메모리

 

컴퓨터간의 통신 : 네트워크

 

1.5 Technologies for Building Processors and Memory

트랜지스터 : 전기로 on off 되는 스위치

반도체

웨이퍼

한 웨이퍼에 독립적인 컴포넌트를 여러 개 만듬 -> 다이

수율 : 웨이퍼상의 전체 다이 중 정상 다이의 비율

 

1.6 Performance

더보기

어떤 컴퓨터가 다른 컴퓨터보다 성능이 좋다는 것은 과연 무엇을 뜻하는 것일까?

기준에 따라 다르게 정의될 수 있지만 프로그램 실행시간을 기준으로 한다.

클럭 사이클. 클럭 속도.

명령어당 클럭 사이클 수(clock cycles per instruction) : CPI  (평균값.. 명령어 마다 다름)

CPU 시간 = 명령어 개수 X CPI X 클럭 사이클 시간

CPI는 프로그램 실행에 사용되는 명령어 배합뿐 아니라 메모리 시스템과 프로세서 구조를 포함하는 여러 가지 컴퓨터 세부 설계에 따라 달라진다. 따라서 CPI는 명령어 집합이 같더라도 구현 방식에 따라서 달라질 뿐 아니라 응용 프로그램에 따라서도 달라진다.

 

1.7 The Power Wall (전력장벽)

 

댓글