컴퓨터 구조 6

[컴퓨터구조] 6-1. Assembly Language

오늘은 어셈블리 언어에 대해서 배워보겠습니다. Assembly Language 어셈블리 언어는 저급 언어에 속합니다. 즉, 파이썬같이 인간이 알 수 있는 고급언어와 다르게 기계가 알 수 있도록 쓰이는 언어를 의미합니다. 어셈블리 언어는 3가지 filed로 구성됩니다. label field : 비어있거나, symbolic address를 나타냅니다. Symbolic Address는 아래에서 다룹니다. Instruction field : machine instruction이나 pseudo instruction을 나타냅니다. Comment filed : 공란이거나 주석을 작성합니다. 이 세가지 filed를 알아보기 전, Symbolic Address에 대해서 알아봅시다. Symbolic Address는 마치 ..

[컴퓨터구조] 5-5.1. Instruction Cycle

오늘은 Instruction cycle에 대해서 다뤄보겠습니다. Instruction cycle은 아래와 같은 subcycle로 나누어집니다. 메모리로부터 instruciton을 fetch instruction을 decode indirect addressing mode일 때는 메모리로부터 유효한 주소를 read instruction을 execute 이번 글에서는 fetch와 decode에 대해서 조금 더 자세히 알아보고자 합니다. Fetch and Decode 이전 글에서 우리는 Timing에 대한 이야기를 한 적이 있습니다. 실제로, 이 Timing에 수행되는 연산은 어느정도 정해져있고, 특히나 fetch와 decode 부분에서는 더욱 그렇습니다. Fetch fetch는 기능을 수행하는데에 총 2 cl..

[컴퓨터구조] 5-4. Timing and Control

오늘은 컴퓨터 구조의 세가지 요소 중 마지막, Control Unit에 대해서 다뤄봅니다. Timing and Control 지금까지 설명한 모든 개념은 우리가 쓰는 일반적인 컴퓨터가 아닌 Mano가 설계한 16비트 컴퓨터입니다. Basic Computer라고 부르죠. 이 Basic Computer에서 모든 레지스터는 이를 작동할 수 있게 조절하는 timing이 존재합니다. 이러한 timing이 주어질 때마다, 레지스터는 우리가 설계한 대로 작동합니다. 이 timing은 master clock generator가 제공하는 clock pulse에 의해 control 되죠. 흔히 우리가 부르는 1GHz와 같은 단위가 timing에 사용됩니다. 1GHz는 1초에 10억번 clock됩니다. clock이란 clo..

[컴퓨터구조] 5-2. Computer Instructions

이전 글에서 우리는 컴퓨터 구조는 3가지로 이루어져있고, 그 중 Instruction Codes에 대해서 다뤘다. 이번 글에서는 그러한 Instruction Codes를 통해서 컴퓨터가 명령어를 인식하게 되는 방법을 알아보려고 한다. 지금 계속 설명하고 있는 컴퓨터 구조는 Basic Computer라고 불리는 'Computer System Architecture'의 저자 M.Morris Mano가 설계한 16비트 컴퓨터이다. 이를 꼭 기억해두면서 진행한다. 컴퓨터의 3가지 기본 Instruction Format 우리는 이전 글에서, Instruction format이 어떠한 형식으로 되어있는 지를 알아보았다. 간단히 다시 설명해보면, 16비트 컴퓨터 기준으로 아래와 같은 형태를 띈다. 마지막 비트는 Ad..

[컴퓨터구조] 4-4. Logic μoperations

이번에는 논리 마이크로 연산에 대해서 알아보겠습니다. Logic μoperation은 위의 표와 같이 총 16개의 연산으로 구성됩니다. 하지만 컴퓨터에는 AND, OR, XOR, NOT으로 딱 4가지 논리 연산으로만 구성됩니다. 이러한 4가지 연산으로 위의 표 16가지의 논리 마이크로 연산을 이끌어낼 수 있기에 가능합니다. 그럼 컴퓨터에서 4가지 논리 연산이 회로에서 어떻게 구성되어있는지 확인해봅시다. 보시는 것처럼, AND, OR, XOR, NOT 총 4개의 게이트와 하나의 4x1 MUX로 구성되어 있습니다. 이러한 회로는 아래의 논리표를 통해서 네가지 논리연산을 수행할 수 있게되는 것입니다.

[컴퓨터구조] 3-1. Complements

1, 2장은 교수님께서 논리회로 때 설명한거라고 하고 넘어가주셨다. 난 안들었는데.. 강의자료라도 첨부해주시지 첨부도 안해주셨다. 그러고 우리보고 알아서 1, 2장을 공부하란다 ㅠㅠ 그래서 3장부터 시작합니다!! 컴퓨터는 2진수를 사용한다. 또한 컴퓨터에는 add 즉, 더하기 기능만 존재한다. 그런데 어떻게 컴퓨터는 사칙연산을 모두 진행할 수 있을까?? 우리는 보수의 개념에 대해서 배우고, 컴퓨터 내에서 뺄셈은 어떻게 진행되는 지 알아본다. 또한 이러한 연산에서 발생하는 overflow Error에 대해서 다룬다. Complements 앞서 말했듯이 컴퓨터는 0과 1로 이루어진 세계이다. 우리는 기본적으로, 10진법 수를 2진수로 나타낼 수 있다. 만약 우리에게 10+2의 이진수 결과를 나타내라고 한다면..