자신을 컴퓨터 전문가라고 자부할 수 있다면 오세요!

대략적인 아이디어를 하나 말씀드리자면(그냥 무심코 말한 것이니 명확하지 않은 점 양해 부탁드립니다)

예를 들어 프로그램을 실행하려면 먼저 CPU에 요청(인터럽트 요청)을 보내면 CPU는 인터럽트 요청의 우선순위를 결정합니다. 우선순위가 실행 중인 것보다 높으면 인터럽트 요청을 일시 중지하고 실행합니다(실행 중인 프로그램을 일시 중지하는 것은 장면을 보호하는 것을 포함합니다). 요청된 인터럽트를 실행한 후 다시 실행될 수 있음)

하드웨어 작동 원리

최종 작업은 CPU에서 수행됩니다. 프로그램을 실행하려면 먼저 캐시에 넣어야 합니다(프로그램을 실행하려면 먼저 적용한 다음 대기열에 넣고 프로세스를 실행해야 합니다). 즉, CPU에서 추출한 정보는 메모리에서 추출되며 하드에서 직접 추출할 수 없습니다. (하드디스크가 너무 느립니다.) 따라서 이 문제를 완화하기 위해 하드디스크의 일부를 가상 메모리로 분류합니다(그러나 확실히 메모리와 직접적으로 동일시할 수는 없습니다). 신청한 리소스는 이미 일부 리소스를 획득했으며 실행 후 다른 필수 리소스가 모두 해제되기를 기다리고 있으므로 리소스를 점유하고 다른 리소스를 기다릴 때 다른 프로그램이 발생하는 경우도 있습니다. 필요한 리소스를 점유하고 자신이 소유한 리소스를 기다리고 있는 경우 계속할 수 있기 전에 다른 프로그램이 중단될 때까지 기다리지 마십시오(즉, 교착 상태가 발생함). 일반적으로 응답하지 않거나 교착 상태가 발생할 수 있으며 일부 프로그램을 닫으면 정상으로 돌아갑니다. 과거에는 98 시스템에서 일부 프로그램이 직접 블루 스크린이 나타났습니다. 작업관리자를 통해 강제 종료됩니다.) . .

MINGFACHENG | 내 메시지 (0/9) | 바이두 스페이스 | 엑시트 2008 자신의 기분을 기록하기 위해 일기를 쓴다. 평범한 것이 진실이다~ ~~ 앨범 | 개인 프로필 | 친구 기사 보기

컴퓨터의 기본 작동 원리 2007년 7월 13일 금요일 오후 8시 35분 컴퓨터 시스템 개요

컴퓨터 시스템에는 하드웨어 시스템과 두 부분이 있습니다. 소프트웨어 시스템의. 컴퓨터는 프로그램을 실행하여 작동합니다. 컴퓨터가 작동할 때 소프트웨어와 하드웨어는 함께 작동하며 둘 다 필수입니다.

하드웨어는 컴퓨터를 구성하는 물리적인 장치로 눈으로 볼 수 있고 만질 수 있는 실체입니다. 컴퓨터 하드웨어 시스템은 기능 수준 관점에서 산술 장치, 컨트롤러, 메모리, 입력 장치 및 출력 장치의 5가지 주요 기능 구성 요소로 구성됩니다.

하드웨어는 컴퓨터가 구동되기 위한 물질적 기반이다. 컴퓨팅 속도, 저장 용량, 계산 정확도, 신뢰성 등 컴퓨터 성능은 하드웨어 구성에 따라 크게 좌우된다. 소프트웨어 지원 없이 하드웨어만 있는 컴퓨터를 베어메탈 컴퓨터라고 합니다. 베어메탈에서는 기계어 프로그램만 실행할 수 있어 매우 불편하고 비효율적입니다.

소프트웨어(Software)란 컴퓨터를 구동하는데 필요한 프로그램, 데이터, 관련 기술문서를 말합니다. 소프트웨어는 컴퓨터의 영혼이자 기능의 핵심입니다. 소프트웨어를 이용하면 기계 자체의 구조와 원리를 너무 많이 이해하지 않고도 컴퓨터를 편리하고 유연하게 사용할 수 있습니다. 소프트웨어는 기본 특정 컴퓨터 하드웨어를 보호하고 추상적인 논리적 컴퓨터(가상 머신이라고도 함)를 형성하여 사용자와 컴퓨터(하드웨어) 사이에 브리지를 구축합니다.

소프트웨어는 일반적으로 시스템 소프트웨어와 응용 프로그램 소프트웨어라는 두 가지 범주로 나뉩니다. 시스템 소프트웨어는 컴퓨터를 사용하고 관리하기 위해 컴퓨터 제조사가 제공하는 소프트웨어로, 운영체제, 언어처리시스템, 공통서비스 프로그램 등이 포함됩니다. 응용소프트웨어란 컴퓨터 사용자가 컴퓨터를 이용하여 개발한 소프트웨어와 다양한 실무적 문제를 해결하기 위해 제공되는 각종 시스템 소프트웨어를 말한다.

1. 필수 지식 포인트

(1) 마스터 십진수, 이진수, 십육진수, 팔수 및 이들 간의 상호 변환 방법.

