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