Page semi-protected

컴퓨터.

Computer
Man replacing one vacuum tube out of hundreds in early computer
Computer room with multiple computer cabinets and operating panel
Smartphone with rainbow-like display held in a hand
Black desktop computer with monitor on top and keyboard in front
Purple video game console with attached controller
Rows of large, dark computer cabinets in warehouse-like room
서로 다른 시대의 컴퓨터와 컴퓨팅 장치 – 왼쪽 위에서 시계 방향으로:
초기 진공관 컴퓨터(ENIAC)
메인프레임 컴퓨터 (IBM System 360)
데스크톱 컴퓨터(모니터가 있는 IBM ThinkCenter S50)
슈퍼컴퓨터 (IBM 서밋)
비디오 게임기 (닌텐도 게임큐브)
스마트폰 (LYF Water 2)

컴퓨터산술 연산이나 논리 연산(계산)의 순서를 자동으로 수행하도록 프로그래밍할 수 있는 기계입니다.현대의 디지털 전자 컴퓨터는 프로그램으로 알려진 일반적인 집합의 작업을 수행할 수 있습니다.이러한 프로그램을 통해 컴퓨터는 다양한 작업을 수행할 수 있습니다.컴퓨터 시스템은 완전한 작동을 위해 필요하고 사용되는 하드웨어, 운영 체제(주 소프트웨어), 주변 장비를 포함하는 명목상 완전한 컴퓨터입니다.이 용어는 또한 컴퓨터 네트워크 또는 컴퓨터 클러스터와 같이 연결되어 함께 작동하는 컴퓨터 그룹을 가리킬 수도 있습니다.

다양한 산업소비자 제품은 컴퓨터를 제어 시스템으로 사용합니다.전자레인지, 리모컨같은 단순 특수 목적 기기와 산업용 로봇, 컴퓨터 보조 설계와 같은 공장용 기기, 개인용 컴퓨터같은 범용 기기, 스마트폰과 같은 모바일 기기가 포함됩니다.컴퓨터는 인터넷에 전원을 공급하고, 인터넷은 수십억의 다른 컴퓨터와 사용자들을 연결합니다.

초기의 컴퓨터들은 계산을 위해서만 사용되었습니다.주판과 같은 간단한 수동 도구들은 고대부터 사람들이 계산을 할 수 있도록 도와주었습니다.산업혁명 초기에는 베틀의 패턴을 안내하는 것과 같이 길고 지루한 작업을 자동화하기 위해 일부 기계 장치가 제작되었습니다.더 정교한 전기 기계들은 20세기 초에 전문화된 아날로그 계산을 했습니다.최초의 디지털 전자계산기는 제2차 세계대전 중에 개발되었습니다.1940년대 후반 최초의 반도체 트랜지스터는 1950년대 후반에 실리콘 기반의 MOSFET(MOS 트랜지스터) 및 모노리식 집적회로 칩 기술에 이어 1970년대에 마이크로프로세서마이크로컴퓨터 혁명을 이끌었습니다.그 이후로 컴퓨터의 속도, 전력 및 범용성은 급격히 증가하고 있으며, 트랜지스터 수는 빠른 속도로 증가하고 있으며(무어의 법칙에 의해 예측된 바와 같이), 20세기 후반에서 21세기 초반 사이에 디지털 혁명을 초래했습니다.

종래에, 현대의 컴퓨터는, 일부 타입의 컴퓨터 메모리, 통상적으로 반도체 메모리 칩과 함께, 마이크로프로세서 형태의 적어도 하나의 프로세싱 엘리먼트, 통상적으로 중앙 프로세싱 유닛(CPU)을 포함합니다.프로세싱 엘리먼트는 산술 연산 및 논리 연산을 수행하고, 시퀀싱 및 제어 유닛은 저장된 정보에 대응하여 연산의 순서를 변경할 수 있습니다.주변 장치는 입력 장치(키보드, 마우스, 조이스틱 등), 출력 장치(모니터 스크린, 프린터 등) 및 두 가지 기능을 모두 수행하는 입출력 장치(예를 들어, 2000년대 터치 스크린)를 포함합니다.주변 장치는 외부 소스에서 정보를 검색하고 작업 결과를 저장하고 검색할 수 있도록 합니다.

어원

A human computer.
현미경과 계산기를 갖춘 인간 컴퓨터, 1952년

옥스포드 영어 사전에 따르면, 컴퓨터의 최초의 사용으로 알려진 것은 영국 작가 Richard Brathwait가 쓴 The Yong Mans Gleanings라는 1613년 책에서였습니다: "는 타임즈의 가장 진실한 컴퓨터와 euer [sic]이 숨쉬었던 최고의 산술가를 읽었고, 그는 당신의 날들을 짧은 숫자로 줄였습니다."이 용어의 사용은 계산이나 계산을 수행하는 사람인 인간 컴퓨터를 가리킵니다.그 단어는 20세기 중반까지 같은 의미로 계속되었습니다.이 시기의 후반부 동안에 여성들은 종종 컴퓨터로 고용되었습니다. 왜냐하면 그들은 그들의 남성 [1]동료들보다 적은 보수를 받을 수 있었기 때문입니다.1943년까지 대부분의 인간 컴퓨터는 [2]여성이었습니다.

온라인 어원 사전은 1640년대에 '계산하는 사람'이라는 뜻의 컴퓨터 사용이 처음으로 입증된 것으로, 이것은 "계산(v.)의 에이전트 명사" 명사입니다.온라인 어원 사전은 "계산기"를 의미하는 용어의 사용은 1897년부터라고 말합니다.온라인 어원 사전은 '프로그래밍 가능한 디지털 전자 컴퓨터'를 의미하는 이 용어의 현대적인 사용은 "1945년 이 이름으로; 1937년의 이론적인 [의미] 튜링 기계"[3]에서 유래했다고 말합니다.

역사

20세기 이전

선사시대 아프리카까지 거슬러 올라가는 뼈 도구인 이산고

장치는 수천 년 동안 계산을 돕기 위해 사용되어 왔으며, 대부분 손가락일대일 대응을 사용했습니다.가장 초기의 계산 장치는 아마도 집계 스틱의 한 형태였을 것입니다.비옥한 초승달 지대의 후기 기록 보관 보조 도구는 가축이나 곡물 같은 물건들의 수를 나타내는 Calculi (점토구, 원뿔 모양 등)를 포함하고, 굽지 않은 속이 빈 점토 [a][4]용기에 봉인했습니다.카운트 로드를 사용하는 것이 한 예입니다.

