CS/컴퓨터구조 7

[컴퓨터구조] 하드웨어의 덧셈과 뺄셈 오버플로우

컴퓨터는 ALU에서 연산을 수행합니다. 그렇다면 컴퓨터는 어떻게 연산을 수행할 수 있을까요? 오버플로우가 발생하는지는 어떻게 알 수 있을까요? 구체적으로 알아보겠습니다. 정수의 덧셈 먼저 컴퓨터는 이진수를 사용합니다. 4비트로 표현할 수 있다고 가정할 때 정수의 덧셈을 확인해보겠습니다. 3+4 = 7 입니다. 이는 이진수로 표현하면 0011(2) + 0100(2)입니다. 이를 이진수 연산을 통해 각 자리 수를 더해주면 0111(2) = 7이라는 결과가 나옵니다. 정수의 뺄셈 -3 + 3 = 0입니다. 이를 이진수로 표현하면 1101(2) + 0011(2) = 0입니다. 4비트를 넘어가는 수는 버리기 때문입니다. 정수의 덧셈,뺄셈 오버플로우 앞서 덧셈과 뺄셈은 간단한 연산이므로 넘어가고 오버플로우가 발생하..

CS/컴퓨터구조 2022.10.14

[컴퓨터구조] 명령어의 주소 지정 방식

명령어의 피연산자필드를 사용해, 데이터 유효주소를 결정하는 방식입니다. 0단계 주소지정방식 유효주소를 확정하기 위해 연산을 0번 수행합니다. 1) 즉시 주소지정 방식 명령어 피연산자 필드에 실제 데이터가 포함됩니다. 명령어 decode 시에 사용할 데이터가 바로 인출됩니다. 보통 프로그램의 초기 환경값을 세팅할 때 자주 사용됩니다. 장점: 레지스터 액세스조차 없이 수행됩니다. 단점: 피연산자에 해당하는 bit수로 표현할 수 있는 데이터만 제한적으로 사용 가능합니다. 2) 묵시적 주소지정 방식 명령어 실행에 필요한 데이터의 위치가 묵시적으로 지정됩니다. 스택이나 누산기처럼 저장할 위치가 이미 저장되어있는 경우에 해당합니다. 장점: 명령어의 길이가 짧고, cpu 내에서 연산이 수행됩니다. 단점: 컴퓨터 구조..

CS/컴퓨터구조 2022.10.12

[컴퓨터구조] 명령어 집합 분류

명령어 집합은 피연산자의 수에 따라 나뉘기도 합니다. 또한 피연산자의 수에 따라 컴퓨터 구조도 달라집니다. 스택, 누산기, 범용 레지스터 컴퓨터로 구분할 수 있는데, 각각은 명령어를 실행할 때의 트래픽 byte수가 다릅니다. 이번 포스팅에서는 이 세가지를 상세히 비교하며 이해해보도록 하겠습니다. 피연산자의 수와 명령어 집합 1. 명령어 구성 연산 부호(opcode): 어떤 연산을 수행할 것인가 피연산자(operand): 연산의 대상이 되는 데이터들의 위치 또는 값의 정보 2. 피연산자 수에 따른 컴퓨터 구조 종류 1) 스택 컴퓨터 2) 누산기 컴퓨터 3) 범용 레지스터 컴퓨터 3. 컴퓨터 성능에 영향을 미치는 cpu-M 병목 트래픽 명령어 인출: 7 * 5byte = 35 byte 데이터 전송: mul/..

CS/컴퓨터구조 2022.10.10

[컴퓨터구조] 컴퓨터 시스템

