KOCW 최규상 교수님 컴퓨터구조 강의 정리
이 글은 공부한 것을 복습 및 기록하기 위한 게시물입니다.
잘못된 정보가 기입되어 있을 수 있으니 주의해주시기 바랍니다.
참고 : 컴퓨터 구조 및 설계 - David A. Patterson,John L. Hennessy
강의 링크 : http://www.kocw.net/home/cview.do?lid=c01867b2883af28c
1. The Computer Revolution
무어의 법칙에 의해서 컴퓨터기술은 급격하게 발전해왔다.
그로 인해 다양한 새로운 어플리케이션들이 가능해지게 되었다.
무어의 법칙은 1965년에 인텔 CEO인 Gordon Moore가 특정한 싱글 칩에 들어가는 트랜지스터의 수는
매년 2배씩 늘어날 것을 예언한 내용이다.
실제로는 2배보다 더 빠르게 증가하였다.
이렇게 많은 트랜지스터가 집적이 가능하기 때문에 다양한 새로운 어플리케이션들을 실행할 수 있게 되었다.
2. Classes of Computers
PC는 일반적인 용도로 사용되며 상당히 가격대 성능비에 민감하다.
Server Computer는 많은 회사에서 자신들의 회사에서 중요한 데이터를 처리하는데 사용된다.
보통 PC 보다는 고가, 대용량, 고성능이다.
아주 특수한 목적으로 복잡한 엔지니어링 문제를 푸는데 사용되는 슈퍼컴퓨터가 있다.
아주 고가이며 전력소모도 많고 유지비용도 많이 들게 된다.
우리나라에서는 기상청, 국방과학연구소등에서 운영하고 있다.
임베디드 컴퓨터는 큰 시스템에 컴퓨터가 하나의 요소로 구성되어있는 것을 뜻한다.
아주 적은 전력소모를 가지며 가격 또한 저가이다.
또한 유지비용이 적어 이에 해당되는 환경에서 대체로 많이 사용되게 된다.
가장 대표적인 예로는 스마트폰, 태블릿PC등이 있다.
컴퓨터에서 사용되는 기본적인 단위이다.
3. The PostPC Era
최근에 PC 트렌드이다.
스마트폰과 태블릿 PC가 일반 PC보다 많이 팔리고 있다.
Post PC 시대에는 PMD와 같은 것들이 많이 사용되게 된다.
보통 배터리로 동작하며 인터넷으로 연결되어 있다.
Cloud Computing은 특정한 데이터들을 처리해주는 하나의 서버에서 제공이 되는 것이다.
서버팜에서 필요한 서버 만큼을 할당해서 받게 된다.
필요한 소프트웨어를 서비스를 통해 제공받을 수 있다.
내가 사용하는 소프트웨어의 일부분은 PMD에서 실행되며 중요한 부분은 클라우드에서 실행된다.
즉, 복잡한 연산은 클라우드에서 실행되며 단순한 사용자 UI는 PMD에서 실행된다고 볼 수 있다.
대표적으로 아마존과 구글에서 클라우드 컴퓨팅 서비스를 해준다.
위와 같은 내용들을 해당 챕터에서 배우게 된다.
4. Understanding Performance
- 알고리즘
Operation의 수로 정의가 된다.
즉, 똑같은 2개의 알고리즘이 있을 경우 2개의 알고리즘 중 어떤것이 성능이 좋은가는 Operation의 수로 결정된다.
Operation의 수가 작을 수록 성능이 좋은 것이다. - 프로그램 언어, 컴파일러, 아키텍쳐
인스트럭션의 수로 결정이 된다.
Operation은 좀 더 추상화된 개념이며 Instruction은 실제 CPU가 실행하는 명령어를 뜻한다. - 프로세서와 메모리 시스템
얼마나 명령어를 빨리 실행할 것인지, 즉 단위시간당 얼마나 많은 명령어를 실행할 것인지로 결정이 된다. - I/O 시스템
I/O Operation의 수로 결정이 된다.
즉, 단위시간당 얼마나 많은 I/O Operation을 실행한 것인지로 결정이 된다.
5. Eight Great Ideas
컴퓨터 구조 분야에 대한 8가지 아이디어
컴퓨터의 성능향상에 지대한 공헌을 함
- 무어의 법칙
- 어떤 복잡한 문제를 단순화하기 위해 abstraction을 사용함
- 아주 많이 사용되는 일반적인 것을 빠르게 하는 것이 성능향상에 도움이 됨
- Parallesim을 통해 Performance를 향상
- Pipelining을 통해 Performance를 향상
- 예측을 통해 performance를 향상
- 메모리 계층
- dependability via redundancy
6. Below Your Program
- Application software(프로그램들)
일반적인 유저가 사용하는 소프트웨어이다.
예를 들어 MS오피스, 웹브라우저 등등이 있다. - System Software(윈도우 운영체제등등)
운영체제, 컴파일러와 같이 컴퓨터가 실행되는데 아주 기본적인 소프트웨어를 의미한다.
Compiler는 C/C++, JAVA와 같은 HLL로 작성된 code를 Machine code로 바꿔준다.
운영체제는 기본적으로 어플리케이션이 사용되는 서비스를 제공해준다.
I/O를 핸들링하거나 메모리, 스토리지를 관리해준다.
사용자 어플리케이션 태스크를 스케쥴링해주며 자원을 공유하여 준다. - Hardware(컴퓨터)
실제 만질수 있는 피지컬한 것이다.
프로세서, 메모리, I/O 컨트롤러등등
7. Levels of Program Code
- High Level Language
C언어, JAVA와 같은 것이다.
컴파일러는 이러한 HLL을 Assembly language로 바꿔준다. - Assembly language
Machin instruction을 사람이 이해할 수 있도록 한 text적인 표현이다.
컴파일러에 의해서 생성이 된다.
이러한 Assembly language는 어셈블러를 통해 Machin code(binary)로 변환된다. - Hardware representation
binary digits로 연결되어 있다.
instruction과 data를 binary로 표현하게 된다.
Visaul Studio는 컴파일러와 어셈블러가 함께있는 것으로 보면된다.
나눠서 컴파일러만 실행할 수 있으며 어셈블러만 실행할 수도 있다.
무어의 법칙
무어의 법칙이란 매 2년마다 하나의 칩에 들어가는 트랜지스터의 수가 2배가 된다는 것을 뜻한다.
'Computer Science > 컴퓨터 구조' 카테고리의 다른 글
6. Instructions: Language of the Computer 2 (0) | 2021.04.10 |
---|---|
5. Instructions: Language of the Computer 1 (0) | 2021.04.08 |
4. Computer Avstractions and Technology 4 (0) | 2021.04.03 |
3. Computer Avstractions and Technology 3 (0) | 2021.03.31 |
2. Computer Avstractions and Technology 2 (0) | 2021.03.29 |