(2) 이진수의 산술 연산과 논리 연산의 규칙, 컴퓨터에서 데이터를 표현하는 방법을 숙지합니다.

(3) BCD 코드, ASCII 코드, 한자 인코딩의 개념을 숙지하세요.

(4) 중앙처리장치(CPU)의 구성과 주요 내부 구성요소의 기능을 숙지합니다.

2. 지식 포인트 개요

(1) 컴퓨터의 데이터 표현

컴퓨터의 주요 기능은 값 처리, 텍스트, 사운드, 그래픽, 이미지 등. 컴퓨터 내에서 모든 종류의 정보는 전송, 저장 및 처리되기 전에 디지털 방식으로 인코딩되어야 합니다. 따라서 정보 인코딩의 개념과 처리 기술을 익히는 것이 중요합니다. 소위 인코딩이란 소수의 기본 기호를 사용하고 특정 조합 원리를 선택하여 많은 양의 복잡하고 다양한 정보를 표현하는 것입니다. 기본 기호의 유형과 이러한 기호를 결합하는 규칙은 모든 정보 인코딩의 두 가지 주요 요소입니다. 예를 들어 10개의 아라비아 숫자를 사용하여 숫자를 표현하는 것, 26개의 영문자를 사용하여 영어 단어를 표현하는 것 등이 모두 전형적인 코딩의 예입니다.

1. 캐리 계산 시스템

캐리 계산을 사용하는 숫자 시스템에서 r개의 기본 기호(예: O, 1, 2,..., r-1)만 값을 표현하는 데 사용되는 경우 r을 기수 체계(Radix-r Number System)라고 하고, r을 수 체계의 기수(Radix)라고 합니다. 다양한 숫자 체계의 공통 특징은 다음과 같습니다.

·각 숫자 체계에는 고정된 기호 집합이 있습니다. 예를 들어, 10진수 체계에는 10개의 기호가 있습니다: 0, 1, 2, ..., 9; 2진수 체계에는 2개의 기호: O와 1이 있습니다.

·둘 다 위치 표기법을 사용합니다. 즉, 서로 다른 위치의 기호가 나타내는 값이 다르며, 이는 해당 위치의 가중치와 관련이 있습니다. 예를 들어 십진수 1234.55는 다음과 같이 표현할 수 있습니다.

1234.55 = 1×103 + 2×102 + 3×101 + 4×100 + 5×10-1 + 5×10-2

다양한 캐리 카운팅 시스템에서 웨이트의 값은 정확히 베이스의 특정 파워임을 알 수 있습니다. 따라서 모든 캐리 카운팅 시스템이 나타내는 숫자는 가중치에 따라 확장된 다항식의 합으로 쓸 수 있습니다. 즉, 모든 r 기반 숫자 N은 다음과 같이 표현될 수 있습니다.

수식에서 Di는 기본 숫자 기호를 사용하는 숫자 시스템입니다. r은 기본 숫자를 나타냅니다. 표 1-1은 컴퓨터에서 일반적으로 사용되는 몇 가지 기본 숫자를 보여줍니다.

표 1-1 컴퓨터에서 일반적으로 사용되는 여러 가지 기본 숫자의 표현

2진수 8진수 16진수

규칙: 2 대 1 매 8은 하나, 10마다 1로 전진, 16마다 1로 전진

진수 r = 2 r = 8 r = 10 r = 16

숫자 기호 O,1 O, 1,2 ,…,7 O,1,2,…,9 O,l,2,…,9,A,B,…,F

Quan 2i 8i 10i 16i

양식에는 B O D H가 표시됩니다.

2. 산술 및 논리 연산

(1) 이진 덧셈. 이진 덧셈은 십진 덧셈과 유사하지만 이진 덧셈의 규칙은 "두 개마다 1을 더한다"는 것입니다. 즉,

O + 0 = 0 1 + 0 = 1 0 + 1 = 1입니다. 1 + 1 = 0(캐리 포함)

(2) 이진 빼기. 이진 뺄셈에서는 뺄셈이 충분하지 않은 경우 상위 비트의 1이 다음 비트의 2와 동일합니다. 즉, "빌려 1을 2로"하는 알고리즘이 필요합니다. 다음과 같습니다:

0 - 0 = 0 1 - 0 = 1 1 - 1 = 0 0 - 1 = 1(차용 포함)

(3) 이진 곱셈.

이진 곱셈은 십진 곱셈과 동일하지만 이진수는 0과 1로만 구성되므로 이진 곱셈이 더 간단합니다.

O×O = O 1×O = 0 O × 1 = 0 1 × 1 = 1

(4) 이진 나누기. 2진 나눗셈은 2진 곱셈의 역연산으로, 연산 방법은 10진 나눗셈과 동일하다.

(5) 이항 AND 연산은 논리곱셈이라고도 하며 그 연산 규칙은 다음과 같습니다.

O∧0 = O O∧1 = 0 1∧ O = 0 1∧ 1 = 1

(6) 이진 또는 논리 덧셈의 연산 규칙은 다음과 같습니다.

0∨O = 0 0∨1 = 1 1∨0 = 1 1∨1 = 1

