명령어 파이프라이닝 한 명령어의 수행이 끝나기 전에 다른 명령어의 수행을 시작하는 방법 - 컴퓨터의 처리율을 높이기 위한 방법 * Execution 한다고 쉬고 있는 것이 아니라 Fetch를 수행, 쉬지 않고 계속 구동 명령어 세트 연산코드(Operation Code) + 피연산자(Pperand) 연산코드 종류에 따른 명령어 세트 - 데이터 전송 명령어 : LDA, STA 등 - 데이터 처리 명령어 : ADD, AND 등 - 프로그램 제어 명령어 : BUN 등 피연산자 개수에 따른 명령어 세트 - 0 주소 명령어 : PUSH, POP - 1 주소 명령어 : ADD A, BUN A - 2 주소 명령어 : ADD A,B - 3 주소 명령어 : ADD A, B, C
컴퓨터 시스템의 구성(하드웨어) 컴퓨터의 기본적인 기능 - 프로그램 실행 : 중앙처리장치가 기억장치로부터 프로그램 코드를 읽고 실행 - 데이터 저장 : 중앙처리장치가 처리된 데이터를 기억장치에 저장 - 데이터 이동 : 보조기억장치에 저장되어 있는 프로그램과 데이터를 주기억장치로 이동 - 제어 : 프로그램이 제대로 실행될 수 있도록 각종 제어 신호를 발생 1) 중앙처리장치CPU - 명령어들을 기억장치로부터 인출하여 해독하고 실행 - CPU 구성장치 : 제어장치CU, 산술논리연산장치ALU, 레지스터Register * ALU : 모든 연산자들이 명령에 따라 담겨있음 * 레지스터 : CPU 안의 임시기억장치, CPU의 비트 수만큼 저장할 수 있음 * 기억장치 : 데이터를 저장 예) 주기억장치, 보조기억장치 2)..
컴퓨터의 분류 1. 사용 목적에 따른 컴퓨터 1) 전용 컴퓨터(Special Purpose Computer) - 특수한 목적에 한해서 사용하기 위해 만들어진 컴퓨터 - 군사용, 산업용 목적으로 항공 분야, 과학 기술 분야 등에서 사용 2) 범용 컴퓨터(General Purpose Computer) - 일반적인 업무 처리에서 광범위하게 사용할 수 있도록 만들어진 컴퓨터 3) 개인용 컴퓨터(Personal Computer) 2. 처리 능력에 따른 분류 1) 슈퍼컴퓨터(Super-Computer) - 가장 크고 빠르고 고가인 최첨단의 컴퓨터 - 수학적인 계산을 집중적으로 해야 하는 용도에 적합. 수백 개에서 수십만 개의 고성능 마이크로프로세서 사용 2) 대형 컴퓨터(Mainframe) - 다수의 사용자가 공유..
컴퓨팅 시스템에 대해 알아보겠습니다. 시스템 및 운영체제 과목을 쉽게 풀이하여 설명하는 포스팅이니 시리즈로 읽으면 도움이 될 것입니다. 지금은 자세히 알지 못해도 계속해서 잘 따라서 읽어보면 이해가 될 터이니 걱정마세요. 알아두면 좋은 이야기들은 *로 표기하였습니다. 우선 첫 번째, 컴퓨팅 시스템 개요에 대해 정리하겠습니다. 컴퓨팅시스템 개요 ㅁ 시스템 개요 a set or arrangement of things so related or connected as to form a unity or organic whole. 단일 또는 유기적으로 전체를 형성하도록 관련, 연결된 것들의 세트 또는 배열 - 시스템은 구조화되어있음 - 예) a solar system, school system, software, ..
■ GDB(GNU Debugger)란 GNU 소프트웨어 시스템을 위한 기본 디버거 o 개발자 : 리처드 스톨만 o 운영체제 : 유닉스 계열, 윈도우 o 종류 : 디버거 o 라이선스 : GNU 일반 공중 사용 허가서 GDB같은 디버거의 목적은 다른 프로그램 수행 중에 그 프로그램 내부에서 무슨 일이 일어나고 있는지 혹은 프로그램이 잘못 실행되었을 때 무슨 일이 일어나고 있는지 보여주는 것이다. GDB는 C, C++, Modula-2로 짠 프로그램을 디버그 할 수 있다. ■ GDB 시작하기 % gdb - gdb를 먼저 실행 후 file이라는 명령으로 program을 부른다. % gdb program - 일반적인 방법이다. % gdb program core - 코어파일을 사용할 때 동시에 인자로 준다. % g..
입출력 방식 인터럽트 방식·DMA 제어 방식·입출력 프로세서 방식 1. 인터럽트 방식의 입출력 실행 o CPU에서 입출력 장치에 데이터 입력 요구(읽기) 1) CPU가 입출력 모듈로 읽기 명령 전송 - CPU가 입출력 모듈에게 “보내봐!” 2) 입출력 모듈은 주변장치에서 데이터를 읽음 - CPU는 기다릴 필요가 없음 → 시간낭비 방지를 위해 CPU는 명령 내리고 다른 일 수행 3) 입출력 모듈이 CPU로 인터럽트 신호를 전송 - CPU가 인터럽트를 감지하면 하던 일을 중지함 4) CPU가 입력된 데이터를 요구 5) 입출력 모듈이 CPU로 데이터를 전송 - 사실 CPU로 전송하는 것이 아니라 Memory로 전송하는데, 전송 역할을 CPU가 맡아 메모리에 쓴다는 것 * 왜 CPU가 바로 주변장치에서 데이터를..
마더보드의 구성 - 핵심 요소 : CPU중앙처리장치, RAM주기억장치, 입출력장치I/O controller - 주변장치들을 연결하는 확장슬롯과 각종 포트와 단자가 있음 - 전원 공급 장치와 중앙처리장치를 위한 냉각 송풍기, 케이블과 전선들이 있음 - 각 구성요소들은 버스로 연결되어 데이터를 송수신함 * Mother Board를 PCB(Printed Circuit Board)라고도 함 * 마운팅Mounting : 소켓, 슬롯에 CPU, RAM 등의 장치를 장착하는 것 * 통로 - 내부통로 : Bus(속도 빠름), 외부통로 : Cable(속도 느림) - 외부에서 내부로 들어올 때에는 케이블 가지고 전송할 수 없으므로 데이터를 버스에 태워야 함 입출력장치 * Socket소켓 - 외부장치를 연결, 장착 - 국제..
시리즈 글보기 [시스템] 예외처리① - Exception과 Vector Table [시스템] 예외처리② - 예외처리 및 인터럽트 처리 과정 예외처리 처리과정 1) 예외 발생 2) 예외 모드의 SPSR 레지스터에 현재 프로그램 상태 CPSR를 저장 - 현재 실행 SR을 SPSR에 저장 * SPSR(Save Program Status Register) : 이전 동작 모드의 CPSR(Current Program Status Register)를 저장 3) 복귀를 위해 예외 모드 LR 레지스터에 현재 프로그램 카운터 PC값을 저장 * LR(Link Register) : 복귀 주소 링크. Branch 후에 복귀할 주소를 PC에 저장 4) CPSR의 모드 비트를 변경하여 해당 예외에 대응하는 동작 모드로 진입 - 이..
시리즈 글보기 [시스템] 예외처리① - Exception과 Vector Table [시스템] 예외처리② - 예외처리 및 인터럽트 처리 과정 예외(Exception) 컴퓨터 시스템 동작 중 예기치 않은 상황 - 바운더리를 벗어나 스펙에 없는 상황을 일으킴 - 오류, 정전, 재시작, 입출력 요구 및 시스템 호출의 발생으로 인해 현재 수행 중인 프로그램을 중단하고 예외 처리 한 후 다시 복귀한다. - 긍정적 사용 : 입출력 인터럽트, 시스템 호출, 디버그 등(의도적으로 컴퓨터 사양의 생산성을 높이기 위해 사용) - 부정적 사용 : 정전, 하드웨어 오류, 메모리 접근 불가, 명령어 해독 불가 등 - 모든 컴퓨터 시스템은 예외 처리를 위해 Vector table을 갖는다. - 인터럽트도 예외의 일종 * Syste..