컴퓨터 시스템은 사용자가 원하는 작업 내용을 포함하는 소프트웨어와 작업을 수행하기 위한 하드웨어로 구성된 시스템입니다. 컴퓨터 시스템은 어떤 요소로 이루어지는지 어떤 기능을 수행하는지 알아보겠습니다. 컴퓨터 시스템의 개념적 구성 컴퓨터 시스템은 일반적으로 하드웨어와 소프트웨어로 구성됩니다. 하드웨어는 시스템을 구성하는 물리적 부품으로 이루어진 전자 기기를 의미합니다. 소프트웨어는 명령어로 구성된 프로그램과 프로그램 수행에 필요한 절차, 문서 등을 포함합니다.(넓은 의미) 소프트웨어에는 프로그램이라는 개념이 있습니다. 프로그램은 컴퓨터가 일을 처리하기 위해 컴퓨터가 이해할 수 있는 언어로 작성된 명령어들의 집합입니다. 추가적으로 펌웨어라는 것이 있습니다. 펌웨어는 하드웨어를 제어하기 위한 것으로 하드웨어와..

CS/컴퓨터구조 2022.10.07

[컴퓨터구조] 명령어 집합

어떤 프로그램과 그 프로그램을 수행할 컴퓨터 하드웨어 사이의 인터페이스에 대한 완전한 정의 혹은 명세를 ISA(명령어 집합 구조) 라고 합니다. 명령어를 만들 때는 다양한 특성을 고려해야 하는데, 거기엔 형태, 피연산자 수, 명령어 길이, 각 필드 길이 등 다양한 특성이 있습니다. 명령어의 특성 1. 형태 명령어는 특성에 맞는 형태(서식) 정의가 필요합니다. 따라서 명령어의 형태에 영향을 미치는 요인들을 고려해야합니다. 2. 피연산자수 명령어는 피연산자의 수에 따라 달라집니다. z = f(x, y) # 두 변수 x,y를 연산한 후 결과값 z를 생성하는 함수 f를 의미한다. f: 명령어(연산 부호, opcode) x, y, z : 피연산자(operand)로서, 데이터 위치(레지스터/ 메모리 주소)나 값을 ..

CS/컴퓨터구조 2022.10.06

[컴퓨터구조] 컴퓨터 성능 계산과 암달의 법칙

컴퓨터구조에서 성능을 알기 위한 공식은 여러개로, 관련 개념으로 CPI, MIPS 등이 있습니다. 각각의 개념은 무엇이고 어떤 기준으로 컴퓨터의 성능을 평가하는지 알아보겠습니다. 1. 컴퓨터 성능의 기준 컴퓨터 성능의 기준은 무엇일까요? 예를 들어 한번에 커피 한잔을 5분 만에 뽑는 커피 머신 A와 한번에 커피 두잔을 7분만에 뽑아내는 커피 머신 B가 있다면 어느 것이 성능이 좋은 것인가요? 개인의 관점에선 A가 더 좋습니다. 하나만 필요하고 제일 빨리 커피를 주는 것이 더 좋으니까요. 이는 응답시간(Response)을 기준으로 판단하는 것입니다. 그러나 두명의 커피를 주문해야하는 팀의 관점에선 B가 좋습니다. 이는 처리율(Throughput)을 기준으로 판단하는 것입니다. 응답 시간으로 컴퓨터의 성능을..

CS/컴퓨터구조 2022.09.21

[컴퓨터구조] 기본 구성 요소

이번 포스팅에서는 컴퓨터의 기본 구성요소인 중앙처리장치, 저장장치 등이 각각 어떤 요소로 구성되어 있고 어떤 역할을 하는지에 대해 알아보겠습니다. 기본 구성요소 - CPU 개념 중앙처리장치인 CPU는 프로세서라고도 불립니다. 컴퓨터 시스템에 부착된 장치의 동작을 제어하고 명령을 실행합니다. 주기억장치의 메모리에서 명령어를 갖고와 명령대로 실행하는 작업을 빠르게 반복합니다.(Fetch + Execution). 구성 제어 장치, 연산 장치, 레지스터, CPU 내부버스로 구성되어 있습니다. ①제어 장치 메인 메모리로부터 적절한 순서로 명령어를 인출, 해독해 컴퓨터 시스템과 연결된 장치들에 제어신호를 보냅니다. ②연산 장치 제어 장치의 명령에 따라 연산을 수행하는 장치입니다. 실행 장치 혹은 ALU로도 불립니다..

CS/컴퓨터구조 2022.09.02
728x90