p>

(7) 이진 XOR 알고리즘은 다음과 같습니다.

O O = 0 0 1 = 1 1 0 = 1 1 1 = 0

피><피> 3. 기계번호와 코딩체계

컴퓨터에서 각종 데이터가 표현되는 형태를 기계번호라고 하며, 숫자의 기호를 0과 1로 표현하는 것이 특징이다. 양수 부호와 "1"은 양수 부호를 나타냅니다. 음수 부호와 소수점은 암시적으로 표시되며 위치를 차지하지 않습니다. 기계번호에 해당하는 실제값을 그 번호의 참값이라고 합니다.

기계 번호에는 부호 없는 숫자와 부호 있는 숫자의 두 가지 유형이 있습니다. 부호 없는 숫자는 양수를 나타내며 기계 번호에는 부호 비트가 없습니다. 부호가 없는 숫자의 경우 소수점 위치가 기계번호의 가장 낮은 자리 다음으로 합의되면 순수 정수이고, 소수점 위치가 기계번호의 가장 높은 자리 이전으로 합의되면 순수 정수입니다. 그것은 순수한 십진수이다. 부호 있는 숫자의 경우 기계 번호의 최상위 비트는 양수와 음수를 나타내는 부호 비트이고 나머지 이진수 비트는 숫자 값을 나타냅니다. 소수점 위치를 기계번호의 가장 낮은 숫자 뒤에 두기로 합의한 경우, 소수점 위치를 기계번호의 가장 높은 숫자 이전에 두기로 합의한 경우에는 순수 정수입니다. 부호 비트), 이는 순수한 십진수입니다.

계산을 용이하게 하기 위해 부호 있는 기계 번호는 원본 코드, 역 코드 및 보완 코드와 같은 다양한 인코딩 방법을 사용할 수 있습니다. 이러한 기계 번호의 인코딩 방법을 코딩 시스템이라고 합니다.

4. 한자 인코딩

한자 처리에는 한자 인코딩 입력, 한자 저장, 한자 출력이 포함됩니다. 즉, 컴퓨터가 한자를 처리할 때 먼저 한자를 코딩해야 합니다. 즉, 한자를 코딩해야 합니다.

1) 입력 코드

(1) 숫자 코드. 디지털 인코딩은 한자의 입력을 숫자열로 표현하는 방식으로, 일반적으로 사용되는 것은 국가표준 위치코드이다. 국제 위치 코드는 국가표준국에서 발행한 6763개의 2단계 한자를 94개 영역으로 나누고, 각 영역은 94비트로 구성되며, 실제로 한자를 2차원 배열로 표현합니다. 따라서 한자를 입력하려면 4번의 키를 눌러야 합니다. 예를 들어 "中"이라는 단어는 54번 지역의 48번째 위치에 있고, 지역번호는 5448입니다:

(2) 병음코드. 병음 코드는 중국어 발음을 기반으로 한 입력 방법입니다. 한자에 대한 동음이의어가 너무 많기 때문에 입력코드 반복률이 매우 높으므로 병음으로 입력한 후에는 동음이의어를 선택해야 하며 이는 입력속도에 영향을 줍니다.

(3) 글리프 인코딩. 글리프 코딩은 한자의 모양에 따라 결정되는 코딩입니다. 전체적으로 한자가 많지만 모두 획으로 구성되어 있기 때문에 한자의 획 부분은 문자나 숫자로 인코딩되어 순서대로 입력된다. 획이 쓰여진 한자. Wubi 글리프, 그래픽 코드 등이 이 인코딩 방법입니다. Wubi 문자 인코딩은 가장 영향력 있는 인코딩 방법입니다.

2) 내부코드

한자내부코드(한자내부코드라 함)는 장비나 정보처리시스템 내부에서 사용되는 한자의 가장 기본적인 표현형식이다. 한자를 저장, 처리, 전송합니다. 서양 컴퓨터에서는 스위칭 코드와 내부 코드의 구분이 없습니다.

한자의 수가 많습니다. 1바이트로 구분할 수 없으며, 국가표준국 GB2312-80에서 규정한 한자 국가표준코드를 사용한다. 2바이트는 한자의 내부코드를 저장하며, 각 바이트의 최상위 위치는 "1"이다. 한자 내부코드로 사용됩니다. 2바이트는 각각 7비트를 사용하므로 16,384개의 구별 가능한 내부 코드를 표현할 수 있다. 한자 "大"를 예로 들면, 국가 표준 코드는 3473H이고, 2바이트의 상위 위치는 "1"이며, 결과 내부 코드는 B4F3H이다.

전 세계의 문자를 균일하게 표현하기 위해 1993년 국제 표준화 기구는 UCS( 범용 코드 세트). UCS에는 중국, 일본, 한국 및 기타 국가의 문자가 포함되어 있습니다. 이 표준은 한자를 포함하여 사용 중인 다양한 문자에 대한 통일된 인코딩 체계를 제공합니다.

3) 글리프 코드

