티스토리 뷰

it

컴퓨터 시스템의 동작

name19 2023. 1. 18. 00:20

QR인식 or 이미지 클릭하여 회원가입시(평생 수수료 25%이상 할인)-[25% or more discount on commission]

 

아래 링크를 통해 가입시 바이낸스 코인 거래수수료 25% 평생할인!

25% lifetime discount on Binance Coin transaction fees when you sign up through the link below!

https://accounts.binance.com/en/register?ref=286562663

 

Log In | Binance

login-description

accounts.binance.com

 

바이낸스 추천코드로 가입하고 수수료 25% 평생 할인 받으세요! (바이낸스 가입 레퍼럴코드, 추천

바이낸스 추천코드로 가입하고 수수료 25% 평생 할인 받으세요! 바이낸스 가입코드, 레퍼럴코드, 추천코드, 할인코드  :  ( 286562663 ) 아래 링크를 통해 가입시 25% 할인 받을 수 있습니다 http

pink24.tistory.com

 

 

(구글 나라별 추천검색어가 다릅니다 - find 를 검색해보았더니..)

 

호주구글 영국구글 우회접속 주소(나라별 구글 우회 바로가기 링크 2023) - 일체유심조

구글 우회접속 주소 에 대해 공유드리기 전에

wgmakeit.com

 

컴퓨터 구조의 발전 과정 - 일체유심조

우선 주요 부품들의 발전 과정에 대해 알아보겠습니다.초기 컴퓨터들의 근본적인 설계 개념과 동작 원리가 현대의 컴퓨터들과 거의 같은데요, 최초의 컴퓨터는 Blaise Pascal이 개발한 덧셈과 뺄셈

wgmakeit.com

반응형

컴퓨터 시스템의 동작 과정
디지털 형태의 정보를 입력 받아 메모리(기억장치)에 저장된 명령어 목록(프로그램)에 따라 처리, 결과를 출력하는 일종의 고속 전자계산기.

아래와 같은 순서로 동작하며, 제어장치가 모든 동작을 제어한다.
입력 장치를 통해 정보를 입력 받아 메모리에 저장한다.
메모리에 저장한 정보를 프로그램의 제어에 따라 인출, 산술 장치나 논리 장치에서 처리한다.
처리한 정보를 출력 장치에 표시하거나 디스크(보조기억장치)에 저장한다.

※ 정보 : 명령어와 데이터로 구분
- 명령어 : 실행할 산술, 논리 연산 동작을 명시하는 문장.
- 프로그램 : 작업 하나를 수행하기 위한 명령어 집합.

명령어 구성
연산 코드(Operation Code)와 오퍼랜드(Operand)로 구성.
0과 1의 이진 코드화 되어 있으며 프로세서에 따라 길이가 달라짐.
고정 길이 또는 기능에 따른 가변적 구성 가능.

실행 전 메인 메모리에 저장, 한번에 하나씩 프로세서에 전송되어 해석 및 실행.


연산 코드
명령어의 가장 기본 부분, 프로세서가 실행할 연산(동작)을 지정.
명령어 구성, 연산 데이터 종류, 명령어 비트의 할당 상황 등을 나타냄.
오퍼랜드
명령어가 처리할 데이터나 데이터가 저장된 주소에 관한 정보(레지스터, 메모리)를 표시.
연산자 또는 오퍼레이터(Operator) : 연산 내용을 나타내는 기호.
원시 오퍼랜드(Source Operand)와 목적 오퍼랜드(Destination Operand)로 구분.

※ 누산기 : 메모리에서 읽은 오퍼랜드를 레지스터에 저장된 데이터와 연산 시 사용하는 프로세서 레지스터
프로그램의 명령어 수행 중에 산술 및 논리 연산의 결과를 일시적으로 저장.

연산 종류와 기능에 따라 오퍼랜드 부분을 다양하게 활용 가능.
직접 주소(Direct Address) : 기억 장소를 주소부에 직접 지정할 수 있게 되어 있는 것.
간접 주소(Indirect Address) : 원하는 실제 피연산자가 들어있는 주소를 가지고 있는 것.

명령어 실행
다음과 같은 과정으로 실행된다. (그림1-18)
메모리에서 명령어 레지스터로 이동하여 저장된 다음 명령어를 인출한다.
인출한 명령어를 해석, 다음 명령어를 지정하기 위해 프로그램 카운터를 변경한다.
명령어가 메모리에 있는 워드 한 개 사용하려면, 사용 장소를 결정하여 오퍼랜드를 인출, 필요 시 프로세서 레지스터로 보낸다.
명령어를 실행한다.
명령어 실행 결과를 저장한다.
다음 명령어를 실행하기 위해 ① 단계로 간다.

명령어 실행 사이클(명령어 실행 주기)

명령어를 인출하여 연산 완료 시점까지.
인출 사이클, 간접 사이클, 실행 사이클, 인터럽트 사이클로 구성.

인출 사이클
명령어 실행 사이클의 첫 번째 단계로, 메인 메모리에서 명령어를 읽어 명령어 레지스터에 저장하기까지의 단계.
소비되는 시간은 명령어 인출 시간이라 하며, 시간에 따른 프로세스 레지스터의 동작은 아래와 같다.

간접 사이클
인출 사이클과 실행 사이클 사이에 위치하며, 명령어에 포함된 주소를 이용하여 실제 명령어 실행에 필요한 데이터를 인출한다.
인출한 명령어의 주소 필드 내용을 이용해 메모리에서 데이터의 실제 주소를 인출, 명령어 레지스터의 주소 필드에 저장하며, 간접 주소 지정방식에서 사용된다.

실행 사이클
명령어 레지스터의 명령어를 해석하고 필요한 신호를 발생시켜 실제로 명령어를 처리한다.
이 단계에서 소비되는 시간을 실행 시간이라 한다.
인터럽트 사이클
프로세스가 정상적인 순차 제어에서 벗어나면 아래와 같은 인터럽트 사이클이 발생한다.
- 프로그램 : 명령어를 실행한 결과로 발생하는 조건에 의해 생성.
- 타이머(Timer) : 프로세서의 타이머에 의해 발생.
- 입출력(I/O) : 입출력 제어가 발생시킴.
- 하드웨어 오류 : 정전이나 메모리 패리티 오류로 인해 발생.

인터럽트
컴퓨터에 설정된 장치에서 프로세서로 보내는 하드웨어 신호로, 현재 실행 중인 프로그램의 수행을 미루고 다른 프로그램의 수행을 요구하는 명령.
인터럽트를 이용하여 단일 프로세서 컴퓨터에서 다른 프로그램이나 명령어를 수행할 수 있다.
시스템이 예측하지 못한 사용자 입력, 갑작스런 정전, 컴퓨터 시스템으로부터의 긴급 요청, 잘못된 명령어 수행, 입출력 작업 완료 같은 긴급 상황을 적절히 처리하기 위해 필요하다.
외부 장치의 동작과 자신의 동작을 조정할 수 있는 수단으로 인터럽트를 사용.
입력 장치가 새로운 입출력 연산 수행 시, 프로세서는 먼저 폴링(Polling)을 통해 각 장치의 상태 비트를 검사한다.
인터럽트의 개념이 없으면 장치의 상태를 계속 점검하는 과정(Wait Loop)이 필요해 프로세서가 다른 연산을 수행할 수 없으므로 오버헤드가 증가하여 수행 시간이 낭비된다.
인터럽트 요청 회선(IRQ, Interrupt Request Line) : 버스 제어선 중 하나로 인터럽트 신호를 전달하는 목적으로 사용.
인터럽트는 크게 인터럽트 요청과 인터럽트 서비스 루틴으로 구성된다.
인터럽트를 수행하기 위해 컴퓨터는 인터럽트 제어선을 제공하여 인터럽트 발생과 더불어 적절한 처리를 수행한다.
인터럽트 요청 신호에 의해 수행되는 루틴을 인터럽트 처리 프로그램, 인터럽트 서비스 루틴(Interrupt Service Routine)이라 한다.
인터럽트 발생 원인에 따라 적절한 처리 루틴을 수행한다.

인터럽트 요청 회선 연결 방법은 단일 회선과 다중 회선이 있다.
단일 회선 : 인터럽트 요청이 가능한 모든 장치를 공통으로 프로세서에 연결.
- 회선 하나에 다수의 장치 인터페이스가 연결되어 있으므로 어느 장치에서 인터럽트 요청을 하였는지 판별하는 기능이 필요하다.
다중 회선 : 모든 장치가 서로 다른 고유 회선으로 프로세서와 연결.
- 인터럽트 요청 시 어느 장치에서 요청하였는지 바로 판별 가능하다.

인터럽트 처리 과정
인터럽트 요청 신호 발생 시 실행 중인 프로그램을 메모리에 저장하고 인터럽트 서비스 프로그램으로 분기한다.
인터럽트 루틴의 수행 완료 후 인터럽트를 발생시킨 프로그램에 제어를 돌려준다.

인터럽트 처리 과정 (그림 1-24)
인터럽트 신호 도달하기 전 (a)처럼 프로그램 A가 실행되고 있으며, 프로그램 카운터는 현재 명령어를 가리킨다.
(b)에서 프로세서에 인터럽트 신호가 도달하여 현재 명령어를 종료하고, 모든 레지스터 내용을 스택 영역(또는 PCB, Process Control Block)으로 보낸다.
프로그램 카운터(PC)에는 프로그램 B, 인터럽트 처리 프로그램의 시작 위치를 저장하고 프로그램 B로 제어를 넘겨 프로그램 B를 실행한다.
(C)에서 인터럽트 루틴 종료 후 스택 영역에 있던 내용을 레지스터에 다시 저장한 뒤 프로그램 카운터를 비롯하여 중단했던 프로그램(A)에서 다시 시작한다.

인터럽트는 서브 루틴 호출과 매우 유사하지만 차이점이 있다.
서브 루틴은 자신을 호출한 프로그램이 요구한 기능을 수행하지만, 인터럽트 서비스 루틴은 인터럽트 발생 시 수행 중인 프로그램과 관련이 없을 수도 있다.

기존의 수행 중이던 프로그램은 인터럽트의 영향을 받지 않고 수행을 재개하기 위해 아래의 내용을 저장해야 한다.
- 프로세서는 중단된 프로그램으로 복귀한 후 수행에 영향을 미치는 정보(프로그램 카운터의 내용 포함)를 저장해야 한다.
- 인터럽트가 발생할 때의 상태 코드(상태 워드)를 저장해야 한다.
- 프로세서는 인터럽트 서비스 루틴에서 복귀했을 때 임시 기억 장소에 저장한 상태 워드를 다시 적재해야 한다.

반응형

'it' 카테고리의 다른 글

메모리, 메모리 계층 구조, 가상 메모리  (0) 2023.01.19
CPM PERT 차트  (0) 2023.01.18
tftp rpm 설치  (0) 2023.01.14
DML (Oracle, SQL Server)  (0) 2023.01.13
Window 사용중인 port 및 프로그램 확인  (0) 2023.01.13
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

(구글 나라별 추천검색어가 다릅니다 - find 를 검색해보았더니..)

 

호주구글 영국구글 우회접속 주소(나라별 구글 우회 바로가기 링크 2023) - 일체유심조

구글 우회접속 주소 에 대해 공유드리기 전에

wgmakeit.com

 

컴퓨터 구조의 발전 과정 - 일체유심조

우선 주요 부품들의 발전 과정에 대해 알아보겠습니다.초기 컴퓨터들의 근본적인 설계 개념과 동작 원리가 현대의 컴퓨터들과 거의 같은데요, 최초의 컴퓨터는 Blaise Pascal이 개발한 덧셈과 뺄셈

wgmakeit.com

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함