Computer Science/Computer Architecture

[Computer architecture] - Computer Abstractions and Technology (1)

재한 2022. 9. 22. 22:51

📕Classes of Computers


💻Personal Computers (PCs)

  • 소프트 웨어의 다양성과 일반적인 목적으로 사용되는 컴퓨터
  • 비용과 성능을 절충시킨 컴퓨터
  • 예) desktop, laptop

 

💻Servers - [껐다 키는 기계가 아님]

  • 네트워크를 통해서 보통 접근할 수 있다.
  • 높은 공간차지, 성능, 신뢰성을 가진다.
  • 소규모 서버에서 건물만 한 사이즈까지 다양한 크기를 범위로 한다.
    • Low-end : 웹 서비스 혹은 작은 사업에서 사용된다.
    • High-end : 슈퍼컴퓨터 혹은 데이터센터 (굉장히 많은 메모리와 프로세서, 저장공간을 가짐)

💻Embedded computers

  • 시스템 내부에 탑재된 컴퓨터
  • 즉 특정한 목적을 가지고 사용되는 컴퓨터.
  • 일반 컴퓨터와 다르게 더 절제된 환경과 전력소비, 그리고 비용절감이 중요하다.
  • 예) smartphones, tablet

 

📕Post-PC Era


📗PC -> PMDs(personal mobile devices)

💻PMDs

  • 전력으로 작동되며, 무선으로 인터넷과 연결 가능하다.
  • 키보드와 마우스가 없다.
  • 예) smart phones, tablets, eletronic glasses

📗Server -> cloud computing

💻Cloud computing

  • WSCs(warehouse scale computers)로 알려져 있다.
  • Saas(Software as a Service)는 Cloud computing을 통해서 전개된다.
  • 예) Amazon , google

 

📕Post-PCs의 다양성


  • Wearables
  • Consumer Electronics
  • Smart Farming
  • Automotive
  • Robotics
  • 3D Printing

 

📕컴퓨터 구조


Computer Architecture = ISA(insruction set architecture) + Machine Orgranization

 

📕추상화(abstraction)


우리가 기계를 사용하는데에, 세부적인 기계의 내부 구조를 알 필요가 없음.

 

📕컴퓨터 구조에서의 8가지 획기적인 생각.


💡Design for Moore's Law

집적 회로(IC)의 자원은 일정 주기(18~24 month)마다 2배씩 증가한다.

 

💡Use abstraction to simplify design

💡make the common case fast

💡Performance via parallelism

💡Performance via pipelining

💡Performance via prediction

💡Hierarchy of mermories

💡Dependability via redundancy

 

 

🔎소프트웨어의 층은 계층적 구조를 지닌다.

💻Application software

고차원적인 언어를 사용한다. ex) C, Java 등등

💻System software

Hardware와 Application 사이에 위치하고 있다.

 

💻Operating System(운영체제)

user's Program과 Hardware 사이에 위치한다.
  • Input , Output operation (I/O)
  • 메모리와 저장공간
  • Resource sharing and task scheduling
  • e.g) Linux, Windows, iOs

💻Compiler

고차원적인 언어로 쓰여진 프로그램을 하드웨어가 실행 가능한 명령어로 번역해준다.

 

💻Hardware의 구성요소

  • Processor
  • memory
  • I/O controller

💻High-level language 

  • 생산성과 이식성을 제공한다. 
  • 컴파일러를 통해서 하드웨어가 실행가능한 명령어로 번역 된다.

💻Assembly Language

  • Assemblers는 Symbolic version을 binary version으로 바꿔준다.

💻Machine Language

  • binary digit(bit)로 표현된다.
  • 명령어와 데이터를 encode 한다.

 

📕컴퓨터의 5가지 구성요소


input, output, memory, datapath, control

  • Processor : datapath와 control로 이루어진다. 
    • 프로세서는 명령어와 데이터를 메모리로부터 읽어온다.
  • Input(인풋)은 memory에다 데이터를 작성한다.
  • Output(아웃풋)은 메모리로부터 데이터를 읽어온다.
  • Control은 명령을 결정하는 신호를 data path, memory, input, output에다가 뿌린다.
  • 모든 종류의 컴퓨터는 이러한 구성요소를 가진다.