한자 글리프 코드는 한자의 글리프를 나타내는 글꼴 데이터로, 일반적으로 도트 매트릭스, 벡터 함수 등으로 표현됩니다. 글리프를 표현하기 위해 도트 매트릭스를 사용하는 경우, 한자 글리프 코드는 한자 글리프 도트 매트릭스의 코드를 의미한다. 글리프 코드(Glyph Code)는 폰트 코드(Glyph Code)라고도 하며, 도트 매트릭스(Dot Matrix)로 표현되는 한자 문자의 출력 방식이다. 한자 출력 요구사항에 따라 도트 개수도 달라집니다. 간단한 한자는 16×16 도트 매트릭스, 고정밀 한자는 24×24 도트 매트릭스, 32×32 도트 매트릭스, 48×48 도트 매트릭스 등입니다.

(2) 중앙처리장치(CPU)

1. CPU의 구성

앞서 언급했듯이 CPU는 크게 연산장치와 제어기로 구성됩니다. CPU의 블록 다이어그램은 그림 1-2에 나와 있습니다.

1) 계산기

계산기는 주로 산술연산과 논리연산을 완성하고, 데이터의 처리와 가공을 완성하는 구성요소이다. 컴퓨터마다 산술 단위의 구조가 다르지만 가장 기본적인 구조는 산술/논리 연산 장치(ALU), 누산기(ACC), 레지스터 뱅크, 멀티플렉서 및 데이터 버스와 같은 논리 구성 요소로 구성됩니다.

2) 컨트롤러

컴퓨터가 수행할 수 있는 기본 작업을 명령어라고 합니다. 컴퓨터의 모든 명령어는 명령어 시스템을 구성합니다. 명령어는 opcode와 주소 코드의 두 부분으로 구성됩니다. opcode는 연산 유형을 지정하고 주소 코드는 피연산자와 연산 결과가 저장되는 주소를 지정합니다.

그림 1-2 CPU의 주요 구성 요소에 대한 블록 다이어그램

컨트롤러의 주요 기능은 메모리에서 명령을 가져오고 다음 명령의 위치를 ​​가리키는 것입니다. 명령어 레지스터는 명령어를 분석한 후 해당 제어 및 타이밍 정보를 보내는 명령어 디코더로 전송되며 컴퓨터의 다양한 구성 요소의 정상적인 작업을 제어 및 조정하여 명령어에 지정된 작업을 완료합니다.

컨트롤러는 그림 1-3과 같이 프로그램 카운터(PC), 명령 레지스터, 명령 디코더, 상태 조건 레지스터, 타이밍 생성기, 마이크로 연산 신호 생성기로 구성됩니다.

그림 1-3 컨트롤러 블록 다이어그램

(1) 프로그램 카운터. 프로그램이 순차적으로 실행되면 명령어를 가져올 때마다 PC 콘텐츠가 자동으로 값만큼 증가하여 가져올 다음 명령어를 가리킵니다. 프로그램 전송이 발생하면 전송 주소가 PC로 전송되고 PC는 새 프로그램 주소를 가리킵니다.

(2) 명령어 레지스터(IR). 현재 실행될 명령을 저장하는 데 사용됩니다.

(3) 명령어 디코더(ID). 현재 명령어를 분석하고 명령어 유형, 명령어로 완료할 작업 및 주소 지정 모드를 결정하는 데 사용됩니다.

(4) 타이밍 생성기. 컴퓨터의 질서 있는 작업을 제어하기 위해 타이밍 펄스와 비트 전위를 생성하는 데 사용됩니다.

(5) 상태/조건 레지스터. 명령 실행이 완료된 후 생성된 조건 코드를 저장하는 데 사용됩니다. 예를 들어 연산에 오버플로가 있는지, 결과가 양수인지 음수인지, 캐리가 있는지 등이 있습니다. 또한 상태/조건 레지스터에는 인터럽트 및 시스템 작동 상태와 같은 정보도 저장됩니다.

(6) 마이크로 연산 신호 생성기.

명령어에 의해 제공되는 동작 신호, 타이밍 생성기에 의해 제공되는 타이밍 신호 및 제어 기능 구성 요소에 의해 피드백되는 상태 신호는 특정 동작 시퀀스로 합성되어 명령어 페치의 실행 제어를 완료합니다.

컨트롤러는 일반적으로 명령어 레지스터(IR), 프로그램 카운터(PC), 타이밍 부품, 마이크로 연산 구성 부품, 프로그램 상태 워드 레지스터(PSW)로 구성된다. 컨트롤러의 기능은 전체 컴퓨터의 다양한 구성 요소가 순서대로 작동하도록 제어하는 ​​것입니다. 기본 기능은 메모리에서 명령을 검색하고 실행하는 것입니다.

명령어 실행에는 명령어 가져오기, 명령어 디코딩, 명령어 opcode에 따른 실행, 다음 명령어 주소 형성의 네 단계가 포함됩니다.

2. CPU의 기능

CPU의 기본 기능은 다음과 같습니다.

(1) 프로그램 제어. CPU는 명령어를 실행하여 프로그램의 실행 순서를 제어하는데, 이는 CPU의 중요한 기능이다.

