컴퓨터 구조

    3. 곱셈

    3. 곱셈

    Reference : - 컴퓨터 구조 및 설계 MIPS EDITION [6판] / David A. Patterson / 한빛에듀 - 건국대학교 컴퓨터구조 강의 / 박능수 교수님 - https://developbear.tistory.com/ (김베어의 개발일지) 곱셈 먼저 곱셈 연산의 순서와 피연산자의 명칭을 확실히 해야한다. 0과 1로만 구성된 십진수의 곱셈, 1000×1001을 보자. 첫 번째 피연산자는 피승수(multiplicand), 두 번째 피연산자는 승수(multiplier)라고 부른다. 최종 결과는 곱(product)이라고 부른다. 이진수 곱셈은 위에서 본 예시와 같이, 다음과 같은 단계만 거치면 된다. 1. 승수의 자리 수가 1이면 피승수(1×피승수)를 해당 위치에 복사한다. 2. 승수의 자..

    2. 덧셈과 뺄셈

    2. 덧셈과 뺄셈

    Reference : - 컴퓨터 구조 및 설계 MIPS EDITION [6판] / David A. Patterson / 한빛에듀 - 건국대학교 컴퓨터구조 강의 / 박능수 교수님 - https://developbear.tistory.com/ (김베어의 개발일지) 덧셈과 뺄셈 32비트의 이진수의 덧셈과 뺄셈은 ALU에서 어떻게 이루어질까? 우리가 10진수 덧셈을 할 때와 똑같다. 오른쪽에서 왼쪽으로 한 비트씩 더하고, 올림수는 바로 왼쪽 자리로 보낸다. 즉, 이진수에서는 최대 표현 가능한 수는 1이므로 1+1이 되면 1이 올림수가 되어 10이 된다. 예를 들어, 000111(7)과 000110(6)을 더한다고 생각해보자. 사람이 손으로 계산하는 것과 똑같이 올림(carry)을 진행해주면 된다. 그렇다면 뺄셈..

    1. 서론

    1. 서론

    Reference : - 컴퓨터 구조 및 설계 MIPS EDITION [6판] / David A. Patterson / 한빛에듀 - 건국대학교 컴퓨터구조 강의 / 박능수 교수님 - https://developbear.tistory.com/ (김베어의 개발일지) 컴퓨터 워드(word)는 비트로 구성되어 있으므로 이진수로 표시할 수 있다 명령어 : 컴퓨터 언어 에서 정수가 십진수나 이진수로 표현될 수 있음을 보였는데, 흔히 볼 수 있는 다른 수들은 어떨까? ex) 소수나 실수는 어떻게 표현할까? 컴퓨터로 표현할 수 있는 것보다 더 큰 수가 계산의 결과로 나오면 어떻게 될까? 이런 문제들의 바탕에 깔려 있는 수수께끼가 하나 있는데, 그것은 하드웨어가 실제로 어떻게 곱셈, 나누셈을 수행하는가 하는 것이다. 이 ..

    8. 하드웨어의 프로시저 지원

    8. 하드웨어의 프로시저 지원

    Reference : - 컴퓨터 구조 및 설계 MIPS EDITION [6판] / David A. Patterson / 한빛에듀 - 건국대학교 컴퓨터구조 강의 / 박능수 교수님 - https://developbear.tistory.com/ (김베어의 개발일지) 프로시저 (procedure) 프로시저(procedure)는 제공되는 인수(parameter)에 따라서 특정 작업을 수행하는 서브루틴을 말한다. 프로시저는 프로그래밍에서 함수(function)와 같다고 보면 되며, 이들은 프로그램을 이해하기 쉽고 재사용이 가능하도록 프로그램을 구조화하는 방법 중 하나이다. 인수는 프로시저에 값을 보내고 결과를 받아오는 일을 하므로, 프로그램의 다른 부분 및 데이터와 프로시저 사이의 인터페이스 역할을 한다. 따라서 ..

    7. 판단을 위한 명령어

    7. 판단을 위한 명령어

    Reference : - 컴퓨터 구조 및 설계 MIPS EDITION [6판] / David A. Patterson / 한빛에듀 - 건국대학교 컴퓨터구조 강의 / 박능수 교수님 - https://developbear.tistory.com/ (김베어의 개발일지) 조건 명령어 (Conditional Operations) - 조건부 분기 (Conditional Branch) 컴퓨터는 판단 기능이 있어, 입력 데이터나 연산 결과에 따라 다른 명령어를 실행할 수 있다. 우리가 프로그래밍을 할 때 if 문이나 go to 문과 같은 조건문을 사용하여 판단 기능을 표한다. MIPS 명령어로는 아래의 2가지가 존재하며, 이 두 명령어를 조건부 분기(conditional branch)라 부른다. * 조건부 분기 (cond..

    6. 논리 연산 명령어

    6. 논리 연산 명령어

    Reference : - 컴퓨터 구조 및 설계 MIPS EDITION [6판] / David A. Patterson / 한빛에듀 - 건국대학교 컴퓨터구조 강의 / 박능수 교수님 - https://developbear.tistory.com/ (김베어의 개발일지) 다양한 논리 연산 명령어들도 R-format을 사용한다. * 논리 연산 명령어 : 비트들을 워드로 묶는(packing) 작업과 워드를 비트 단위로 나누는(unpacking) 작업을 간단하게 하는 명령어들 자리이동(shift) 연산 모든 비트를 왼쪽 또는 오른쪽으로 이동시키고, 이동 후 빈자리는 0으로 채운다. MIPS의 자리이동 명령어의 이름은 아래와 같다. 1. sll (shift left logical) sll $t2, $s0, 4 # $t2 ..

    5. 명령어의 컴퓨터 내부 표현

    5. 명령어의 컴퓨터 내부 표현

    Reference : - 컴퓨터 구조 및 설계 MIPS EDITION [6판] / David A. Patterson / 한빛에듀 - 건국대학교 컴퓨터구조 강의 / 박능수 교수님 - https://developbear.tistory.com/ (김베어의 개발일지) 컴퓨터의 2가지 중요한 원칙과 내장 프로그램 1. 명령어는 숫자로 표현된다. 명령어는 컴퓨터 내부에서 높고 낮은 전기 신호의 연속(이진수)으로 저장되므로 숫자로 표현할 수 있다. 실제로 명령어의 각 부분을 숫자로 볼 수 있고, 이 숫자들을 나란히 늘어놓으면 명령어가 된다. 2. 프로그램은 메모리에 기억되어 있어서 숫자처럼 읽고 쓸 수 있다. 이 두 원칙은 내장 프로그램의 개념이 된다. 내장 프로그램 개념은 회계 처리를 하던 컴퓨터가 눈 깜짝할 사이..

    4. 부호있는 수와 부호없는 수

    4. 부호있는 수와 부호없는 수

    Reference : - 컴퓨터 구조 및 설계 MIPS EDITION [6판] / David A. Patterson / 한빛에듀 - 건국대학교 컴퓨터구조 강의 / 박능수 교수님 - https://developbear.tistory.com/ (김베어의 개발일지) 10진수를 2진수로 변환하는 방법 https://angrymoon.tistory.com/432 10진수를 2진수로 변환 계산 방법 일전에 2진수를 10진수로 변환하는 방법에 대해서 알아봤습니다. 오늘은 10진수를 2진수로 변환 계산하는 방법에 대해서 알아보겠습니다. 2진수 10진수 변환 계산 방법 2진수, 10진수의 기본 개념 angrymoon.tistory.com 이진수 컴퓨터 내에서는 일련의 높고 낮은 전기 신호의 형태로 숫자를 저장한다. 이는..