중국의 수안판 (算盘 (). 주판에 표시된 숫자는 6,302,715,408입니다.

주판은 처음에 산술 작업에 사용되었습니다.로마의 주판은 일찍이 기원전 2400년에 바빌로니아에서 사용된 장치로부터 개발되었습니다.그 이후로 많은 다른 형태의 계산판이나 표가 발명되었습니다.중세 유럽의 셈집에서는, 체크무늬 천이 테이블 위에 놓여지고,[5] 돈의 액수를 계산하는 데 도움이 되는, 특정한 규칙에 따라 그 위에서 마커들이 움직였습니다.

안티키테라 메커니즘은 기원전 150-100년경 고대 그리스까지 거슬러 올라가는 초기의 아날로그 컴퓨팅 장치입니다.

Derek J. de [6]Solla Price에 따르면 Antikythera 메커니즘이 알려진 최초의 기계식 아날로그 컴퓨터로 추정됩니다.그것은 천문학적인 위치를 계산하기 위해 고안되었습니다.1901년 그리스 안티키테라키테라와 크레타 사이의 안티키테라 난파선에서 발견되었으며, 기원전 약 100년까지 거슬러 올라갑니다.안티키테라 메커니즘과 유사한 복잡성을 가진 장치들은 [7]14세기가 되어서야 다시 등장할 것입니다.

계산과 측정을 위한 많은 기계적인 보조 장치들은 천문학과 항해용으로 만들어졌습니다.평면권은 11세기 초 아부 레이한바룬(Abu Rayhán al-Bīrunī)에 의해 발명된 항성도입니다.아스트롤라베는 기원전 1세기 또는 2세기에 헬레니즘 세계에서 발명되었으며 종종 히파르코스에 기인합니다.평면구와 디오프라의 조합인 아스트롤라베는 구면천문학에서 몇 가지 다른 종류의 문제를 해결할 수 있는 아날로그 컴퓨터였습니다.기계식 달력[9][10] 컴퓨터와 기어 바퀴를 결합한 아스트롤라베는 1235년 페르시아 이스파한의 아비 바크르에 의해 발명되었습니다.[11]Abu Rayhan al-Bīrunī는 기어 트레인과 기어 휠이 있는 초기의 고정 배선 지식 처리 기계인 최초의 기계식 기어드 루니 태양력 아스트롤라베를 발명했습니다.

비례, 삼각법, 곱셈과 나눗셈, 그리고 사각형과 정육면체 뿌리와 같은 다양한 기능에 사용되는 계산 도구인 섹터는 16세기 후반에 개발되어 포술, 측량, 항해에 응용되었습니다.

평면계는 기계적 연결장치로 닫힌 도형의 면적을 추적하여 계산하는 수동 기구였습니다.

슬라이드

슬라이드 룰은 로그의 개념이 출판된 직후인 1620년에서 1630년경 영국 성직자 윌리엄 오트레드에 의해 발명되었습니다.이것은 곱셈과 나눗셈을 하기 위해 손으로 작동하는 아날로그 컴퓨터입니다.슬라이드 규칙 개발이 진행됨에 따라 추가된 눈금은 로그 및 지수, 원 및 쌍곡 삼각법기타 함수와 같은 초월 함수뿐만 아니라 역수, 제곱근 및 제곱근, 정육면체 및 정육면체 근을 제공했습니다.경비행기에서 시간 및 거리 계산에 사용되는 E6B 원형 슬라이드 규칙과 같이 일상적인 계산을 신속하게 수행하기 위해 특수 스케일이 있는 슬라이드 규칙이 여전히 사용됩니다.

1770년대스위스 시계 제조업자인 Pierre Jaquet-Droz는 퀼 펜을 잡고 글을 쓸 수 있는 기계 인형 (오토마톤)을 만들었습니다.내부 휠의 번호와 순서를 바꿈으로써 서로 다른 문자가 생성되고 따라서 서로 다른 메시지가 생성될 수 있습니다.사실상, 명령을 읽기 위해 기계적으로 "프로그램"될 수 있습니다.두 개의 다른 복잡한 기계와 함께, 그 인형스위스 뇌샤텔의 미술관에 있고 아직도 [15]작동합니다.

1831년부터 1835년까지 수학자이자 엔지니어인 지오반니 플라나는 도르래와 실린더 그리고 그 이상의 시스템을 통해 윤년과 다양한 낮의 길이를 추적하면서, 0 CE (즉, 기원전 1년)부터 4000 CE까지 매년 영구 달력을 예측할 수 있는 영구 달력 기계를 고안했습니다.1872년 스코틀랜드의 과학자 윌리엄 톰슨 경이 발명한 조수 예측 기계는 얕은 물에서 항해하는 데 큰 유용성이 있었습니다.도르래와 와이어 시스템을 사용하여 특정 위치에서 정해진 기간 동안 예측된 조수의 수위를 자동으로 계산했습니다.

미분 방정식을 적분으로 풀도록 설계된 기계식 아날로그 컴퓨터인 미분 분석기는 적분을 수행하기 위해 휠 앤 디스크 메커니즘을 사용했습니다.1876년 윌리엄 톰슨 경은 이미 그러한 계산기의 가능한 구성에 대해 논의했지만 볼 앤 디스크 [16]적분기의 제한된 출력 토크에 발목을 잡혔습니다.차동 분석기에서, 하나의 적분기의 출력은 다음 적분기의 입력, 즉 그래핑 출력을 구동했습니다.토크 증폭기는 이 기계들이 작동할 수 있게 해주는 진보였습니다.1920년대를 기점으로 바네바르 부시(Vannevar Bush) 등은 기계식 차동 분석기를 개발했습니다.

1890년대에, 스페인의 기술자 레오나르도 토레스 케베도는 [17][18][19][20]다항식의 실제적이고 복잡한 근을 풀 수 있는 일련의 진보된 아날로그 기계를 개발하기 시작했고, 그것은 1901년에 파리 [21]과학 아카데미에 의해 출판되었습니다.

첫번째 컴퓨터

찰스 배비지 c. 1850년
배비지의 차분기관 일부 도식도
시애틀의 인텔리전트 벤처스 연구소의 Differential Engine

영국의 기계공학자이자 수학자인 찰스 배비지(Charles Babbage)는 프로그래밍이 가능한 컴퓨터의 개념을 만들었습니다."[22]컴퓨터의 아버지"로 여겨지는 그는 19세기 초에 최초의 기계식 컴퓨터를 개념화하고 발명했습니다.

그의 차분 엔진에 공을 들인 후, 그는 1822년에 왕립천문학회에 "천문표와 [23]수학표의 계산에 기계의 응용에 관한 노트"라는 제목의 논문에서 그의 발명을 발표했고, 1833년에 그는 훨씬 더 일반적인 설계인 해석적인 것을 깨달았습니다., 가능했습니다.프로그램과 데이터의 입력은 자카드 직기와 같은 기계 직기를 지시하는 방법인 천공 카드를 통해 기계에 제공되어야 했습니다.출력을 위해 기계에는 프린터, 곡선 플로터 및 벨이 있습니다.이 기계는 나중에 읽을 카드에 숫자를 입력할 수도 있습니다.엔진은 산술 논리 유닛, 조건부 분기 및 루프 형태의 제어 흐름, 통합 메모리를 통합하여 현대 용어로 [24][25]튜링-완전이라고 표현할 수 있는 범용 컴퓨터를 위한 최초의 설계를 만들었습니다.

그 기계는 그 시대보다 약 1세기 앞섰습니다.그의 기계를 위한 모든 부품은 수작업으로 만들어져야 했습니다. 수천 개의 부품을 가진 기기에서는 큰 문제였습니다.결국, 이 프로젝트는 영국 정부의 자금 지원 중단 결정으로 해체되었습니다.배비지가 분석 엔진을 완성하지 못한 것은 정치적, 재정적 어려움뿐만 아니라 점점 더 정교한 컴퓨터를 개발하고 누구보다 빨리 나아가려는 열망에 주로 기인할 수 있습니다.그럼에도 불구하고, 그의 아들 헨리 배비지는 1888년에 해석 엔진의 계산 장치()의 단순화된 버전을 완성했습니다.그는 1906년에 컴퓨팅 테이블에서 그것의 사용을 성공적으로 시연했습니다.

전자기계계산기

레오나르도 토레스 케베도(Leonardo Torres Quevedo)의 전기-기계 계산기(1920).

1914년에 출판된 그의 작품 자동화에 관한 에세이에서 레오나르도 토레스 퀘베도는 기계적 차이 엔진과 해석 엔진을 만들기 위한 배비지의 노력에 대한 간단한 역사를 썼습니다.그는 분석 엔진을 기계의 잠재적인 힘에 대한 자신의 이론의 예시로 설명했고, 이러한 엔진을 설계하는 문제를 전기 기계 장치 발명가로서의 기술에 대한 도전으로 받아들였습니다.이 논문에는 관련 변수의 일련의 값에 대한 - ) {\ a의 값을 완전히 자동으로 계산할 수 있는 기계의 설계가 포함되어 있습니다.전체 기계는 읽기 전용 프로그램에 의해 제어되어야 하며, 조건부 분기를 위한 준비가 완비되어 있었습니다.그는 부동 소수점 [26][27][28]산술의 아이디어도 소개했습니다.1920년, 산술계 발명 100주년을 기념하기 위해 토레스는 파리에서 (아마 원격에서) 타자기에 연결된 산술 장치로 구성된 전기기계 산술계를 발표했는데, 그 위에 명령을 입력하고 결과를 [29][30][31]자동으로 출력할 수 있었습니다.전자 기계 해석 [32]엔진의 가능성을 입증하는 것.

아날로그 컴퓨터

윌리엄 톰슨 경의 세 번째 조수 예측 기계 설계, 1879-81

20세기 전반 동안, 문제의 직접적인 기계적 또는 전기적 모델을 계산의 기초로 사용한 점점 더 정교한 아날로그 컴퓨터는 많은 과학적 컴퓨팅 요구를 충족시켰습니다.그러나 이러한 것들은 프로그래밍이 불가능했고 일반적으로 현대 디지털 컴퓨터의 [33]범용성과 정확성이 부족했습니다.최초의 현대 아날로그 컴퓨터는 1872년 윌리엄 톰슨 경(훗날 켈빈 경이 됨)에 의해 발명된 조수 예측 기계였습니다.미분 분석기는 바퀴와 디스크 메커니즘을 사용하여 적분하여 미분 방정식을 풀도록 설계된 기계식 아날로그 컴퓨터로, 1876년에 더 유명한 윌리엄 [16]톰슨 경의 형인 제임스 톰슨에 의해 개념화되었습니다.

기계적 아날로그 컴퓨팅 기술은 1927년부터 MIT에서 H. L. Hazen과 Vannevar Bush에 의해 만들어진 차동 분석기로 절정에 이르렀습니다.이것은 James Thomson의 기계적 적분기와 H.W. Nieman이 발명한 토크 증폭기를 기반으로 만들어졌습니다.이 장치들 중 12개는 그들의 낡음이 명백해지기 전에 만들어졌습니다.1950년대까지, 디지털 전자 컴퓨터의 성공은 대부분의 아날로그 컴퓨팅 기계의 종말을 고했지만, 아날로그 컴퓨터는 1950년대 동안 교육(슬라이드 룰)과 항공기(제어 시스템)와 같은 일부 전문화된 응용 분야에서 계속 사용되었습니다.

디지털 컴퓨터

전기기계

1938년까지 미국 해군잠수함에서 사용할 수 있을 정도로 작은 전기기계식 아날로그 컴퓨터를 개발했습니다.이것은 삼각법을 이용하여 움직이는 목표물을 향해 어뢰를 발사하는 문제를 해결한 어뢰 데이터 컴퓨터였습니다.제2차 세계대전 동안에 비슷한 장치들이 다른 나라들에서도 개발되었습니다.

최초의 완전 자동 디지털(전자기계) 컴퓨터인 콘라드 쥐세의 Z3 복제품

초기 디지털 컴퓨터는 전기 기계식이었습니다. 전기 스위치는 계산을 수행하기 위해 기계식 릴레이를 구동했습니다.이 장치들은 작동 속도가 낮았고 결국 진공관을 사용하는 훨씬 더 빠른 모든 전기 컴퓨터로 대체되었습니다.1939년 베를린에서 독일의 기술자 Konrad Zuse에 의해 만들어진 Z2는 전기기계 릴레이 [34]컴퓨터의 초기 예들 중 하나였습니다.

현대[35][36] 컴퓨터 발명가 콘라드 쥐세

1941년, Zuse는 그의 초기 기계를 따라 Z3를 개발했습니다. Z3는 세계 최초로 작동하는 전자 기계식 프로그래밍이 가능한 완전 자동 디지털 [37][38]컴퓨터입니다.Z3는 2000개의 릴레이로 제작되었으며, [39]5~10Hz의 클럭 주파수에서 작동하는 22비트 워드 길이를 구현했습니다.프로그램 코드는 64 워드의 메모리에 데이터를 저장하거나 키보드에서 데이터를 저장할 수 있는 동안 천공 필름에 제공되었습니다.부동 소수점 숫자와 같은 수많은 진보를 개척한 점에서 현대 기계와 상당히 유사했습니다.(Charles Babbage의 초기 설계에 사용된) 구현하기 어려운 십진법 체계보다는 이진법을 사용하는 것이 [40]당시 사용 가능한 기술을 고려할 때 Zuse의 기계를 더 쉽게 만들고 잠재적으로 더 신뢰할 수 있다는 것을 의미했습니다.Z3는 그 자체로 보편적인 컴퓨터는 아니었지만 튜링이 [41][42]완성되도록 확장될 수 있었습니다.

Zuse의 다음 컴퓨터인 Z4는 세계 최초의 상업용 컴퓨터가 되었습니다. 2차 세계 대전으로 인해 초기 지연된 후, 1950년에 완성되어 ETH [43]취리히에 전달되었습니다.이 컴퓨터는 1941년 [43]베를린에서 컴퓨터 개발의 유일한 목적을 가진 최초의 회사로 설립된 Zuse KG[de]가 제조했습니다.

진공관 및 디지털 전자회로

순수 전자 회로 소자는 곧 기계적, 전기적 등가물을 대체했고, 디지털 계산이 아날로그를 대체했습니다.1930년대에 런던우체국 연구소에서 일하던 엔지니어 토미 플라워스는 전화 교환을 위한 전자제품의 가능성을 탐구하기 시작했습니다.그가 1934년에 만든 실험 장비는 5년 후에 가동에 들어갔고, 전화 교환망의 일부를 전자 [33]데이터 처리 시스템으로 바꾸어 수천 개의 진공관을 사용했습니다.미국에서는 존 빈센트 아타나소프클리포드 E. Iowa State University의 Berry는 1942년 Atanasoff–Berry Computer (ABC)[44]를 개발하고 테스트했는데, 는 최초의 "자동 전자 디지털 컴퓨터"[45]입니다.이 디자인은 또한 모든 전자적이고 약 300개의 진공관을 사용했으며 축전기는 기계적으로 회전하는 드럼에 고정되어 [46]메모리에 사용되었습니다.

Two women are seen by the Colossus computer.
최초의 전자 디지털 프로그래밍이 가능한 컴퓨팅 장치인 콜로수스는 제2차 세계 대전 동안 독일의 암호를 해독하는 데 사용되었습니다.1943년 블레츨리 공원에서 사용된 것으로 보입니다.

제2차 세계 대전 동안 블레츨리 공원의 영국 암호 해독가들은 암호화된 독일군 통신을 깨는 데 많은 성공을 거두었습니다.독일의 암호화 기계인 에니그마는 [47][48]여성들이 자주 사용하는 전기 기계 폭탄의 도움으로 처음 공격을 받았습니다.고급 육군 통신용으로 사용되는 더 정교한 독일 로렌츠 SZ 40/42 기계를 깨기 위해, Max Newman과 그의 동료들은 Flowers에게 콜로수스[46]만들 것을 의뢰했습니다.그는 1943년 2월 초부터 11개월 동안 최초의 [49]거상을 설계하고 지었습니다.1943년 12월 성능 테스트 후, 콜로서스는 블레츨리 공원으로 운송되었고, 1944년 1월[50] 18일에 배달되었고, 2월 [46]5일에 첫 메시지를 공격했습니다.

콜로수스는 세계 최초의 전자 디지털 프로그래밍이 가능한 [33]컴퓨터였습니다.많은 수의 밸브(진공 튜브)를 사용했습니다.종이 테이프 입력이 있었고 데이터에 대해 다양한 부울 논리 연산을 수행할 수 있도록 구성되어 있었지만 튜링이 완벽하지는 않았습니다.9대의 Mk II 거상이 제작되었습니다(Mk I은 총 10대의 기계를 만드는 Mk II로 개조되었습니다).콜로수스 마크 I에는 1,500개의 열이온 밸브(튜브)가 들어 있었지만, 2,400개의 밸브를 가진 마크 II는 마크 I에 비해 작동 속도가 5배나 빠르고 간단하여 해독 [51][52]과정이 크게 빨라졌습니다.

ENIAC는 튜링이 완성된 최초의 전자 장치이며, 미국 육군을 위해 탄도학 궤적 계산을 수행했습니다.

ENIAC[53] (Electronic Numerical Integrator and Computer)는 미국에서 만들어진 최초의 전자 프로그래밍이 가능한 컴퓨터였습니다. ENIAC은 거상과 비슷했지만, 훨씬 더 빠르고, 더 유연했으며, 튜링이 완벽했습니다.콜로수스와 마찬가지로 ENIAC의 "프로그램"은 패치 케이블과 스위치의 상태에 따라 정의되었으며, 이는 나중에 저장된 프로그램 전자 기계와는 거리가 멀었습니다.프로그램이 작성되면 플러그와 스위치를 수동으로 재설정하여 기계에 기계적으로 설정해야 했습니다.ENIAC의 프로그래머는 여섯 명의 여성으로 흔히 "ENIAC [54][55]girls"로 통칭됩니다.

그것은 전자제품의 빠른 속도와 많은 복잡한 문제에 대해 프로그래밍 할 수 있는 능력을 결합했습니다.이것은 다른 어떤 기계보다 1000배 빠른 초당 5000번을 더하거나 뺄 수 있었습니다.그것은 또한 곱하기, 나누기, 제곱근을 가지는 모듈을 가지고 있었습니다.고속 메모리는 20단어(약 80바이트)로 제한되었습니다.펜실베이니아 대학의 존 모츨리와 J. 프레스퍼 에커트지휘 아래 건설된 ENIAC의 개발과 건설은 1943년부터 1945년 말까지 지속되었습니다.이 기계는 무게가 30톤에 달하는 거대한 기계로 200킬로와트의 전력을 사용했고 18,000개 이상의 진공관, 1,500개의 릴레이, 그리고 수십만 개의 저항기, 커패시터, 그리고 인덕터를 [56]포함했습니다.

현대의 컴퓨터

현대 컴퓨터의 개념

현대 컴퓨터의 원리는 앨런 튜링에 의해 1936년 그의 신학교 논문인 [57]계산 가능한 숫자에 관하여 제안되었습니다.튜링은 그가 "유니버설 컴퓨팅 머신"이라고 부르는 간단한 장치를 제안했고, 그것은 현재 유니버설 튜링 머신이라고 알려져 있습니다.그는 이러한 기계가 테이프에 저장된 명령어(프로그램)를 실행함으로써 계산할 수 있는 모든 것을 계산할 수 있다는 것을 증명하여 기계가 프로그램 가능하도록 했습니다.튜링 설계의 기본 개념은 모든 계산 명령이 메모리에 저장되는 저장된 프로그램입니다. 노이만은 현대 컴퓨터의 중심 개념이 이 [58]논문에 기인한다는 것을 인정했습니다.튜링 기계는 오늘날까지 계산 이론의 중심 연구 대상입니다.현대의 컴퓨터는 유한한 메모리 저장소에 의해 부과되는 한계를 제외하고는 튜링-완전, 즉 보편적인 튜링 기계와 동등한 알고리즘 실행 능력을 가지고 있다고 합니다.

저장된 프로그램

Three tall racks containing electronic circuit boards
최초의 전자 저장 프로그램 컴퓨터인 맨체스터 베이비의 재구성된 부분

초기의 컴퓨터는 고정된 프로그램을 가지고 있었습니다.기능을 변경하려면 [46]기계를 재배선하고 재구조화해야 했습니다.저장 프로그램 컴퓨터의 제안으로 이것은 바뀌었습니다.저장된 프로그램 컴퓨터는 명령어 집합을 설계하여 포함하고 계산을 자세히 설명하는 명령어 집합(프로그램)을 메모리에 저장할 수 있습니다.저장 프로그램 컴퓨터의 이론적 기초는 앨런 튜링(Alan Turing)이 1936년 논문에서 제시했습니다.1945년, 튜링은 국립 물리학 연구소에 합류하여 전자 저장 프로그램 디지털 컴퓨터를 개발하기 시작했습니다.그의 1945년 보고서 "제안된 전자 계산기"는 그러한 장치에 대한 최초의 사양이었습니다.펜실베니아 대학의 존 폰 노이만은 [33]또한 1945년 EDVAC에 관한 보고서의 번째 초안을 발행했습니다.

맨체스터 베이비는 세계 최초의 저장 프로그램 컴퓨터였습니다.프레데릭 C에 의해 영국 맨체스터 대학에 지어졌습니다. 윌리엄스, 톰 킬번, 제프 투틸은 1948년 [59]6월 21일 첫 프로그램을 실행했습니다.최초의 랜덤 액세스 디지털 저장 [60]장치인 Williams 튜브테스트베드로 설계되었습니다.비록 컴퓨터가 1998년 회고록에 의해 "작고 원시적"이라고 묘사되었지만,[61] 현대 전자 컴퓨터에 필수적인 모든 요소를 포함한 최초의 작업 기계였습니다.아기가 디자인의 타당성을 증명하자마자 대학에서 실용적으로 유용한 컴퓨터인 맨체스터 마크 1로 개발하려는 프로젝트가 시작되었습니다.

마크 1은 곧 세계 최초의 상용 범용 [62]컴퓨터인 페란티 마크 1의 원형이 되었습니다.페란티가 지었고, 1951년 2월 맨체스터 대학에 인도되었습니다.1953년에서 1957년 사이에 적어도 7대의 기계가 인도되었고, 그 중 하나는 암스테르담[63]셸 연구소로 옮겨졌습니다.1947년 10월에 영국의 케이터링 회사 J. Lyons & Company의 이사들은 컴퓨터의 상업적인 발전을 촉진하는데 적극적인 역할을 하기로 결정했습니다.1949년Cambridge EDSAC을 모델로 한 Lyons의 LEOI 컴퓨터는 1951년 4월에[64] 작동하기 시작했고 세계 최초의 일상적인 사무실 컴퓨터 작업을 실행했습니다.

그레이스 호퍼는 프로그래밍 [2]언어를 위한 컴파일러를 개발한 최초의 사람이었습니다.

트랜지스터

양극성 접합 트랜지스터(BJT)

전계 효과 트랜지스터의 개념은 1925년 줄리어스 에드거 릴리엔펠트에 의해 제안되었습니다. 연구소에서 윌리엄 쇼클리 밑에서 일하는 동안 존 바딘월터 브라테인은 1947년에 최초의 작동 트랜지스터인 점 접촉 트랜지스터를 만들었고,[65][66] 1948년 쇼클리의 양극 접합 트랜지스터가 뒤를 이었습니다.1955년부터 트랜지스터는 컴퓨터 디자인의 진공관을 대체하여 컴퓨터의 "제2세대"를 낳았습니다.진공관과 비교하여 트랜지스터는 진공관보다 작고 전력이 적게 소모되므로 열을 적게 방출하는 장점이 있습니다.접합 트랜지스터는 진공관보다 훨씬 안정적이었고 사용 수명도 길었습니다.트랜지스터화된 컴퓨터는 비교적 좁은 공간에 수만 개의 이진 논리 회로를 포함할 수 있습니다.그러나, 초기 접합 트랜지스터들은 대량 생산 기반으로 제조하기 어려운 상대적으로 부피가 큰 장치들이었고, 이는 다수의 전문화된 [67]응용들로 제한되었습니다.

맨체스터 대학에서는 톰 킬번이 이끄는 팀이 [68]밸브 대신 새로 개발한 트랜지스터를 이용해 기계를 설계하고 제작했습니다.그들의 첫번째 트랜지스터화된 컴퓨터와 세계 최초의 컴퓨터는 1953년에 가동되었고, 두번째 버전은 1955년 4월에 그곳에서 완성되었습니다.그러나 이 기계는 밸브를 사용하여 125 kHz 클럭 파형을 생성하고 회로에서 자기 드럼 메모리를 읽고 쓰기 때문에 완전히 트랜지스터화된 컴퓨터는 처음이 아니었습니다.이러한 구분은 1955년 [69]하웰의 [69][70]원자력 연구 기관의 전자 부서에 의해 만들어진 하웰 사관생도로 이어집니다.

게이트(G), 바디(B), 소스(S) 및 드레인(D) 단자를 나타내는 MOSFET(MOS 트랜지스터).게이트는 절연 층(핑크)에 의해 몸체로부터 분리됩니다.

MOS 트랜지스터라고도 불리는 MOSFET(Metal-oxide-silicon field-effect transistor)Mohammed M에 의해 발명되었습니다. 1959년 [71]벨 연구소의 아탈라와 다원 칸.소형화 및 대량 생산이 가능한 최초의 진정한 소형 트랜지스터였습니다.[67]MOSFET은 높은 [72]확장성[73]양극성 접합 트랜지스터보다 훨씬 낮은 전력 소비와 높은 밀도로 고밀도 집적 [74][75]회로를 구축할 수 있게 했습니다.데이터 처리뿐만 아니라 메모리 셀 저장 요소로서 MOS 트랜지스터의 실용화를 가능하게 하여 컴퓨터의 초기 마그네틱 코어 메모리를 대체한 MOS 반도체 메모리의 개발로 이어졌습니다.MOSFET은 마이크로컴퓨터 [76]혁명을 이끌었고, 컴퓨터 [77][78]혁명의 원동력이 되었습니다.MOSFET은 [79][80]컴퓨터에서 가장 널리 사용되는 트랜지스터이며, 디지털 전자 [81]장치의 기본 구성 요소입니다.

집적회로

MOS 6502 computer chip die photograph
단일 에 3500개의 트랜지스터를 통합한 1970년대 초 마이크로프로세서 MOS 6502의 다이 사진
MOS 6502 computer chip in 'DIP' package
집적 회로는 일반적으로 IC를 손상으로부터 보호하고 조립하기 쉽도록 플라스틱, 금속 또는 세라믹 케이스에 포장됩니다.

컴퓨팅 능력의 다음으로 큰 발전은 집적 회로(IC)의 등장과 함께 이루어졌습니다.집적 회로의 아이디어는 국방부의 왕립 레이더 시설에서 일하는 한 레이더 과학자 제프리 W.A.에 의해 처음 구상되었습니다. 덤머.Dummer는 1952년 [82]5월 7일 워싱턴 D.C.에서 열린 품질 전자 부품 진보 심포지엄에서 집적 회로에 대한 최초의 공개 설명을 발표했습니다.

최초의 작동 IC는 텍사스 인스트루먼트의 잭 킬비페어차일드 반도체의 로버트 노이스에 [83]의해 발명되었습니다.킬비는 1958년 [84]7월에 집적 회로에 대한 초기 아이디어를 기록하여 1958년 9월 12일에 최초로 작동하는 집적 예를 성공적으로 보여주었습니다.1959년 2월 6일 특허 출원에서 킬비는 새 장치를 "반도체 재료의 몸체...전자 회로의 모든 구성 요소가 완전히 [85][86]통합되어 있습니다."그러나 킬비의 발명품은 단일 집적회로([87]IC) 칩이 아닌 하이브리드 집적회로(Hybrid IC)였습니다.킬비의 IC는 외부 와이어 연결이 있어 대량 [88]생산이 어려웠습니다.

노이스는 또한 [89]킬비보다 반년 늦게 집적회로에 대한 자신만의 아이디어를 생각해 냈습니다.노이스의 발명품은 최초의 진정한 단일 IC [90][88]칩이었습니다.그의 칩은 킬비가 해결하지 못했던 많은 현실적인 문제들을 해결했습니다.페어차일드 반도체에서 생산된 이 칩은 실리콘으로 만들어진 반면 킬비의 은 게르마늄으로 만들어졌습니다.노이스의 모놀리식 IC는 1959년 초 그의 동료호에르니에 의해 개발된 평면 공정을 이용하여 제작되었습니다.결국, 평면적인 과정은 모하메드 M을 기반으로 했습니다.1950년대 후반 이산화규소에 의한 반도체 표면 패시베이션에 대한 아탈라의 연구.[91][92][93]

현대의 모노리식 IC는 주로 MOS(금속-산화물-반도체) 집적 회로이며, MOSFET(MOS 트랜지스터)[94]로 제작됩니다.가장 [95]초기에 실험적으로 제작된 MOSIC는 1962년 RCA에서 Fred Heiman과 Steven Hofstein이 만든 16 트랜지스터 칩입니다.General Microelectronics는 1964년 Robert [95]Norman에 의해 개발된 최초의 상업용 MOSIC를 선보였습니다.[96]1967년 Bell Labs에서 Robert Kerwin, Donald Klein 및 John Sarace에 의해 자가 정렬 게이트(self-aligned gate) MOS 트랜지스터가 개발된 후,[97] 1968년 Fairchild Semiconductor에서 Federico Faggin에 의해 자가 정렬 게이트가 있는 최초의 실리콘 게이트 MOS IC가 개발되었습니다.MOSFET은 그 이후로 현대 [94]IC에서 가장 중요한 장치 구성 요소가 되었습니다.

MOS 집적회로의 발전은 마이크로프로세서[98][99]발명으로 이어졌고, 컴퓨터의 상업적 사용과 개인적 사용의 폭발을 예고했습니다.어떤 장치가 최초의 마이크로프로세서였는지에 대한 주제는 논쟁의 여지가 있지만, 부분적으로는 "마이크로프로세서"라는 용어의 정확한 정의에 대한 합의가 부족하기 때문에, 최초의 단일 칩 마이크로프로세서가 페데리코 파긴이 설계하고 그의 실리콘 [100]게이트 MOSIC [98]기술과 함께 실현한 인텔 4004라는 것은 논쟁의 여지가 없습니다.인텔에서 테드 호프, 마사토시 시마, 스탠리 마조함께.[b][102]1970년대 초, MOSIC 기술을 통해 하나의 [75]칩에 10,000개 이상의 트랜지스터를 통합할 수 있었습니다.

SoC(System on a Chip)는 [103]동전 크기의 마이크로 칩(또는 칩) 위에 있는 완전한 컴퓨터입니다.이들은 RAM과 플래시 메모리가 통합되어 있을 수도 있고 그렇지 않을 수도 있습니다.통합되지 않은 경우 RAM은 일반적으로 SoC의 바로 위(패키지로 알려짐) 또는 아래(회로기판의 반대쪽)에 배치되며 플래시 메모리는 일반적으로 SoC 바로 옆에 배치됩니다. 이는 데이터 신호가 먼 거리를 이동할 필요가 없기 때문에 데이터 전송 속도를 향상시키기 위해 모두 수행됩니다.1945년 ENIAC 이후 컴퓨터는 엄청나게 발전하여 현대 SoC(Snapdragon 865와 같은)는 동전 크기이면서 ENIAC보다 수십만 배나 더 강력하며 수십억 개의 트랜지스터를 통합하고 몇 와트의 전력만 소비합니다.

모바일 컴퓨터

최초의 모바일 컴퓨터들은 무거웠고 주 전원에서 작동했습니다.50lb(23kg) IBM 5100이 초기 사례입니다.오스본 1과 컴팩 포터블과 같은 이후의 휴대용은 상당히 가벼웠지만 여전히 연결해야 했습니다.Grid Compass와 같은 최초의 노트북은 배터리를 통합함으로써 이러한 요구사항을 없앴으며, 컴퓨팅 리소스의 지속적인 소형화와 휴대용 배터리 수명의 발전으로 휴대용 컴퓨터는 2000년대 [104]들어 인기를 끌었습니다.2000년대 초반에는 제조업체들이 컴퓨팅 자원을 셀룰러 휴대폰에 통합할 수 있도록 했습니다.

이러한 스마트폰태블릿은 다양한 운영 체제에서 구동되며 최근 [105]시장에서 지배적인 컴퓨팅 장치가 되었습니다.이것들은 [103]동전 크기의 마이크로 칩 위에 있는 완전한 컴퓨터인 SoC (System on a Chip)에 의해 구동됩니다.

종류들

컴퓨터는 다음과 같은 여러 가지 방법으로 분류할 수 있습니다.

아키텍처별

크기별, 폼팩터별, 용도별

철물

"슬림" 컴퓨터의 표준 구성 요소를 보여주는 비디오

하드웨어라는 용어는 유형의 물리적 개체인 컴퓨터의 모든 부분을 다룹니다.회로, 컴퓨터 칩, 그래픽 카드, 사운드 카드, 메모리(RAM), 마더보드, 디스플레이, 전원 공급 장치, 케이블, 키보드, 프린터 및 "마우스" 입력 장치는 모두 하드웨어입니다.

컴퓨팅 하드웨어의 역사

1세대
(기계/전자기계)
계산기 파스칼의 계산기, 산술계, 차분 엔진, 퀘베도의 분석기
프로그래밍 가능 장치 Jacquard loom, Analytical engine, IBM ASCC/Harvard Mark I, Harvard Mark II, IBM SSEC, Z1, Z2, Z3
2세대
(회전관)
계산기 Atanasoff Berry Computer, IBM 604, UNIVAC 60, UNIVAC 120
프로그래밍 가능 장치 콜로수스, 에니악, 맨체스터 베이비, EDSAC, 맨체스터 마크1, 페란티 페가수스, 페란티 수성, CSIRAC, EDVAC, UNIVAC I, IBM 701, IBM 702, IBM 650, Z22
삼대
(불규칙한 트랜지스터와 SSI, MSI, LSI 집적회로)
메인프레임 IBM 7090, IBM 7080, IBM System/360, BUNCH
미니컴퓨터 HP 2116A, IBM System/32, IBM System/36, LINC, PDP-8, PDP-11
데스크톱 컴퓨터 HP 9100
4세대
(VLSI 집적 회로)
미니컴퓨터 VAX, IBM AS/400
4비트 마이크로컴퓨터 인텔 4004, 인텔 4040
8비트 마이크로컴퓨터 인텔 8008, 인텔 8080, 모토로라 6800, 모토로라 6809, MOS 테크놀로지 6502, Zilog Z80
16비트 마이크로컴퓨터 인텔 8088, 질로그 Z8000, WDC 65816/65802
32비트 마이크로컴퓨터 인텔 80386, 펜티엄, 모토로라 68000, ARM
64비트 마이크로컴퓨터[c] Alpha, MIPS, PA-RISC, PowerPC, SPARC, x86-64, ARMv8-A
임베디드 컴퓨터 인텔 8048, 인텔 8051
퍼스널 컴퓨터 데스크탑 컴퓨터, 가정용 컴퓨터, 노트북 컴퓨터, PDA(Personal Digital Assistant), 휴대용 컴퓨터, Tablet PC, 웨어러블 컴퓨터
이론/실험 퀀텀 IBM Q 시스템 원
케미컬 컴퓨터
DNA컴퓨팅
옵티컬
스핀트로닉스 기반 컴퓨터
웨트웨어/유기농 컴퓨터

기타 하드웨어 주제

주변기기(입력/출력) 인풋 마우스, 키보드, 조이스틱, 이미지 스캐너, 웹캠, 그래픽 태블릿, 마이크
산출량 모니터, 프린터, 라우드스피커
둘다요. 플로피 디스크 드라이브, 하드 디스크 드라이브, 광 디스크 드라이브, 텔레프린터
컴퓨터 버스 근거리 RS-232, SCSI, PCI, USB
장거리 (컴퓨터 네트워킹) 이더넷, ATM, FDDI

범용 컴퓨터는 연산 논리 장치(ALU), 제어 장치, 메모리, 입출력 장치(통칭 I/O)의 4가지 주요 구성 요소를 가지고 있습니다.이 부품들은 버스들에 의해 상호 연결되며, 종종 전선들의 그룹들로 만들어집니다.각 부품 안에는 전자 스위치를 통해 끄거나 켤 수 있는 수천에서 수조 개의 작은 전기 회로가 들어 있습니다.각 회로는 비트(이진 숫자)의 정보를 나타내므로 회로가 켜져 있을 때는 "1"을 나타내고, 꺼졌을 때는 "0"(양의 논리 표현)을 나타냅니다.회로들은 논리 게이트들 에 배열되어 있어서, 하나 이상의 회로들이 다른 하나 이상의 회로들의 상태를 제어할 수 있습니다.

입력장치

처리되지 않은 데이터가 입력 장치의 도움을 받아 컴퓨터로 전송되면 데이터가 처리되어 출력 장치로 전송됩니다.입력 장치는 수동 또는 자동화될 수 있습니다.처리 행위는 주로 CPU에 의해 규제됩니다. 입력 장치의 예는 다음과 같습니다.

출력장치

컴퓨터가 출력을 제공하는 수단은 출력 장치로 알려져 있습니다.출력 장치의 몇 가지 예는 다음과 같습니다.

컨트롤 유닛

특정 MIPS 아키텍처 명령이 제어 시스템에 의해 디코딩되는 방법을 보여주는 다이어그램

제어 장치(종종 제어 시스템 또는 중앙 제어기라고 함)는 컴퓨터의 다양한 구성 요소를 관리합니다. 프로그램 명령을 읽고 해석하여 [d]컴퓨터의 다른 부분을 활성화하는 제어 신호로 변환합니다.고급 컴퓨터의 제어 시스템은 성능 향상을 위해 일부 명령의 실행 순서를 변경할 수 있습니다.

모든 CPU의 공통적인 핵심 구성 요소는 다음 명령을 읽을 메모리의 [e]어느 위치에서 읽을 것인지를 추적하는 특수 메모리 셀(레지스터)인 프로그램 카운터입니다.

제어 시스템의 기능은 다음과 같습니다. 이는 간략하게 설명한 것으로, 다음 단계 중 일부는 CPU의 종류에 따라 동시에 또는 다른 순서로 수행될 수 있습니다.

  1. 프로그램 카운터에 표시된 셀에서 다음 명령을 위한 코드를 읽습니다.
  2. 명령에 대한 숫자 코드를 다른 시스템 각각에 대한 명령 또는 신호 세트로 디코딩합니다.
  3. 프로그램 카운터가 다음 명령을 가리킬 수 있도록 프로그램 카운터를 증가시킵니다.
  4. 명령이 메모리의 셀(또는 입력 장치)에서 필요로 하는 모든 데이터를 읽습니다.이 필수 데이터의 위치는 일반적으로 명령 코드 내에 저장됩니다.
  5. ALU 또는 레지스터에 필요한 데이터를 제공합니다.
  6. 명령을 완료하기 위해 ALU 또는 특수 하드웨어가 필요한 경우 하드웨어에 요청된 작업을 수행하도록 지시합니다.
  7. ALU의 결과를 메모리 위치 또는 레지스터 또는 출력 장치에 다시 기록합니다.
  8. 다시 (1) 단계로 이동합니다.

프로그램 카운터는 (개념적으로) 단지 메모리 셀들의 또 다른 집합이기 때문에, ALU에서 행해지는 계산에 의해 변경될 수 있습니다. 프로그램 카운터에 100을 더하면 다음 명령이 프로그램 아래의 100 위치에서 읽힐 것입니다.프로그램 카운터를 수정하는 명령은 종종 "점프"로 알려져 있으며 루프(컴퓨터에 의해 반복되는 명령)와 조건부 명령 실행(제어 흐름의 두 예)을 허용합니다.

명령어를 처리하기 위해 제어 장치가 수행하는 일련의 작업은 그 자체로 짧은 컴퓨터 프로그램과 같습니다. 실제로 일부 더 복잡한 CPU 설계에서는 마이크로시퀀서라고 불리는 또 다른 더 작은 컴퓨터가 있는데, 마이크로코드 프로그램을 실행하여 이 모든 이벤트를 발생시킵니다.

중앙처리장치(CPU)

제어 유닛, ALU 및 레지스터를 총칭하여 중앙 처리 장치(CPU)라고 합니다.초기 CPU들은 많은 별개의 구성 요소들로 구성되어 있었습니다.1970년대부터 CPU는 일반적으로 마이크로프로세서라고 불리는 하나의 MOS 집적 회로 칩 위에 구축되어 왔습니다.

산술논리장치(ALU)

ALU는 산술과 [110]논리의 두 가지 종류의 연산을 수행할 수 있습니다.특정 ALU가 지원하는 산술 연산 집합은 덧셈 및 뺄셈으로 제한되거나 곱셈, 나눗셈, 사인, 코사인 등의 삼각법 함수 및 제곱근을 포함할 수 있습니다.어떤 것은 정수(정수)에 대해서만 작동할 수 있고, 어떤 것은 정확도가 제한적이기는 하지만 실제 숫자를 나타내기 위해 부동 소수점을 사용합니다.그러나 가장 간단한 작업을 수행할 수 있는 컴퓨터는 복잡한 작업을 수행할 수 있는 간단한 단계로 분해하도록 프로그래밍할 수 있습니다.따라서 모든 컴퓨터는 산술 연산을 수행하도록 프로그래밍할 수 있습니다. ALU가 연산을 직접 지원하지 않으면 연산을 수행하는 데 더 많은 시간이 소요됩니다.ALU는 숫자를 비교하여 하나가 다른 값보다 크거나 작은지("64가 65보다 큰가?")에 따라 부울 진리값(참 또는 거짓)을 반환할 수도 있습니다. 논리 연산에는 AND, OR, XOR, NOT 부울 논리가 포함됩니다.복잡한 조건문을 만들고 부울 논리를 처리하는 데 유용할 수 있습니다.

슈퍼스칼라 컴퓨터는 여러 ALU를 포함할 수 있으므로 여러 명령을 [111]동시에 처리할 수 있습니다.SIMD 및 MIMD 기능을 갖춘 그래픽 프로세서 및 컴퓨터에는 벡터 및 행렬대한 산술을 수행할 수 있는 ALU가 포함되어 있는 경우가 많습니다.

기억

마그네틱 코어 메모리(자기 코어 사용)는 1960년대에 선택된 컴퓨터 메모리였지만, 이후 반도체 메모리(MOS 메모리 셀 사용)로 대체되었습니다.

컴퓨터의 메모리는 숫자를 넣거나 읽을 수 있는 셀의 목록으로 볼 수 있습니다.각 셀에는 번호가 매겨진 "주소"가 있으며 하나의 번호를 저장할 수 있습니다.컴퓨터는 "123이라는 번호를 1357이라는 셀에 입력"하거나 "셀 2468에 있는 번호에 셀 1357에 있는 번호를 추가하고 답을 1595라는 셀에 입력"하도록 지시받을 수 있습니다.메모리에 저장된 정보는 실질적으로 무엇이든 나타낼 수 있습니다.글자, 숫자, 심지어 컴퓨터 명령까지 똑같이 쉽게 메모리에 넣을 수 있습니다.CPU는 서로 다른 유형의 정보를 구분하지 않기 때문에, 메모리가 일련의 숫자에 불과하다고 보는 것에 의미를 부여하는 것은 소프트웨어의 책임입니다.

거의 모든 최신 컴퓨터에서 각 메모리 셀은 이진수를 8비트 그룹(바이트라고 함)으로 저장하도록 설정됩니다.각 바이트는 0 ~ 255 또는 -128 ~ +127의 서로 다른 숫자(2 = 256)를 나타낼 수 있습니다.더 큰 숫자를 저장하기 위해 몇 개의 연속 바이트(일반적으로 두 개, 네 개 또는 여덟 개)를 사용할 수 있습니다.음수가 필요한 경우 일반적으로 2의 보표식으로 저장됩니다.다른 배열은 가능하지만, 전문화된 응용프로그램이나 과거의 맥락을 벗어나서는 볼 수 없습니다.컴퓨터는 숫자로 나타낼 수 있다면 어떤 종류의 정보라도 메모리에 저장할 수 있습니다.현대의 컴퓨터는 수십억 또는 심지어 수조 바이트의 메모리를 가지고 있습니다.

CPU에는 메인 메모리 영역보다 훨씬 빠른 속도로 읽고 쓸 수 있는 레지스터라고 하는 특수한 메모리 셀 세트가 포함되어 있습니다.CPU의 종류에 따라 일반적으로 2개에서 100개 사이의 레지스터가 있습니다. 레지스터는 데이터가 필요할 때마다 메인 메모리에 액세스할 필요가 없도록 가장 자주 필요한 데이터 항목에 사용됩니다.데이터 작업이 계속 진행됨에 따라 메인 메모리(ALU 및 제어 장치에 비해 느린 경우가 많음)에 액세스해야 하는 필요성이 줄어들면 컴퓨터 속도가 크게 향상됩니다.

컴퓨터 메인 메모리는 크게 두 가지 종류가 있습니다.

RAM은 CPU가 명령할 때마다 읽고 쓸 수 있지만 ROM에는 변경되지 않는 데이터와 소프트웨어가 미리 로드되어 있기 때문에 CPU는 RAM에서 읽기만 할 수 있습니다.ROM은 일반적으로 컴퓨터의 초기 시작 명령을 저장하는 데 사용됩니다.일반적으로 RAM의 내용은 컴퓨터의 전원이 꺼지면 지워지지만 ROM은 데이터를 무한정 유지합니다.PC에서 ROM에는 컴퓨터의 전원을 켜거나 재설정할 때마다 컴퓨터의 운영 체제를 하드 디스크 드라이브에서 RAM으로 로드하도록 조정하는 BIOS라는 특수 프로그램이 포함되어 있습니다.디스크 드라이브가 없는 경우가 많은 임베디드 컴퓨터에서는 필요한 소프트웨어를 모두 ROM에 저장할 수도 있습니다. ROM에 저장된 소프트웨어를 펌웨어라고 부르는 경우가 많은데, 이는 개념적으로 소프트웨어보다는 하드웨어에 가깝기 때문입니다.플래시 메모리는 전원을 끄면 데이터가 유지되지만 다시 쓰기 가능하기 때문에 ROM과 RAM의 구분을 흐립니다.그러나 일반적으로 기존의 ROM 및 RAM보다 훨씬 느리기 때문에 고속이 [f]불필요한 애플리케이션에는 사용이 제한됩니다.

더 정교한 컴퓨터에는 레지스터보다는 느리지만 메인 메모리보다는 빠른 하나 이상의 RAM 캐시 메모리가 있을 수 있습니다.일반적으로 이런 종류의 캐시가 있는 컴퓨터는 자주 필요한 데이터를 자동으로 캐시로 이동하도록 설계되어 있으며, 프로그래머가 개입할 필요가 없는 경우가 많습니다.

입출력(I/O)

하드 디스크 드라이브는 컴퓨터와 함께 사용되는 일반적인 저장 장치입니다.

입출력은 컴퓨터가 외부 [113]세계와 정보를 교환하는 수단입니다.컴퓨터에 입력 또는 출력을 제공하는 장치를 [114]주변 장치라고 합니다.일반적인 개인용 컴퓨터에서 주변기기는 키보드, 마우스와 같은 입력 장치와 디스플레이, 프린터와 같은 출력 장치를 포함합니다.하드 디스크 드라이브, 플로피 디스크 드라이브 및 광 디스크 드라이브는 입력 및 출력 장치의 역할을 모두 합니다.컴퓨터 네트워킹은 I/O의 또 다른 형태입니다.I/O 장치는 대개 자체 CPU와 메모리를 갖춘 복잡한 컴퓨터입니다.그래픽 처리 장치3D [citation needed]그래픽을 표시하는 데 필요한 계산을 수행하는 50개 이상의 소형 컴퓨터를 포함할 수 있습니다.현대의 데스크톱 컴퓨터에는 메인 CPU가 입출력을 수행하는 데 도움이 되는 수많은 소형 컴퓨터가 포함되어 있습니다.2016년형 평면 스크린 디스플레이는 자체 컴퓨터 회로를 포함하고 있습니다.

멀티태스킹

컴퓨터가 주 메모리에 저장된 하나의 거대한 프로그램을 실행하는 것으로 보일 수 있지만, 일부 시스템에서는 여러 프로그램을 동시에 실행하는 것처럼 보일 필요가 있습니다.이것은 멀티태스킹 즉,[115] 컴퓨터가 각 프로그램을 차례대로 실행하는 사이에 빠르게 전환되도록 함으로써 달성됩니다.이것을 수행하는 한 가지 방법은 인터럽트라고 불리는 특별한 신호를 사용하는 것인데, 이것은 컴퓨터가 명령을 실행하는 것을 주기적으로 멈추고 대신에 다른 것을 하도록 할 수 있습니다.시스템은 인터럽트 전에 실행 중이던 위치를 기억함으로써 나중에 해당 작업으로 돌아갈 수 있습니다.여러 프로그램이 "동시에" 실행 중인 경우.그러면 인터럽트 발생기가 초당 수백 번의 인터럽트를 일으켜 매번 프로그램 전환을 일으킬 수 있습니다.현대의 컴퓨터는 일반적으로 사람이 인식하는 것보다 몇 배나 빠른 명령어를 실행하기 때문에 특정 순간에 하나만 실행되어도 많은 프로그램이 동시에 실행되는 것처럼 보일 수 있습니다.이 멀티태스킹 방법은 각 프로그램이 차례로 [116]"시간 조각"을 할당받기 때문에 "시간 공유"라고 불리기도 합니다.

저렴한 컴퓨터 시대 이전에 멀티태스킹의 주된 용도는 많은 사람들이 같은 컴퓨터를 공유할 수 있도록 하는 것이었습니다.멀티태스킹을 사용하면 여러 프로그램 간에 전환하는 컴퓨터가 실행 중인 프로그램 수에 정비례하여 더 느리게 실행되지만 대부분의 프로그램은 느린 입출력 장치가 작업을 완료하기를 기다리는데 대부분의 시간을 소비합니다.프로그램이 사용자가 마우스를 클릭하거나 키보드의 키를 누를 때까지 대기 중인 경우, 대기 중인 이벤트가 발생할 때까지 "타임 슬라이스"가 수행되지 않습니다.이를 통해 다른 프로그램의 실행 시간을 확보할 수 있으므로 허용할 수 없는 속도 손실 없이 많은 프로그램을 동시에 실행할 수 있습니다.

멀티프로세싱

크레는 멀티프로세싱을 많이 사용하는 많은 슈퍼컴퓨터를 디자인했습니다.

일부 컴퓨터는 슈퍼컴퓨터, 메인프레임 컴퓨터 서버와 같은 크고 강력한 기계에만 사용되었던 기술인 다중 처리 구성에서 여러 CPU에 걸쳐 작업을 분산하도록 설계되었습니다.멀티프로세서와 멀티코어(단일 집적 회로의 여러 CPU) 개인용 및 노트북 컴퓨터는 현재 널리 사용되고 있으며, 그 결과 보급형 시장에서 점점 더 많이 사용되고 있습니다.

특히 슈퍼컴퓨터는 기본적인 저장 프로그램 아키텍처나 범용 [g]컴퓨터와는 확연히 다른 매우 독특한 아키텍처를 가지고 있는 경우가 많습니다.또한 수천 개의 CPU, 맞춤형 고속 인터커넥트 및 특수 컴퓨팅 하드웨어를 갖추고 있는 경우가 많습니다.대부분의 가용 리소스를 한 번에 사용하는 데 필요한 프로그램 구성 규모가 크기 때문에 이러한 설계는 전문화된 작업에만 유용한 경향이 있습니다.슈퍼컴퓨터는 일반적으로 대규모 시뮬레이션, 그래픽 렌더링 및 암호화 응용 프로그램과 다른 소위 "부끄러운 병렬" 작업에서의 사용을 볼 수 있습니다.

소프트웨어

소프트웨어는 프로그램, 데이터, 프로토콜 등과 같이 재료 형태를 가지지 않는 컴퓨터의 부분을 말합니다.소프트웨어는 시스템이 구축된 물리적 하드웨어와 달리 인코딩된 정보 또는 컴퓨터 명령으로 구성된 컴퓨터 시스템의 일부입니다.컴퓨터 소프트웨어에는 컴퓨터 프로그램, 라이브러리 및 온라인 문서 또는 디지털 미디어와 같은 실행 불가능한 관련 데이터가 포함됩니다.흔히 시스템 소프트웨어와 응용 소프트웨어로 나뉩니다.컴퓨터 하드웨어와 소프트웨어는 서로를 필요로 하며 둘 다 혼자서 현실적으로 사용할 수 없습니다.IBM PC 호환 컴퓨터BIOS ROM과 같이 쉽게 수정할 수 없는 하드웨어에 소프트웨어를 저장하는 경우 "펌웨어"라고 부르기도 합니다.

운영체제/시스템 소프트웨어 유닉스BSD UNIX System V, IBM AIX, HP-UX, Solaris(SunOS), IRIX, BSD 운영 체제 목록
리눅스 리눅스 배포판 목록, 리눅스 배포판 비교
마이크로소프트 윈도우 윈도우 95, 윈도우 98, 윈도우 NT, 윈도우 2000, 윈도우 ME, 윈도우 XP, 윈도우 비스타, 윈도우 7, 윈도우 8, 윈도우 8.1, 윈도우 10, 윈도우 11
도스 86-DOS(QDOS), IBM PC DOS, MS-DOS, DR-DOS, FreeDOS
매킨토시 운영 체제 클래식 Mac OS, macOS(이전 OS X 및 Mac OS X)
내장형 및 실시간 임베디드 운영체제 목록
실험적인 아메바, 오베론--Bell Labs의 AOS, Bluebottle, A2, Plan 9 from Bell Labs
도서관 멀티미디어 DirectX, OpenGL, OpenAL, Vulkan(API)
프로그래밍 라이브러리 C 표준 라이브러리, 표준 템플릿 라이브러리
데이터. 의전 TCP/IP, Kermit, FTP, HTTP, SMTP
파일형식 HTML, XML, JPEG, MPEG, PNG
사용자 인터페이스 그래픽 사용자 인터페이스(WIMP) Microsoft Windows, GNOME, KDE, QNX Photon, CDE, GEM, Aqua
텍스트 기반 사용자 인터페이스 명령줄 인터페이스, 텍스트 사용자 인터페이스
응용 소프트웨어 오피스 스위트 워드프로세싱, 데스크톱 퍼블리싱, 프레젠테이션 프로그램, 데이터베이스 관리 시스템, 스케줄링 & 시간 관리, 스프레드시트,
인터넷 접속 브라우저, 전자 메일 클라이언트, 서버, 메일 전송 에이전트, 인스턴트 메시징
설계 및 제작 컴퓨터 지원 설계, 컴퓨터 지원 제조, 플랜트 관리, 로봇 제조, 공급망 관리
그래픽스 래스터 그래픽스 편집기, 벡터 그래픽스 편집기, 3D 모델러, 애니메이션 편집기, 3D 컴퓨터 그래픽스, 비디오 편집, 이미지 처리
오디오 디지털 오디오 편집기, 오디오 재생, 믹싱, 오디오 합성, 컴퓨터 음악
소프트웨어 공학 컴파일러, 어셈블러, 인터프리터, 디버거, 텍스트 편집기, 통합 개발 환경, 소프트웨어 성능 분석, 수정 제어, 소프트웨어 구성 관리
교육적 에듀테인먼트, 교육용 게임, 진지한 게임, 비행 시뮬레이터
게임. 전략, 아케이드, 퍼즐, 시뮬레이션, 일인칭 슈팅, 플랫폼, 대규모 멀티플레이어, 인터랙티브 픽션
미스크 인공지능, 안티바이러스 소프트웨어, 멀웨어 스캐너, 설치/패키지 관리 시스템, 파일 관리자

언어들

프로그래밍 언어는 수천 가지로 다양합니다. 어떤 언어는 일반 용도로 사용하기도 하고, 어떤 언어는 고도로 전문화된 응용 프로그램에만 유용하기도 합니다.

프로그래밍 언어
프로그래밍 언어 목록 프로그래밍 언어 타임라인, 카테고리별 프로그래밍 언어 목록, 세대별 프로그래밍 언어 목록, 프로그래밍 언어 목록, 비영어 기반 프로그래밍 언어
일반적으로 사용되는 어셈블리어 ARM, MIPS, x86
일반적으로 사용되는 고급 프로그래밍 언어 에이다, 베이직, C, C++, C#, 코볼, 포트란, PL/I, REXX, 자바, 리스프, 파스칼, 오브젝트 파스칼
일반적으로 사용되는 스크립트 언어 스크립트, 자바스크립트, 파이썬, 루비, PHP,

프로그램

다른 모든 기계와 구별되는 현대 컴퓨터의 정의적 특징은 프로그래밍이 가능하다는 것입니다.즉, 컴퓨터에 어떤 종류의 명령(프로그램)이 주어질 수 있고, 그것을 처리할 것입니다.폰 노이만 구조에 기반을 둔 현대의 컴퓨터들은 종종 명령형 프로그래밍 언어의 형태로 기계 코드를 가지고 있습니다.실질적인 측면에서, 워드 프로세서 브라우저를 위한 프로그램들처럼 컴퓨터 프로그램은 단지 몇 개의 명령어들이거나 수백만 개의 명령어들로 확장될 수 있습니다.일반적인 최신 컴퓨터는 초당 수십억 개의 명령어를 실행할 수 있으며(기가플롭) 수년간 작동해도 오류를 범하는 경우가 거의 없습니다.수백만 개의 명령어로 구성된 대형 컴퓨터 프로그램은 여러 팀의 프로그래머가 작성하는 데 수년이 걸릴 수 있으며 작업의 복잡성 때문에 오류가 거의 확실합니다.

저장형 프로그램 아키텍처

영국 맨체스터에 있는 과학산업박물관에 있는 세계 최초의 전자 저장 프로그램 컴퓨터인 맨체스터 베이비의 복제품

이 섹션은 대부분의 일반적인 RAM 시스템 기반 컴퓨터에 적용됩니다.

대부분의 경우 컴퓨터 명령은 간단합니다. 하나의 번호를 다른 번호에 추가하거나, 일부 데이터를 한 위치에서 다른 위치로 이동하거나, 일부 외부 장치로 메시지를 전송하는 등입니다.이러한 지침은 컴퓨터의 메모리에서 읽으며 일반적으로 주어진 순서대로 수행(실행)됩니다.그러나 일반적으로 컴퓨터에 프로그램의 다른 곳으로 앞이나 뒤로 점프하여 실행하도록 지시하는 전문 지침이 있습니다.이를 "점프" 명령(또는 가지)이라고 합니다.또한 점프 명령은 이전의 계산 결과 또는 외부 이벤트의 결과에 따라 다른 순서의 명령을 사용할 수 있도록 조건부로 이루어질 수 있습니다.많은 컴퓨터는 점프한 위치를 "기억"하는 점프 유형과 점프 명령 뒤에 명령으로 돌아가는 다른 명령을 제공함으로써 서브루틴을 직접 지원합니다.

프로그램 실행은 책을 읽는 것과 같습니다.사용자는 일반적으로 각 단어와 줄을 순차적으로 읽지만, 텍스트의 이전 위치로 다시 이동하거나 관심 없는 섹션을 생략할 수도 있습니다.마찬가지로, 컴퓨터는 내부 조건이 충족될 때까지 프로그램의 일부 섹션에서 지시를 반복하여 반복할 수도 있습니다.이것은 프로그램 내의 제어 흐름이라 불리며, 컴퓨터가 사람의 개입 없이 반복적으로 작업을 수행할 수 있게 해줍니다.

이에 비해 포켓 계산기를 사용하는 사람은 버튼 몇 번만 누르면 숫자 두 개를 더하는 등의 기본 연산을 할 수 있습니다.그러나 1부터 1,000까지의 숫자를 모두 합하면 수천 번의 버튼 누르기와 많은 시간이 소요되며, 실수를 저지를 것이 거의 확실합니다.반면에, 컴퓨터는 몇 가지 간단한 명령만으로 이것을 할 수 있도록 프로그램 되어 있습니다.다음 예제는 MIPS 어셈블리 언어로 작성되었습니다.

  시작:   애디 $8, $0, 0           # 합계를 0으로 초기화합니다.   애디 $9, $0, 1           # 첫 번째 숫자를 추가할 = 1로 설정합니다.   루프:   슬티 $10, $9, 1000       # 개수가 1000개 미만인지 확인합니다.   베크 $10, $0, 끝내라.      # 홀수가 n보다 크면 종료합니다.   더하다 $8, $8, $9           # 업데이트 합계   애디 $9, $9, 1           # 다음 번호를 얻다   j 고리                   # 합산 과정을 반복합니다.   완료:   더하다 $2, $8, $0           # 출력 레지스터에 합계를 넣다 

이 프로그램을 실행하라는 지시가 떨어지면 컴퓨터는 더 이상의 사람의 개입 없이 반복적인 추가 작업을 수행합니다.그것은 거의 실수를 하지 않을 것이고 현대적인 PC는 순식간에 작업을 완료할 수 있습니다.

기계코드

대부분의 컴퓨터에서 개별 명령어는 기계 코드로 저장되며, 각 명령어에는 고유한 번호(동작 코드 또는 줄여서 opcode)가 부여됩니다.두 개의 숫자를 더하는 명령어는 하나의 opcode를 가질 것이고, 그들을 곱하는 명령어는 다른 opcode를 가질 것입니다.가장 간단한 컴퓨터는 몇 안 되는 다양한 명령을 수행할 수 있고, 더 복잡한 컴퓨터는 수백 가지의 명령을 선택할 수 있으며, 각각 고유한 숫자 코드를 가지고 있습니다.컴퓨터의 메모리는 숫자를 저장할 수 있기 때문에 명령어 코드도 저장할 수 있습니다.따라서 전체 프로그램(단순히 이 지침의 목록)은 숫자 목록으로 표시될 수 있으며 숫자 데이터와 동일한 방식으로 컴퓨터 내부에서 자체를 조작할 수 있다는 중요한 사실로 이어집니다.프로그램을 컴퓨터의 메모리에 저장하는 기본 개념은 폰 노이만,[118][119] 즉 저장된 프로그램 아키텍처의 핵심입니다.경우에 따라 컴퓨터는 프로그램의 일부 또는 전부를 메모리에 저장할 수 있으며, 이 프로그램은 컴퓨터가 작동하는 데이터와 분리되어 있습니다.이것은 하버드 마크 1 컴퓨터의 이름을 따서 하버드 건축이라고 불립니다.현대의 폰 노이만 컴퓨터는 CPU 캐시와 같은 설계에 하버드 아키텍처의 일부 특성을 표시합니다.

컴퓨터 프로그램을 긴 숫자 목록(기계 언어)으로 작성하는 것은 가능하지만, 이 기법은 많은 초기 [h]컴퓨터에서 사용되었지만 실제로는 매우 지루하고 오류가 발생할 가능성이 있습니다. 특히 복잡한 프로그램의 경우 그렇습니다.대신, 각 기본 명령어에는 ADD, SUB, MULT 또는 JUMP와 같은 기억하기 쉬운 짧은 이름이 지정될 수 있습니다. 이 기억법들은 컴퓨터의 어셈블리 언어로 통칭됩니다.어셈블리 언어로 작성된 프로그램을 컴퓨터가 실제로 이해할 수 있는 것(기계 언어)으로 변환하는 것은 보통 어셈블러라고 불리는 컴퓨터 프로그램에 의해 이루어집니다.

1970년대 Fortran 프로그램의 한 줄이 들어있는 천공 카드.카드에는 "Z(1) = Y + W(1)"라고 쓰여 있으며 식별을 위해 "PROJ039"라고 표시되어 있습니다.

프로그래밍 언어

프로그래밍 언어는 컴퓨터가 실행할 프로그램을 지정하는 다양한 방법을 제공합니다.자연어와 달리 프로그래밍 언어는 모호함이 없고 간결하게 설계되어 있습니다.그것들은 순수하게 쓰여진 언어들이고 큰 소리로 읽기 어려운 경우가 많습니다.이들은 일반적으로 실행되기 전에 컴파일러어셈블러에 의해 기계 코드로 번역되거나, 인터프리터에 의해 실행 시간에 직접 번역됩니다.때때로 프로그램은 두 기법의 혼합된 방법으로 실행됩니다.

하위 언어

기계 언어들과 그것들을 나타내는 어셈블리 언어들은 일반적으로 컴퓨터의 중앙 처리 장치(CPU)의 특정 아키텍처에 고유합니다.예를 들어 ARM 아키텍처 CPU(스마트폰이나 휴대용 비디오 게임 등)는 PC[i]있을 수 있는 x86 CPU의 기계어를 이해할 수 없습니다.역사적으로 지로그 Z80 외에도 MOS 테크놀로지 6502 및 6510 등 많은 다른 CPU 아키텍처가 개발되었으며 광범위하게 사용되었습니다.

고급 언어

기계 언어보다 훨씬 쉽지만 어셈블리 언어로 긴 프로그램을 쓰는 것은 종종 어렵고 오류가 발생하기 쉽습니다.따라서 대부분의 실용적인 프로그램은 프로그래머의 요구를 더 편리하게 표현할 수 있는 추상적인 고급 프로그래밍 언어로 작성됩니다(따라서 프로그래머 오류를 줄이는 데 도움이 됩니다).고급 언어는 [j]보통 컴파일러라고 불리는 또 다른 컴퓨터 프로그램을 사용하여 기계 언어(또는 때로는 어셈블리 언어, 그 다음에는 기계 언어)로 "컴파일"됩니다.고급 언어는 어셈블리 언어보다 대상 컴퓨터의 동작과 덜 관련되어 있으며 최종 프로그램에서 해결할 문제의 언어 및 구조와 더 관련이 있습니다.따라서 종종 다른 컴파일러를 사용하여 동일한 고급 언어 프로그램을 다양한 유형의 컴퓨터의 기계 언어로 번역하는 것이 가능합니다.이것은 비디오 게임과 같은 소프트웨어가 개인용 컴퓨터와 다양한 비디오 게임 콘솔과 같은 다양한 컴퓨터 아키텍처에 사용 가능하게 하는 수단의 일부입니다.

프로그램설계

소규모 프로그램의 프로그램 설계는 비교적 단순하며, 문제 분석, 입력 수집, 언어 내 프로그래밍 구성 요소 사용, 확립된 절차 및 알고리즘을 고안하거나 사용,[120] 출력 장치 및 문제 해결책에 대한 데이터를 해당 가능한 한 제공하는 것을 포함합니다.문제가 커지고 복잡해짐에 따라 하위 프로그램, 모듈, 공식 문서화와 같은 기능과 객체 지향 프로그래밍과 같은 새로운 패러다임에 [121]직면하게 됩니다.수천 개의 코드 라인 등을 포함하는 대규모 프로그램은 공식적인 소프트웨어 방법론을 [122]필요로 합니다.대형 소프트웨어 시스템을 개발하는 작업은 상당한 지적 [123]문제를 야기합니다.예측 가능한 일정과 예산 내에서 신뢰도가 상당히 높은 소프트웨어를 생산하는 것은 역사적으로 어려운 [124]일이었습니다. 소프트웨어 공학의 학문적, 전문적 학문 분야는 특히 이 [125]과제에 초점을 맞추고 있습니다.

벅스

실제 최초의 컴퓨터 버그, 하버드 마크 2 컴퓨터 중계기에 갇힌 채 발견된 나방

컴퓨터 프로그램의 오류를 "버그"라고 부릅니다.양성일 수 있으며 프로그램의 유용성에 영향을 주지 않거나 미묘한 영향만 미칠 수 있습니다.그러나 경우에 따라 프로그램 또는 전체 시스템이 "정지" 상태가 되어 마우스 클릭 또는 키 누르기와 같은 입력에 반응하지 않거나 완전히 실패하거나 [126]충돌할 수 있습니다.그렇지 않으면 악의적인 사용자가 악의적인 의도로 악용할 수 있습니다. 이는 버그를 이용하여 컴퓨터의 적절한 실행을 방해하도록 설계된 코드입니다.버그는 보통 컴퓨터의 잘못이 아닙니다.컴퓨터는 주어진 명령만 실행하기 때문에 버그는 거의 항상 프로그래머의 오류나 프로그램 [k]설계에 대한 감독의 결과입니다.미국의 컴퓨터 과학자이자 최초의 컴파일러 개발자인 그레이스 호퍼 제독은 1947년 [127]9월에 죽은 나방이 하버드 마크 2 컴퓨터에서 릴레이가 부족한 것이 발견된 후 컴퓨터에서 "버그"라는 용어를 처음 사용한 것으로 인정받고 있습니다.

네트워킹과 인터넷

인터넷 경로의 일부를 시각화하는 방법

컴퓨터는 1950년대부터 여러 장소 사이의 정보를 조정하는 데 사용되어 왔습니다.미군의 SAGE 시스템은 그러한 시스템의 첫 번째 대규모 사례였으며,[128] 이는 Sabre와 같은 여러 특수 목적의 상업적 시스템으로 이어졌습니다.1970년대에 미국 전역에 있는 연구 기관의 컴퓨터 엔지니어들은 전기통신 기술을 사용하여 그들의 컴퓨터를 서로 연결하기 시작했습니다.이 노력은 ARPA(현재 DARPA)에 의해 자금이 지원되었으며, 그 결과로 나온 컴퓨터 네트워크는 ARPANET이라고 [129]불립니다.아르파넷을 가능하게 한 기술은 확산되고 발전했습니다.

이윽고 네트워크는 학문과 군사 기관을 넘어 인터넷으로 알려지게 되었습니다.네트워킹의 출현은 컴퓨터의 본질과 경계에 대한 재정의를 수반했습니다.컴퓨터 운영 체제 및 응용 프로그램은 개별 컴퓨터의 리소스 확장으로 주변 장치, 저장된 정보 등과 같은 네트워크 상의 다른 컴퓨터의 리소스를 정의하고 액세스할 수 있는 기능을 포함하도록 수정되었습니다.처음에 이러한 시설은 주로 첨단 기술 환경에서 일하는 사람들이 이용할 수 있었지만, 1990년대에 이메일과 월드 와이드 웹과 같은 응용 프로그램의 확산과 이더넷 및 ADSL같은 값싸고 빠른 네트워킹 기술의 발전으로 컴퓨터 네트워킹이 거의 보편화되었습니다.실제로 네트워크로 연결된 컴퓨터의 수는 경이적으로 증가하고 있습니다.매우 많은 수의 개인용 컴퓨터들이 정기적으로 인터넷에 접속하여 의사소통을 하고 정보를 받습니다.종종 휴대 전화 네트워크를 활용하는 "무선" 네트워킹은 모바일 컴퓨팅 환경에서도 네트워킹이 점점 더 보편화되고 있음을 의미합니다.

파격적인 컴퓨터

컴퓨터는 전자적일 필요도 없고, 프로세서, RAM, 하드 디스크도 없습니다."컴퓨터"라는 단어의 대중적인 사용은 개인용 전자 [l]컴퓨터와 동의어이지만, 전형적인 현대적인 정의는 다음과 같습니다: "컴퓨터를 계산하는 장치, 특히 고속의 수학적 또는 논리적 연산을 수행하는 프로그래밍 가능한 [보통] 전자 기계 또는 조립, 저장, 상관 관계,그렇지 않으면 [130]정보를 처리합니다."이 정의에 따르면 정보를 처리하는 모든 장치는 컴퓨터 자격이 있습니다.

미래.

광학 컴퓨터, DNA 컴퓨터, 신경 컴퓨터, 양자 컴퓨터와 같은 많은 유망한 새로운 유형의 기술로 비클래식 컴퓨터를 만들기 위한 활발한 연구가 있습니다.대부분의 컴퓨터는 보편적이고 계산 가능한 함수를 계산할 수 있으며 메모리 용량과 동작 속도에만 제한을 받습니다.그러나 컴퓨터의 설계가 다르면 특정 문제에 대해 매우 다른 성능을 제공할 수 있습니다. 예를 들어 양자 컴퓨터는 (양자 인수분해에 의해) 일부 현대 암호화 알고리즘을 매우 빨리 깰 수 있습니다.

컴퓨터 아키텍처 패러다임

컴퓨터 아키텍처에는 여러 가지 유형이 있습니다.

이러한 추상적인 기계들 중에서 양자 컴퓨터는 [131]컴퓨팅의 혁신을 이룰 가장 큰 가능성을 가지고 있습니다.로직 게이트는 의 디지털 또는 아날로그 패러다임의 대부분에 적용될 수 있는 일반적인 추상화입니다.프로그램이라고 불리는 명령어 목록을 저장하고 실행하는 기능은 컴퓨터를 계산기와 구별하여 매우 다용도로 만듭니다.Church-Turing 논제는 이러한 다재다능함에 대한 수학적 진술입니다: 원칙적으로, 최소한의 능력을 가진 컴퓨터는 다른 컴퓨터가 수행할 수 있는 것과 같은 작업을 수행할 수 있습니다.따라서 어떤 유형의 컴퓨터(넷북, 슈퍼컴퓨터, 셀룰러 오토마톤 등)라도 충분한 시간과 저장 용량이 주어지면 동일한 계산 작업을 수행할 수 있습니다.

인공지능

컴퓨터는 효율성, 대안 해결책, 가능한 단축키 또는 코드의 가능한 오류를 고려하지 않고 정확히 프로그래밍된 방식으로 문제를 해결할 것입니다.학습하고 적응하는 컴퓨터 프로그램은 인공지능기계 학습의 새로운 분야의 일부입니다.인공지능 기반 제품은 일반적으로 규칙 기반 시스템과 패턴 인식 시스템의 두 가지 주요 범주로 나뉩니다.규칙 기반 시스템은 인간 전문가가 사용하는 규칙을 나타내려고 시도하며 개발 비용이 많이 드는 경향이 있습니다.패턴 기반 시스템은 문제에 대한 데이터를 사용하여 결론을 생성합니다.패턴 기반 시스템의 예로는 음성 인식, 글꼴 인식, 번역 및 온라인 마케팅 분야가 있습니다.

직업 및 조직

컴퓨터의 사용이 사회적으로 확산되면서, 컴퓨터와 관련된 직업의 수가 증가하고 있습니다.

컴퓨터관련직업
하드웨어 관련 전기공학, 전자공학, 컴퓨터공학, 통신공학, 광공학, 나노공학
소프트웨어 관련 컴퓨터 공학, 컴퓨터 공학, 데스크톱 출판, 인간-컴퓨터 상호작용, 정보 기술, 정보 시스템, 컴퓨터 과학, 소프트웨어 공학, 비디오 게임 산업, 웹 디자인

컴퓨터가 함께 잘 작동하고 정보를 교환할 수 있어야 한다는 필요성은 공식적이고 비공식적인 성격을 가진 많은 표준 조직, 클럽 및 사회에 대한 필요성을 낳았습니다.

단체들
표준그룹 ANSI, IEC, IEEE, IETF, ISO, W3C
직업사회 ACM, AIS, IET, IFIP, BCS
자유/오픈 소스 소프트웨어 그룹 자유 소프트웨어 재단, 모질라 재단, 아파치 소프트웨어 재단

참고 항목

메모들

  1. ^ Schmandt-Besserat 1981에 따르면, 이 점토 용기에는 토큰이 들어 있었고, 그 총합은 전송되는 물체의 개수였습니다.따라서 컨테이너는 선하증권이나 회계장부 같은 역할을 했습니다.용기가 깨지는 것을 피하기 위해, 먼저, 토큰의 점토로 된 인상을 용기 외부에 두었습니다. 인상의 모양을 양식화된 표시로 추상화했습니다. 마지막으로, 추상화된 표시를 체계적으로 숫자로 사용했습니다. 이 숫자들은 마침내 숫자로 공식화되었습니다.
    결국 세자를 전하기 위해 필요한 것은 용기 겉면의 표시뿐이었고, 점토 용기는 세자를 위한 표시가 있는 점토판으로 진화했습니다.Schmandt-Besserat 1999년에는 4000년이 걸렸다고 추정했습니다.
  2. ^ Intel 4004(1971) 다이는 12mm로2 2300개의 트랜지스터로 구성되어 있었습니다. 이에 비해 Pentium Pro는 306mm로2 550만 [101]개의 트랜지스터로 구성되어 있었습니다.
  3. ^ 대부분의 주요 64비트 명령어 집합 아키텍처는 이전 설계의 확장입니다.이 표에 나열된 Alpha를 제외한 모든 아키텍처는 64비트 화신이 소개되기 전까지 32비트 형태로 존재했습니다.
  4. ^ 명령을 해석하는 제어부의 역할은 과거에는 다소 변화가 있었습니다.대부분의 최신 컴퓨터에서 명령 해석은 제어부가 전적으로 담당하지만, 항상 그렇지는 않습니다.일부 컴퓨터에는 제어 장치가 부분적으로 해석하고 다른 장치에서 추가 해석을 수행하는 명령이 있습니다.예를 들어, 가장 초기의 저장 프로그램 컴퓨터 중 하나인 EDVAC는 4개의 명령어만을 해석하는 중앙 제어 장치를 사용했습니다.모든 산술 관련 명령은 산술 단위로 전달되어 거기서 더 해독됩니다.
  5. ^ 명령어는 종종 하나 이상의 메모리 주소를 차지하므로 프로그램 카운터는 일반적으로 하나의 명령어를 저장하는 데 필요한 메모리 위치 수만큼 증가합니다.
  6. ^ 플래시 메모리는 마모되기 전에 제한된 횟수만 다시 쓰기 때문에 랜덤 액세스 사용량이 [112]많을 때는 덜 유용합니다.
  7. ^ 하지만, 많은 값싼 상품 하드웨어로 슈퍼컴퓨터를 구성하는 것도 매우 일반적입니다; 대개 네트워크로 연결된 개별 컴퓨터들 말입니다.이러한 소위 컴퓨터 클러스터는 종종 맞춤형 설계보다 훨씬 저렴한 비용으로 슈퍼컴퓨터 성능을 제공할 수 있습니다.가장 강력한 슈퍼컴퓨터 대부분에 맞춤형 아키텍처가 여전히 사용되고 있지만, 최근 몇 [117]년 동안 클러스터 컴퓨터가 급증하고 있습니다.
  8. ^ 심지어 나중에 나온 몇몇 컴퓨터들도 일반적으로 기계 코드로 직접 프로그래밍되었습니다.DEC PDP-8과 같은 일부 미니 컴퓨터는 스위치 패널에서 직접 프로그래밍할 수 있었습니다.그러나 이 방법은 보통 부팅 프로세스의 일부로만 사용되었습니다.대부분의 최신 컴퓨터는 일부 비휘발성 메모리에서 부팅 프로그램을 읽음으로써 완전히 자동으로 부팅됩니다.
  9. ^ 그러나 때때로 다른 컴퓨터들 사이에는 어떤 형태로든 기계어 호환성이 있습니다.AMD Athlon 64와 같은 x86-64 호환 마이크로프로세서는 Intel Core 2 마이크로프로세서가 실행할 수 있는 프로그램과 Intel PentiumIntel 80486과 같은 이전 마이크로프로세서를 위해 설계된 프로그램을 대부분 실행할 수 있습니다.이것은 종종 독특하고 다른 컴퓨터와 완전히 호환되지 않는 초기 상용 컴퓨터와 대조됩니다.
  10. ^ 고급 언어들은 또한 종종 컴파일되기 보다는 해석되기도 합니다.통역된 언어들은 인터프리터라고 불리는 또 다른 프로그램에 의해 실행 중에 기계 코드로 즉시 번역됩니다.
  11. ^ 버그가 프로그래머의 감시 때문이라는 것은 보편적으로 사실이 아닙니다.컴퓨터 하드웨어가 고장이 나거나 그 자체로 특정 상황에서 예상치 못한 결과를 초래하는 근본적인 문제가 있을 수 있습니다.예를 들어, Pentium FDIV 버그로 인해 1990년대 초 일부 Intel 마이크로프로세서에서 특정 부동 소수점 분할 연산에 대해 부정확한 결과가 발생했습니다.이는 마이크로프로세서 설계상의 결함으로 인해 발생한 것으로, 해당 장치를 부분적으로 리콜하는 결과를 초래했습니다.
  12. ^ The Shorter Oxford English Dictionary (6th, 2007)에 따르면, 컴퓨터라는 단어는 "계산을 하는 사람; 구체적으로 관측소에서 이것을 위해 고용된 사람 등"을 지칭했던 17세기 중반까지 거슬러 올라갑니다.

참고문헌

  1. ^ 에반스 2018, 23쪽.
  2. ^ a b 스미스 2013, 페이지 6.
  3. ^ "computer (n.)". Online Etymology Dictionary. Archived from the original on 16 November 2016. Retrieved 19 August 2021.
  4. ^ Robson, Eleanor (2008). Mathematics in Ancient Iraq. Princeton University Press. p. 5. ISBN 978-0-691-09182-2.Robson, Eleanor (2008). Mathematics in Ancient Iraq. Princeton University Press. p. 5. ISBN 978-0-691-09182-2.Calculi는 상품별 계산 표현 시스템과 함께 기원전 3200년에서 3000년 사이에 이라크에서 원시 회계 시스템에 사용되었습니다.균형회계는 기원전 3000~2350년에, 60진법은 기원전 2350~2000년에 사용되었습니다.
  5. ^ Flegg, Graham. (1989). Numbers through the ages. Houndmills, Basingstoke, Hampshire: Macmillan Education. ISBN 0-333-49130-0. OCLC 24660570.
  6. ^ 안티키테라 메커니즘 연구 프로젝트 2008년 4월 28일 웨이백 머신, 안티키테라 메커니즘 연구 프로젝트에서 보관.2007년 7월 1일 회수.
  7. ^ Marchant, Jo (1 November 2006). "In search of lost time". Nature. 444 (7119): 534–538. Bibcode:2006Natur.444..534M. doi:10.1038/444534a. PMID 17136067. S2CID 4305761.
  8. ^ G. 위트, V. 엘리제프, P. 울프, J. 나우두 (1975).인류의 역사, 제3권: 위대한 중세문명, p. 649조지 앨런 & 언윈 주식회사, 유네스코
  9. ^ Fuat Sezgin "아랍-이슬람 과학사 연구소 전시회 카탈로그 (Johann Wolfgang Goethe University에서), 프랑크푸르트 도서전 2004, pp. 35 & 38.
  10. ^ Charette, François (2006). "Archaeology: High tech from Ancient Greece". Nature. 444 (7119): 551–552. Bibcode:2006Natur.444..551C. doi:10.1038/444551a. PMID 17136077. S2CID 33513516.
  11. ^ Bedini, Silvio A.; Maddison, Francis R. (1966). "Mechanical Universe: The Astrarium of Giovanni de' Dondi". Transactions of the American Philosophical Society. 56 (5): 1–69. doi:10.2307/1006002. JSTOR 1006002.
  12. ^ Price, Derek de S. (1984). "A History of Calculating Machines". IEEE Micro. 4 (1): 22–52. doi:10.1109/MM.1984.291305.
  13. ^ Őren, Tuncer (2001). "Advances in Computer and Information Sciences: From Abacus to Holonic Agents" (PDF). Turk J Elec Engin. 9 (1): 63–70. Archived (PDF) from the original on 15 September 2009. Retrieved 21 April 2016.
  14. ^ 도널드 루틀리지 힐 (1985)."알비루니의 기계력", 과학 연보 42, 139-163쪽
  15. ^ "The Writer Automaton, Switzerland". chonday.com. 11 July 2013. Archived from the original on 20 February 2015. Retrieved 28 January 2015.
  16. ^ a b Ray Girvan, " 메커니즘의 드러난 은혜: 배비지 이후의 컴퓨팅" 웨이백 머신에서 2012년 11월 3일 보관, Scientific Computing World, 2003년 5월/6월
  17. ^ Torres, Leonardo (10 October 1895). "Memória sobre las Máquinas Algébricas" (PDF). Revista de Obras Públicas (in Spanish) (28): 217–222.
  18. ^ 레오나르도 토레스.Memoria Sobrelas máquinas algébricas: conninform de la Real academia de ciencias exactas, fishasy naturals, Misericordia, 1895.
  19. ^ Thomas, Federico (1 August 2008). "A short account on Leonardo Torres' endless spindle". Mechanism and Machine Theory. IFToMM. 43 (8): 1055–1063. doi:10.1016/j.mechmachtheory.2007.07.003. hdl:10261/30460. ISSN 0094-114X.
  20. ^ Gomez-Jauregui, Valentin; Gutierrez-Garcia, Andres; González-Redondo, Francisco A.; Iglesias, Miguel; Manchado, Cristina; Otero, Cesar (1 June 2022). "Torres Quevedo's mechanical calculator for second-degree equations with complex coefficients". Mechanism and Machine Theory. IFToMM. 172 (8): 104830. doi:10.1016/j.mechmachtheory.2022.104830. S2CID 247503677.
  21. ^ Torres Quevedo, Leonardo (1901). "Machines á calculer". Mémoires Présentés par Divers Savants à l'Académie des Scienes de l'Institut de France (in French). Impr. nationale (París). XXXII.
  22. ^ Halacy, Daniel Stephen (1970). Charles Babbage, Father of the Computer. Crowell-Collier Press. ISBN 978-0-02-741370-0.
  23. ^ O'Connor, John J.; Robertson, Edmund F. (1998). "Charles Babbage". MacTutor History of Mathematics archive. School of Mathematics and Statistics, University of St Andrews, Scotland. Archived from the original on 16 June 2006. Retrieved 14 June 2006.
  24. ^ "Babbage". Online stuff. Science Museum. 19 January 2007. Archived from the original on 7 August 2012. Retrieved 1 August 2012.
  25. ^ Graham-Cumming, John (23 December 2010). "Let's build Babbage's ultimate mechanical computer". opinion. New Scientist. Archived from the original on 5 August 2012. Retrieved 1 August 2012.
  26. ^ L. 토레스 퀘베도.엔사요소브레 오토마티카 – Su definition. Extension teórica de susapaciones, Revista de la Academia de Ciencias Exacta, Revista 12, pp. 391-418, 1914
  27. ^ 토레스 케베도, 레오나르도오토마티카: Complemento de la Teoria de las Máquinas, (pdf), pp. 575-583, Revista de Obras Publicas, 1914년 11월 19일
  28. ^ 로널드 T. 크누셀.숫자와 컴퓨터, 스프링거, 페이지 84-85, 2017ISBN 978-3319505084
  29. ^ 랜델 1982, 페이지 6, 11-13.
  30. ^ B. 랜델.전자기계 계산기, 디지털 컴퓨터의 기원, pp.109-120, 1982
  31. ^ 1990년 브롬리.
  32. ^ 랜델, 브라이언.디지털 컴퓨터, 기원의 역사, (pdf), 페이지 545, 디지털 컴퓨터:기원, 컴퓨터 과학 백과사전, 2003년 1월.
  33. ^ a b c d The Modern History of Computing. Stanford Encyclopedia of Philosophy. 2017. Archived from the original on 12 July 2010. Retrieved 7 January 2014.
  34. ^ Zuse, Horst. "Part 4: Konrad Zuse's Z1 and Z3 Computers". The Life and Work of Konrad Zuse. EPE Online. Archived from the original on 1 June 2008. Retrieved 17 June 2008.
  35. ^ Bellis, Mary (15 May 2019) [First published 2006 at inventors.about.com/library/weekly/aa050298.htm]. "Biography of Konrad Zuse, Inventor and Programmer of Early Computers". thoughtco.com. Dotdash Meredith. Archived from the original on 13 December 2020. Retrieved 3 February 2021. Konrad Zuse earned the semiofficial title of 'inventor of the modern computer'[who?]
  36. ^ "Who is the Father of the Computer?". computerhope.com.
  37. ^ Zuse, Konrad (2010) [1984]. The Computer – My Life Translated by McKenna, Patricia and Ross, J. Andrew from: Der Computer, mein Lebenswerk (1984). Berlin/Heidelberg: Springer-Verlag. ISBN 978-3-642-08151-4.
  38. ^ Salz Trautman, Peggy (20 April 1994). "A Computer Pioneer Rediscovered, 50 Years On". The New York Times. Archived from the original on 4 November 2016. Retrieved 15 February 2017.
  39. ^ Zuse, Konrad (1993). Der Computer. Mein Lebenswerk (in German) (3rd ed.). Berlin: Springer-Verlag. p. 55. ISBN 978-3-540-56292-4.
  40. ^ "Crash! The Story of IT: Zuse". Archived from the original on 18 September 2016. Retrieved 1 June 2016.
  41. ^ Rojas, R. (1998). "How to make Zuse's Z3 a universal computer". IEEE Annals of the History of Computing. 20 (3): 51–54. doi:10.1109/85.707574. S2CID 14606587.
  42. ^ Rojas, Raúl. "How to Make Zuse's Z3 a Universal Computer" (PDF). fu-berlin.de. Archived (PDF) from the original on 9 August 2017. Retrieved 28 September 2015.
  43. ^ a b O'Regan, Gerard (2010). A Brief History of Computing. Springer Nature. p. 65. ISBN 978-3030665999.
  44. ^ "notice". Des Moines Register. 15 January 1941.
  45. ^ Arthur W. Burks (1989). The First Electronic Computer. University of Michigan Press. ISBN 0472081047. Retrieved 1 June 2019.
  46. ^ a b c d Copeland, Jack (2006). Colossus: The Secrets of Bletchley Park's Codebreaking Computers. Oxford: Oxford University Press. pp. 101–115. ISBN 978-0-19-284055-4.
  47. ^ Miller, Joe (10 November 2014). "The woman who cracked Enigma cyphers". BBC News. Archived from the original on 10 November 2014. Retrieved 14 October 2018.
  48. ^ Bearne, Suzanne (24 July 2018). "Meet the female codebreakers of Bletchley Park". The Guardian. Archived from the original on 7 February 2019. Retrieved 14 October 2018.
  49. ^ "Bletchley's code-cracking Colossus". BBC. Archived from the original on 4 February 2010. Retrieved 24 November 2021.
  50. ^ "Colossus – The Rebuild Story". The National Museum of Computing. Archived from the original on 18 April 2015. Retrieved 7 January 2014.
  51. ^ Randell, Brian; Fensom, Harry; Milne, Frank A. (15 March 1995). "Obituary: Allen Coombs". The Independent. Archived from the original on 3 February 2012. Retrieved 18 October 2012.
  52. ^ Fensom, Jim (8 November 2010). "Harry Fensom obituary". The Guardian. Archived from the original on 17 September 2013. Retrieved 17 October 2012.
  53. ^ John Presper Eckert Jr. and John W. Mouchly, 전자 수치 적분기 및 컴퓨터, 미국 특허청, 미국 특허 3,120,606, 1947년 6월 26일 출원, 1964년 2월 4일 발행, 그리고 Honeywell v. Sperry Rand에 대한 법원 판결 후 1973년 10월 19일 무효화.
  54. ^ 에반스 2018, 페이지 39.
  55. ^ 라이트 1999, 페이지 459.
  56. ^ "Generations of Computer". techiwarehouse.com. Archived from the original on 2 July 2015. Retrieved 7 January 2014.
  57. ^ Turing, A. M. (1937). "On Computable Numbers, with an Application to the Entscheidungsproblem". Proceedings of the London Mathematical Society. 2. 42 (1): 230–265. doi:10.1112/plms/s2-42.1.230. S2CID 73712.
  58. ^ Copeland, Jack (2004). The Essential Turing. p. 22: von Neumann ... firmly emphasized to me, and to others I am sure, that the fundamental conception is owing to Turing—insofar as not anticipated by Babbage, Lovelace and others. 스탠리 프랭클이 브라이언 랜델에게 보낸 편지, 1972.
  59. ^ Enticknap, Nicholas (Summer 1998). "Computing's Golden Jubilee". Resurrection (20). ISSN 0958-7403. Archived from the original on 9 January 2012. Retrieved 19 April 2008.
  60. ^ "Early computers at Manchester University". Resurrection. 1 (4). Summer 1992. ISSN 0958-7403. Archived from the original on 28 August 2017. Retrieved 7 July 2010.
  61. ^ "Early Electronic Computers (1946–51)". University of Manchester. Archived from the original on 5 January 2009. Retrieved 16 November 2008.
  62. ^ Napper, R. B. E. "Introduction to the Mark 1". The University of Manchester. Archived from the original on 26 October 2008. Retrieved 4 November 2008.
  63. ^ "Our Computer Heritage Pilot Study: Deliveries of Ferranti Mark I and Mark I Star computers". Computer Conservation Society. Archived from the original on 11 December 2016. Retrieved 9 January 2010.
  64. ^ Lavington, Simon. "A brief history of British computers: the first 25 years (1948–1973)". British Computer Society. Archived from the original on 5 July 2010. Retrieved 10 January 2010.
  65. ^ Lee, Thomas H. (2003). The Design of CMOS Radio-Frequency Integrated Circuits (PDF). Cambridge University Press. ISBN 978-1139643771. Archived from the original (PDF) on 9 December 2019. Retrieved 31 July 2019.
  66. ^ Puers, Robert; Baldi, Livio; Voorde, Marcel Van de; Nooten, Sebastiaan E. van (2017). Nanoelectronics: Materials, Devices, Applications, 2 Volumes. John Wiley & Sons. p. 14. ISBN 978-3527340538. Retrieved 31 July 2019.
  67. ^ a b Moskowitz, Sanford L. (2016). Advanced Materials Innovation: Managing Global Technology in the 21st century. John Wiley & Sons. pp. 165–167. ISBN 978-0470508923. Retrieved 28 August 2019.
  68. ^ Lavington 1998, 34-35쪽.
  69. ^ a b Cooke-Yarborough, E. H. (June 1998). "Some early transistor applications in the UK". Engineering Science & Education Journal. 7 (3): 100–106. doi:10.1049/esej:19980301. ISSN 0963-7346. Archived from the original on 8 November 2020. Retrieved 7 June 2009. (구독 필요)
  70. ^ Cooke-Yarborough, E.H. (1957). Introduction to Transistor Circuits. Edinburgh: Oliver and Boyd. p. 139.
  71. ^ "1960: Metal Oxide Semiconductor (MOS) Transistor Demonstrated". The Silicon Engine: A Timeline of Semiconductors in Computers. Computer History Museum. Archived from the original on 27 October 2019. Retrieved 31 August 2019.
  72. ^ Motoyoshi, M. (2009). "Through-Silicon Via (TSV)". Proceedings of the IEEE. 97 (1): 43–48. doi:10.1109/JPROC.2008.2007462. ISSN 0018-9219. S2CID 29105721.
  73. ^ Young, Ian (12 December 2018). "Transistors Keep Moore's Law Alive". EETimes. Archived from the original on 24 September 2019. Retrieved 18 July 2019.
  74. ^ Laws, David (4 December 2013). "Who Invented the Transistor?". Computer History Museum. Archived from the original on 13 December 2013. Retrieved 20 July 2019.
  75. ^ a b Hittinger, William C. (1973). "Metal-Oxide-Semiconductor Technology". Scientific American. 229 (2): 48–59. Bibcode:1973SciAm.229b..48H. doi:10.1038/scientificamerican0873-48. ISSN 0036-8733. JSTOR 24923169.
  76. ^ Malmstadt, Howard V.; Enke, Christie G.; Crouch, Stanley R. (1994). Making the Right Connections: Microcomputers and Electronic Instrumentation. American Chemical Society. p. 389. ISBN 978-0841228610. Retrieved 28 August 2019. The relative simplicity and low power requirements of MOSFETs have fostered today's microcomputer revolution.
  77. ^ Fossum, Jerry G.; Trivedi, Vishal P. (2013). Fundamentals of Ultra-Thin-Body MOSFETs and FinFETs. Cambridge University Press. p. vii. ISBN 978-1107434493. Retrieved 28 August 2019.
  78. ^ Marriott, J.W. (10 June 2019). "Remarks by Director Iancu at the 2019 International Intellectual Property Conference". United States Patent and Trademark Office. Archived from the original on 17 December 2019. Retrieved 20 July 2019.
  79. ^ "Dawon Kahng". National Inventors Hall of Fame. Archived from the original on 27 October 2019. Retrieved 27 June 2019.
  80. ^ "Martin Atalla in Inventors Hall of Fame, 2009". Archived from the original on 19 September 2019. Retrieved 21 June 2013.
  81. ^ Triumph of the MOS Transistor. Computer History Museum. 6 August 2010. Archived from the original on 18 August 2021. Retrieved 21 July 2019 – via YouTube.
  82. ^ "The Happless Tale of Geoffrey Dummer" 2013년 5월 11일 Wayback Machine, (n.d.), (HTML), Electronic Product News 2008년 7월 8일 액세스.
  83. ^ Kilby, Jack (2000). "Nobel lecture" (PDF). Stockholm: Nobel Foundation. Archived (PDF) from the original on 29 May 2008. Retrieved 15 May 2008.
  84. ^ 만든Wayback Machine, (c. 2008), (HTML), Texas Instruments, 2008년 5월 29일 회수.
  85. ^ Jack S. Kilby, 소형화된 전자 회로, 미국 특허청, 미국 특허 3,138,743, 1959년 2월 6일 출원, 1964년 6월 23일 발행.
  86. ^ Winston, Brian (1998). Media Technology and Society: A History : From the Telegraph to the Internet. Routledge. p. 221. ISBN 978-0-415-14230-4. Retrieved 6 June 2020.
  87. ^ Saxena, Arjun N. (2009). Invention of Integrated Circuits: Untold Important Facts. World Scientific. p. 140. ISBN 978-9812814456. Retrieved 28 August 2019.
  88. ^ a b "Integrated circuits". NASA. Archived from the original on 21 July 2019. Retrieved 13 August 2019.
  89. ^ 로버트 노이스의 유니터리 회로는Fairchild Semiconductor Corporation 할당된 미국 특허 2981877, "반도체 장치와 리드 구조"(Semiconductor device-and-lead structure) 1961-04-25.
  90. ^ "1959: Practical Monolithic Integrated Circuit Concept Patented". Computer History Museum. Archived from the original on 24 October 2019. Retrieved 13 August 2019.
  91. ^ Lojek, Bo (2007). History of Semiconductor Engineering. Springer Science & Business Media. p. 120. ISBN 978-3540342588.
  92. ^ Bassett, Ross Knox (2007). To the Digital Age: Research Labs, Start-up Companies, and the Rise of MOS Technology. Johns Hopkins University Press. p. 46. ISBN 978-0801886393. Retrieved 31 July 2019.
  93. ^ Huff, Howard R.; Tsuya, H.; Gösele, U. (1998). Silicon Materials Science and Technology: Proceedings of the Eighth International Symposium on Silicon Materials Science and Technology. Electrochemical Society. pp. 181–182. ISBN 978-1566771931. Retrieved 28 August 2019.
  94. ^ a b Kuo, Yue (1 January 2013). "Thin Film Transistor Technology—Past, Present, and Future" (PDF). The Electrochemical Society Interface. 22 (1): 55–61. Bibcode:2013ECSIn..22a..55K. doi:10.1149/2.F06131if. ISSN 1064-8208. Archived (PDF) from the original on 29 August 2017. Retrieved 31 July 2019.
  95. ^ a b "Tortoise of Transistors Wins the Race – CHM Revolution". Computer History Museum. Archived from the original on 10 March 2020. Retrieved 22 July 2019.
  96. ^ "1964 – First Commercial MOS IC Introduced". Computer History Museum. Archived from the original on 22 December 2015. Retrieved 31 July 2019.
  97. ^ "1968: Silicon Gate Technology Developed for ICs". Computer History Museum. Archived from the original on 29 July 2020. Retrieved 22 July 2019.
  98. ^ a b "1971: Microprocessor Integrates CPU Function onto a Single Chip". Computer History Museum. Archived from the original on 12 August 2021. Retrieved 22 July 2019.
  99. ^ Colinge, Jean-Pierre; Greer, James C. (2016). Nanowire Transistors: Physics of Devices and Materials in One Dimension. Cambridge University Press. p. 2. ISBN 978-1107052406. Retrieved 31 July 2019.
  100. ^ "Intel's First Microprocessor—the Intel 4004". Intel Corp. November 1971. Archived from the original on 13 May 2008. Retrieved 17 May 2008.
  101. ^ Patterson, David; Hennessy, John (1998). Computer Organization and Design. San Francisco: Morgan Kaufmann. pp. 27–39. ISBN 978-1-55860-428-5.
  102. ^ Federico Faggin, Wayback Machine에서 2019년 10월 27일 보관된 최초마이크로프로세서 제작, IEEE 솔리드 스테이트 서킷 매거진, Winter 2009, IEEE Xplore
  103. ^ a b "7 dazzling smartphone improvements with Qualcomm's Snapdragon 835 chip". 3 January 2017. Archived from the original on 30 September 2019. Retrieved 5 April 2019.
  104. ^ Chartier, David (23 December 2008). "Global notebook shipments finally overtake desktops". Ars Technica. Archived from the original on 4 July 2017. Retrieved 14 June 2017.
  105. ^ IDC (25 July 2013). "Growth Accelerates in the Worldwide Mobile Phone and Smartphone Markets in the Second Quarter, According to IDC". Archived from the original on 26 June 2014.
  106. ^ "Google Books Ngram Viewer". books.google.com.
  107. ^ "Google Books Ngram Viewer". books.google.com.
  108. ^ "Google Books Ngram Viewer". books.google.com.
  109. ^ "Google Books Ngram Viewer". books.google.com.
  110. ^ David J. Eck (2000). The Most Complex Machine: A Survey of Computers and Computing. A K Peters, Ltd. p. 54. ISBN 978-1-56881-128-4.
  111. ^ Erricos John Kontoghiorghes (2006). Handbook of Parallel Computing and Statistics. CRC Press. p. 45. ISBN 978-0-8247-4067-2.
  112. ^ 1988년 베르마 & 미엘케
  113. ^ Donald Eadie (1968). Introduction to the Basic Computer. Prentice-Hall. p. 12.
  114. ^ Arpad Barna; Dan I. Porat (1976). Introduction to Microcomputers and the Microprocessors. Wiley. p. 85. ISBN 978-0-471-05051-3.
  115. ^ Jerry Peek; Grace Todino; John Strang (2002). Learning the UNIX Operating System: A Concise Guide for the New User. O'Reilly. p. 130. ISBN 978-0-596-00261-9.
  116. ^ Gillian M. Davis (2002). Noise Reduction in Speech Applications. CRC Press. p. 111. ISBN 978-0-8493-0949-6.
  117. ^ 2006년 TOP 500, 페이지.
  118. ^ Cragon, Harvey (2000). Computer Architecture and Implementation. Cambridge University Press. p. 5. ISBN 978-0521651684. Archived from the original on 30 July 2022. Retrieved 10 June 2022.
  119. ^ Xu, Zhiwei; Zhang, Jialin (2021). Computational Thinking: A Perspective on Computer Science. Singapore: Springer. p. 60. ISBN 978-9811638480. Archived from the original on 30 July 2022. Retrieved 10 June 2022. It is called the stored program architecture or stored program model, also known as the von Neumann architecture. We will use these terms interchangeably.
  120. ^ Ronald J. Leach (27 January 2016). Introduction to Software Engineering. CRC Press. p. 11. ISBN 978-1-4987-0528-8. Retrieved 26 November 2022.
  121. ^ Hong Zhu (22 March 2005). Software Design Methodology: From Principles to Architectural Styles. Elsevier. pp. 47–72. ISBN 978-0-08-045496-2. Retrieved 26 November 2022.
  122. ^ Ronald J. Leach (27 January 2016). Introduction to Software Engineering. CRC Press. p. 56. ISBN 978-1-4987-0528-8. Retrieved 26 November 2022.
  123. ^ John Knight (12 January 2012). Fundamentals of Dependable Computing for Software Engineers. CRC Press. p. 186. ISBN 978-1-4665-1821-6. Retrieved 26 November 2022.
  124. ^ Frederick P. Brooks (Jr.) (1975). The Mythical Man-month: Essays on Software Engineering. Addison-Wesley Publishing Company. ISBN 978-0-201-00650-6. Retrieved 26 November 2022.
  125. ^ Ian Sommerville (2007). Software Engineering. Pearson Education. pp. 4–17. ISBN 978-0-321-31379-9. Retrieved 26 November 2022.
  126. ^ "Why do computers crash?". Scientific American. Archived from the original on 1 May 2018. Retrieved 3 March 2022.
  127. ^ Taylor, Alexander L., III (16 April 1984). "The Wizard Inside the Machine". Time. Archived from the original on 16 March 2007. Retrieved 17 February 2007.{{cite magazine}}: CS1 유지 : 여러 이름 : 저자 목록 (링크)
  128. ^ Agatha C. Hughes (2000). Systems, Experts, and Computers. MIT Press. p. 161. ISBN 978-0-262-08285-3. The experience of SAGE helped make possible the first truly large-scale commercial real-time network: the SABRE computerized airline reservations system
  129. ^ Leiner, Barry M.; Cerf, Vinton G.; Clark, David D.; Kahn, Robert E.; Kleinrock, Leonard; Lynch, Daniel C.; Postel, Jon; Roberts, Larry G.; Wolf, Stephen (1999). "A Brief History of the Internet". arXiv:cs/9901011.
  130. ^ "Definition of computer". Thefreedictionary.com. Archived from the original on 26 December 2009. Retrieved 29 January 2012.
  131. ^ II, Joseph D. Dumas (2005). Computer Architecture: Fundamentals and Principles of Computer Design. CRC Press. p. 340. ISBN 978-0849327490. Retrieved 9 November 2020.

원천

외부 링크