(2) 작업 제어. 명령어 기능을 구현하려면 여러 가지 동작 신호가 필요합니다. CPU는 각 명령어에 대한 동작 신호를 생성하고 해당 동작 신호를 여러 구성 요소에 보내 해당 구성 요소가 명령어의 기능 요구 사항에 따라 작동하도록 제어합니다.

(3) 시간 제어. CPU는 다양한 연산의 시간을 제어하는데, 이것이 바로 시간 제어이다. CPU는 각 명령어의 전체 실행 시간을 엄격하게 제어해야 합니다. 동시에. 명령 실행 과정에서 작동 신호의 발생 시간, 지속 시간, 발생 순서를 엄격하게 제어해야 합니다.

(4) 데이터 처리. CPU는 산술연산과 논리연산을 통해 데이터를 처리하고, 그 데이터 처리의 결과는 사람들이 사용한다. 따라서 데이터 처리는 CPU의 가장 기본적인 작업이다.

컴퓨터 시스템에서는 하드웨어와 소프트웨어 사이에 명확한 구분선이 없다는 점을 지적해야 합니다. 일반적으로 소프트웨어로 완료되는 작업은 하드웨어로 직접 구현될 수도 있고, 하드웨어로 실행되는 명령도 소프트웨어로 완료될 수 있습니다. 소프트웨어와 하드웨어 사이의 경계는 끊임없이 변화하고 있습니다. 오늘의 소프트웨어가 내일의 하드웨어가 될 수도 있고, 그 반대일 수도 있습니다.

컴퓨터 하드웨어 시스템 구성

기능적인 관점에서 볼 때 컴퓨터 하드웨어 시스템은 연산 장치, 컨트롤러, 메모리, 입력 장치 및 출력 장치로 구성되며 5가지 주요 부분은 다음과 같습니다. 버스로 연결됩니다. 컨트롤러와 연산 장치를 합쳐서 중앙 처리 장치(CPU)라고 합니다.

컴퓨터의 기본 작동 원리

폰 노이만의 원리

세계 최초의 컴퓨터는 폰 노이만 원리에 기반을 두고 있습니다. 기본 아이디어는 다음과 같습니다. 제어. 저장된 프로그램이란 컴퓨터의 실행 단계(즉, 프로그램)의 순서와 동작에 필요한 데이터를 미리 일정한 방법을 통해 컴퓨터의 메모리에 입력하여 저장해야 하는 것을 의미한다. 프로그램 제어란 컴퓨터가 실행 중일 때 자동으로 프로그램의 명령을 하나씩 꺼내어 분석하고 지정된 작업을 수행할 수 있다는 의미입니다. 지금까지 컴퓨터는 4세대에 걸쳐 개발되었지만 기본 작동 원리는 변하지 않았습니다. 저장된 프로그램과 프로그램 제어의 개념에 따르면 실제로 컴퓨터 작동 중에 흐르는 정보에는 두 가지 유형이 있습니다. 하나는 프로그램이 실행되기 전에 주 메모리로 전송되고 모두 바이너리 형식으로 인코딩되는 원시 데이터와 명령을 포함하는 데이터 스트림입니다. 프로그램을 실행하면 연산에 참여하기 위해 데이터가 연산 장치로 전송되고, 명령은 컨트롤러로 전송됩니다. 다른 하나는 명령의 내용에 따라 컨트롤러에서 발행되는 제어 신호로, 컴퓨터의 각 구성 요소에 명령이 지정한 다양한 작업이나 작업을 수행하도록 명령하고 실행 과정을 제어합니다. 여기에 나온 지침은 컴퓨터에서 직접 이해하고 실행해야 합니다.

컴퓨터 지침 및 지침 시스템

지침은 컴퓨터가 기본 작업을 완료하는 데 필요한 명령을 말합니다. 명령은 컴퓨터 하드웨어에 의해 이해되고 실행될 수 있습니다. 명령어는 컴퓨터 기계어로 된 명령문이며 프로그래밍의 가장 작은 언어 단위입니다.

컴퓨터가 실행할 수 있는 모든 명령어의 집합을 컴퓨터의 명령어 시스템이라고 합니다. 명령 시스템은 컴퓨터의 데이터 처리 능력을 완벽하게 보여줍니다. 컴퓨터 유형에 따라 명령어 시스템의 명령어 수와 형식이 다릅니다. 교육 시스템이 더 풍부하고 완벽할수록 프로그래밍은 더 편리하고 유연해집니다. 명령 시스템은 컴퓨터 사용 요구 사항을 기반으로 설계되었습니다.

컴퓨터 명령은 이진 코드 문자열로 표시되며 일반적으로 작업 코드와 주소 코드라는 두 가지 정보 측면을 포함합니다. 연산 코드는 명령어의 작동 특성과 기능을 특성화하는 데 사용됩니다. 즉, 어떤 연산이 수행되는지 나타내는 데 사용됩니다. 주소 코드는 연산에 참여하는 데이터의 메모리 주소를 나타냅니다. 일반적으로 연산에 참여하는 소스 데이터나 연산 후의 결과 데이터는 메모리에 존재하며, 주소를 통해 주소에 있는 내용, 즉 피연산자를 얻을 수 있다.

