컴퓨터 구조

Chapter.0 과목소개 및 기술동향

YJ_ma 2022. 10. 3. 16:13

Computer Applications and Revolution (컴퓨터의 응용과 혁명)

• WWW(World Wide Web)

• Search Engines (검색 엔진)

• Scientific/Engineering vs. Business

컴퓨터 영역에는 Scientific/Engineering과 Business이 있다.

Scientific/Engineering Business
계산량은 많고 횟수는 적음 ex, 일기예보 계산량은 적고 횟수는 많음 ex, 은행

• Smartphones

• Social Media Services

• IT Convergences (IT 융합) : Automobiles (자율주행자동차)

• Client Server Computing : 클라이언트와 서버가 요청하고 응답하는 관계

• Computers are Pervasive!

• On-device Machine Learning : 서버뿐만 아니라 내 장치에서도 처리하는 방식, 분산처리방식

• Domain Specific Architectures(DSA) ,,,,,,,

 

Computine Scenario (컴퓨팅 시나리오)

서비스 요청 → 해당 controller가 있어야함 → Processor에게 내용을 분석, cache(캐시)에서 데이터 찾음

→ 없으면 동작에 필요한 내용이 있는지 메모리에서 찾음 → 없으면 하드디스크에서 찾음 → 찾아서 출력

Processor : 프로그램 실행원리와 프로세서/ISA 종류와 설계

momory high웨어(cache, memory array, hard drive) : 프로세서에게 명령어와 데이터를 가능한 한 빠르게 공급하는 메모리 계층 

Controller : 컴퓨터 시스템의 입출력과 통신 방식

ex, Printer Controller, Network Controller

하드웨어 - 소프트웨어 간 이해득실 관계(tradeoffs)

복잡한 시스템의 설계방법

 

The Brief History of Computers (컴퓨터 역사)

- 에니악(ENIAC) : 최초 전자식 컴퓨터

- 유니박(UNIVAC) : 최초 상업 컴퓨터

- IBM 4004:  최초 마이크로 프로세서 이용 (이 시기부터 컴퓨터 크기가 작아짐)

- IBM PC(Intel 8088 + MS-DOS) : 개인용 PC 등장

 

• Computer Eras: Mainframe 1950s~60s

IBM, UNIVAC 상업용으로 사용, COBOL, Fortaran, timesharing OS 사용

• Minicomputer Eras: 1970s

IC(집적회로)이용, C, UNIX OS사용

• PC Era: 1980s 중반~ 2000s 중반

마이크로 프로세서 이용, 개인용 컴퓨터 등장, Basic, Java, Window OS사용

• PostPC Era: 2000s이후

pc시대 : 한 사람당 하나의 컴퓨터 이용

mainframe시대 : 하나의 컴퓨터라인별로 이용(여러명사용)

유비쿼터스 컴퓨팅 시대(현재) : 개인당 많은 컴퓨터 사용

 

 

  Person(사람) Computer(컴퓨터)
MF시대 n 1
PC 시대 1 1
UBI 시대 1 n

 

 

PostPC Era: 2000s이후 (PC이후 시대) ~

Personal Mobile Devices (PMD) Cloud Computing
무선으로 인터넷에 연결되는 소형기기.
배터리로 작동하며 앱을 다운로드해서 소프트웨어를 설치한다.
ex, 스마트폰, 테블릿, 개인용 컴퓨터
- 무선 or 유선
인터넷을 통해 서비스를 제공하는 서버들의 집합.
PMD에 필요한 서비스를 제공해준다.
아마존, 구글같은 수많은 서버 존재, 확장가능형태로 구성

PMD가 요청(request)하면 Cloud Computing이 응답(reply)해주는 관계

 

iPhone 내부

수많은 프로세서, 입출력(IO), 메모리가 존재

여러 프로세서, 데이터 병렬섬, 캐시 메모리에 대해 설명할 것이다.

 

Smartphone Processors

많은 회사 및 부품이지만 일부 공통점

[기능]

- 애플리케이션 프로세서(AP)는 ARM ISA를 채택

- 많은 전용 가속기 블록 ex, 이미지

- 카메라용 프로세서 및 그래픽용 전용처리기(GPU) 빠르게 처리

- 최대 2W의 최대 전력 소산만 가능 !

