[컴퓨터구조] Ch1 - Computer abstractions and Technology part1

으닝·2023년 4월 13일
0

컴퓨터 구조를 배우는 이유?

  • 매일 컴퓨터를 사용하기 때문에
  • 남은 생애동안 컴퓨터 쓸 가능성 높으니까
  • 우리는 CS 공부에 관심이 많으니까
  • 컴퓨터 구조는 CS에서 가장 기본적인 내용이니까. 컴퓨터가 없으면 CS도 존재하지 않음

💻 Class of Computing Applications

1. PC (Personal Computer)

  • 크기, 성능, 가격이 만족스러운 다목적 microcomputer
  • 가성비(크기, 성능 및 가격) 이 고려대상
  • individual use - 각자의 용도에 맞게 개인적으로 사용

PC의 구성요소

  • 컴퓨터 케이스
  • 전원 공급 장치
  • 마더보드(=메인보드) : 컴퓨터를 구성하는 모든 하드웨어(CPU, 메모리, SSD, RAM등)들을 연결하는 전자회로 기판
  • RAM(Random Acess Memory) : =컴퓨터 메모리. 읽고 쓰기가 가능한 주기억 장치.
  • 하드 디스크 : 주기억장치를 보조하는 보조기억장치. 파일과 데이터를 장기적 저장
  • 외부 장치(모니터, 키보드, 디스플레이 등)

2. Server

  • 동시에 multiple user를 위해 더 큰 프로그램을 실행하는 데 사용되는 컴퓨터
  • 일반적으로 네트워크를 통해서만 액세스
  • PC와 동일한 기본 기술로 구축되지만 더 큰 (컴퓨팅, 용량, Input/output 용량)

3. Supercomputer

  • extreme한 서버 (서버를 확장한 개념. 서버들의 집합체)
  • 매우 큰 비용, 용량, 많은 프로세서를 가진 서버
  • 성능과 비용이 가장 높은 컴퓨터 class -> 과학 계산, 엔지니어링 쪽. 전체 컴퓨터 시장에서 가장 작은 부분 차지

4. Embedded computer

  • 하나의 pre-determined application(미리 설정된 기능) 또는 소프트웨어 모음을 실행하는데 사용되는 다른 장치 내부의 컴퓨터 -> 세탁기, 냉장고.. 등등
  • 크기가 작아 여러 기능을 수행하지 못하고 정해진 기능만 수행
  • 일반적으로 하드웨어랑 통합

+)PMD (Personal Mobile Device)

  • 오늘날의 스마트폰, 태블릿
  • 무선 인터넷 연결로 작동되는 배터리
  • pc와 달리 키보드, 마우스x
  • 터치 스크린에 의존

Cloud computing 클라우드 컴퓨팅

  • 인터넷을 통해 호스팅 서비스(애플리케이션과 웹 사이트를 인터넷에서 사용할 수 있도록 하는 기능)를 제공
  • local drive가 아닌 인터넷의 원격 서버를 사용하여 데이터를 저장, 관리 그리고 접근하는 기술
  • 장점 - 비용 절감, 민첩성 및 가치 실현 시간 개선(하드디스크 연결하는 시간 필요x,구매를 위해 기다릴 필요x)
  • 인터넷이 끊기면 쓸 수 없는가? 그럴수도 있고 아닐 수도 있음. 원칙적으로는 그러하나 미리 컴퓨터 내부적으로 데이터를 저장하여 쓸 수 있는 경우도 있다.

10진수/ 2진수 값

  • 저장장치의 표기 용량(십진수)과 실제용량(이진수)에는 진법의 차이가 있다→ 십진수 저장용량/ 이진수 값 =실제 용량

PostPC Era

  • 현재 우리 시대 → PC하나만 보유X, 다양하게 확장. 스마트폰이 압도적으로 많음

컴퓨터 구조에서 8가지의 위대한 아이디어

(대부분 pc의 속도 관점에서의 성능 증가와 관련)

(1) 무어의 법칙에 따른 설계

무어의 법칙 IC(직접 회로)의 트랜지스터 수가 약 2년마다 두 배로 증가한다는 고찰→ 트랜지스터 개수가 증가하면 처리 속도가 빨라지게 된다. 이렇게 성능을 상승시킨 기술들이 GREAT하다
(지금은 많이 깨진 법칙)

(2) abstraction(추상화)를 통한 디자인의 간편화, 간소화