연산 속도를 높이기 위해 CPU가 메모리에 액세스하는 데는 일정 시간이 걸립니다. 연산에 관련된 데이터나 중간 결과를 CPU 레지스터에 저장하거나 명령어에 직접 저장하는 경우도 있습니다.

컴퓨터의 전체 이름은 "범용 전자 디지털 컴퓨터"이어야 합니다. 이 이름은 컴퓨터의 여러 속성을 설명합니다.

'보편적'이란 컴퓨터가 특수한 장치가 아니라는 뜻입니다. 전화기는 통신 도구로만 사용할 수 있으며 다른 용도로는 사용할 수 없습니다. 컴퓨터는 계산의 기초로 사용될 수 있을 뿐만 아니라, 적합한 소프트웨어가 있는 한 통신 도구로도 사용할 수 있으며 그 외 용도는 무궁무진합니다.

'전자공학'은 컴퓨터 하드웨어 구현의 물리적 기반입니다. 컴퓨터는 매우 복잡한 전자 장치입니다. 컴퓨터의 작동은 궁극적으로 전자 회로의 전류, 전위 등을 통해 구현됩니다.

'디지털'은 모든 컴퓨터 처리 작업에 대한 정보 표현의 기초입니다. 컴퓨터에서는 모든 정보가 원래 내용에 관계없이 디지털 형식으로 표시됩니다. 숫자 값, 텍스트, 그래픽, 사운드 등은 모두 컴퓨터에서 이진 디지털 표현으로 통합됩니다. 디지털화는 컴퓨터의 기본 기능이자 컴퓨터의 다양성을 위한 중요한 기반입니다.

'컴퓨터'는 계산을 할 수 있는 기계를 의미합니다. 컴퓨터가 수행할 수 있는 기본 동작은 숫자의 덧셈, 뺄셈, 곱셈, 나눗셈과 같은 매우 간단한 계산 동작입니다. 그러나 프로그램의 명령에 따라 수조 개의 기본 동작을 전자의 속도로 완료하면 매우 중요한 작업을 수행했을 수 있습니다. 우리가 컴퓨터 외부에서 보는 것은 이러한 행동의 결합된 효과입니다. 이런 의미에서 컴퓨터 자체에는 대단한 것이 많지 않습니다. 유일한 좋은 점은 지시에 따라 행동하고 빠르게 수행할 수 있다는 것입니다. 사실 더 놀라운 것은 프로그램과 소프트웨어입니다. 각 프로그램이나 소프트웨어는 직면한 문제에 맞게 특별히 설계되고 구현됩니다.

컴퓨터의 또 다른 유명한 이름은 '컴퓨터'인데, 이는 홍콩과 대만에서 번역된 것으로 현재 널리 사용되고 있습니다. 사실 이 이름은 적절하지 않으며 사람들의 이해를 잘못된 방향으로 쉽게 이끌 수 있습니다(아마도 이것이 일부 사람들의 의도적이거나 의도하지 않은 목표일 수도 있습니다). 우리는 원시인들이 나무에 달린 과일을 치기 위해 사용했던 나무 막대기를 '나무 손'이라고 부르지 않으며, 기차를 '철발'이라고 부르지도 않습니다. 나무막대기든 기차든 각각 고유한 힘과 '강점'을 갖고 있지만 손과 발의 보편성과는 달리 인간의 손과 발 기능 중 매우 좁은 측면에서만 유용할 수 있기 때문입니다. 기능은 전혀 비교가 되지 않습니다. 마찬가지로 컴퓨터는 인간 두뇌의 범위와 능력에 비하면 계산 문제로 전환될 수 있는 문제만 해결하는 데 도움을 줄 수 있습니다.

컴퓨터의 핵심 처리 구성 요소는 CPU(중앙 처리 장치, 중앙 처리 장치)입니다. 현재 각종 컴퓨터의 CPU는 반도체 집적회로 기술을 이용해 제조되고 있다. 비록 크기는 크지 않지만 내부 구조는 매우 복잡하다. CPU의 기본 소재는 손톱 크기보다 작은 실리콘 웨이퍼로, 이 실리콘 웨이퍼 위에서 복잡한 공정을 거쳐 수백만, 수천만 개의 작은 반도체 부품이 제조됩니다. 기능적 관점에서 볼 때, CPU는 데이터 조각 획득, 하나 또는 여러 데이터 조각에서 다른 결과 계산(덧셈, 뺄셈, 곱셈, 나눗셈 등), 조각 전송과 같은 일련의 작업을 수행할 수 있습니다. 데이터 등의

각 동작에 해당하는 것이 명령어이고, CPU는 명령어를 받은 후 해당 동작을 수행합니다. 일련의 명령은 프로그램을 형성하며, 이로 인해 CPU는 복잡한 작업을 완료하기 위해 일련의 작업을 완료할 수 있습니다.

컴퓨터가 탄생했을 때 CPU에 작업을 완료하도록 지시하는 프로그램은 여전히 ​​컴퓨터 외부에 있었는데, 대개 펀치 카드 더미의 형태였습니다. 컴퓨터는 작업 중에 자동으로 카드를 하나씩 읽고, 각 카드를 읽은 후 작업을 완료합니다. 실제 카드 판독은 카드 리더기에 의해 수행됩니다(흥미롭게도 IBM은 카드 리더기 제조로 시작했습니다). 이 방법을 사용하면 컴퓨터의 작동 속도가 기계식 카드 리더기에 의해 제한되어야 하는데 속도가 매우 빠르지는 않습니다.