아키텍처의 지속적인 빠른 변화
- 모바일 및 서버 프로세서에는 대형 프로세서와 증가하는 프로세서 포함
- 단일 칩의 프로세서 수 : 하나의 칩에 많은 기능을 포함
- 보다 전문화된 프로세서 공통
- 새로운 아키텍처 개념(트랜잭션 메모리)

 

Summary: 컴퓨터 시대

1940년 컴퓨터 등장의 가장 큰 특징

- 소수에서 다수n 으로, 컴퓨터 개수가 많아졌다.

- 크기가 작아졌다.

- 속도가 빨라졌다.

1971년-2005년 특징

- 컴퓨터 성능이 좋아졌다.

 

The Computer Revolution (현재 컴퓨터 트랜드)

컴퓨터 기술의 진보
• 새로운 애플리케이션을 실현합니다.
컴퓨터는 만연해 있다(Post PC 시대)

 

Current State of Computer (현재 컴퓨터 상태)

멀티프로세서용 응용 프로그램 도메인
• 과학 컴퓨팅/슈퍼 컴퓨팅
     – 예: 날씨 시뮬레이션, 공기역학, 단백질 접힘
     – 대규모 그리드, 시간에 따른 변경 사항 통합
     – 각 프로세서는 그리드의 일부를 계산한다.
• 서버 워크로드
     – 예: 항공사 예약 데이터베이스
     – 많은 동시 업데이트, 검색, 조회, 쿼리
     – 프로세서가 서로 다른 요청을 처리함
• 미디어 워크로드
     – 프로세서가 이미지/프레임의 다양한 부분을 압축/압축 해제
• 데스크톱 워크로드...
• 게임 워크로드...

• 멀티코어(메인스트림 멀티프로세서) : 여러개 사용가능.
          - 단일 칩에 더 많은 코어가 있을 것으로 기대
          - 병렬 프로그래밍은 더 중요해진다.
• GPGPU
• 유비쿼터스 지능형 컴퓨팅
         - 모든 곳에서 컴퓨팅: 사용자, 가정, 직장, 인프라
         - 상호 연결됨(유선, 무선)
                -네트워크 서로 협력 및 데이터 공유
         - 지능형 컴퓨팅
                 -인간과 같은 지적 작업을 수행할 수 있는 기계
• 컴퓨팅 전문가에게 좋은 기회
        - 새 프로그래밍 모델이 필요합니다.
        - 기존 소프트웨어 병렬화
        - 컴퓨팅 성능을 활용하는 혁신적인 방법

 

 

 

- 오늘날의 시대는 하나로 대표하는 애플리케이션이 아니다.

- 여러 요구사항, 구조를 갖는다.

 

 

 

 

 

 

Architecture Continually Changing - 끊임없이 변화하는 아키테처(컴퓨터시스템구성)

애플리케이션은 기술을 개선하고, 수익을 개발 자금에 제공하는 방법을 제안합니다.

 

향상된 기술로 새로운 응용 프로그램 가능

 

소프트웨어 개발 비용 때문에 호환성이 시장의 주요 원동력이 되고 있습니다.

 

새로운 애플리케이션이 만들어지려면 새로운 기술이 필요하다. (상호보완관계)

 

Abstration Layers in Modern Systems(현대 시스템의 추상화계층)

 

추상화 계층 

: 하위 계층의 자세한 내용을 숨겨준다.

 

 

 

 

 

 

 

Computer Architecture (컴퓨터 구조)

 

(넓은 범위) 컴퓨터구조 : 우리가 정보를 구현할 수 있도록 하는 추상화 계층,
사용 가능한 제조를 사용하여 효율적으로 애플리케이션 처리 기술

 

다른 아키텍처와 마찬가지로 컴퓨터 아키텍처구조 사용자의 요구를 결정하고 이를 충족하도록 설계하는 기술입니다. 왼쪽 사진처럼 애플리케이션과 매체의 차이를 줄이기 위해 추상화 계층을 다룬다.

 

 

 

경제적, 기술적 제약 내에서 가능한 한 효과적으로 요구됩니다..
– 과학과 예술의 결합
    • 기술을 적절하게 활용하는 방법
    • 창의력을 통해 성능을 향상시킬 수 있습니다.
– 많은 평가 목표(기술 구축 고려사항)

     • 성능(목표: 증가)      • 전력/열(목표: 감소)
     • 비용(목표: 감소)      • 신뢰성(목표: 개선)
     • 확장성(목표: 개선)

– 오늘날 우리는 멀티코어 시대, 액셀러레이터, ARM, 클라우드 등으로 진입하고 있습니다.