关键词 > CNIT17600

CNIT 17600 - Intro Computer Architecture - Data Format Lab

发布时间:2024-06-14

Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

CNIT 17600 - Intro Computer Architecture

Data Format Lab

When we have a human task, such as communicating remotely, that we wish to implement in a computer system, we need to have a system for moving something from meat space into cyber space. We encode characters into different formats which are discussed in lecture. These formats include ASCII, Unicode, and EBCDIC. These encodings encode characters that are used in human language and we are able to type them when we use a piece of hardware like a keyboard or when we swipe on a touch screen.

Planet Earth has used codes like ASCII, Unicode, and EBCIDIC, but those are not the only possible codes. The Taronites from the planet Oolong use a language called Bobatea, with a rather strange encoding system, at least from the perspective of those on Planet Earth. Earthlings have been intercepting Taronite messages - including one that was like the Rosetta Stone of old - and have determined that there are thirteen characters in the Taronite alphabet, and that each character uses a 5-bit code. In addition, there are four numeric digits. Photos of the Taronites show that they have two fingers on each hand and use base 4 for their arithmetic.

a. Decode the following binary code in the Taronite’s alphabet to determine the message that was sent.

01011110100001011111110000100110111111110111111010000100100

b. This code does not delimit between characters. On Earth, we use different delimiters such as commas in comma separated values (CSV) files, or spaces in between words. How does the Bobatea code get delimited in the absence of these special characters? In other words, how do you (or a computer) know when one character ends and the code for the next character begins?

c. Imagine that the code above was the intended message, but the code below is sent instead: 1011110100001011111110000100110111111110111110000000100100. Notice that the first bit has been dropped, and another bit in the message has been flipped. Attempt to decode the message given this binary code. Be sure to show the result of your attempt to decode. Consider how to represent a decoding failure.

d. In human computing systems, we have methods for determining that a message is missing necessary information. These include adding a bit (called a parity bit) to the end of a message or character to show whether the sum of the other bits is even or odd; by finding a sum of all the characters (called a checksum); or methods that involve division of binary numbers (CRC). Based on what you know about the Taronite encoding, suggest a method for determining that there is an error in a Taronite message, such with the message in part c. Be sure that your potential error decoding method works in more than one case.

Submission: This is an assignment about data encoding. Part of the assignment is, in fact, finding a way to digitize your answers. As a result, you will have to consider how you will reproduce the Taronite code in your submission document since no human computer can encode their character set (until someone adds this character set to the Unicode stan-dard). There are a number of ways you can go about doing this, I encourage you to think creatively. Describe along with your other answers how you chose to solve this problem.

Answers to the above questions are due **in pdf format** on the LMS.