미국 수학자 폰 노이만은 이 문제의 핵심을 가장 먼저 간파하고, 그 유명한 '저장 프로그램 제어 원리'를 제안했는데, 이것이 현대적 의미의 컴퓨터 탄생으로 이어졌다.

컴퓨터의 핵심 구성요소는 CPU 외에 주로 내부 메모리다. 컴퓨터가 탄생했을 때 이 메모리는 처리 중인 데이터를 저장하는 용도로만 사용되었습니다. CPU는 명령을 실행할 때 메모리에서 관련 데이터를 추출한 다음 계산된 결과를 다시 메모리에 저장했습니다. von Neumann이 제안한 새로운 솔루션은 프로그램도 메모리에 저장되어야 하며 CPU는 메모리에서 명령을 가져오고 명령을 실행하며 이 두 작업을 루프에서 수행하는 역할을 담당해야 한다는 것입니다. 이런 식으로 컴퓨터가 프로그램을 실행할 때 외부 세계의 끌림을 완전히 제거하고 자체 가능한 속도(전자의 속도)로 자동으로 실행할 수 있습니다. 이 기본 아이디어는 "저장 프로그램 제어 원리"입니다. 이 원리에 따라 구성된 컴퓨터는 "폰 노이만 컴퓨터"라고도 알려진 "저장 프로그램 제어 컴퓨터"입니다.

지금까지 모든 주류 컴퓨터는 이런 유형의 컴퓨터였으며 여기서는 이에 대해 모두 논의합니다. (컴퓨팅 프로세스와 컴퓨터에 대한 연구가 심화됨에 따라 사람들은 폰 노이만 컴퓨터의 일부 단점도 깨닫고 다른 컴퓨터 모델을 탐구하기 위한 많은 연구 작업을 수행해 왔습니다. 그러나 지금까지 이러한 작업의 결과는 만족스럽지 않습니다. . 아직 성능, 가격, 활용성, 자연스러운 사용 편의성 측면에서 폰 노이만 컴퓨터에 맞먹는 정보처리 장비를 생산할 수 있는 수준에는 이르지 못했습니다.)

CPU 추상 동작 수준에서 볼 때 컴퓨터의 실행 프로세스는 매우 간단하며 기본 CPU 실행 주기라고 하는 두 단계의 간단한 주기(그림 1.5)입니다. CPU가 메모리에서 실행해야 하는 다음 명령을 가져올 때마다 이 명령에 따라 해당 작업을 완료하고 프로그램이 실행될 때까지 사이클을 반복합니다(CPU 작동을 중지해야 하는 명령이 발생함). 아니면 끝없이 작동합니다.

CPU는 절대적으로 순종하고 명령에 복종하는 웨이터입니다. 항상 명령에 따라 행동합니다. CPU가 완료할 수 있는 기본 작업은 많지 않습니다. 일반적으로 CPU가 실행할 수 있는 명령은 수십 개에서 100개 정도입니다. 한편, 실제 사회의 다양한 분야에서 사회생활의 모든 면에 컴퓨터를 적용해야 하는 상황은 다양하고 복잡하다. 이렇게 단순한 컴퓨터가 어떻게 이렇게 다양하고 복잡한 사회적 요구에 대처할 수 있을까요? 대답은 실제로 간단합니다. 프로그램입니다. 다양한 명령어를 적절하게 배열하여 작성할 수 있는 프로그램의 수는 끝이 없습니다. 마치 영어 알파벳은 26글자밖에 안 되지만 영어로 쓰여진 편지, 기사, 시, 희곡, 소설은 무한히 많은 것과 같습니다. 컴퓨터는 원칙적으로 복잡하지 않습니다. 컴퓨터가 사회의 끝없는 요구를 충족시킬 수 있게 하는 것은 다채로운 프로그램입니다.

이러한 컴퓨터 작동 원리는 두 가지 효과를 가져옵니다. 한편으로, 컴퓨터는 다목적이며, 한 대(또는 몇 대)의 컴퓨터가 전체 사회의 요구를 충족할 수 있으므로 사람들은 대규모 산업 생산 방법을 사용하여 생산하고, 생산 효율성을 향상하고, 컴퓨터 성능을 향상시키고, 비용을 절감할 수 있습니다. 비용. 이로 인해 컴퓨터는 더 저렴해지고 동시에 더 강력해졌습니다. 한편, 서로 다른 프로그램을 실행함으로써 서로 다른 컴퓨터, 또는 동일한 컴퓨터가 계산기, 워드 프로세서, 메모장, 정보 열람 및 검색 기계, 계정 등과 같이 서로 다른 시간에 서로 다른 전용 정보 처리 기계로 나타날 수 있습니다. 이 처리 기계, 디자인 접시, 게임 콘솔 등 동일한 컴퓨터라도 동시에 여러 개의 서로 다른 정보 처리 기계로 나타납니다(이 컴퓨터에서 동시에 여러 개의 서로 다른 프로그램이 실행되는 경우).

