0913) PC의 역사 공부2010. 9. 15. 16:23
첨부파일로 올립니다.
'공부' 카테고리의 다른 글
0916) 20100916 (0) | 2010.09.16 |
---|---|
0915) CPU의 구조(2) - 정리중 (0) | 2010.09.16 |
0914) OS의 역사 (0) | 2010.09.15 |
0913) 프로그래밍 언어 (0) | 2010.09.15 |
0915) CPU의 구조 (0) | 2010.09.15 |
0916) 20100916 (0) | 2010.09.16 |
---|---|
0915) CPU의 구조(2) - 정리중 (0) | 2010.09.16 |
0914) OS의 역사 (0) | 2010.09.15 |
0913) 프로그래밍 언어 (0) | 2010.09.15 |
0915) CPU의 구조 (0) | 2010.09.15 |
* 인터넷 검색의 결과로 한 포스팅이기 때문에 사전적 의미나 정확한 사실과 차이가 날 수 있음을 양해 구합니다. 공부용 목적으로 포스팅 하였습니다.
* 저작권의 문제 발생시 바로 삭제, 비공개하겠습니다. 지적 부탁드립니다.
목표 : 프로그래밍 언어의 시작과 종류에 대해 알아본다.
목차 : 1. 프로그램이란?
2. 프로그램 언어의 종류
1. 프로그램이란?
컴퓨터라는 기계는 사람이 지시한 명령을 수행할 수 있는 능력을 가지고 있다. 사람이 1+2를 계산하라는 명령을 내리면 계산을 통해 3이라는 결과를 만들어 내며 결과를 화면으로 출력하라는 명령을 내리면 어김없이 그 값을 화면에 출력한다. 계산식이 다소 복잡하더라도 정확하고 신속하게 명령을 실행한다.
그러나 컴퓨터 혼자서는 어떤 일도 하지 못하며 반드시 사람의 명령이 필요하다. 매법 사람이 컴퓨터에게 이렇게 해라. 저렇게 하라고 지시를 내려야만 이 지시대로 동작한다. 이런 식이라면 사람이 컴퓨터를 위해 일일이 지시를 내려야 하므로 컴퓨터가 사람을 위해 일을 하는 것이 아니라 오히려 컴퓨터가 사람을 부려먹는 꼴이 될 것이다. 실제로 초창기의 컴퓨터(ENIAC 등)는 명령을 기억할 공간이 좁거나 아예 없이 사람이 케이블 연결을 바꾸거나 이진 스위치를 조작해야 동작하는 식이었다.
다행이 현대의 컴퓨터는 여러 개의 명령을 순서대로 실행할 수 있는 능력이 있으므로 매번 사람이 명령을 내릴 필요없이 일련의 명령들을 한꺼번에 전달할 수 있다. 1+2를 계산해서 화면에 출력하라, 입력되는 모든 값을 저장하고 합계와 평균을 구해 프린터로 인쇄하라는 식으로 작업에 필요한 명령들을 전달하면 컴퓨터는 이 명령들을 순차적으로 실행한다. 이런 명령의 집합이 바로 프로그램이며 보통 수백~수만개의 명령들이 모여 하나의 실용적인 프로그램이 된다.
그렇다면 명령을 무조건 모아 놓기만 하면 다 프로그램이 되는가 하면 그렇지는 않다. 프로그램이란 현실의 문제를 해결하기 위해 존재한다. 예를 들어 계산 프로그램은 주어진 값을 연산해서 결과를 출력하는 동작을 하므로 계산하라, 출력하라는 명령이 필요할 것이다. 문제를 해결하기 위한 명령들은 실행 순서를 지켜야 한다. 만약 계산 프로그램에게 출력하라, 계산하라는 명령을 내린다면 순서가 틀렸으므로 제 역할을 하지 못할 것이다.
또한 조건에 따라 적절한 명령을 선택해야 하고 어떤 명령들은 여러 번 반복 처리해야 하는 것들도 있고 때로는 실행중에 사용자와 상호작용을 할 필요도 있다. 그래서 명령들끼리는 순서가 있을 뿐만 아니라 논리적으로 긴밀하게 연관되어 있어야 한다. 프로그램의 정의를 좀 더 정확하게 내려 보면 다음과 같다.
◆ 프로그램 : 문제를 풀기 위한 명령들의 조직적인 집합
컴퓨터 프로그램은 컴퓨터가 인식할 수 있는 언어로 구성된다. 근본적으로 컴퓨터는 그렇다와 아니다만 이해할 수 있으므로 0과 1의 상태만 이용할 수 있다. C, C++, 델파이, 베이직 등의 프로그래밍언어로 만든 문자코드를 컴퓨터가 인식할 수 있게 변환시킨 것으로 기계어라고 한다.
프로그램의 고전적인 정의는 이렇지만 최근의 그래픽 환경에서는 명령 외에 프로그램의 외형을 장식하는 데이터까지도 프로그램의 일부로 포함된다. 예를 들어 프로그램의 배경을 장식하는 그림이나 사용자와의 대화를 위한 대화상자, 사운드, 아이콘, 메뉴 등도 프로그램을 구성하는 일부분이다. 또한 프로그램 사용법을 설명하는 도움말이나 주의 사항 등의 문서도 프로그램의 일부라고 할 수 있다.
컴퓨터라는 기계는 사람이 지시한 명령을 수행할 수 있는 능력을 가지고 있다. 사람이 1+2를 계산하라는 명령을 내리면 계산을 통해 3이라는 결과를 만들어 내며 결과를 화면으로 출력하라는 명령을 내리면 어김없이 그 값을 화면에 출력한다. 계산식이 다소 복잡하더라도 정확하고 신속하게 명령을 실행한다.
2. 프로그래밍 언어의 종류
1) 저급 언어
저급 언어란 컴퓨터 내부에서 바로 처리가능한 프로그래밍 언어로, 일반적으로 기계어와 어셈블리어를 일컫는다. 강력하나 배우기 어려운 것이 단점으로, 현재는 특수한 경우가 아니면 사용되지 않는다. 저급언어와 반대되는 것으로 고급 프로그래밍 언어가 있다.
▶기계어 (Machine Language)
프로세서에서 작업을 직접 지시하기 위한 언어로 0과 1의 2개의 숫자로 작성되며, 작성된 프로그램을 컴퓨터에 기억시켜 놓으면 컴퓨터가 직접 수행할 수 있다.
▶어셈블리어 (Assembly Language)
기계어에 1대 1로 대응하는 연상코드를 정하여 사용하는 언어.
약호는 문자, 숫자, 부호들로 구성되어 있어 프로그램을 작성하기가 난해한 언어
2) 고급 언어 (High Level Language)
인간이 일상 사용하는 문장과 유사한 자연어로 구성되어 있어 이해와 기술이 용이하며, 대부분의 기계에 통용되는 호환성이 있어 가장 범용성을 갖고 있다.
기계어로 번역하려면 컴파일러 또는 인터프리터가 필요하다. 베이직, C, 자바 등이 있다.
▶베이직
베이직(BASIC : Beginnr's All-purpose Symbolic Instruction Code)은 프로그래밍 언어의 하나입니다. 절차형 언어로 1964년 다트머스 대학교의 존 케메니(John Kemeny)와 토머스 커츠(Thomas Kurtz)가 개발했습니다.
교육용으로 개발되어 언어의 문법이 쉬우며, 다트머스의 최초 제품 이래로 인터프리터 방식이 많았으나 최근에는 컴파일러 방식도 많습니다. 현재는 다양한 종류의 베이직이 존재하며 서로 문법도 많이 차이가 나고, 서로 다른 종류 사이의 소스코드는 호환되지 않습니다.
▶C언어
C프로그래밍 언어는 1970년대 초 켄 톰슨과 데니스 리치가 당시 새로 개발된 유닉스 운영체제에서 사용하기 위해 만든 프로그래밍 언어입니다. 켄 톰슨은 BCPL언어를 필요에 맞추어 개조해서 "B"언어라 명명했고, 이 B언어에서 C언어가 탄생했습니다. 유닉스 시스템의 바탕프로그램은 모두 C로 씌여졌고, 많은 운영체제의 커널도 또한 C로 만들어졌습니다. 오늘날 많이 쓰이는 C++은 C에서 객체 지향형 언어로 발전된 것이다. 또 다른 다양한 최신 언어들도 그 뿌리를 C언어에 두고 있다.
C#은 마이크로소프트에서 개발한 객체지향 프로그래밍 언어로, 닷넷 프레임워크의 한 부분으로 만들었으며 나중에 ECMA(ECMA-334)와 ISO(ISO/IEC/23270)의 표준으로 자리 잡았습니다. C++와 자바와 비슷한 문법을 가지고 있습니다.
C#은 닷넷 프로그램이 동작하는 닷넷 플랫폼을 가장 직접적으로 반영하고, 또한 닷넷 플랫폼에 강하게 의존하는 프로그래밍 언어이다. C#은 그 문법적인 특성이 자바와 상당히 유사하며 C#을 통하여 다룰 수 있는 닷넷 플랫폼의 기술들 조차도 자바를 염두에 둔 것이 많아서 자바와 가장 많이 비교되고 있다. 하지만 C#은 자바와 달리 불안전 코드(unsafe code)와 같은 기술을 통하여 플랫폼 간 상호 운용성에 상당히 많은 노력을 기울이고 있다. C#의 기본 자료형은 닷넷의 객체 모델을 따르고 있고, 런타임 차원에서의 메모리 수거(garbage collection)가 되며 또한 클래스, 인터페이스, 위임, 예외와 같이 객체 지향 언어로서 가져야 할 모든 요소들이 포함되어있다.
▶C++
C++는 AT&T 벨 연구소의 비야네 스트롭스트룹이 1983년 발표하여 발전한 프로그래밍 언어이다. C언어의 문법을대부분 사용할 수 있으며, 객체지향성이 더해진 C언어의 확장형이라고 생각할 수도 있다.
C언어에 객체지향 프로그래밍을 지원하기 위한 내용이 덧붙여진 것이라고 할 수도 있지마, 애초부터 객체지향을 염두에 두고 만들어진 언어와는 다르게, 단지 더 좋은 C언어로서 수속형 언어로 취급하기도 한다. 초기의 C++은 C위에 놓인 트랜스레이터로 구현되었다. 즉, C++프로그램을 일단 C프로그램으로 변환하고 나서 C 컴파일러로 컴파일하는 식이었고 따라서 C언어에 대해 상위 호환성을 갖는 언어였다.
그 후, C언어의 표준 규격이 바뀔 때 const 수식 등 C++의 기능이 C언에 받아들이기도 했다. 현재 C언어와 C++와의 사이에는 엄격한 호환성은 없다. 특히 C99의 출현으로 C언어와의 호환성은 완전하게 없어져 버렸다. 현재는 C와 C++가 명확한 구별없이 혼재되어 사용되는 컴파일러가 대부분이다.
▶D
D는 디지털 마르스의 월터 브라이드가 설계한 객체 지향 명령형 프로그래밍 언어이다. D는 C++의 후손으로 만들어졌으며, C++의 복잡도를 줄이면서 몇몇 기능을 추가하여 설계되었다. C++의 후손으로 제시된 다른 언어에는 Java와 C#등이 있다.
▶파이썬(Python)
파이썬(Python)은 1991년 프로그래머인 귀도 반 로섬(Guido van Rossum)이 발표한 고급 프로그래밍 언어로, 플랫폼 독립적이며 인터프리터식, 객체지향적, 동적 타이핑(dynamically typed)대화형 언어이다. 파이썬이라는 이름은 귀도가 좋아하는 코미디 <Monty Python's Flying Circus>에서 따온 것이다. 파이썬은 비영리의 파이썬 소프트웨어 재단이 관리하는 개방형, 공동체 기반 개발 모델을 가지고 있다. 사실상의 표준은 CPython의 구현이다.
▶루비(Ruby)
루비(Ruby)는 동적 객체 지향 프로그래밍 언어이다. 현재 루비 온 레일즈라는 신속한 웹 개발을 지원하는 웹 개발 프레임워크의 인기로 많은 주목을 받고 있다.
▶자바(Java)
자바(Java)는 썬마이크로시스템즈의 제임스 고슬링(James Gosling)과 다른 연구원들이 개발한 객체지향적 프로그래밍 언어이며, 썬마이크로시스템즈에서 무료로 제공하고 있다. 1991년 그린 프로젝트(Green Project)라는 이름으로 시작해 1995년에 발표했다. 처음에는 가전제품 내에 탑재해 동작하는 프로그램을 위해 개발했지만 현재 웹어플리케이션 개발에 가장 많이 사용하는 언어 가운데 하나이고, 모바일 기기용 소프트웨어 개발에도 널리 사용하고 있다. 현재 버전 6까지 출시했다.
▶파스칼(Pascal)
파스칼(Pascal)은 1980년대와 1990년 초반에 걸쳐 널리 사용된 프로그래밍언어로, 당대의 가장 인기있는 교육용 언어 중 하나였으며, 현재까지도 폭넓은 분야에서 사용되고 있다.
파스칼은 1969년에 스위스의 컴퓨터 과학자 니클라우스 버트가 개발하였다. 발표당시에는 아주 기본적인 컴퓨터 언어의 요소만을 가지고 있었으므로 시스템을 직접 다루기에는 부족하였다. 파스칼이라는 이름은 프랑스의 수학자이자 철학자 블레즈 파스칼의 이름을 딴 것이다. 포인터를 사용한 구조적 프로그래밍을 그 특징으로 한다.
과학연구를 목적으로 만들어진 고급언어인 알골 60의 영향을 받은 까닭에, 같은 시기에 마찬가지 영향을 받아 제작된 C와 여러가지 면에서 유사한 점을 갖는다. 그러나 코드를 간결하게 하고 버그를 더 쉽게 잡아내기 위한 목적으로 몇가지 기능을 제한함으로써 결과적으로 C언어에 비해 활용도가 떨어지는 언어가 되었다. 그러나 완전히 비실용적인 언어라는 뜻은 아니며, 실제로 TeX나 초기 매킨토시 운영체제 제작에 사용되기도 하였다. 최근에는 파스칼 컴파일러 자체가 크게 개선되고 소프트웨어 개발 기술의 발전으로 이런 사소한 차이점은 거의 무시할 수 있는 단점이 되었다. 어셈블리를 직접 사용하기도 한다. 현재는 초기의 파스칼에 비해 많은부분이 추가되고 개선되어 다른언어의 장점들을 따와 상용 파스칼 컴파일러인 델파이는 C++과 거의 기능 차이가 없습니다.
0916) 20100916 (0) | 2010.09.16 |
---|---|
0915) CPU의 구조(2) - 정리중 (0) | 2010.09.16 |
0914) OS의 역사 (0) | 2010.09.15 |
0913) PC의 역사 (0) | 2010.09.15 |
0915) CPU의 구조 (0) | 2010.09.15 |
1) CPU의 정의
PC(Personal Computer)라고 명칭하는 상대적으로 작고, 저렴한 개인형 컴퓨터는 여러가지 장치로 구성되어 있습니다. 컴퓨터를 잘 모르는 분들도 램, 하드, 시디롬, CPU등 어디선가 들어봤을 듯한 명칭이 여러가지가 있다.
PC안의 장치를 주변기기, 디바이스 등으로 명칭할 수 있고 이 디바이스들은 스스로 움직이지 않는다. 모두 명령이 오는 것을 기다리고 있으며 명령이 오면 거기에 따라서 동작을 하게 된다. CPU는 PC안의 디바이스중 유일하게 다른 장치에게 명령을 내리는 입장에 있다. 그래서 CPU를 PC의 중싱점이라던지, 중추라는 설명을 많이 찾아볼 수 있다.
CPU는 Central Processing Unit의 줄임말로 우리말로 중앙처리장치 라고 바꿀 수 있다. 외부에서 정보를 입력 받고, 기억하고, 컴퓨터 프로그램의 명령어를 해석하여 연산하고, 외부로 출력하는 역할을 하게 된다. 따라서 CPU 는 컴퓨터 부품과 정보를 교환하면서 컴퓨터 시스템 전체를 제어하는 장치로, 모든 컴퓨터의 작동과정이 CPU의 제어를 받기 때문에 컴퓨터의 두뇌에 해당한다고 할 수 있다. 실제의 CPU 칩엔 실행 부분뿐만 아니라 캐시 등의 부가 장치가 통합된 경우가 많다.
CPU의 기능을 풀이하면 다음과 같다.
- 명령어 인출(Instruction Fetch): 기억장치에서 명령어를 읽어온다.
- 명령어 해독(Instruction Decode): 수행해야 할 동작을 결정하기 위하여 명령어를 해독.
- 데이터 인출(Data Fetch): 명령어 실행을 위하여 데이터가 필요한 경우에는 기억장치 또는 I/O장치로부터 데이터를 읽어온다.
- 데이터 처리(Data Process): 데이터에 대한 산술적 혹은 논리적 연산을 수행.
- 데이터 저장(Data Store): 수행한 결과를 저장
2) CPU의 성능
최근에 나오는 중앙 처리 장치의 성능은 크게 클럭(Clock) 속도와 코어 수로 결정된다.
CPU에서 클럭이라고 하는 수치는 중앙 처리 장치 내부에서 일정한 주파수를 가지는 신호로 이 신호에 동기화되어서 중앙 처리 장치의 모든 명령어가 동작되게 된다. 전자 계산기 원론적으로 말하면, 컴퓨터(프로세서)는 0과 1을 On/Off하면서 작동하는데 그것을 클럭이라고 하고, 한번 클럭 하는게 1헤르츠(Hz)다. 이에 따라 만약 3.0GHz라면 1초에 30억번 On/Off 할 수 있는 속도를 나타낸다. 클럭수가 높을 수록 성능은 높아진다. 따라서 클럭 주파수가 빠를수록 제한된 시간에 더 많은 명령을 처리할 수 있기에 더 좋은 성능의 중앙 처리 장치라고 할 수 있다.
또, 중앙 처리 장치안의 코어의 수로도 성능의 차이가 난다. 코어는 중앙 처리 장치의 역할을 하는 블록으로 예전에는 한 개의 칩 안에는 한 개의 코어의 구조를 가졌으나, 최근에는 한 개의 칩 안에 여러 개의 코어를 가지는 구조를 채택하고 있다. 이렇게 한 개의 칩 안에 여러 개의 연산을 처리할 수 있는 장치를 병렬적으로 연결한 멀티 코어 시스템을 통하여 더 좋은 성능의 중앙 처리 장치를 얻을 수 있게 된다. 따라서 더 많은 수의 코어를 한 개의 칩에 가질수록 더 좋은 성능의 중앙 처리 장치라고 할 수 있다.
2. CPU의 구성요소
CPU 에서 중요한 요소로는 크게 ALU(Arithmatic Logical Unit)와 CU(Control unit), 레지스터(Register)의 세 가지가 있다.
일반적으로 ALU는 입력된 연산자와, 현재 더해지고 있는 연산자, 누산기에 저장된 결과, 그리고 시프트된 결과들을 저장하기 위한 공간을 가지고 있다.
ALU 내의 비트의 흐름과, 그 안에서 수행된 연산들은 게이트 회로에 의해 통제되는데, 게이트 회로는 다시 각 연산코드에 대해 특별한 알고리즘이나 순서를 사용하는 순차 논리 장치(sequence logic unit)에 의해 통제된다.
연산장치 내에서 곱셈이나 나눗셈은 일련의 덧셈이나 뺄셈 그리고 자릿수를 이동하는 방법(shift) 등을 통해 이루어지며, 음수를 표현하는 방법에도 여러 가지가 있다.
논리장치 내에서는 16개의 논리 연산중 하나가 수행될 수 있는데, 예를 들어 두 개의 연산자를 비교해서 서로 맞지 않는 비트가 어떤 것인지를 찾아내는 것 등이 그것이다.
2) CU (Control Unit)
CPU의 중요한 구성 요소로, 마이크로 프로세서 뿐만 아니라 대부분의 컴퓨터 시스템을 제어하는데 사용되는 요소인데, 메모리로부터 데이터 명령, 메모리 해석 및 실행 등을 수행한다. CU는 ALU에 의한 데이터의 입출력과 명령의 흐름을 제어하는데, 이를 위해서 주 기억 장치에서 명령을 읽어들이고 분석한다. 또, 메모리와 주변 장치를 포함해서 시스템 다른 부분들과 버스를 통해서 정보를 주고받는데, 이런 작업도 CU에 의해 제어된다.
3) 레지스터 (processor register)
프로세스 레지스터라고도 한다. 레지스터는 CPU 내의 데이터를 저장한다. 이 레지스터 값은 CPU가 데이터 처리를 위한 기본적인 저장 공간이다.
메모리와 다른 점은 하드웨어 적으로 직접 ALU와 연결되어 계산이 이루어 지며, 또한 메모리의 버퍼 역할을 하게된다. 메모리의 값을 레지스터로 옮겨 놓고 계산을 한 다음 다시 메모리로 갈 수 있다.
이때는 버스를 이용하여 신호를 주고 받는다.
각 동작을 기계어 코드의 실행에 의해 기능 별로 이루어 지며 산술연산, 논리연산 등의 다양한 프로그램이 가능하다. 레지스터의 표기 방식은 각 CPU 마다 다르며, 갯 수와 길이 역시 다르다. CPU가 몇 비트 인가를 결정하는 가장 중요한 길이가 레지스터 이다.
가장 중요한 레지스터로는 프로그램 카운터(PC, Program Counter)와 명령 레지스터(IR, Instruction Register)가 있다. 프로그램 카운터는 다음에 수행할 명령의 주소를 보관하고 명령 레지스터는 현재 수행하고 있는 명령을 보관하는 역할을 한다. 그밖에 연산의 결과나 기타 값을 저장하는 범용 레지스터(general purpose register)와 기억장치에 쓰여질 데이터 또는 기억장치로부터 읽혀진 데이터를 일시적으로 저장하는 버퍼 레지스터 등이 있다.
4) 그외 ..
● 계수기(counter)
>> 수를 저장하고 또 명령어가 요구하는 데로 수를 자동적으로 증가시키거나 감소시키는 장치이다.
● 가산기(adder)
>> 산술 논리 연산장치의 산술 연산을 수행하는 회로이다.
● 해독기(decoder)
>> 프로그램의 명령어 코드(instruction code)를 분석하고 또 명령어 실행을 시작하는 회로이다.
● 내부시계(internal clock)
>> 1초당 수백만에서 수억에 이르는 주파수로 펄스(pulse)를 발생시키는 회로.
내부 시계는 중앙처리장치의 회로에 에너지를 부여하는데 사용되는 전기 펄스(electrical pulse) 를
생성하며, 또 그것을 적절하게 운영하는데 필요한 정확한 타이밍을 보장해준다.
● 버퍼(buffeR)
>> 처리가 이루어지는 동안에 프로그램이나 자료의 일부를 저장하는데 사용되는 고속의 일시적인
기억 영역. 캐시 기억장치cache memory)가 여기에 속한다.
* 버스란?
컴퓨터의 내부나 외부의 각 장치와의 정보나 신호를 주고 받는 데 사용되도록 구성된 전기적 통로를 말한다. 자료와 명령을 이동시키기 위한(상호연결) 경로들의 집합이라고 보면 된다. 버스가 16개 있다면 16비트.
- 데이터 버스 : 데이터가 이동하는 통로
- 어드레스 버스 : 주소 및 해당 주소의 데이터를 전송하기 위해 필요한 버스
- 컨트롤 버스 : CPU와 메모리 간에 제어신호가 오가는 통로
3. CPU의 장치적 구조
CPU는 시대별, 제조사별 모양이 차이가 나게 됩니다. 대략적인 CPU의 모습은 다음과 같습니다.
프로세서가 메인 메모리를 읽거나 쓰고자 할 때는, 먼저 그 주소에 해당하는 데이터가 캐시에 존재하는지를 살핍니다. 만약 그 주소의 데이터가 캐시에 있으면 데이터를 캐시에서 직접 읽고, 그렇지 않으면 메인 메모리에 직접 접근합니다. 이때 대부분의 프로세서는 메인 메모리에 직접 접근해서 전송된 데이터를 캐시에 복사해 넣음으로써 다음번에 같은 주소에 프로세서가 접근할 때 캐시에서 직접 읽고 쓸 수 있도록 합니다.
메모리에 접근하는 순서대로 L1, L2, L3캐시라고 하거나 그림에서 나온 것처럼 1차 캐시, 2차캐시라고 합니다. 3차 캐시는 요즘의 CPU에는 장착 안된 경우가 많습니다. 오히려 메인보드에 장착되어 있는 경우도 있습니다.
2) 방열판과 쿨링팬
CPU는 그래픽카드와 함께 컴퓨터 내부에서 열을 많이 발생시키는 디바이스입니다. 열이
높아질수록 성능은 떨어지고, 치명적인 오류(다운)등으로 이어질 수 있습니다. 그래서 방열판으로 열을 분산시키고, 쿨링팬으로 공기를 순환해 열을 식힙니다.
0916) 20100916 (0) | 2010.09.16 |
---|---|
0915) CPU의 구조(2) - 정리중 (0) | 2010.09.16 |
0914) OS의 역사 (0) | 2010.09.15 |
0913) PC의 역사 (0) | 2010.09.15 |
0913) 프로그래밍 언어 (0) | 2010.09.15 |