low-level의 기계어를 higher-lever(ex - C언어, 파이썬..) 로 만들어 코드를 간편하게 표현한다.

(3) common case를 빠르게 만든다

CPU 연산과 같이 반복적인 동작은 RAM 같은 휘발성 메모리에 저장하여 빠르게 처리한다.

(4) parallelism(병렬처리)를 통한 성능

(5) pipelining(파이프라이닝)을 통한 성능

pipelining : 일종의 분담작업. 한 번에 하나의 명령어만 실행x 하나의 명령어가 실행되는 도중 다른 명령어를 실행. (순차적으로 하나씩 수행x) → 시간을 효율적으로.

(6) prediction(예측)을 통한 성능 향상

dictionary 같이 미리 컴퓨터 내부적으로 정의되어 있는 값을 이용하여 instruction을 줄인다.

(7) 메모리의 계층 구조(hierarchy)

좋은 메모리 -> 윗 부분으로 갈 수록 동작과 접근이 많고, high level이며, 속도가 빠르다.

(8) redundancy(중복성)을 통한 신뢰성
같은 연산을 하는 것을 redundant하게 두어서 한 부분이 고장나도 속도를 유지할 수 있도록 한다.

Below our programs

소프트웨어 계층의 구성

  • Applications software

    • 구체적인 기능을 수행하는 컴퓨터 프로그램
    • 각각의 어플리케이션은 특정 task를 수행하여 user를 assist하도록 설계
    • ex - 유튜브, gmail, word..
  • Systems software

    • 컴퓨터 시스템 운영에 필요한 프로그램
    • 컴퓨터 하드웨어와 어플리케이션을 실행하기 위해 설계됨
    • OS - 하드웨어 자원을 관리해주는 소프트웨어 ex - 윈도우, 리눅스.. 등등
    • 컴파일러 - highlevel 언어로 쓰여진 프로그램을 low-level 언어(binary code)로 번역하여 컴퓨터가 이해하도록 하는 역할
  • Hardware

    • 컴퓨터 시스템의 물리적 장치 또는 장비

    • 만질 수 있음. 볼 수 있음.

    • 5가지 종류의 하드웨어 - 중앙처리장치(CPU), 출력장치, 주기억장치, 보조기억장치, 입력장치

High-level language to Hardware Language

  • High-level program languages : word와 대수 표기법(algebraic notation)으로 구성된 이식가능한(porable) 언어. 컴퓨터가 이해할 수 없음
  • Assembly languages : instruction의 상징적 표현. 주소값, 연산에 대한 명령어 등등.. high level에서 low level로 거쳐가는 중간단계
  • Binary machine languages : instruction의 이진 표현. 컴퓨터가 이해할 수 있음. 왜 컴퓨터는 이진수만 이해할 수 있을까? 전기적신호로 동작하여 on/off로만 구성하여 error 발생되지 않도록.

Organization of computer

Five components - Control, Input, Output, Memory, Processor(실제 동작 수행), Datapath(cpu 안에서 data와 address를 처리하는 모든 요소)

단위 비용당 성능 향상

  • 기술의 단위 비용당 상대적인 성능
  • 1세대 컴퓨터 (1950년대)= 진공관 - 2진 연산 만 가능. 불편함 많았음
  • 2세대 컴퓨터(1960년대)= 트랜지스터 - 반도체의 등장. 전기적 신호로 on/off 조절. 간략한 코딩
  • 3세대 컴퓨터(1970년대) = 직접회로(IC) - 하나의 칩 안에 몇백개의 트랜지스터
  • VLSI(Very Large Scale Integrated circuit) - 우리가 알고 있는 컴퓨터 단계. 수백만개의 트랜지스터를 포함하는 기기.

단위 비용당성능의 눈부신 성장

DRAM의 성능 향상

RAM: Hard와 memory 사이 일종의 중간 단계로 자주 수행하는 동작을 저장하는 임시 memory이다. 이를 통해 처리 속도가 향상된다. hard disk와 달리 전원 off시 데이터가 소멸된다.

DRAM - 저장된 데이터가 시간과 전원의 끊김에 따라 소멸되는 RAM

3년마다 4배의 성능이 향상되고 있다.

이 포스트는 경희대학교 컴퓨터공학과 김정욱 교수님의 컴퓨터 구조 수업을 기반으로 작성되었습니다.

profile
아이쿠

0개의 댓글