컴퓨터를 정보화 시대를 향한 인류의 여정에서 가장 날카로운 무기로 만드는 것은 바로 이러한 다양성과 특수성의 완벽한 통합입니다.

우리는 CPU가 복잡하지 않다고 하는데, 이는 원칙에 따른 것입니다. 오늘날 가장 발전된 CPU는 극도로 복잡하며, 인류가 만든 제품 중 가장 복잡한 제품일 수도 있습니다. 이러한 상황에는 여러 가지 이유가 있으며, 가장 중요한 두 가지 이유는 다음과 같습니다.

첫째, 컴퓨터가 수행해야 하는 작업이 점점 더 많아지고 있기 때문에 사람들은 CPU 성능에 대한 요구 사항이 점점 더 높아지고 있습니다. 더 복잡함(실제 세계는 항상 새로운 문제를 제기하며, 이를 해결하려면 컴퓨터가 필요합니다. 일단 복잡한 문제가 해결되면 사람들은 또 다른 더 복잡한 문제를 해결할 수 있다는 희망을 보게 될 것이므로 열심히 일할 것입니다.) 작업을 완료하기 위해 실행해야 하는 작업이 점점 더 많아질 것입니다. 결코 극복할 수 없는 한 가지 어려움은 컴퓨터가 명령을 실행하는 데 시간이 걸린다는 것입니다(독자들은 컴퓨터를 이해하는 데 매우 중요한 컴퓨터의 본질적인 단점을 기억해야 합니다). 이제 컴퓨터는 믿을 수 없을 만큼 빠르게 명령을 실행할 수 있지만(초당 수십억 명령), 컴퓨터로 해결하려는 가장 복잡한 작업을 수행하기에는 CPU가 항상 너무 느립니다. 실제 계산에서 CPU의 속도를 향상시키기 위해 많은 독창적인 기술이 개발되었으며, 이러한 기술의 구현은 CPU 자체의 복잡성을 크게 증가시킵니다.

둘째, 컴퓨터 처리가 필요한 데이터 상황이 점점 더 많아지고 있습니다. 초기 컴퓨터는 주로 정수 및 실수("부동 소수점 수"라는 방법을 사용하여 컴퓨터로 표현됨)와 같은 수치 데이터를 처리했습니다. CPU는 이러한 데이터 유형과 관련된 일련의 계산 프로세스만 제공하면 되었습니다. 컴퓨터의 발전과 함께 새로운 애플리케이션 요구사항이 차례로 등장합니다. 예를 들어, 컴퓨터가 그래픽, 이미지 및 사운드 신호를 처리하는 데 널리 사용될 때 이론적으로는 CPU가 변경되지 않을 수 있지만(해당 프로그램이 작성되는 한 원래 지침만으로 작업을 완료할 수 있음) 사람들은 또한 다음과 같은 사실을 발견했습니다. 새로운 명령을 추가하면 특수 명령어를 통해 이러한 특수 데이터 형식을 보다 효율적으로 처리할 수 있습니다. 새로운 명령을 추가하면 특수한 데이터 형식을 처리하는 데 있어서 CPU의 효율성이 크게 향상될 수 있습니다(고화질 3차원 애니메이션을 실시간으로 처리하기 위해 필요한 경우도 있음). 더 복잡합니다.

과거에는 컴퓨터의 발전이 전자관, 트랜지스터, 집적회로, 이렇게 구성된 대규모 집적회로의 4단계를 거쳐 왔다고 흔히들 이야기했습니다. 각각 2세대, 3세대, 3세대 컴퓨터입니다. 오늘날 돌이켜보면 이 말은 더 이상 의미가 없습니다. 컴퓨터를 제조하는 데 사용되는 구성 요소의 변경은 근본적인 것은 아닙니다(예를 들어 비용 절감 및 크기 감소 측면에서 그 중요성을 과소평가할 수는 없지만). 이 변경 프로세스는 사람들이 적절한 방법을 찾기 위한 짧은 탐색 단계일 뿐입니다. 컴퓨터를 제작하는데 약 20년이 걸려서 1년만에 완성되었습니다. 그 이후로 컴퓨터의 기본 제조 공정은 크게 변하지 않았습니다. 반면에, 컴퓨터 역사상 다른 ​​사건들은 훨씬 더 중요했습니다. 예를 들어, 컴퓨터의 소형화와 개인용 컴퓨터의 출현, 컴퓨터 네트워크의 출현과 발전, 컴퓨터 사용 형태와 외관 형태의 변화 등(이 모든 것은 대규모 집적 회로의 범위 내에서 완성됩니다).

오늘날 사람들은 일반 컴퓨터와 근본적으로 다른 대체 정보처리 도구로서 정말 새로운 컴퓨터를 연구하고 있습니다. 과연 컴퓨터가 발명될 수 있을까요? 언제 나타날까요? 오늘날 컴퓨터의 가격 대비 성능 비율과 다양성과 특수성의 완벽한 통합을 가질 수 있습니까? 현재 대중적인 전자 디지털 컴퓨터를 대체할 수 있을까? 두고 보자.