History of Computer
- 파스칼의 계산기 : 톱니바퀴 계산기
- 라이프니츠의 계산기 : 가감승제 계산기. 사칙연산
- 배비지의 차분기관과 해석기관 : 다항함수를 계산하는 기계식 계산기와 기억,연산,제어 입축력이 가능한 해석기관
- 천공카드 : 자료 기입 및 기억을 위한 매개체
Atanasoff Berry Computer(ABC)
세계 최초의 전자식 컴퓨터
Colossus
로렌츠 암호를 해독하기 위해 개발한 컴퓨터로 세계최초의 프로그래밍(외장형)이 가능한 전자 디지털 컴퓨터.
Vaccum tube를 사용하여 계산을 수행함.
(Havard) Mark 1
최초의 전기 기계식 컴퓨터로 ASCC(Automatic Sequence Controlled Calculator)라고도 불림.
3,000개의 Relay(전기기계식 switch)와 4마력의 motor 72개로 구성됨.
cf) 전기 기계식 : Relay가 사용됨을 의미
1st Generation
- The age of
vacuum tubes
.(major devices in First generation)
- Mercury acoustic delay lines and magnetic drum etc... were used for memory.
- The input to the system was provided through paper tapes and punched cards(천공카드).
- Vacuum tube : generate lots of heat and consume lots of electricity.
Tubes were burned out frequently due to overheating.
ENIAC(Electronic Numerical Integrator and Calculator)
- 일반적으로 알려진 최초의 전자 디지털 컴퓨터.
- decimal(십진수 체계) 사용.
- 18,000여개의
vacuum tube
와 1,500개의 relay로 구성
cf) 최초의 디지털 전자식 : vacuum tube가 사용되기 시작함을 의미.
EDSAC(Electronic Delay Storage Automatic Calculator)
- 최초의 stored program computer(프로그램 내장형 컴퓨터)
- von Neumann의 von Neumann architecture를 채택하여 개발
EDVAC(Electronic Discrete Variable Automatic Computer)
- von Neumann이 제안한 stored program computer architecture를 채택하여 개발된 최초의 binary 기반 컴퓨터
The von Neumann Architecture
Stored program computer
의 구조로서 현대 컴퓨터들이 대부분 채택하여 사용하고 있음. 다음과 같이 구성됨.
- data를 외부로부터 입력받고 처리 결과를 외부에 표시하는 I/O device(Input/Output device)
- data와 program의 저장을 담당하는 memory(storage 포함)
- data를 program에 따라 처리를 담당하는 CPU
- Neumann은 memory에 컴퓨터의 instruction들과 data들을 함께 저장하는
stored program
방식을 제안하고 이를 EDVAC에 구현함.
- data와 program을 동일한 방식으로 memory에 저장하고 동일한 방식으로 처리함.
cf) data와 program이 저장되는 memory가 동일하여 bottleneck 현상이라는 단점 존재.
이를 분리시킨 Havard architecture가 존재하지만 이 경우 복잡한 구성이 요구됨.
따라서 현대 컴퓨터에선 CPU 내부에선 Havard architecture를, 외부는 von Neumann architecture를 적용해서 사용함.
- EDVAC(or EDSAC) 이후 Software라는 개념 등장
UNIVAC(Universal Automatic Computer)
- 최초의 상업용 컴퓨터
- 관공서 및 대형 연구소 등에서 사용됨.
2nd Generation
- Invention of
transistor
.
It was smaller in size, generate less heat, and consume less electricity than vacuum tube
.
- Used magnetic core as primary memory; and magnetic tape and magnetic disc as secondary memory.
- machine language와 assembler 사용
- Operating System(OS) 등장
- 1950년대 batch processing이 주로 사용, 1960년대 multiprogramming 개념 등장
Batch processing and Multiprogramming
Batch processing
- 특정 시간에 대량의 데이터를 일괄적으로 처리하는 것
- 작업이 주어지면, 컴퓨터는 끝날 때까지 해당 작업만 수행.
processor scheduling이라는 개념 도입 전까지 거의 모든 작업이 batch processing이었음.
- 한 프로그램 수행이 끝나면, 사람이 이를 확인하고 다음 수행할 프로그램을 전달해주는 형태
Multiprogramming
- I/O 처리로 CPU 연산이 필요하지 않은 경우, 다른 프로그램에게 CPU를 사용할 수 있게 해줌.
(이를 위해 여러 프로그램이 main memory에서 동시에 상주)
- 한 프로그램이 끝날 때까지 점유하는 방식을 Uni-programming이라고 부름.
- 고가의 컴퓨터를 효율적으로 사용하기 위한 기술로 이는 후에 time sharing system으로 이어짐.
Multiprogramming vs Multitasking
Multitasking
- 하나의 resource를 여러 process들이 공유하는 개념으로 동시에 수행되는 것을 목표로 multiprogramming의 논리적인 확장이라고 볼 수 있음.
- round-robin scheduling algorithm과 같은 scheduling algorithm이 multiprogramming에 보다 추가 된 것
- 여러 task를 동시에 수행시키기 위한 기술
- multiprogramming은 오직 단일 CPU의 idle time을 줄이기 위한 context changing에만 초점을 둔 것으로 여러 작업이 동시에 실행되는 것을 보장하지 않는다는 점에서 차이가 있다.
- In short...
multitasking은 multiprogramming에 multiprocessing과 time sharing 개념 등이 보다 추가된 것.
- In more details, please refer to this url.
Difference between multiprogramming and multitasking
- 키보드와 마우스 등장으로 기존 batch processing에서 interative system으로의 변화
TRADIC(TRAnsistorized Airborne DIgital Computer)
- transistor 기반 컴퓨터
- 800여개의 transistor와 10,000여개의 게르마늄 수정정류기를 사용한 것으로 알려짐.
TX-0(Transistorized eXperimental computer 0)
LARC(Livermore Atomic Research Computer)
- 2차 세계대전 이후 핵무기 개발 경쟁으로 인해 탄생한 초기 슈퍼컴퓨터.
3rd Generation
- Integrated Circuit(IC) can hold multiple number of transistors in a single chip.
- The size of computer reduced due to the use of an IC chip.
UNIX
등장: 현대적인 OS의 등장
Time sharing system
(시분할 시스템)을 채택하여 여러 terminal 지원
- 최초로 multitasking 및 다중사용자가 가능한 OS
- 현대 OS의 기본 개념을 수립한 OS로 가치가 있음.
BASIC(Beginner's All-purpose Symbolic Instruction Code)
- 교육용으로 시작.
- imperative language
- interpreter 방식으로 시작되었으나 이후 compiler도 도입
IBM 360
- IBM 내놓은 범용 대형 컴퓨터(Mainframe)
- 360은 360도를 의미하여 해당 컴퓨터가 특정 분야가 아닌 모든 분야에서 사용가능한 범용성을 강조하기 위해 붙여짐.
CDC(Control Data Corporation) 7600
- CDC가 개발한 슈퍼컴퓨터.
- 진정한 슈퍼컴퓨터로 인정받은 컴퓨터.
- 기존의 시스템보다 10배 이상 빠른 속도(1MFLOPS)와 6배 이상의 메모리
정보처리 속도 단위
FLOPS(Floating-point Operation Per Second)
초당 부동소수점 연산 횟수를 의미.
IPS(Instruction Per Second)로 초당 명령어 횟수도 존재.
4th Generation
LSI(Large Scaled Integrated circuit)
와 VLSI(Very Large Scaled Integrated circuit
가 사용된 컴퓨터
Microprocessor
의 등장으로 Personal Computer(PC)가 보급됨.
일부는 VLSI
를 이용하는 컴퓨터를 5세대라고 부르기도 함.
Reference :
1) https://ndb796.tistory.com/1
2) https://ko.wikipedia.org
3) https://dsaint31.me/mkdocs_site/CE
4) https://mycomputernotes.com/generations-of-computer