728x90
- 본 문서는 KOCW 에 공개된 컴퓨터구조 - 영남대학교 최규상 교수님의 2015년도 2학기 강의를 보고 정리한 내용입니다.
컴퓨터 혁명
- 무어의 법칙 (Moore's Law)
- 컴퓨터를 발전시킨 가장 큰 원동력 -> 무어의 법칙으로 인해 컴퓨터 기술이 급격하게 발전하였다.
- 자동차의 컴퓨터, 스마트폰, 인간 유전자(Human genome project), World Wide Web, Search Engines 등과 같이 기존에 존재하지 않았던 새로운 어플리케이션들이 파생되었다.
- 모든 것이 컴퓨터화되고 있다. ex) IoT
무어의 법칙
- 특정한 싱글 칩에 들어가는 트랜지스터의 수는 매 2년마다 2배씩 증가할 것이다!
- 실제로 2년마다 2배 이상 증가
- 증가한 트랜지스터를 이용하여 컴퓨터의 기술이 급격하게 발전할 수 있었다.
컴퓨터의 분류
- 개인용 컴퓨터 (Personal computers)
- 일반적인 용도, 다양한 소프트웨어
- 가격과 퍼포먼스에 민감
- 회사 데이터 처리용 컴퓨터 (Server computers)
- High capacity (용량), performance (수행), reliability (신뢰도)
- 보통 pc에 비해 고가, 대용량, 고성능
- 슈퍼 컴퓨터 (Super computers)
- 고급 과학 및 엔지니어링 계산에 사용
- 아주 고가이며 전력 소모가 많고 유지 비용이 많이 든다.
- 기상청, 국방과학연구소 등에서 사용한다.
- 임베디드 컴퓨터 (Embedded computers)
- 최근에 많이 보급되고 있다.
- 임베디드 : 내장된, 하나에 컴포넌트된, 부품이 된
- 임베디드 시스템 : 큰 시스템의 컴퓨터가 하나의 컴포넌트로 구성된 시스템
- 적은 전력소모, 저성능, 적은 비용
- ex) 스마트폰, 태블릿 pc
컴퓨터 기본 단위
- 8bit = 1byte
- Kilobyte
- 2^10 or 1,024 bytes
- Megabyte
- 2^20 or 1,048,576 bytes
- 10^6 or 1,000,000 bytes
- Gigabyte
- 2^30 or 1,073,741,824 bytes
- 10^9 or 1,000,000,000 bytes
- Terabyte
- 2^40 or 1,099,511,627,776 bytes
- 10^12 or 1,000,000,000,000 bytes
- Petabyte
- 2^50 or 1024 terabytes
- 10^15 or 1,000,000,000,000,000 bytes
- Exabyte
- 2^60 or 1024 petabytes
- 10^18 or 1,000,000,000,000,000,000 bytes
- 저장장치에서는 2의 제곱 형태로 많이 표현
- 네트워크에서는 10의 제곱 형태로 많이 표현
PostPc 시대
- Personal Mobile Device (PMD)
- 배터리로 동작
- 인터넷에 연결
- 수십달러 ~ 수백 달러
- ex) 스마트폰, 태블릿 pc
- Cloud computing
- Warehouse Scale Computers (WSC) : 특정한 데이터들을 처리해주는 기능이 하나의 서버에서 제공되는 컴퓨터
- Software as Service (SaaS) : 소프트웨어를 서비스로 제공받을 수 있다.
- 유저 인터페이스 부분은 PMD에서, 실행 부분은 Cloud 에서 제공
- ex) 아마존, 구글
성능
- 알고리즘
- 연산 (operation)의 수로 정의
- 같은 성능을 가지는 두 알고리즘에서는 연산의 수가 적은 것이 더 성능이 좋다.
- 프로그래밍 언어, 컴파일러, 아키텍처
- 명령의 수로 정의
- 프로세서와 메모리 시스템
- 명령어 실행 속도로 정의
- 단위시간 당 명령어 실행 횟수
- I/O system (including OS)
- 연산 실행 속도로 정의
- 단위시간 당 연산 실행 횟수
컴퓨터 구조의 8가지 기막힌 아이디어
- 무어의 법칙 (Moore's Law)
- 추상화 (abstraction) : 복잡한 문제의 단순화
- 일반적인 케이스를 빠르게 만든다. (Make the common case fast)
- 유사성 (parallelism) 을 통해 성능 향상
- 파이프라이닝 (pipelining) 을 통해 성능 향상
- 예측 (prediction) 을 통해 성능 향상
- 메모리 체계 (hierarchy)
- 중복 (redundancy) 을 통해 의존 (dependability) 향상
프로그램
- 어플리케이션 소프트웨어
- 일반적인 유저가 사용하는 소프트웨어
- ex) 웹 브라우저, 워드, 엑셀
- 시스템 소프트웨어
- 컴퓨터가 실행되는데 가장 기본적인 소프트웨어
- ex) 운영체제 (어플리케이션이 실행되는 서비스를 제공), 컴파일러(고급 언어를 기계언어로 번역)
- 하드웨어
- 물리적인 구조
- ex) 프로세서 (Processor), 메모리 (memory), 입출력 컨트롤러 (I/O controllers)
프로그램 코드의 레벨 (Levels of Program Code)
- 고급 언어 (High-level language)
- ex) c 언어, 자바
- 어셈블리 언어
- 고급 언어를 컴파일러를 통해 번역한 언어
- 기계 언어의 텍스트화
- 기계 언어를 사람이 이해할 수 있도록 번역한 것
- 기계 언어
- 어셈블리 언어를 어셈블러를 통해 번역한 언어
- 바이너리 코드 (Binary digits)
- 0과 1의 조합으로 이루어져 있다.
728x90
'Alchitecture' 카테고리의 다른 글
컴퓨터 하드웨어의 연산과 피연산자부 (0) | 2022.01.03 |
---|---|
전력 장벽과 멀티코어, 성능 벤치마크 (0) | 2021.12.31 |
컴퓨터의 성능 (0) | 2021.12.30 |
프로세서와 메모리 그리고 성능 (0) | 2021.12.29 |
클러스터(cluster) 알아보기 (0) | 2021.08.20 |